diff options
Diffstat (limited to 'libs/ode-0.16.1/libccd')
63 files changed, 40998 insertions, 0 deletions
diff --git a/libs/ode-0.16.1/libccd/BSD-LICENSE b/libs/ode-0.16.1/libccd/BSD-LICENSE new file mode 100644 index 0000000..6d7fa23 --- /dev/null +++ b/libs/ode-0.16.1/libccd/BSD-LICENSE @@ -0,0 +1,44 @@ +libccd +------- + +Copyright (c)2010 Daniel Fiser <danfis@danfis.cz>, +Intelligent and Mobile Robotics Group, Department of Cybernetics, +Faculty of Electrical Engineering, Czech Technical University in Prague. +All rights reserved. + + +This work was supported by SYMBRION and REPLICATOR projects. +The SYMBRION project is funded by European Commission within the work +"Future and Emergent Technologies Proactive" under grant agreement no. +216342. +The REPLICATOR project is funded within the work programme "Cognitive +Systems, Interaction, Robotics" under grant agreement no. 216240. +http://www.symbrion.eu/ +http://www.replicators.eu/ + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, +   this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright +   notice, this list of conditions and the following disclaimer in the +   documentation and/or other materials provided with the distribution. + + - Neither the name of the University nor the names of its contributors +   may be used to endorse or promote products derived from this software +   without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/libs/ode-0.16.1/libccd/Makefile.am b/libs/ode-0.16.1/libccd/Makefile.am new file mode 100644 index 0000000..c08c4b3 --- /dev/null +++ b/libs/ode-0.16.1/libccd/Makefile.am @@ -0,0 +1,6 @@ +SUBDIRS = src + +EXTRA_DIST = \ +    bootstrap \ +    BSD-LICENSE \ +    README diff --git a/libs/ode-0.16.1/libccd/Makefile.in b/libs/ode-0.16.1/libccd/Makefile.in new file mode 100644 index 0000000..0973929 --- /dev/null +++ b/libs/ode-0.16.1/libccd/Makefile.in @@ -0,0 +1,804 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ +  if test -z '$(MAKELEVEL)'; then \ +    false; \ +  elif test -n '$(MAKE_HOST)'; then \ +    true; \ +  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ +    true; \ +  else \ +    false; \ +  fi; \ +} +am__make_running_with_option = \ +  case $${target_option-} in \ +      ?) ;; \ +      *) echo "am__make_running_with_option: internal error: invalid" \ +              "target option '$${target_option-}' specified" >&2; \ +         exit 1;; \ +  esac; \ +  has_opt=no; \ +  sane_makeflags=$$MAKEFLAGS; \ +  if $(am__is_gnu_make); then \ +    sane_makeflags=$$MFLAGS; \ +  else \ +    case $$MAKEFLAGS in \ +      *\\[\ \	]*) \ +        bs=\\; \ +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ +    esac; \ +  fi; \ +  skip_next=no; \ +  strip_trailopt () \ +  { \ +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +  }; \ +  for flg in $$sane_makeflags; do \ +    test $$skip_next = yes && { skip_next=no; continue; }; \ +    case $$flg in \ +      *=*|--*) continue;; \ +        -*I) strip_trailopt 'I'; skip_next=yes;; \ +      -*I?*) strip_trailopt 'I';; \ +        -*O) strip_trailopt 'O'; skip_next=yes;; \ +      -*O?*) strip_trailopt 'O';; \ +        -*l) strip_trailopt 'l'; skip_next=yes;; \ +      -*l?*) strip_trailopt 'l';; \ +      -[dEDm]) skip_next=yes;; \ +      -[JT]) skip_next=yes;; \ +    esac; \ +    case $$flg in \ +      *$$target_option*) has_opt=yes; break;; \ +    esac; \ +  done; \ +  test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +	$(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ +	$(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = src/ccd/precision.h +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo "  GEN     " $@; +am__v_GEN_1 =  +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 =  +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ +	ctags-recursive dvi-recursive html-recursive info-recursive \ +	install-data-recursive install-dvi-recursive \ +	install-exec-recursive install-html-recursive \ +	install-info-recursive install-pdf-recursive \ +	install-ps-recursive install-recursive installcheck-recursive \ +	installdirs-recursive pdf-recursive ps-recursive \ +	tags-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_CLEAN_TARGETS) \ +  $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +	cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates.  Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ +  BEGIN { nonempty = 0; } \ +  { items[$$0] = 1; nonempty = 1; } \ +  END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique.  This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ +  list='$(am__tagged_files)'; \ +  unique=`for i in $$list; do \ +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +  done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/../compile \ +	$(top_srcdir)/../config.guess $(top_srcdir)/../config.sub \ +	$(top_srcdir)/../install-sh $(top_srcdir)/../ltmain.sh \ +	$(top_srcdir)/../missing $(top_srcdir)/src/ccd/precision.h.in \ +	README +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_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__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ +  dir0=`pwd`; \ +  sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +  sed_rest='s,^[^/]*/*,,'; \ +  sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +  sed_butlast='s,/*[^/]*$$,,'; \ +  while test -n "$$dir1"; do \ +    first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +    if test "$$first" != "."; then \ +      if test "$$first" = ".."; then \ +        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +      else \ +        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +        if test "$$first2" = "$$first"; then \ +          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +        else \ +          dir2="../$$dir2"; \ +        fi; \ +        dir0="$$dir0"/"$$first"; \ +      fi; \ +    fi; \ +    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +  done; \ +  reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +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@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CCD_PRECISION = @CCD_PRECISION@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = src +EXTRA_DIST = \ +    bootstrap \ +    BSD-LICENSE \ +    README + +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile +	@: +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) +	@for dep in $?; do \ +	  case '$(am__configure_deps)' in \ +	    *$$dep*) \ +	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ +	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ +		&& exit 0; \ +	      exit 1;; \ +	  esac; \ +	done; \ +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ +	$(am__cd) $(top_srcdir) && \ +	  $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +	@case '$?' in \ +	  *config.status*) \ +	    echo ' $(SHELL) ./config.status'; \ +	    $(SHELL) ./config.status;; \ +	  *) \ +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ +	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ +	esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	$(SHELL) ./config.status --recheck + +$(top_srcdir)/configure:  $(am__configure_deps) +	$(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4):  $(am__aclocal_m4_deps) +	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): +src/ccd/precision.h: $(top_builddir)/config.status $(top_srcdir)/src/ccd/precision.h.in +	cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs + +distclean-libtool: +	-rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +#     (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): +	@fail=; \ +	if $(am__make_keepgoing); then \ +	  failcom='fail=yes'; \ +	else \ +	  failcom='exit 1'; \ +	fi; \ +	dot_seen=no; \ +	target=`echo $@ | sed s/-recursive//`; \ +	case "$@" in \ +	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ +	  *) list='$(SUBDIRS)' ;; \ +	esac; \ +	for subdir in $$list; do \ +	  echo "Making $$target in $$subdir"; \ +	  if test "$$subdir" = "."; then \ +	    dot_seen=yes; \ +	    local_target="$$target-am"; \ +	  else \ +	    local_target="$$target"; \ +	  fi; \ +	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +	  || eval $$failcom; \ +	done; \ +	if test "$$dot_seen" = "no"; then \ +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ +	fi; test -z "$$fail" + +ID: $(am__tagged_files) +	$(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	set x; \ +	here=`pwd`; \ +	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ +	  include_option=--etags-include; \ +	  empty_fix=.; \ +	else \ +	  include_option=--include; \ +	  empty_fix=; \ +	fi; \ +	list='$(SUBDIRS)'; for subdir in $$list; do \ +	  if test "$$subdir" = .; then :; else \ +	    test ! -f $$subdir/TAGS || \ +	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ +	  fi; \ +	done; \ +	$(am__define_uniq_tagged_files); \ +	shift; \ +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ +	  test -n "$$unique" || unique=$$empty_fix; \ +	  if test $$# -gt 0; then \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      "$$@" $$unique; \ +	  else \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      $$unique; \ +	  fi; \ +	fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	$(am__define_uniq_tagged_files); \ +	test -z "$(CTAGS_ARGS)$$unique" \ +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ +	     $$unique + +GTAGS: +	here=`$(am__cd) $(top_builddir) && pwd` \ +	  && $(am__cd) $(top_srcdir) \ +	  && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files +	test ! -s cscope.files \ +	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: +	-rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) +	list='$(am__tagged_files)'; \ +	case "$(srcdir)" in \ +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ +	  *) sdir=$(subdir)/$(srcdir) ;; \ +	esac; \ +	for i in $$list; do \ +	  if test -f "$$i"; then \ +	    echo "$(subdir)/$$i"; \ +	  else \ +	    echo "$$sdir/$$i"; \ +	  fi; \ +	done >> $(top_builddir)/cscope.files + +distclean-tags: +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) +	$(am__remove_distdir) +	test -d "$(distdir)" || mkdir "$(distdir)" +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	list='$(DISTFILES)'; \ +	  dist_files=`for file in $$list; do echo $$file; done | \ +	  sed -e "s|^$$srcdirstrip/||;t" \ +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +	case $$dist_files in \ +	  */*) $(MKDIR_P) `echo "$$dist_files" | \ +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +			   sort -u` ;; \ +	esac; \ +	for file in $$dist_files; do \ +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +	  if test -d $$d/$$file; then \ +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +	    if test -d "$(distdir)/$$file"; then \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +	  else \ +	    test -f "$(distdir)/$$file" \ +	    || cp -p $$d/$$file "$(distdir)/$$file" \ +	    || 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; \ +	    dir1=$$subdir; dir2="$(top_distdir)"; \ +	    $(am__relativize); \ +	    new_top_distdir=$$reldir; \ +	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +	    ($(am__cd) $$subdir && \ +	      $(MAKE) $(AM_MAKEFLAGS) \ +	        top_distdir="$$new_top_distdir" \ +	        distdir="$$new_distdir" \ +		am__remove_distdir=: \ +		am__skip_length_check=: \ +		am__skip_mode_fix=: \ +	        distdir) \ +	      || exit 1; \ +	  fi; \ +	done +	-test -n "$(am__skip_mode_fix)" \ +	|| find "$(distdir)" -type d ! -perm -755 \ +		-exec chmod u+rwx,go+rx {} \; -o \ +	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ +	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ +	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ +	|| chmod -R a+r "$(distdir)" +dist-gzip: distdir +	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +	$(am__post_remove_distdir) + +dist-bzip2: distdir +	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 +	$(am__post_remove_distdir) + +dist-lzip: distdir +	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz +	$(am__post_remove_distdir) + +dist-xz: distdir +	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz +	$(am__post_remove_distdir) + +dist-tarZ: distdir +	@echo WARNING: "Support for distribution archives compressed with" \ +		       "legacy program 'compress' is deprecated." >&2 +	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 +	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z +	$(am__post_remove_distdir) + +dist-shar: distdir +	@echo WARNING: "Support for shar distribution archives is" \ +	               "deprecated." >&2 +	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 +	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz +	$(am__post_remove_distdir) + +dist-zip: distdir +	-rm -f $(distdir).zip +	zip -rq $(distdir).zip $(distdir) +	$(am__post_remove_distdir) + +dist dist-all: +	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' +	$(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration.  Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist +	case '$(DIST_ARCHIVES)' in \ +	*.tar.gz*) \ +	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ +	*.tar.bz2*) \ +	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ +	*.tar.lz*) \ +	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ +	*.tar.xz*) \ +	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\ +	*.tar.Z*) \ +	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ +	*.shar.gz*) \ +	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ +	*.zip*) \ +	  unzip $(distdir).zip ;;\ +	esac +	chmod -R a-w $(distdir) +	chmod u+w $(distdir) +	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst +	chmod a-w $(distdir) +	test -d $(distdir)/_build || exit 0; \ +	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ +	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ +	  && am__cwd=`pwd` \ +	  && $(am__cd) $(distdir)/_build/sub \ +	  && ../../configure \ +	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \ +	    $(DISTCHECK_CONFIGURE_FLAGS) \ +	    --srcdir=../.. --prefix="$$dc_install_base" \ +	  && $(MAKE) $(AM_MAKEFLAGS) \ +	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ +	  && $(MAKE) $(AM_MAKEFLAGS) check \ +	  && $(MAKE) $(AM_MAKEFLAGS) install \ +	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \ +	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ +	        distuninstallcheck \ +	  && chmod -R a-w "$$dc_install_base" \ +	  && ({ \ +	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ +	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ +	      } || { rm -rf "$$dc_destdir"; exit 1; }) \ +	  && rm -rf "$$dc_destdir" \ +	  && $(MAKE) $(AM_MAKEFLAGS) dist \ +	  && rm -rf $(DIST_ARCHIVES) \ +	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ +	  && cd "$$am__cwd" \ +	  || exit 1 +	$(am__post_remove_distdir) +	@(echo "$(distdir) archives ready for distribution: "; \ +	  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: +	@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)"; \ +	        fi ; \ +	        $(distuninstallcheck_listfiles) ; \ +	        exit 1; } >&2 +distcleancheck: distclean +	@if test '$(srcdir)' = . ; then \ +	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \ +	  exit 1 ; \ +	fi +	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ +	  || { echo "ERROR: files left in build directory after distclean:" ; \ +	       $(distcleancheck_listfiles) ; \ +	       exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: +	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: + +distclean-generic: +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: +	@echo "This command is intended for maintainers to use" +	@echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive +	-rm -f $(am__CONFIG_DISTCLEAN_FILES) +	-rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ +	distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive +	-rm -f $(am__CONFIG_DISTCLEAN_FILES) +	-rm -rf $(top_srcdir)/autom4te.cache +	-rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ +	am--refresh check check-am clean clean-cscope clean-generic \ +	clean-libtool cscope cscopelist-am ctags ctags-am dist \ +	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ +	dist-xz dist-zip distcheck distclean distclean-generic \ +	distclean-libtool distclean-tags distcleancheck distdir \ +	distuninstallcheck dvi dvi-am html html-am info info-am \ +	install install-am install-data install-data-am install-dvi \ +	install-dvi-am install-exec install-exec-am install-html \ +	install-html-am install-info install-info-am install-man \ +	install-pdf install-pdf-am install-ps install-ps-am \ +	install-strip installcheck installcheck-am installdirs \ +	installdirs-am maintainer-clean maintainer-clean-generic \ +	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ +	ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libs/ode-0.16.1/libccd/README b/libs/ode-0.16.1/libccd/README new file mode 100644 index 0000000..f363d6c --- /dev/null +++ b/libs/ode-0.16.1/libccd/README @@ -0,0 +1,72 @@ +libccd is library for a collision detection between two convex shapes. +libccd implements variation on Gilbert–Johnson–Keerthi algorithm plus Expand +Polytope Algorithm (EPA) and also implements algorithm Minkowski Portal +Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7. + +For more info see home of libccd: http://libccd.danfis.cz. + + +Dependencies +------------- +This library is currently based only on standard libraries. +The only exception are testsuites that are built on top of CU +(cu.danfis.cz) library licensed under LGPL, however only testing depends on +it and libccd library itself can be distributed without it. + + +License +-------- +libccd is licensed under OSI-approved 3-clause BSD License, text of license +is distributed along with source code in BSD-LICENSE file. +Each file should include license notice, the rest should be considered as +licensed under 3-clause BSD License. + + +Compile And Install +-------------------- +Simply type 'make' and 'make install' in src/ directory. + +Library libccd is by default compiled in double precision of floating point +numbers - you can controll this by options USE_SINGLE/USE_DOUBLE, i.e.: +    $ make USE_SINGLE=yes +will compile library in single precision. + +Installation directory can be changed by options PREFIX, INCLUDEDIR and +LIBDIR. + +For more info type 'make help'. + + +Compile And Install Using Autotools +------------------------------------ +libccd also contains support for autotools: +1) Generate configure script etc.: $ ./bootstrap +2) Create new build/ directory: $ mkdir build && cd build +3) Run configure script: $ ../configure +4) Run make and make install: $ make && make install + +configure script can change the way libccd is compiled and installed, most +significant option is --enable-double-precision which enables double +precision (single is default in this case). + + +Usage +------ +See ccd.h for public API. +In your application include <ccd/ccd.h>, setup ccd_t structure and run some +of functions (all functions are reentrant). Then link with libccd.a. + + +Directories +------------ +src/ +    - contains source files of libccd. +src/testsuites +    - testsuites - libccd must be compiled before compiling this. +src/testsuites/cu +    - CU unit testing framework +src/testsuites/regressions +    - files ready for regression tests + +doc/ +    - some documentation. diff --git a/libs/ode-0.16.1/libccd/aclocal.m4 b/libs/ode-0.16.1/libccd/aclocal.m4 new file mode 100644 index 0000000..f7ad092 --- /dev/null +++ b/libs/ode-0.16.1/libccd/aclocal.m4 @@ -0,0 +1,10200 @@ +# generated automatically by aclocal 1.15 -*- Autoconf -*- + +# Copyright (C) 1996-2014 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], +  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +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-2001, 2003-2015 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) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions.  There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# 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 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 this program.  If not, see <http://www.gnu.org/licenses/>. +]) + +# serial 58 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.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +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_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ +    for cc_temp in @S|@*""; do +      case $cc_temp in +        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; +        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; +        \-*) ;; +        *) break;; +      esac +    done +    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _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([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +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 +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that 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 set != "${COLLECT_NAMES+set}"; 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\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes +      ;; +    *) +      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\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes +      ;; +    *) +      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 0 = "$lt_write_fail" && 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@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) 2011 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 yes = "$silent" && +  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 that 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 +# Generated automatically by $as_me ($PACKAGE) $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. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + +    cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_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 set != "${COLLECT_NAMES+set}"; 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) + +   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' +    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)], +  [Go],			[_LT_LANG(GO)], +  [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 + + +m4_ifndef([AC_PROG_GO], [ +# NOTE: This macro has been submitted for inclusion into   # +#  GNU Autoconf as AC_PROG_GO.  When it is available in    # +#  a released version of Autoconf we should remove this    # +#  macro and use it instead.                               # +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC],     [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then +  if test -n "$ac_tool_prefix"; then +    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) +  fi +fi +if test -z "$GOC"; then +  AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _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([AC_PROG_GO], +  [LT_LANG(GO)], +  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +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 there is a non-empty error log, and "single_module" +	# appears in it, assume the flag caused a linker warning +        if test -s conftest.err && $GREP single_module conftest.err; then +	  cat conftest.err >&AS_MESSAGE_LOG_FD +	# Otherwise, if the output was created with a 0 exit code from +	# the compiler, it worked. +	elif test -f libconftest.dylib && test 0 = "$_lt_result"; 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 -s conftest.err && $GREP force_load conftest.err; then +	cat conftest.err >&AS_MESSAGE_LOG_FD +      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; 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 yes = "$lt_cv_apple_cc_single_mod"; then +      _lt_dar_single_mod='$single_module' +    fi +    if test yes = "$lt_cv_ld_exported_symbols_list"; 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 no = "$lt_cv_ld_force_load"; then +      _lt_dsymutil='~$DSYMUTIL $lib || :' +    else +      _lt_dsymutil= +    fi +    ;; +  esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# 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 yes = "$lt_cv_ld_force_load"; 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\"`' +    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], +                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes]) +  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*|nagfor*) _lt_dar_can_shared=yes ;; +     *) _lt_dar_can_shared=$GCC ;; +  esac +  if test yes = "$_lt_dar_can_shared"; 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 yes != "$lt_cv_apple_cc_single_mod"; 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 set = "${lt_cv_aix_libpath+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 that will find a shell with a builtin +# printf (that 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], +[AS_HELP_STRING([--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 yes = "$GCC"; 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 where 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 no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode +  # options accordingly. +  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 what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext +  if AC_TRY_EVAL(ac_compile); then +    if test yes = "$lt_cv_prog_gnu_ld"; 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* +  ;; + +mips64*-*linux*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext +  if AC_TRY_EVAL(ac_compile); then +    emul=elf +    case `/usr/bin/file conftest.$ac_objext` in +      *32-bit*) +	emul="${emul}32" +	;; +      *64-bit*) +	emul="${emul}64" +	;; +    esac +    case `/usr/bin/file conftest.$ac_objext` in +      *MSB*) +	emul="${emul}btsmip" +	;; +      *LSB*) +	emul="${emul}ltsmip" +	;; +    esac +    case `/usr/bin/file conftest.$ac_objext` in +      *N32*) +	emul="${emul}n32" +	;; +    esac +    LD="${LD-ld} -m $emul" +  fi +  rm -rf conftest* +  ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly.  Note that the listed cases only cover the +  # situations where additional linker options are needed (such as when +  # doing 32-bit compilation for a host where ld defaults to 64-bit, or +  # vice versa); the common cases where no linker options are needed do +  # not appear in the list. +  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*) +	    case `/usr/bin/file conftest.o` in +	      *x86-64*) +		LD="${LD-ld} -m elf32_x86_64" +		;; +	      *) +		LD="${LD-ld} -m elf_i386" +		;; +	    esac +	    ;; +	  powerpc64le-*linux*) +	    LD="${LD-ld} -m elf32lppclinux" +	    ;; +	  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" +	    ;; +	  powerpcle-*linux*) +	    LD="${LD-ld} -m elf64lppc" +	    ;; +	  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 yes != "$lt_cv_cc_needs_belf"; then +    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +    CFLAGS=$SAVE_CFLAGS +  fi +  ;; +*-*solaris*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  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*) +        case $host in +        i?86-*-solaris*|x86_64-*-solaris*) +          LD="${LD-ld} -m elf_x86_64" +          ;; +        sparc*-*-solaris*) +          LD="${LD-ld} -m elf64_sparc" +          ;; +        esac +        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available. +        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then +          LD=${LD-ld}_sol2 +        fi +        ;; +      *) +	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 0 -eq "$ac_status"; then +	# Ensure the archiver fails upon bogus file names. +	rm -f conftest.$ac_objext libconftest.a +	AC_TRY_EVAL([lt_ar_try]) +	if test 0 -ne "$ac_status"; then +          lt_cv_ar_at_file=@ +        fi +      fi +      rm -f conftest.* libconftest.a +     ]) +  ]) + +if test no = "$lt_cv_ar_at_file"; 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 +  bitrig* | openbsd*) +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" +    ;; +  *) +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" +    ;; +  esac +  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_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"  ## exclude from sc_useless_quotes_in_assignment +   # 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 yes = "[$]$2"; 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 yes = "[$]$2"; 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; +    ;; + +  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) +    # 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 +    ;; + +  os2*) +    # The test takes a long time on OS/2. +    lt_cv_sys_max_cmd_len=8192 +    ;; + +  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" && \ +       test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \ +	         = "X$teststring$teststring"; } >/dev/null 2>&1 && +	      test 17 != "$i" # 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 yes = "$cross_compiling"; 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 -fvisibility=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 yes != "$enable_dlopen"; 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 +    ]) +    ;; + +  tpf*) +    # Don't try to run any link tests for TPF.  We know it's impossible +    # because TPF is a cross-compiler, and we know how we open DSOs. +    lt_cv_dlopen=dlopen +    lt_cv_dlopen_libs= +    lt_cv_dlopen_self=no +    ;; + +  *) +    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 no = "$lt_cv_dlopen"; then +    enable_dlopen=no +  else +    enable_dlopen=yes +  fi + +  case $lt_cv_dlopen in +  dlopen) +    save_CPPFLAGS=$CPPFLAGS +    test yes = "$ac_cv_header_dlfcn_h" && 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 yes = "$lt_cv_dlopen_self"; 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 no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; 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 no = "$hard_links"; 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 where 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 yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + +  # We can hardcode non-existent directories. +  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && +     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && +     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; 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 relink = "$_LT_TAGVAR(hardcode_action, $1)" || +   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then +  # Fast installation is not supported +  enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || +     test no = "$enable_shared"; 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_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +#       string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +#       string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string +#       "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +#       VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ +    case x@S|@2 in +    x) +        ;; +    *:) +        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" +        ;; +    x:*) +        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" +        ;; +    *::*) +        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" +        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" +        ;; +    *) +        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" +        ;; +    esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _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 +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], +	[], [ +if test yes = "$GCC"; 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` +  # ...but if some path component already ends with the multilib dir we assume +  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). +  case "$lt_multi_os_dir; $lt_search_path_spec " in +  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) +    lt_multi_os_dir= +    ;; +  esac +  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" +    elif test -n "$lt_multi_os_dir"; then +      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 + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  need_lib_prefix=no +  need_version=no +  hardcode_into_libs=yes +  if test ia64 = "$host_cpu"; 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 +    # Using Import Files as archive members, it is possible to support +    # filename-based versioning of shared library archives on AIX. While +    # this would work for both with and without runtime linking, it will +    # prevent static linking of such archives. So we do filename-based +    # shared library versioning with .so extension only, which is used +    # when both runtime linking and shared linking is enabled. +    # Unfortunately, runtime linking may impact performance, so we do +    # not want this to be the default eventually. Also, we use the +    # versioned .so libs for executables only if there is the -brtl +    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. +    # To allow for filename-based versioning support, we need to create +    # libNAME.so.V as an archive file, containing: +    # *) an Import File, referring to the versioned filename of the +    #    archive as well as the shared archive member, telling the +    #    bitwidth (32 or 64) of that shared object, and providing the +    #    list of exported symbols of that shared object, eventually +    #    decorated with the 'weak' keyword +    # *) the shared object with the F_LOADONLY flag set, to really avoid +    #    it being seen by the linker. +    # At run time we better use the real file rather than another symlink, +    # but for link time we create the symlink libNAME.so -> libNAME.so.V + +    case $with_aix_soname,$aix_use_runtimelinking in +    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct +    # soname into executable. Probably we can add versioning support to +    # collect2, so additional links can be useful in future. +    aix,yes) # traditional libtool +      dynamic_linker='AIX unversionable lib.so' +      # 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' +      ;; +    aix,no) # traditional AIX only +      dynamic_linker='AIX lib.a[(]lib.so.V[)]' +      # 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' +      ;; +    svr4,*) # full svr4 only +      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,yes) # both, prefer svr4 +      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # unpreferred sharedlib libNAME.a needs extra handling +      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' +      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,no) # both, prefer aix +      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" +      library_names_spec='$libname$release.a $libname.a' +      soname_spec='$libname$release$shared_ext$major' +      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling +      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' +      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' +      ;; +    esac +    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%'\''`; $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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  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 +  ;; + +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[[23]].*) 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$major $libname$shared_ext' +      soname_spec='$libname$release$shared_ext$major' +      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 +  ;; + +haiku*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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=no +  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 32 = "$HPUX_IA64_MODE"; then +      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux32 +    else +      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux64 +    fi +    ;; +  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 # correct to gnu/linux during the next big refactor +  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 yes = "$lt_cv_prog_gnu_ld"; then +		version_type=linux # correct to gnu/linux during the next big refactor +	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 +  ;; + +linux*android*) +  version_type=none # Android doesn't support versioned libraries. +  need_lib_prefix=no +  need_version=no +  library_names_spec='$libname$release$shared_ext' +  soname_spec='$libname$release$shared_ext' +  finish_cmds= +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes + +  # 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 + +  dynamic_linker='Android linker' +  # Don't embed -rpath directories since the linker doesn't support them. +  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +  ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 + +  # Ideally, we could use ldconfig to report *all* directores which are +  # searched for libraries, however this is still not possible.  Aside from not +  # being certain /sbin/ldconfig is available, command +  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, +  # even though it is searched at run-time.  Try to do the best guess by +  # appending ld.so.conf contents (and includes) 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="/lib /usr/lib $lt_ld_extra" +  fi + +  # We used to test for /lib/ld.so.1 and disable shared libraries on +  # powerpc, because MkLinux only supported shared libraries with the +  # GNU dynamic linker.  Since this was broken with cross compilers, +  # most powerpc-linux boxes support dynamic linking these days and +  # people can always --disable-shared, the test was removed, and we +  # assume the GNU/Linux dynamic linker is in use. +  dynamic_linker='GNU/Linux ld.so' +  ;; + +netbsdelf*-gnu) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +  soname_spec='${libname}${release}${shared_ext}$major' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=no +  hardcode_into_libs=yes +  dynamic_linker='NetBSD ld.elf_so' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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* | bitrig*) +  version_type=sunos +  sys_lib_dlsearch_path_spec=/usr/lib +  need_lib_prefix=no +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then +    need_version=no +  else +    need_version=yes +  fi +  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 +  shlibpath_overrides_runpath=yes +  ;; + +os2*) +  libname_spec='$name' +  version_type=windows +  shrext_cmds=.dll +  need_version=no +  need_lib_prefix=no +  # OS/2 can only load a DLL with a base name of 8 characters or less. +  soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; +    v=$($ECHO $release$versuffix | tr -d .-); +    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); +    $ECHO $n$v`$shared_ext' +  library_names_spec='${libname}_dll.$libext' +  dynamic_linker='OS/2 ld.exe' +  shlibpath_var=BEGINLIBPATH +  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +  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' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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 yes = "$with_gnu_ld"; then +    need_lib_prefix=no +  fi +  need_version=yes +  ;; + +sysv4 | sysv4.3*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +    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=sco +  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  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 no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then +  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then +  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_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], [configure_time_dlsearch_path], [2], +    [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], +    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that 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@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 that 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 no = "$withval" || with_gnu_ld=yes], +    [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; 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 yes = "$with_gnu_ld"; 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 no != "$with_gnu_ld" && break +	;; +      *) +	test yes != "$with_gnu_ld" && 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 yes != "$GCC"; then +      reload_cmds=false +    fi +    ;; +  darwin*) +    if test yes = "$GCC"; 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_PATH_DD +# ----------- +# find a working dd +m4_defun([_LT_PATH_DD], +[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then +  cmp -s conftest.i conftest.out \ +  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then +  cmp -s conftest.i conftest.out \ +  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], +  [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _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 +# that 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. +  if ( file / ) >/dev/null 2>&1; then +    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +    lt_cv_file_magic_cmd='func_win32_libid' +  else +    # 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 +  ;; + +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 glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +netbsd* | netbsdelf*-gnu) +  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' +  else +    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* | bitrig*) +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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 +  ;; +os2*) +  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 +	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty +	case $build_os in +	mingw*) lt_bad_file=conftest.nm/nofile ;; +	*) lt_bad_file=/dev/null ;; +	esac +	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in +	*$lt_bad_file* | *'Invalid file or object type'*) +	  lt_cv_path_NM="$tmp_nm -B" +	  break 2 +	  ;; +	*) +	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in +	  */dev/null*) +	    lt_cv_path_NM="$tmp_nm -p" +	    break 2 +	    ;; +	  *) +	    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 no != "$lt_cv_path_NM"; 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 -headers /dev/null 2>&1 | sed '1q'` in +    *COFF*) +      DUMPBIN="$DUMPBIN -symbols -headers" +      ;; +    *) +      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 one 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 yes != "$lt_cv_path_mainfest_tool"; then +  MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl +  test DEF = "`$SED -n dnl +    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace +    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments +    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl +    -e q dnl                          Only consider the first "real" line +    $1`" dnl +])# _LT_DLL_DEF_P + + +# 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 yes = "$GCC"; 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 ia64 = "$host_cpu"; 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 + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then +  # Gets list of data symbols to import. +  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" +  # Adjust the below global symbol transforms to fixup imported variables. +  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" +  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'" +  lt_c_name_lib_hook="\ +  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\ +  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'" +else +  # Disable hooks by default. +  lt_cv_sys_global_symbol_to_import= +  lt_cdecl_hook= +  lt_c_name_hook= +  lt_c_name_lib_hook= +fi + +# 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"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$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"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/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, +    # D for any global variable and I for any imported 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};"\ +"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +"     \$ 0!~/External *\|/{next};"\ +"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +"     {if(hide[section]) next};"\ +"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +"     s[1]~prfx {split(s[1],t,\"@\"); print f,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 can't be const, because runtime +   relocations are performed -- see ld's documentation on pseudo-relocs.  */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data.  */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_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@_DLSYM_CONST struct { +  const char *name; +  void       *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ +  { "@PROGRAM@", (void *) 0 }, +_LT_EOF +	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$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 yes = "$pipe_works"; 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_import], [lt_cv_sys_global_symbol_to_import], [1], +    [Transform the output of nm into a list of symbols to manually relocate]) +_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_interface], [lt_cv_nm_interface], [1], +    [The name lister interface]) +_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 yes = "$GXX"; 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 ia64 = "$host_cpu"; then +	# AIX 5 now supports IA64 processor +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +      fi +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +      ;; + +    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']) +      case $host_os in +      os2*) +	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' +	;; +      esac +      ;; +    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 ia64 = "$host_cpu"; 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 ia64 != "$host_cpu"; 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 | 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* | netbsdelf*-gnu) +	;; +      *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 yes = "$GCC"; 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 ia64 = "$host_cpu"; then +	# AIX 5 now supports IA64 processor +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +      fi +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +      ;; + +    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']) +      case $host_os in +      os2*) +	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' +	;; +      esac +      ;; + +    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 ' +      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then +        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" +      fi +      ;; +    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 ia64 = "$host_cpu"; 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 +      ;; + +    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' +      case $cc_basename in +      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' +        ;; +      esac +      ;; + +    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']) +      case $host_os in +      os2*) +	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' +	;; +      esac +      ;; + +    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 | 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' +	;; +      tcc*) +	# Fabrice Bellard et al's Tiny 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)='-static' +	;; +      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\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) +	  # 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\ F* | *Sun*Fortran*) +	  _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 ' +	  ;; +	*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,' +	  ;; +        *Intel*\ [[CF]]*Compiler*) +	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +	  ;; +	*Portland\ Group*) +	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +	  ;; +	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 that 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@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@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 GNU nm, but means don't demangle to AIX nm. +    # Without the "-l" option, or with the "-B" option, AIX nm treats +    # weak defined symbols like other global defined symbols, whereas +    # GNU nm marks them as "W". +    # While the 'weak' keyword is ignored in the Export File, we need +    # it in the Import File for the 'aix-soname' feature, so we have +    # to replace the "-B" option with "-P" for AIX nm. +    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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' +    else +      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' +    fi +    ;; +  pw32*) +    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds +    ;; +  cygwin* | mingw* | cegcc*) +    case $cc_basename in +    cl*) +      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' +      ;; +    *) +      _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 +    ;; +  linux* | k*bsd*-gnu | gnu*) +    _LT_TAGVAR(link_all_deplibs, $1)=no +    ;; +  *) +    _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_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 yes != "$GCC"; then +      with_gnu_ld=no +    fi +    ;; +  interix*) +    # we just hope/assume this is gcc and not c89 (= MSVC++) +    with_gnu_ld=yes +    ;; +  openbsd* | bitrig*) +    with_gnu_ld=no +    ;; +  linux* | k*bsd*-gnu | gnu*) +    _LT_TAGVAR(link_all_deplibs, $1)=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 yes = "$with_gnu_ld"; 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 yes = "$lt_use_gnu_ld_interface"; 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 | $SED -e 's/([^)]\+)\s\+//' 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 ia64 != "$host_cpu"; 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@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, use it as +	# is; otherwise, prepend EXPORTS... +	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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 +      ;; + +    os2*) +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +      _LT_TAGVAR(hardcode_minus_L, $1)=yes +      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +      shrext_cmds=.dll +      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	prefix_cmds="$SED"~ +	if test EXPORTS = "`$SED 1q $export_symbols`"; then +	  prefix_cmds="$prefix_cmds -e 1d"; +	fi~ +	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +      _LT_TAGVAR(enable_shared_with_static_runtimes, $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 linux-dietlibc = "$host_os"; 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 no = "$tmp_diet" +      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' ;; +        nagfor*)                        # NAGFOR 5.3 +          tmp_sharedflag='-Wl,-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 yes = "$supports_anon_versioning"; 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 +	tcc*) +	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' +	  ;; +	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)='$wl-rpath $wl$libdir' +	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' +	  if test yes = "$supports_anon_versioning"; 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* | netbsdelf*-gnu) +      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 cannot +*** 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 no = "$_LT_TAGVAR(ld_shlibs, $1)"; 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 yes = "$GCC" && 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 ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm. +	# Without the "-l" option, or with the "-B" option, AIX nm treats +	# weak defined symbols like other global defined symbols, whereas +	# GNU nm marks them as "W". +	# While the 'weak' keyword is ignored in the Export File, we need +	# it in the Import File for the 'aix-soname' feature, so we have +	# to replace the "-B" option with "-P" for AIX nm. +	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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' +	else +	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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 +	# have runtime linking enabled, and use it for executables. +	# For shared libraries, we enable/disable runtime linking +	# depending on the kind of the shared library created - +	# when "with_aix_soname,aix_use_runtimelinking" is: +	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables +	# "aix,yes"  lib.so          shared, rtl:yes, for executables +	#            lib.a           static archive +	# "both,no"  lib.so.V(shr.o) shared, rtl:yes +	#            lib.a(lib.so.V) shared, rtl:no,  for executables +	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables +	#            lib.a(lib.so.V) shared, rtl:no +	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables +	#            lib.a           static archive +	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) +	  for ld_flag in $LDFLAGS; do +	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then +	    aix_use_runtimelinking=yes +	    break +	  fi +	  done +	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then +	    # With aix-soname=svr4, we create the lib.so.V shared archives only, +	    # so we don't have lib.a shared libs to link our executables. +	    # We have to force runtime linking in this case. +	    aix_use_runtimelinking=yes +	    LDFLAGS="$LDFLAGS -Wl,-brtl" +	  fi +	  ;; +	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,' +      case $with_aix_soname,$aix_use_runtimelinking in +      aix,*) ;; # traditional, no import file +      svr4,* | *,yes) # use import file +	# The Import File defines what to hardcode. +	_LT_TAGVAR(hardcode_direct, $1)=no +	_LT_TAGVAR(hardcode_direct_absolute, $1)=no +	;; +      esac + +      if test yes = "$GCC"; 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 yes = "$aix_use_runtimelinking"; then +	  shared_flag="$shared_flag "'$wl-G' +	fi +	# Need to ensure runtime linking is disabled for the traditional +	# shared library, or the linker may eventually find shared libraries +	# /with/ Import File - we do not want to mix them. +	shared_flag_aix='-shared' +	shared_flag_svr4='-shared $wl-G' +      else +	# not using gcc +	if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then +	    shared_flag='$wl-G' +	  else +	    shared_flag='$wl-bM:SRE' +	  fi +	  shared_flag_aix='$wl-bM:SRE' +	  shared_flag_svr4='$wl-G' +	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,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag +      else +	if test ia64 = "$host_cpu"; 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 yes = "$with_gnu_ld"; 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 +	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' +	  # -brtl affects multiple linker settings, -berok does not and is overridden later +	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' +	  if test svr4 != "$with_aix_soname"; then +	    # This is similar to how AIX traditionally builds its shared libraries. +	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' +	  fi +	  if test aix != "$with_aix_soname"; then +	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' +	  else +	    # used by -dlpreopen to get the symbols +	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir' +	  fi +	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' +	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,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' +	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then +            cp "$export_symbols" "$output_objdir/$soname.def"; +            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; +          else +            $SED -e '\''s/^/-link -EXPORT:/'\'' < $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(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' +	_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 +      ;; + +    # 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 yes = "$GCC"; 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 "x$output_objdir/$soname" = "x$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 "x$output_objdir/$soname" = "x$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 yes,no = "$GCC,$with_gnu_ld"; 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 no = "$with_gnu_ld"; then +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$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 yes,no = "$GCC,$with_gnu_ld"; 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 no = "$with_gnu_ld"; 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 yes = "$GCC"; 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 yes = "$lt_cv_irix_exported_symbol"; 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 +	_LT_TAGVAR(link_all_deplibs, $1)=no +      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 +      ;; + +    linux*) +      case $cc_basename in +      tcc*) +	# Fabrice Bellard et al's Tiny C Compiler +	_LT_TAGVAR(ld_shlibs, $1)=yes +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +	;; +      esac +      ;; + +    netbsd* | netbsdelf*-gnu) +      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* | bitrig*) +      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__`"; 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 +	  _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' +	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 +      shrext_cmds=.dll +      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	prefix_cmds="$SED"~ +	if test EXPORTS = "`$SED 1q $export_symbols`"; then +	  prefix_cmds="$prefix_cmds -e 1d"; +	fi~ +	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +      ;; + +    osf3*) +      if test yes = "$GCC"; 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 yes = "$GCC"; 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 yes = "$GCC"; 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 yes = "$GCC"; 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 sequent = "$host_vendor"; 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 yes = "$GCC"; 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 CANNOT 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 yes = "$GCC"; 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 sni = "$host_vendor"; 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 no = "$_LT_TAGVAR(ld_shlibs, $1)" && 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 yes,yes = "$GCC,$enable_shared"; 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_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 what 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no +    if test -n "$RANLIB"; then +      archive_cmds="$archive_cmds~\$RANLIB \$lib" +      postinstall_cmds='$RANLIB $lib' +    fi +    ;; + +  aix[[4-9]]*) +    if test ia64 != "$host_cpu"; then +      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in +      yes,aix,yes) ;;			# shared object as lib.so file only +      yes,svr4,*) ;;			# shared object as lib.so archive member only +      yes,*) enable_static=no ;;	# shared object in lib.a archive as well +      esac +    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 yes = "$enable_shared" || 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 no != "$CXX" && +    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || +    (test g++ != "$CXX"))); 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_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 yes != "$_lt_caught_CXX_error"; 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 yes = "$GXX"; 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 yes = "$GXX"; 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 yes = "$with_gnu_ld"; 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 ia64 = "$host_cpu"; 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 +          # have runtime linking enabled, and use it for executables. +          # For shared libraries, we enable/disable runtime linking +          # depending on the kind of the shared library created - +          # when "with_aix_soname,aix_use_runtimelinking" is: +          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables +          # "aix,yes"  lib.so          shared, rtl:yes, for executables +          #            lib.a           static archive +          # "both,no"  lib.so.V(shr.o) shared, rtl:yes +          #            lib.a(lib.so.V) shared, rtl:no,  for executables +          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables +          #            lib.a(lib.so.V) shared, rtl:no +          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables +          #            lib.a           static archive +          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 +	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then +	      # With aix-soname=svr4, we create the lib.so.V shared archives only, +	      # so we don't have lib.a shared libs to link our executables. +	      # We have to force runtime linking in this case. +	      aix_use_runtimelinking=yes +	      LDFLAGS="$LDFLAGS -Wl,-brtl" +	    fi +	    ;; +          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,' +        case $with_aix_soname,$aix_use_runtimelinking in +        aix,*) ;;	# no import file +        svr4,* | *,yes) # use import file +          # The Import File defines what to hardcode. +          _LT_TAGVAR(hardcode_direct, $1)=no +          _LT_TAGVAR(hardcode_direct_absolute, $1)=no +          ;; +        esac + +        if test yes = "$GXX"; 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 yes = "$aix_use_runtimelinking"; then +	    shared_flag=$shared_flag' $wl-G' +	  fi +	  # Need to ensure runtime linking is disabled for the traditional +	  # shared library, or the linker may eventually find shared libraries +	  # /with/ Import File - we do not want to mix them. +	  shared_flag_aix='-shared' +	  shared_flag_svr4='-shared $wl-G' +        else +          # not using gcc +          if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then +	      shared_flag='$wl-G' +	    else +	      shared_flag='$wl-bM:SRE' +	    fi +	    shared_flag_aix='$wl-bM:SRE' +	    shared_flag_svr4='$wl-G' +          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,yes = "$with_aix_soname,$aix_use_runtimelinking"; then +          # Warning - without using the other runtime loading flags (-brtl), +          # -berok will link without error, but may produce a broken library. +          # The "-G" linker flag allows undefined symbols. +          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' +          # 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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag +        else +          if test ia64 = "$host_cpu"; 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 yes = "$with_gnu_ld"; 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 +	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' +	    # -brtl affects multiple linker settings, -berok does not and is overridden later +	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' +	    if test svr4 != "$with_aix_soname"; then +	      # This is similar to how AIX traditionally builds its shared +	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. +	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' +	    fi +	    if test aix != "$with_aix_soname"; then +	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' +	    else +	      # used by -dlpreopen to get the symbols +	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir' +	    fi +	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' +          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@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,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' +	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then +              cp "$export_symbols" "$output_objdir/$soname.def"; +              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; +            else +              $SED -e '\''s/^/-link -EXPORT:/'\'' < $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, use it as +	    # is; otherwise, prepend EXPORTS... +	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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) +	;; + +      os2*) +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +	_LT_TAGVAR(hardcode_minus_L, $1)=yes +	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported +	shrext_cmds=.dll +	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	  $ECHO EXPORTS >> $output_objdir/$libname.def~ +	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	  emximp -o $lib $output_objdir/$libname.def' +	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	  $ECHO EXPORTS >> $output_objdir/$libname.def~ +	  prefix_cmds="$SED"~ +	  if test EXPORTS = "`$SED 1q $export_symbols`"; then +	    prefix_cmds="$prefix_cmds -e 1d"; +	  fi~ +	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	  emximp -o $lib $output_objdir/$libname.def' +	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +	;; + +      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 +        ;; + +      freebsd2.*) +        # 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 +        ;; + +      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 "x$output_objdir/$soname" = "x$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 yes = "$GXX"; 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 "x$output_objdir/$soname" = "x$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 no = "$with_gnu_ld"; 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 yes = "$GXX"; then +	      if test no = "$with_gnu_ld"; 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 yes = "$GXX"; then +	      if test no = "$with_gnu_ld"; 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 | 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 yes = "$supports_anon_versioning"; 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 +	;; + +      openbsd* | bitrig*) +	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__`"; 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 yes,no = "$GXX,$with_gnu_ld"; 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 yes,no = "$GXX,$with_gnu_ld"; 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 $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 $wl-h $wl$soname -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 $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 $wl-h $wl$soname -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 CANNOT 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 no = "$_LT_TAGVAR(ld_shlibs, $1)" && 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 yes != "$_lt_caught_CXX_error" + +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 @S|@2 in +  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; +  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@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 +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +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 x-L = "$p" || +          test x-R = "$p"; 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 no = "$pre_test_object_deps_done"; 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 no = "$pre_test_object_deps_done"; 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)= +  ;; +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 no = "$F77"; 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_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 yes != "$_lt_disable_F77"; 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no +        if test -n "$RANLIB"; then +          archive_cmds="$archive_cmds~\$RANLIB \$lib" +          postinstall_cmds='$RANLIB $lib' +        fi +        ;; +      aix[[4-9]]*) +	if test ia64 != "$host_cpu"; then +	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in +	  yes,aix,yes) ;;		# shared object as lib.so file only +	  yes,svr4,*) ;;		# shared object as lib.so archive member only +	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well +	  esac +	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 yes = "$enable_shared" || 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 yes != "$_lt_disable_F77" + +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 no = "$FC"; 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_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 yes != "$_lt_disable_FC"; 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no +        if test -n "$RANLIB"; then +          archive_cmds="$archive_cmds~\$RANLIB \$lib" +          postinstall_cmds='$RANLIB $lib' +        fi +        ;; +      aix[[4-9]]*) +	if test ia64 != "$host_cpu"; then +	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in +	  yes,aix,yes) ;;		# shared object as lib.so file only +	  yes,svr4,*) ;;		# shared object as lib.so archive member only +	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well +	  esac +	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 yes = "$enable_shared" || 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 yes != "$_lt_disable_FC" + +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_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined.  These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# 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=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go 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_GO_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 set = "${GCJFLAGS+set}" || 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_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# 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 10 -lt "$lt_ac_count" && 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], +[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_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what 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-2009, 2011-2015 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 8 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_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], +		   [_LT_WITH_AIX_SONAME([aix])]) +  ]) +])# _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_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) +  AC_MSG_CHECKING([which variant of shared library versioning to provide]) +  AC_ARG_WITH([aix-soname], +    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], +      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], +    [case $withval in +    aix|svr4|both) +      ;; +    *) +      AC_MSG_ERROR([Unknown argument to --with-aix-soname]) +      ;; +    esac +    lt_cv_with_aix_soname=$with_aix_soname], +    [AC_CACHE_VAL([lt_cv_with_aix_soname], +      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) +    with_aix_soname=$lt_cv_with_aix_soname]) +  AC_MSG_RESULT([$with_aix_soname]) +  if test aix != "$with_aix_soname"; then +    # For the AIX way of multilib, we name the shared archive member +    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. +    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, +    # the AIX toolchain works better with OBJECT_MODE set (default 32). +    if test 64 = "${OBJECT_MODE-32}"; then +      shared_archive_member_spec=shr_64 +    else +      shared_archive_member_spec=shr +    fi +  fi +  ;; +*) +  with_aix_soname=aix +  ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], +    [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _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@<:@=PKGS@:>@], +	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])], +    [lt_p=${PACKAGE-default} +    case $withval in +    yes|no) pic_mode=$withval ;; +    *) +      pic_mode=default +      # Look at the argument we got.  We use all the common list separators. +      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, +      for lt_pkg in $withval; do +	IFS=$lt_save_ifs +	if test "X$lt_pkg" = "X$lt_p"; then +	  pic_mode=yes +	fi +      done +      IFS=$lt_save_ifs +      ;; +    esac], +    [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, 2011-2015 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, 2011-2015 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 4179 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6' +macro_revision='2.4.6' +_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, 2011-2015 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-2014 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. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.15' +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.15], [], +      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too.  Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_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.15])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-2014 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. + +# 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/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory.  The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run.  This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +#    fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +#    fails if $ac_aux_dir is absolute, +#    fails when called from a subdirectory in a VPATH build with +#          a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir.  In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir.  That would be: +#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +#   MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH.  The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL                                            -*- Autoconf -*- + +# Copyright (C) 1997-2014 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. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])], +       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then +  $1_TRUE= +  $1_FALSE='#' +else +  $1_TRUE='#' +  $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then +  AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2014 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. + + +# 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, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery.  Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=], +      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=], +      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], +      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], +      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=], +      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'], +                    [depcc="$$1"   am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], +               [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +  # We make a subdir and do the tests there.  Otherwise we can end up +  # making bogus files that we don't know about and never remove.  For +  # 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. +  cp "$am_depcomp" conftest.dir +  cd conftest.dir +  # We will build objects and dependencies in a subdirectory because +  # it helps to detect inapplicable dependency modes.  For instance +  # both Tru64's cc and ICC support -MD to output dependencies as a +  # side effect of compilation, but ICC will put the dependencies in +  # the current directory while Tru64 will put them in the object +  # directory. +  mkdir sub + +  am_cv_$1_dependencies_compiler_type=none +  if test "$am_compiler_list" = ""; then +     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` +  fi +  am__universal=false +  m4_case([$1], [CC], +    [case " $depcc " in #( +     *\ -arch\ *\ -arch\ *) am__universal=true ;; +     esac], +    [CXX], +    [case " $depcc " in #( +     *\ -arch\ *\ -arch\ *) am__universal=true ;; +     esac]) + +  for depmode in $am_compiler_list; do +    # Setup a source with many dependencies, because some compilers +    # like to wrap large dependency lists on column 80 (with \), and +    # we should not choose a depcomp mode which is confused by this. +    # +    # We need to recreate these files for each test, as the compiler may +    # overwrite some of them when testing with obscure command lines. +    # This happens at least with the AIX C compiler. +    : > sub/conftest.c +    for i in 1 2 3 4 5 6; do +      echo '#include "conftst'$i'.h"' >> sub/conftest.c +      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with +      # Solaris 10 /bin/sh. +      echo '/* dummy */' > sub/conftst$i.h +    done +    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + +    # We check with '-c' and '-o' for the sake of the "dashmstdout" +    # mode.  It turns out that the SunPro C++ compiler does not properly +    # handle '-M -o', and we need to detect this.  Also, some Intel +    # versions had trouble with output in subdirs. +    am__obj=sub/conftest.${OBJEXT-o} +    am__minus_obj="-o $am__obj" +    case $depmode in +    gcc) +      # This depmode causes a compiler race in universal mode. +      test "$am__universal" = false || continue +      ;; +    nosideeffect) +      # After this tag, mechanisms are not by side-effect, so they'll +      # only be used when explicitly requested. +      if test "x$enable_dependency_tracking" = xyes; then +	continue +      else +	break +      fi +      ;; +    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. +      am__obj=conftest.${OBJEXT-o} +      am__minus_obj= +      ;; +    none) break ;; +    esac +    if depmode=$depmode \ +       source=sub/conftest.c object=$am__obj \ +       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ +         >/dev/null 2>conftest.err && +       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && +       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +       grep $am__obj sub/conftest.Po > /dev/null 2>&1 && +       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +      # icc doesn't choke on unknown options, it will just issue warnings +      # or remarks (even with -Werror).  So we grep stderr for any message +      # that says an option was ignored or not supported. +      # When given -MP, icc 7.0 and 7.1 complain thusly: +      #   icc: Command line warning: ignoring option '-M'; no argument required +      # The diagnosis changed in icc 8.0: +      #   icc: Command line remark: option '-MP' not supported +      if (grep 'ignoring option' conftest.err || +          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +        am_cv_$1_dependencies_compiler_type=$depmode +        break +      fi +    fi +  done + +  cd .. +  rm -rf conftest.dir +else +  am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ +  test "x$enable_dependency_tracking" != xno \ +  && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( +  [--enable-dependency-tracking], +  [do not reject slow dependency extractors]) +AS_HELP_STRING( +  [--disable-dependency-tracking], +  [speeds up one-time build])]) +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 -*- + +# Copyright (C) 1999-2014 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. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ +  # Older Autoconf quotes --file arguments for eval, but not when files +  # are listed without --file.  Let's play safe and only enable the eval +  # if we detect the quoting. +  case $CONFIG_FILES in +  *\'*) eval set x "$CONFIG_FILES" ;; +  *)   set x $CONFIG_FILES ;; +  esac +  shift +  for mf +  do +    # Strip MF so we end up with the name of the file. +    mf=`echo "$mf" | sed -e 's/:.*$//'` +    # Check whether this is an Automake generated Makefile or not. +    # We used to match only the files named 'Makefile.in', but +    # some people rename them; so instead we look at the file content. +    # Grep'ing the first line is not enough: some people post-process +    # each Makefile.in and add a new line on top of each file to say so. +    # Grep'ing the whole file is not good either: AIX grep has a line +    # limit of 2048, but all sed's we know have understand at least 4000. +    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +      dirpart=`AS_DIRNAME("$mf")` +    else +      continue +    fi +    # Extract the definition of DEPDIR, am__include, and am__quote +    # from the Makefile without running 'make'. +    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +    test -z "$DEPDIR" && continue +    am__include=`sed -n 's/^am__include = //p' < "$mf"` +    test -z "$am__include" && continue +    am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +    # Find all dependency output files, they are included files with +    # $(DEPDIR) in their names.  We invoke sed twice because it is the +    # simplest approach to changing $(DEPDIR) to its actual value in the +    # expansion. +    for file in `sed -n " +      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +      # Make sure the directory exists. +      test -f "$dirpart/$file" && continue +      fdir=`AS_DIRNAME(["$file"])` +      AS_MKDIR_P([$dirpart/$fdir]) +      # echo "creating $dirpart/$file" +      echo '# dummy' > "$dirpart/$file" +    done +  done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled.  FIXME.  This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], +     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], +     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake.                             -*- Autoconf -*- + +# Copyright (C) 1996-2014 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. + +# This macro actually does too much.  Some checks are only needed if +# your package does certain things.  But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out.  PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition.  After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names.  We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then +  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output +  # is not polluted with repeated "-I." +  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl +  # test to see if srcdir already configured +  if test -f $srcdir/config.status; then +    AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +  fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then +  if (cygpath --version) >/dev/null 2>/dev/null; then +    CYGPATH_W='cygpath -w' +  else +    CYGPATH_W=echo +  fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], +             [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( +  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), +  [ok:ok],, +  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility.  To be removed once Automake 1.9.x +# dies out for good.  For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver).  The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], +	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], +			     [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], +		  [_AM_DEPENDENCIES([CC])], +		  [m4_define([AC_PROG_CC], +			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], +		  [_AM_DEPENDENCIES([CXX])], +		  [m4_define([AC_PROG_CXX], +			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], +		  [_AM_DEPENDENCIES([OBJC])], +		  [m4_define([AC_PROG_OBJC], +			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], +		  [_AM_DEPENDENCIES([OBJCXX])], +		  [m4_define([AC_PROG_OBJCXX], +			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], +  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes.  So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else +  cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present.  This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message.  This +can help us improve future automake versions. + +END +  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then +    echo 'Configuration will proceed anyway, since you have set the' >&2 +    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 +    echo >&2 +  else +    cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END +    AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) +  fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated.  The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do +  case $_am_header in +    $_am_arg | $_am_arg:* ) +      break ;; +    * ) +      _am_stamp_count=`expr $_am_stamp_count + 1` ;; +  esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2014 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. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then +  case $am_aux_dir in +  *\ * | *\	*) +    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; +  *) +    install_sh="\${SHELL} $am_aux_dir/install-sh" +  esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2014 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. + +# Check whether the underlying file-system supports filenames +# with a leading dot.  For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then +  am__leading_dot=. +else +  am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes.	            -*- Autoconf -*- + +# Copyright (C) 2001-2014 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. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: +	@echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) +  am__include=include +  am__quote= +  _am_result=GNU +  ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then +   echo '.include "confinc"' > confmf +   case `$am_make -s -f confmf 2> /dev/null` in #( +   *the\ am__doit\ target*) +     am__include=.include +     am__quote="\"" +     _am_result=BSD +     ;; +   esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*- + +# Copyright (C) 1997-2014 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. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then +  case $am_aux_dir in +  *\ * | *\	*) +    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +  *) +    MISSING="\${SHELL} $am_aux_dir/missing" ;; +  esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then +  am_missing_run="$MISSING " +else +  am_missing_run= +  AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling.                     -*- Autoconf -*- + +# Copyright (C) 2001-2014 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. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +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)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2014 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. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( +  [whether $CC understands -c and -o together], +  [am_cv_prog_cc_c_o], +  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) +  # Make sure it works both with $CC and with simple cc. +  # Following AC_PROG_CC_C_O, we do the test twice because some +  # compilers refuse to overwrite an existing .o file with -o, +  # though they will create one. +  am_cv_prog_cc_c_o=yes +  for am_i in 1 2; do +    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ +         && test -f conftest2.$ac_objext; then +      : OK +    else +      am_cv_prog_cc_c_o=no +      break +    fi +  done +  rm -f core conftest* +  unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then +   # Losing compiler, so override with the script. +   # FIXME: It is wrong to rewrite CC. +   # But if we don't then we get into trouble of one sort or another. +   # A longer-term fix would be to have automake use am__CC in this case, +   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" +   CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2014 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. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD +   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD +   ac_status=$? +   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +   (exit $ac_status); }]) + +# Check to make sure that the build environment is sane.    -*- Autoconf -*- + +# Copyright (C) 1996-2014 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. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name.  Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in +  *[[\\\"\#\$\&\'\`$am_lf]]*) +    AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in +  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*) +    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments.  Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( +   am_has_slept=no +   for am_try in 1 2; do +     echo "timestamp, slept: $am_has_slept" > conftest.file +     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` +     if test "$[*]" = "X"; then +	# -L didn't work. +	set X `ls -t "$srcdir/configure" conftest.file` +     fi +     if test "$[*]" != "X $srcdir/configure conftest.file" \ +	&& test "$[*]" != "X conftest.file $srcdir/configure"; then + +	# If neither matched, then we have a broken ls.  This can happen +	# if, for instance, CONFIG_SHELL is bash and it inherits a +	# broken ls alias from the environment.  This has actually +	# happened.  Such a system could not be considered "sane". +	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken +  alias in your environment]) +     fi +     if test "$[2]" = conftest.file || test $am_try -eq 2; then +       break +     fi +     # Just in case. +     sleep 1 +     am_has_slept=yes +   done +   test "$[2]" = conftest.file +   ) +then +   # Ok. +   : +else +   AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then +  ( sleep 1 ) & +  am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( +  [AC_MSG_CHECKING([that generated files are newer than configure]) +   if test -n "$am_sleep_pid"; then +     # Hide warnings about reused PIDs. +     wait $am_sleep_pid 2>/dev/null +   fi +   AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2014 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. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( +  [--enable-silent-rules], +  [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( +  [--disable-silent-rules], +  [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( +  yes) AM_DEFAULT_VERBOSITY=0;; +   no) AM_DEFAULT_VERBOSITY=1;; +    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], +   [am_cv_make_support_nested_variables], +   [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: +	@$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then +  am_cv_make_support_nested_variables=yes +else +  am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then +  dnl Using '$V' instead of '$(V)' breaks IRIX make. +  AM_V='$(V)' +  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else +  AM_V=$AM_DEFAULT_VERBOSITY +  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2014 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. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries.  This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip".  However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then +  AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2014 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. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +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-2014 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. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +#     tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +#     $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_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}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], +  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + +  [m4_case([$1], +    [ustar], +     [# The POSIX 1988 'ustar' format is defined with fixed-size fields. +      # There is notably a 21 bits limit for the UID and the GID.  In fact, +      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 +      # and bug#13588). +      am_max_uid=2097151 # 2^21 - 1 +      am_max_gid=$am_max_uid +      # The $UID and $GID variables are not portable, so we need to resort +      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls +      # below are definitely unexpected, so allow the users to see them +      # (that is, avoid stderr redirection). +      am_uid=`id -u || echo unknown` +      am_gid=`id -g || echo unknown` +      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) +      if test $am_uid -le $am_max_uid; then +         AC_MSG_RESULT([yes]) +      else +         AC_MSG_RESULT([no]) +         _am_tools=none +      fi +      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) +      if test $am_gid -le $am_max_gid; then +         AC_MSG_RESULT([yes]) +      else +        AC_MSG_RESULT([no]) +        _am_tools=none +      fi], + +  [pax], +    [], + +  [m4_fatal([Unknown tar format])]) + +  AC_MSG_CHECKING([how to create a $1 tar archive]) + +  # Go ahead even if we have the value already cached.  We do so because we +  # need to set the values for the 'am__tar' and 'am__untar' variables. +  _am_tools=${am_cv_prog_tar_$1-$_am_tools} + +  for _am_tool in $_am_tools; do +    case $_am_tool in +    gnutar) +      for _am_tar in tar gnutar gtar; do +        AM_RUN_LOG([$_am_tar --version]) && break +      done +      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' +      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' +      am__untar="$_am_tar -xf -" +      ;; +    plaintar) +      # Must skip GNU tar: if it does not support --format= it doesn't create +      # ustar tarball either. +      (tar --version) >/dev/null 2>&1 && continue +      am__tar='tar chf - "$$tardir"' +      am__tar_='tar chf - "$tardir"' +      am__untar='tar xf -' +      ;; +    pax) +      am__tar='pax -L -x $1 -w "$$tardir"' +      am__tar_='pax -L -x $1 -w "$tardir"' +      am__untar='pax -r' +      ;; +    cpio) +      am__tar='find "$$tardir" -print | cpio -o -H $1 -L' +      am__tar_='find "$tardir" -print | cpio -o -H $1 -L' +      am__untar='cpio -i -H $1 -d' +      ;; +    none) +      am__tar=false +      am__tar_=false +      am__untar=false +      ;; +    esac + +    # If the value was cached, stop now.  We just wanted to have am__tar +    # and am__untar set. +    test -n "${am_cv_prog_tar_$1}" && break + +    # tar/untar a dummy directory, and stop if the command works. +    rm -rf conftest.dir +    mkdir conftest.dir +    echo GrepMe > conftest.dir/file +    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) +    rm -rf conftest.dir +    if test -s conftest.tar; then +      AM_RUN_LOG([$am__untar <conftest.tar]) +      AM_RUN_LOG([cat conftest.dir/file]) +      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break +    fi +  done +  rm -rf conftest.dir + +  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +  AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/libs/ode-0.16.1/libccd/bootstrap b/libs/ode-0.16.1/libccd/bootstrap new file mode 100755 index 0000000..33795bf --- /dev/null +++ b/libs/ode-0.16.1/libccd/bootstrap @@ -0,0 +1,12 @@ +#!/bin/sh + +# on Mac libtoolize is called glibtoolize +LIBTOOLIZE=libtoolize +if [ `uname -s` = Darwin ]; then +    LIBTOOLIZE=glibtoolize +fi +$LIBTOOLIZE -c --automake +aclocal +autoheader +autoconf +automake -a --foreign -c diff --git a/libs/ode-0.16.1/libccd/configure b/libs/ode-0.16.1/libccd/configure new file mode 100755 index 0000000..839345d --- /dev/null +++ b/libs/ode-0.16.1/libccd/configure @@ -0,0 +1,18785 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for libccd 1.0. +# +# Report bugs to <danfis@danfis.cz>. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +  emulate sh +  NULLCMD=: +  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which +  # is contrary to our usage.  Disable this feature. +  alias -g '${1+"$@"}'='"$@"' +  setopt NO_GLOB_SUBST +else +  case `(set -o) 2>/dev/null` in #( +  *posix*) : +    set -o posix ;; #( +  *) : +     ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ +    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then +  as_echo='print -r --' +  as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +  as_echo='printf %s\n' +  as_echo_n='printf %s' +else +  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then +    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' +    as_echo_n='/usr/ucb/echo -n' +  else +    as_echo_body='eval expr "X$1" : "X\\(.*\\)"' +    as_echo_n_body='eval +      arg=$1; +      case $arg in #( +      *"$as_nl"*) +	expr "X$arg" : "X\\(.*\\)$as_nl"; +	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; +      esac; +      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" +    ' +    export as_echo_n_body +    as_echo_n='sh -c $as_echo_n_body as_echo' +  fi +  export as_echo_body +  as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then +  PATH_SEPARATOR=: +  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { +    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || +      PATH_SEPARATOR=';' +  } +fi + + +# IFS +# We need space, tab and new line, in precisely that order.  Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" ""	$as_nl" + +# Find who we are.  Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( +  *[\\/]* ) as_myself=$0 ;; +  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +  done +IFS=$as_save_IFS + +     ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then +  as_myself=$0 +fi +if test ! -f "$as_myself"; then +  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 +  exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there.  '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ +  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +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 +  NULLCMD=: +  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which +  # is contrary to our usage.  Disable this feature. +  alias -g '\${1+\"\$@\"}'='\"\$@\"' +  setopt NO_GLOB_SUBST +else +  case \`(set -o) 2>/dev/null\` in #( +  *posix*) : +    set -o posix ;; #( +  *) : +     ;; +esac +fi +" +  as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +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 / || 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'\" && +  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + +  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\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" +  if (eval "$as_required") 2>/dev/null; then : +  as_have_required=yes +else +  as_have_required=no +fi +  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +  as_found=: +  case $as_dir in #( +	 /*) +	   for as_base in sh bash ksh sh5; do +	     # Try only shells that exist, to save several forks. +	     as_shell=$as_dir/$as_base +	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } && +		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : +  CONFIG_SHELL=$as_shell as_have_required=yes +		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : +  break 2 +fi +fi +	   done;; +       esac +  as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && +	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : +  CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + +      if test "x$CONFIG_SHELL" != x; then : +  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 : +  $as_echo "$0: This script requires a shell more modern than all" +  $as_echo "$0: the shells that I found on your system." +  if test x${ZSH_VERSION+set} = xset ; then +    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" +    $as_echo "$0: be upgraded to zsh 4.3.4 or later." +  else +    $as_echo "$0: Please tell bug-autoconf@gnu.org and danfis@danfis.cz +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." +  fi +  exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ +  { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ +  return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ +  set +e +  as_fn_set_status $1 +  exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + +  case $as_dir in #( +  -*) as_dir=./$as_dir;; +  esac +  test -d "$as_dir" || eval $as_mkdir_p || { +    as_dirs= +    while :; do +      case $as_dir in #( +      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( +      *) as_qdir=$as_dir;; +      esac +      as_dirs="'$as_qdir' $as_dirs" +      as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$as_dir" : 'X\(//\)[^/]' \| \ +	 X"$as_dir" : 'X\(//\)$' \| \ +	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +      test -d "$as_dir" && break +    done +    test -z "$as_dirs" || eval "mkdir $as_dirs" +  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $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 +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +  eval 'as_fn_append () +  { +    eval $1+=\$2 +  }' +else +  as_fn_append () +  { +    eval $1=\$$1\$2 +  } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +  eval 'as_fn_arith () +  { +    as_val=$(( $* )) +  }' +else +  as_fn_arith () +  { +    as_val=`expr "$@" || test $? -eq 1` +  } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ +  as_status=$1; test $as_status -eq 0 && as_status=1 +  if test "$4"; then +    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 +  fi +  $as_echo "$as_me: error: $2" >&2 +  as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && +   test "X`expr 00001 : '.*\(...\)'`" = X001; then +  as_expr=expr +else +  as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then +  as_basename=basename +else +  as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then +  as_dirname=dirname +else +  as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +	 X"$0" : 'X\(//\)$' \| \ +	 X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | +    sed '/^.*\/\([^/][^/]*\)\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\/\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\/\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +  as_lineno_1=$LINENO as_lineno_1a=$LINENO +  as_lineno_2=$LINENO as_lineno_2a=$LINENO +  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && +  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { +  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-) +  sed -n ' +    p +    /[$]LINENO/= +  ' <$as_myself | +    sed ' +      s/[$]LINENO.*/&-/ +      t lineno +      b +      :lineno +      N +      :loop +      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ +      t loop +      s/-\n.*// +    ' >$as_me.lineno && +  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). +  . "./$as_me.lineno" +  # Exit status is that of the last command. +  exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) +  case `echo 'xy\c'` in +  *c*) ECHO_T='	';;	# ECHO_T is single tab character. +  xy)  ECHO_C='\c';; +  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null +       ECHO_T='	';; +  esac;; +*) +  ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then +  rm -f conf$$.dir/conf$$.file +else +  rm -f conf$$.dir +  mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then +  if ln -s conf$$.file conf$$ 2>/dev/null; then +    as_ln_s='ln -s' +    # ... but there are two gotchas: +    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. +    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. +    # In both cases, we have to default to `cp -pR'. +    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || +      as_ln_s='cp -pR' +  elif ln conf$$.file conf$$ 2>/dev/null; then +    as_ln_s=ln +  else +    as_ln_s='cp -pR' +  fi +else +  as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then +  as_mkdir_p='mkdir -p "$as_dir"' +else +  test -d ./-p && rmdir ./-p +  as_mkdir_p=false +fi + +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'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='libccd' +PACKAGE_TARNAME='libccd' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='libccd 1.0' +PACKAGE_BUGREPORT='danfis@danfis.cz' +PACKAGE_URL='' + +ac_unique_file="src/ccd.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +#  include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +#  include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +CCD_PRECISION +CXXCPP +CPP +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_double_precision +' +      ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +LT_SYS_LIBRARY_PATH +CPP +CXXCPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do +  # If the previous option needs an argument, assign it. +  if test -n "$ac_prev"; then +    eval $ac_prev=\$ac_option +    ac_prev= +    continue +  fi + +  case $ac_option in +  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; +  *=)   ac_optarg= ;; +  *)    ac_optarg=yes ;; +  esac + +  # Accept the important Cygnus configure options, so we can diagnose typos. + +  case $ac_dashdash$ac_option in +  --) +    ac_dashdash=yes ;; + +  -bindir | --bindir | --bindi | --bind | --bin | --bi) +    ac_prev=bindir ;; +  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) +    bindir=$ac_optarg ;; + +  -build | --build | --buil | --bui | --bu) +    ac_prev=build_alias ;; +  -build=* | --build=* | --buil=* | --bui=* | --bu=*) +    build_alias=$ac_optarg ;; + +  -cache-file | --cache-file | --cache-fil | --cache-fi \ +  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) +    ac_prev=cache_file ;; +  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ +  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) +    cache_file=$ac_optarg ;; + +  --config-cache | -C) +    cache_file=config.cache ;; + +  -datadir | --datadir | --datadi | --datad) +    ac_prev=datadir ;; +  -datadir=* | --datadir=* | --datadi=* | --datad=*) +    datadir=$ac_optarg ;; + +  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ +  | --dataroo | --dataro | --datar) +    ac_prev=datarootdir ;; +  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ +  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) +    datarootdir=$ac_optarg ;; + +  -disable-* | --disable-*) +    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` +    # Reject names that are not valid shell variable names. +    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +      as_fn_error $? "invalid feature name: $ac_useropt" +    ac_useropt_orig=$ac_useropt +    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` +    case $ac_user_opts in +      *" +"enable_$ac_useropt" +"*) ;; +      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" +	 ac_unrecognized_sep=', ';; +    esac +    eval enable_$ac_useropt=no ;; + +  -docdir | --docdir | --docdi | --doc | --do) +    ac_prev=docdir ;; +  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) +    docdir=$ac_optarg ;; + +  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) +    ac_prev=dvidir ;; +  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) +    dvidir=$ac_optarg ;; + +  -enable-* | --enable-*) +    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` +    # Reject names that are not valid shell variable names. +    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +      as_fn_error $? "invalid feature name: $ac_useropt" +    ac_useropt_orig=$ac_useropt +    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` +    case $ac_user_opts in +      *" +"enable_$ac_useropt" +"*) ;; +      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" +	 ac_unrecognized_sep=', ';; +    esac +    eval enable_$ac_useropt=\$ac_optarg ;; + +  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ +  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +  | --exec | --exe | --ex) +    ac_prev=exec_prefix ;; +  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ +  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ +  | --exec=* | --exe=* | --ex=*) +    exec_prefix=$ac_optarg ;; + +  -gas | --gas | --ga | --g) +    # Obsolete; use --with-gas. +    with_gas=yes ;; + +  -help | --help | --hel | --he | -h) +    ac_init_help=long ;; +  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) +    ac_init_help=recursive ;; +  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) +    ac_init_help=short ;; + +  -host | --host | --hos | --ho) +    ac_prev=host_alias ;; +  -host=* | --host=* | --hos=* | --ho=*) +    host_alias=$ac_optarg ;; + +  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) +    ac_prev=htmldir ;; +  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ +  | --ht=*) +    htmldir=$ac_optarg ;; + +  -includedir | --includedir | --includedi | --included | --include \ +  | --includ | --inclu | --incl | --inc) +    ac_prev=includedir ;; +  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ +  | --includ=* | --inclu=* | --incl=* | --inc=*) +    includedir=$ac_optarg ;; + +  -infodir | --infodir | --infodi | --infod | --info | --inf) +    ac_prev=infodir ;; +  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) +    infodir=$ac_optarg ;; + +  -libdir | --libdir | --libdi | --libd) +    ac_prev=libdir ;; +  -libdir=* | --libdir=* | --libdi=* | --libd=*) +    libdir=$ac_optarg ;; + +  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ +  | --libexe | --libex | --libe) +    ac_prev=libexecdir ;; +  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ +  | --libexe=* | --libex=* | --libe=*) +    libexecdir=$ac_optarg ;; + +  -localedir | --localedir | --localedi | --localed | --locale) +    ac_prev=localedir ;; +  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) +    localedir=$ac_optarg ;; + +  -localstatedir | --localstatedir | --localstatedi | --localstated \ +  | --localstate | --localstat | --localsta | --localst | --locals) +    ac_prev=localstatedir ;; +  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) +    localstatedir=$ac_optarg ;; + +  -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +    ac_prev=mandir ;; +  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) +    mandir=$ac_optarg ;; + +  -nfp | --nfp | --nf) +    # Obsolete; use --without-fp. +    with_fp=no ;; + +  -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +  | --no-cr | --no-c | -n) +    no_create=yes ;; + +  -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) +    no_recursion=yes ;; + +  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ +  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ +  | --oldin | --oldi | --old | --ol | --o) +    ac_prev=oldincludedir ;; +  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ +  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ +  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) +    oldincludedir=$ac_optarg ;; + +  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) +    ac_prev=prefix ;; +  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) +    prefix=$ac_optarg ;; + +  -program-prefix | --program-prefix | --program-prefi | --program-pref \ +  | --program-pre | --program-pr | --program-p) +    ac_prev=program_prefix ;; +  -program-prefix=* | --program-prefix=* | --program-prefi=* \ +  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) +    program_prefix=$ac_optarg ;; + +  -program-suffix | --program-suffix | --program-suffi | --program-suff \ +  | --program-suf | --program-su | --program-s) +    ac_prev=program_suffix ;; +  -program-suffix=* | --program-suffix=* | --program-suffi=* \ +  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) +    program_suffix=$ac_optarg ;; + +  -program-transform-name | --program-transform-name \ +  | --program-transform-nam | --program-transform-na \ +  | --program-transform-n | --program-transform- \ +  | --program-transform | --program-transfor \ +  | --program-transfo | --program-transf \ +  | --program-trans | --program-tran \ +  | --progr-tra | --program-tr | --program-t) +    ac_prev=program_transform_name ;; +  -program-transform-name=* | --program-transform-name=* \ +  | --program-transform-nam=* | --program-transform-na=* \ +  | --program-transform-n=* | --program-transform-=* \ +  | --program-transform=* | --program-transfor=* \ +  | --program-transfo=* | --program-transf=* \ +  | --program-trans=* | --program-tran=* \ +  | --progr-tra=* | --program-tr=* | --program-t=*) +    program_transform_name=$ac_optarg ;; + +  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) +    ac_prev=pdfdir ;; +  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) +    pdfdir=$ac_optarg ;; + +  -psdir | --psdir | --psdi | --psd | --ps) +    ac_prev=psdir ;; +  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) +    psdir=$ac_optarg ;; + +  -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +  | -silent | --silent | --silen | --sile | --sil) +    silent=yes ;; + +  -runstatedir | --runstatedir | --runstatedi | --runstated \ +  | --runstate | --runstat | --runsta | --runst | --runs \ +  | --run | --ru | --r) +    ac_prev=runstatedir ;; +  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ +  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ +  | --run=* | --ru=* | --r=*) +    runstatedir=$ac_optarg ;; + +  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) +    ac_prev=sbindir ;; +  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +  | --sbi=* | --sb=*) +    sbindir=$ac_optarg ;; + +  -sharedstatedir | --sharedstatedir | --sharedstatedi \ +  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ +  | --sharedst | --shareds | --shared | --share | --shar \ +  | --sha | --sh) +    ac_prev=sharedstatedir ;; +  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ +  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ +  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ +  | --sha=* | --sh=*) +    sharedstatedir=$ac_optarg ;; + +  -site | --site | --sit) +    ac_prev=site ;; +  -site=* | --site=* | --sit=*) +    site=$ac_optarg ;; + +  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) +    ac_prev=srcdir ;; +  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) +    srcdir=$ac_optarg ;; + +  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ +  | --syscon | --sysco | --sysc | --sys | --sy) +    ac_prev=sysconfdir ;; +  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ +  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) +    sysconfdir=$ac_optarg ;; + +  -target | --target | --targe | --targ | --tar | --ta | --t) +    ac_prev=target_alias ;; +  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) +    target_alias=$ac_optarg ;; + +  -v | -verbose | --verbose | --verbos | --verbo | --verb) +    verbose=yes ;; + +  -version | --version | --versio | --versi | --vers | -V) +    ac_init_version=: ;; + +  -with-* | --with-*) +    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` +    # Reject names that are not valid shell variable names. +    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +      as_fn_error $? "invalid package name: $ac_useropt" +    ac_useropt_orig=$ac_useropt +    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` +    case $ac_user_opts in +      *" +"with_$ac_useropt" +"*) ;; +      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" +	 ac_unrecognized_sep=', ';; +    esac +    eval with_$ac_useropt=\$ac_optarg ;; + +  -without-* | --without-*) +    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` +    # Reject names that are not valid shell variable names. +    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +      as_fn_error $? "invalid package name: $ac_useropt" +    ac_useropt_orig=$ac_useropt +    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` +    case $ac_user_opts in +      *" +"with_$ac_useropt" +"*) ;; +      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" +	 ac_unrecognized_sep=', ';; +    esac +    eval with_$ac_useropt=no ;; + +  --x) +    # Obsolete; use --with-x. +    with_x=yes ;; + +  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ +  | --x-incl | --x-inc | --x-in | --x-i) +    ac_prev=x_includes ;; +  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ +  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) +    x_includes=$ac_optarg ;; + +  -x-libraries | --x-libraries | --x-librarie | --x-librari \ +  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) +    ac_prev=x_libraries ;; +  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ +  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) +    x_libraries=$ac_optarg ;; + +  -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" +    ;; + +  *=*) +    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` +    # Reject names that are not valid shell variable names. +    case $ac_envvar in #( +      '' | [0-9]* | *[!_$as_cr_alnum]* ) +      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; +    esac +    eval $ac_envvar=\$ac_optarg +    export $ac_envvar ;; + +  *) +    # FIXME: should be removed in autoconf 3.0. +    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 +    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && +      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 +    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" +    ;; + +  esac +done + +if test -n "$ac_prev"; then +  ac_option=--`echo $ac_prev | sed 's/_/-/g'` +  as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then +  case $enable_option_checking in +    no) ;; +    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; +    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; +  esac +fi + +# Check all directory arguments for consistency. +for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \ +		datadir sysconfdir sharedstatedir localstatedir includedir \ +		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +		libdir localedir mandir runstatedir +do +  eval ac_val=\$$ac_var +  # Remove trailing slashes. +  case $ac_val in +    */ ) +      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` +      eval $ac_var=\$ac_val;; +  esac +  # Be sure to have absolute directory names. +  case $ac_val in +    [\\/$]* | ?:[\\/]* )  continue;; +    NONE | '' ) case $ac_var in *prefix ) continue;; esac;; +  esac +  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then +  if test "x$build_alias" = x; then +    cross_compiling=maybe +  elif test "x$build_alias" != "x$host_alias"; then +    cross_compiling=yes +  fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || +  as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || +  as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then +  ac_srcdir_defaulted=yes +  # Try the directory containing this script, then the parent directory. +  ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$as_myself" : 'X\(//\)[^/]' \| \ +	 X"$as_myself" : 'X\(//\)$' \| \ +	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +  srcdir=$ac_confdir +  if test ! -r "$srcdir/$ac_unique_file"; then +    srcdir=.. +  fi +else +  ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then +  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." +  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( +	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" +	pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then +  srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do +  eval ac_env_${ac_var}_set=\${${ac_var}+set} +  eval ac_env_${ac_var}_value=\$${ac_var} +  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} +  eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then +  # Omit some internal or obsolete options to make the list less imposing. +  # This message is too long to be a string in the A/UX 3.1 sh. +  cat <<_ACEOF +\`configure' configures libccd 1.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE.  See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: +  -h, --help              display this help and exit +      --help=short        display options specific to this package +      --help=recursive    display the short help of all the included packages +  -V, --version           display version information and exit +  -q, --quiet, --silent   do not print \`checking ...' messages +      --cache-file=FILE   cache test results in FILE [disabled] +  -C, --config-cache      alias for \`--cache-file=config.cache' +  -n, --no-create         do not create output files +      --srcdir=DIR        find the sources in DIR [configure dir or \`..'] + +Installation directories: +  --prefix=PREFIX         install architecture-independent files in PREFIX +                          [$ac_default_prefix] +  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX +                          [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: +  --bindir=DIR            user executables [EPREFIX/bin] +  --sbindir=DIR           system admin executables [EPREFIX/sbin] +  --libexecdir=DIR        program executables [EPREFIX/libexec] +  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc] +  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com] +  --localstatedir=DIR     modifiable single-machine data [PREFIX/var] +  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run] +  --libdir=DIR            object code libraries [EPREFIX/lib] +  --includedir=DIR        C header files [PREFIX/include] +  --oldincludedir=DIR     C header files for non-gcc [/usr/include] +  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share] +  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR] +  --infodir=DIR           info documentation [DATAROOTDIR/info] +  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale] +  --mandir=DIR            man documentation [DATAROOTDIR/man] +  --docdir=DIR            documentation root [DATAROOTDIR/doc/libccd] +  --htmldir=DIR           html documentation [DOCDIR] +  --dvidir=DIR            dvi documentation [DOCDIR] +  --pdfdir=DIR            pdf documentation [DOCDIR] +  --psdir=DIR             ps documentation [DOCDIR] +_ACEOF + +  cat <<\_ACEOF + +Program names: +  --program-prefix=PREFIX            prepend PREFIX to installed program names +  --program-suffix=SUFFIX            append SUFFIX to installed program names +  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names + +System types: +  --build=BUILD     configure for building on BUILD [guessed] +  --host=HOST       cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then +  case $ac_init_help in +     short | recursive ) echo "Configuration of libccd 1.0:";; +   esac +  cat <<\_ACEOF + +Optional Features: +  --disable-option-checking  ignore unrecognized --enable/--with options +  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no) +  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes] +  --enable-silent-rules   less verbose build output (undo: "make V=1") +  --disable-silent-rules  verbose build output (undo: "make V=0") +  --enable-dependency-tracking +                          do not reject slow dependency extractors +  --disable-dependency-tracking +                          speeds up one-time build +  --enable-shared[=PKGS]  build shared libraries [default=no] +  --enable-static[=PKGS]  build static libraries [default=yes] +  --enable-fast-install[=PKGS] +                          optimize for fast installation [default=yes] +  --disable-libtool-lock  avoid locking (might break parallel builds) +  --enable-double-precision +                          enable double precision computations instead of +                          single precision + +Optional Packages: +  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes] +  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no) +  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use +                          both] +  --with-aix-soname=aix|svr4|both +                          shared library versioning (aka "SONAME") variant to +                          provide on AIX, [default=aix]. +  --with-gnu-ld           assume the C compiler uses GNU ld [default=no] +  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the +                          compiler's sysroot if not specified). + +Some influential environment variables: +  CXX         C++ compiler command +  CXXFLAGS    C++ compiler flags +  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a +              nonstandard directory <lib dir> +  LIBS        libraries to pass to the linker, e.g. -l<library> +  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if +              you have headers in a nonstandard directory <include dir> +  CC          C compiler command +  CFLAGS      C compiler flags +  LT_SYS_LIBRARY_PATH +              User-defined run-time library search path. +  CPP         C preprocessor +  CXXCPP      C++ preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to <danfis@danfis.cz>. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then +  # If there are subdirs, report their specific --help. +  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue +    test -d "$ac_dir" || +      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || +      continue +    ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) +  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` +  # A ".." for each directory in $ac_dir_suffix. +  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` +  case $ac_top_builddir_sub in +  "") ac_top_builddir_sub=. ac_top_build_prefix= ;; +  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;; +  esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in +  .)  # We are building in place. +    ac_srcdir=. +    ac_top_srcdir=$ac_top_builddir_sub +    ac_abs_top_srcdir=$ac_pwd ;; +  [\\/]* | ?:[\\/]* )  # Absolute name. +    ac_srcdir=$srcdir$ac_dir_suffix; +    ac_top_srcdir=$srcdir +    ac_abs_top_srcdir=$srcdir ;; +  *) # Relative name. +    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix +    ac_top_srcdir=$ac_top_build_prefix$srcdir +    ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + +    cd "$ac_dir" || { ac_status=$?; continue; } +    # Check for guested configure. +    if test -f "$ac_srcdir/configure.gnu"; then +      echo && +      $SHELL "$ac_srcdir/configure.gnu" --help=recursive +    elif test -f "$ac_srcdir/configure"; then +      echo && +      $SHELL "$ac_srcdir/configure" --help=recursive +    else +      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 +    fi || ac_status=$? +    cd "$ac_pwd" || { ac_status=$?; break; } +  done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then +  cat <<\_ACEOF +libccd configure 1.0 +generated by GNU Autoconf 2.69 + +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 +  exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  rm -f conftest.$ac_objext +  if { { ac_try="$ac_compile" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_compile") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && { +	 test -z "$ac_cxx_werror_flag" || +	 test ! -s conftest.err +       } && test -s conftest.$ac_objext; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +	ac_retval=1 +fi +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  rm -f conftest.$ac_objext +  if { { ac_try="$ac_compile" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_compile") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && { +	 test -z "$ac_c_werror_flag" || +	 test ! -s conftest.err +       } && test -s conftest.$ac_objext; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +	ac_retval=1 +fi +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  rm -f conftest.$ac_objext conftest$ac_exeext +  if { { ac_try="$ac_link" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && { +	 test -z "$ac_c_werror_flag" || +	 test ! -s conftest.err +       } && test -s conftest$ac_exeext && { +	 test "$cross_compiling" = yes || +	 test -x conftest$ac_exeext +       }; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +	ac_retval=1 +fi +  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information +  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would +  # interfere with the next link command; also delete a directory that is +  # left behind by Apple's compiler.  We do this before executing the actions. +  rm -rf conftest.dSYM conftest_ipa8_conftest.oo +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  eval "$3=yes" +else +  eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } > conftest.i && { +	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || +	 test ! -s conftest.err +       }; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +    ac_retval=1 +fi +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  if { { ac_try="$ac_link" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' +  { { case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_try") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; }; then : +  ac_retval=0 +else +  $as_echo "$as_me: program exited with status $ac_status" >&5 +       $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +       ac_retval=$ac_status +fi +  rm -rf conftest.dSYM conftest_ipa8_conftest.oo +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. +   For example, HP-UX 11i <limits.h> declares gettimeofday.  */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, +    which can conflict with char $2 (); below. +    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +    <limits.h> exists even on freestanding compilers.  */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements +    to always fail with ENOSYS.  Some functions are actually named +    something starting with __ and the normal name is an alias.  */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  eval "$3=yes" +else +  eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } > conftest.i && { +	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || +	 test ! -s conftest.err +       }; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +    ac_retval=1 +fi +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  rm -f conftest.$ac_objext conftest$ac_exeext +  if { { ac_try="$ac_link" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    grep -v '^ *+' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +    mv -f conftest.er1 conftest.err +  fi +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && { +	 test -z "$ac_cxx_werror_flag" || +	 test ! -s conftest.err +       } && test -s conftest$ac_exeext && { +	 test "$cross_compiling" = yes || +	 test -x conftest$ac_exeext +       }; then : +  ac_retval=0 +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +	ac_retval=1 +fi +  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information +  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would +  # interfere with the next link command; also delete a directory that is +  # left behind by Apple's compiler.  We do this before executing the actions. +  rm -rf conftest.dSYM conftest_ipa8_conftest.oo +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +  as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  if eval \${$3+:} false; then : +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : +  $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else +  # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  ac_header_compiler=yes +else +  ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : +  ac_header_preproc=yes +else +  ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So?  What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( +  yes:no: ) +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +    ;; +  no:yes:* ) +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;} +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;} +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ------------------------------- ## +## Report this to danfis@danfis.cz ## +## ------------------------------- ##" +     ) | sed "s/^/$as_me: WARNING:     /" >&2 +    ;; +esac +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  eval "$3=no" +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +$4 +int +main () +{ +if (sizeof ($2)) +	 return 0; +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +$4 +int +main () +{ +if (sizeof (($2))) +	    return 0; +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else +  eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libccd $as_me 1.0, which was +generated by GNU Autoconf 2.69.  Invocation command line was + +  $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown` + +/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown` +/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown` +/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown` +/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown` +/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    $as_echo "PATH: $as_dir" +  done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do +  for ac_arg +  do +    case $ac_arg in +    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; +    -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +    | -silent | --silent | --silen | --sile | --sil) +      continue ;; +    *\'*) +      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; +    esac +    case $ac_pass in +    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +    2) +      as_fn_append ac_configure_args1 " '$ac_arg'" +      if test $ac_must_keep_next = true; then +	ac_must_keep_next=false # Got value, back to normal. +      else +	case $ac_arg in +	  *=* | --config-cache | -C | -disable-* | --disable-* \ +	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ +	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ +	  | -with-* | --with-* | -without-* | --without-* | --x) +	    case "$ac_configure_args0 " in +	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; +	    esac +	    ;; +	  -* ) ac_must_keep_next=true ;; +	esac +      fi +      as_fn_append ac_configure_args " '$ac_arg'" +      ;; +    esac +  done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log.  We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? +  # Save into config.log some information that might help in debugging. +  { +    echo + +    $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" +    echo +    # The following way of writing the cache mishandles newlines in values, +( +  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do +    eval ac_val=\$$ac_var +    case $ac_val in #( +    *${as_nl}*) +      case $ac_var in #( +      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; +      esac +      case $ac_var in #( +      _ | IFS | as_nl) ;; #( +      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( +      *) { eval $ac_var=; unset $ac_var;} ;; +      esac ;; +    esac +  done +  (set) 2>&1 | +    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( +    *${as_nl}ac_space=\ *) +      sed -n \ +	"s/'\''/'\''\\\\'\'''\''/g; +	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" +      ;; #( +    *) +      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" +      ;; +    esac | +    sort +) +    echo + +    $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" +    echo +    for ac_var in $ac_subst_vars +    do +      eval ac_val=\$$ac_var +      case $ac_val in +      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; +      esac +      $as_echo "$ac_var='\''$ac_val'\''" +    done | sort +    echo + +    if test -n "$ac_subst_files"; then +      $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" +      echo +      for ac_var in $ac_subst_files +      do +	eval ac_val=\$$ac_var +	case $ac_val in +	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; +	esac +	$as_echo "$ac_var='\''$ac_val'\''" +      done | sort +      echo +    fi + +    if test -s confdefs.h; then +      $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" +      echo +      cat confdefs.h +      echo +    fi +    test "$ac_signal" != 0 && +      $as_echo "$as_me: caught signal $ac_signal" +    $as_echo "$as_me: exit $exit_status" +  } >&5 +  rm -f core *.core core.conftest.* && +    rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +    exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do +  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then +  # We do not want a PATH search for config.site. +  case $CONFIG_SITE in #(( +    -*)  ac_site_file1=./$CONFIG_SITE;; +    */*) ac_site_file1=$CONFIG_SITE;; +    *)   ac_site_file1=./$CONFIG_SITE;; +  esac +elif test "x$prefix" != xNONE; then +  ac_site_file1=$prefix/share/config.site +  ac_site_file2=$prefix/etc/config.site +else +  ac_site_file1=$ac_default_prefix/share/config.site +  ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do +  test "x$ac_site_file" = xNONE && continue +  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then +    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} +    sed 's/^/| /' "$ac_site_file" >&5 +    . "$ac_site_file" \ +      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } +  fi +done + +if test -r "$cache_file"; then +  # Some versions of bash will fail to source /dev/null (special files +  # actually), so we avoid doing that.  DJGPP emulates it as a regular file. +  if test /dev/null != "$cache_file" && test -f "$cache_file"; then +    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} +    case $cache_file in +      [\\/]* | ?:[\\/]* ) . "$cache_file";; +      *)                      . "./$cache_file";; +    esac +  fi +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} +  >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do +  eval ac_old_set=\$ac_cv_env_${ac_var}_set +  eval ac_new_set=\$ac_env_${ac_var}_set +  eval ac_old_val=\$ac_cv_env_${ac_var}_value +  eval ac_new_val=\$ac_env_${ac_var}_value +  case $ac_old_set,$ac_new_set in +    set,) +      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} +      ac_cache_corrupted=: ;; +    ,set) +      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} +      ac_cache_corrupted=: ;; +    ,);; +    *) +      if test "x$ac_old_val" != "x$ac_new_val"; then +	# differences in whitespace do not lead to failure. +	ac_old_val_w=`echo x $ac_old_val` +	ac_new_val_w=`echo x $ac_new_val` +	if test "$ac_old_val_w" != "$ac_new_val_w"; then +	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} +	  ac_cache_corrupted=: +	else +	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} +	  eval $ac_var=\$ac_old_val +	fi +	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5 +$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;} +	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5 +$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;} +      fi;; +  esac +  # Pass precious variables to config.status. +  if test "$ac_new_set" = set; then +    case $ac_new_val in +    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; +    *) ac_arg=$ac_var=$ac_new_val ;; +    esac +    case " $ac_configure_args " in +      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy. +      *) as_fn_append ac_configure_args " '$ac_arg'" ;; +    esac +  fi +done +if $ac_cache_corrupted; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} +  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_config_headers="$ac_config_headers src/config.h" + +am__api_version='1.15' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do +  if test -f "$ac_dir/install-sh"; then +    ac_aux_dir=$ac_dir +    ac_install_sh="$ac_aux_dir/install-sh -c" +    break +  elif test -f "$ac_dir/install.sh"; then +    ac_aux_dir=$ac_dir +    ac_install_sh="$ac_aux_dir/install.sh -c" +    break +  elif test -f "$ac_dir/shtool"; then +    ac_aux_dir=$ac_dir +    ac_install_sh="$ac_aux_dir/shtool install -c" +    break +  fi +done +if test -z "$ac_aux_dir"; then +  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var. + + +# Find a good install program.  We prefer a C program (faster), +# so one script is as good as another.  But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( +  ./ | .// | /[cC]/* | \ +  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ +  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ +  /usr/ucb/* ) ;; +  *) +    # OSF1 and SCO ODT 3.0 have their own names for install. +    # Don't use installbsd from OSF since it installs stuff as root +    # by default. +    for ac_prog in ginstall scoinst install; do +      for ac_exec_ext in '' $ac_executable_extensions; do +	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. +	    : +	  elif test $ac_prog = install && +	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then +	    # program-specific install script used by HP pwplus--don't use. +	    : +	  else +	    rm -rf conftest.one conftest.two conftest.dir +	    echo one > conftest.one +	    echo two > conftest.two +	    mkdir conftest.dir +	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && +	      test -s conftest.one && test -s conftest.two && +	      test -s conftest.dir/conftest.one && +	      test -s conftest.dir/conftest.two +	    then +	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" +	      break 3 +	    fi +	  fi +	fi +      done +    done +    ;; +esac + +  done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi +  if test "${ac_cv_path_install+set}" = set; then +    INSTALL=$ac_cv_path_install +  else +    # As a last resort, use the slow shell script.  Don't cache a +    # value for INSTALL within a source directory, because that will +    # break other packages using the cache if that directory is +    # removed, or if the value is a relative name. +    INSTALL=$ac_install_sh +  fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name.  Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in +  *[\\\"\#\$\&\'\`$am_lf]*) +    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in +  *[\\\"\#\$\&\'\`$am_lf\ \	]*) +    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments.  Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( +   am_has_slept=no +   for am_try in 1 2; do +     echo "timestamp, slept: $am_has_slept" > conftest.file +     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` +     if test "$*" = "X"; then +	# -L didn't work. +	set X `ls -t "$srcdir/configure" conftest.file` +     fi +     if test "$*" != "X $srcdir/configure conftest.file" \ +	&& test "$*" != "X conftest.file $srcdir/configure"; then + +	# If neither matched, then we have a broken ls.  This can happen +	# if, for instance, CONFIG_SHELL is bash and it inherits a +	# broken ls alias from the environment.  This has actually +	# happened.  Such a system could not be considered "sane". +	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken +  alias in your environment" "$LINENO" 5 +     fi +     if test "$2" = conftest.file || test $am_try -eq 2; then +       break +     fi +     # Just in case. +     sleep 1 +     am_has_slept=yes +   done +   test "$2" = conftest.file +   ) +then +   # Ok. +   : +else +   as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then +  ( sleep 1 ) & +  am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && +  program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && +  program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then +  case $am_aux_dir in +  *\ * | *\	*) +    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +  *) +    MISSING="\${SHELL} $am_aux_dir/missing" ;; +  esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then +  am_missing_run="$MISSING " +else +  am_missing_run= +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then +  case $am_aux_dir in +  *\ * | *\	*) +    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; +  *) +    install_sh="\${SHELL} $am_aux_dir/install-sh" +  esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip".  However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then +  if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$STRIP"; then +  ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then +  ac_ct_STRIP=$STRIP +  # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_STRIP"; then +  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_STRIP" = x; then +    STRIP=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    STRIP=$ac_ct_STRIP +  fi +else +  STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then +  if ${ac_cv_path_mkdir+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_prog in mkdir gmkdir; do +	 for ac_exec_ext in '' $ac_executable_extensions; do +	   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) '* | \ +	     'mkdir (fileutils) '4.1*) +	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext +	       break 3;; +	   esac +	 done +       done +  done +IFS=$as_save_IFS + +fi + +  test -d ./--version && rmdir ./--version +  if test "${ac_cv_path_mkdir+set}" = set; then +    MKDIR_P="$ac_cv_path_mkdir -p" +  else +    # As a last resort, use the slow shell script.  Don't cache a +    # value for MKDIR_P within a source directory, because that will +    # break other packages using the cache if that directory is +    # removed, or if the value is a relative name. +    MKDIR_P="$ac_install_sh -d" +  fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do +  # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$AWK"; then +  ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: +	@echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in +  *@@@%%%=?*=@@@%%%*) +    eval ac_cv_prog_make_${ac_make}_set=yes;; +  *) +    eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +  SET_MAKE= +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +  SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then +  am__leading_dot=. +else +  am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : +  enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( +  yes) AM_DEFAULT_VERBOSITY=0;; +   no) AM_DEFAULT_VERBOSITY=1;; +    *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: +	@$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then +  am_cv_make_support_nested_variables=yes +else +  am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then +    AM_V='$(V)' +  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else +  AM_V=$AM_DEFAULT_VERBOSITY +  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then +  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output +  # is not polluted with repeated "-I." +  am__isrc=' -I$(srcdir)' +  # test to see if srcdir already configured +  if test -f $srcdir/config.status; then +    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 +  fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then +  if (cygpath --version) >/dev/null 2>/dev/null; then +    CYGPATH_W='cygpath -w' +  else +    CYGPATH_W=echo +  fi +fi + + +# Define the identity of the package. + PACKAGE='libccd' + VERSION='1.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility.  To be removed once Automake 1.9.x +# dies out for good.  For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver).  The +# system "awk" is bad on some platforms. +# 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}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar  pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes.  So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else +  cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present.  This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message.  This +can help us improve future automake versions. + +END +  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then +    echo 'Configuration will proceed anyway, since you have set the' >&2 +    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 +    echo >&2 +  else +    cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END +    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 +  fi +fi + + +# Checks for programs. +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then +  if test -n "$CCC"; then +    CXX=$CCC +  else +    if test -n "$ac_tool_prefix"; then +  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +  do +    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$CXX"; then +  ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +    test -n "$CXX" && break +  done +fi +if test -z "$CXX"; then +  ac_ct_CXX=$CXX +  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do +  # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_CXX"; then +  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  test -n "$ac_ct_CXX" && break +done + +  if test "x$ac_ct_CXX" = x; then +    CXX="g++" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    CXX=$ac_ct_CXX +  fi +fi + +  fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do +  { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_compiler $ac_option >&5") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    sed '10a\ +... rest of stderr output deleted ... +         10q' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +  fi +  rm -f conftest.er1 conftest.err +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +$as_echo_n "checking whether the C++ compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do +  case $ac_file in +    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; +    * ) ac_rmfiles="$ac_rmfiles $ac_file";; +  esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link_default") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then : +  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile.  We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do +  test -f "$ac_file" || continue +  case $ac_file in +    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) +	;; +    [ab].out ) +	# We found the default executable, but exeext='' is most +	# certainly right. +	break;; +    *.* ) +	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; +	then :; else +	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +	fi +	# We set ac_cv_exeext here because the later test for it is not +	# safe: cross compilers may not add the suffix if given an `-o' +	# argument, so we may need to know it at that point already. +	# Even if this section looks crufty: it has the advantage of +	# actually working. +	break;; +    * ) +	break;; +  esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else +  ac_file='' +fi +if test -z "$ac_file"; then : +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C++ compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +$as_echo_n "checking for C++ compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then : +  # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do +  test -f "$ac_file" || continue +  case $ac_file in +    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; +    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +	  break;; +    * ) break;; +  esac +done +else +  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + +  ; +  return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run.  If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then +  { { ac_try="$ac_link" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_link") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +  if { ac_try='./conftest$ac_cv_exeext' +  { { case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_try") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; }; then +    cross_compiling=no +  else +    if test "$cross_compiling" = maybe; then +	cross_compiling=yes +    else +	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } +    fi +  fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_compile") 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then : +  for ac_file in conftest.o conftest.obj conftest.*; do +  test -f "$ac_file" || continue; +  case $ac_file in +    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; +    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` +       break;; +  esac +done +else +  $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ +#ifndef __GNUC__ +       choke me +#endif + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : +  ac_compiler_gnu=yes +else +  ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then +  GXX=yes +else +  GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_save_cxx_werror_flag=$ac_cxx_werror_flag +   ac_cxx_werror_flag=yes +   ac_cv_prog_cxx_g=no +   CXXFLAGS="-g" +   cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : +  ac_cv_prog_cxx_g=yes +else +  CXXFLAGS="" +      cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else +  ac_cxx_werror_flag=$ac_save_cxx_werror_flag +	 CXXFLAGS="-g" +	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : +  ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +   ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then +  CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then +  if test "$GXX" = yes; then +    CXXFLAGS="-g -O2" +  else +    CXXFLAGS="-g" +  fi +else +  if test "$GXX" = yes; then +    CXXFLAGS="-O2" +  else +    CXXFLAGS= +  fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: +	@echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) +  am__include=include +  am__quote= +  _am_result=GNU +  ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then +   echo '.include "confinc"' > confmf +   case `$am_make -s -f confmf 2> /dev/null` in #( +   *the\ am__doit\ target*) +     am__include=.include +     am__quote="\"" +     _am_result=BSD +     ;; +   esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : +  enableval=$enable_dependency_tracking; +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= +  AMDEP_FALSE='#' +else +  AMDEP_TRUE='#' +  AMDEP_FALSE= +fi + + + +depcc="$CXX"  am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +  # We make a subdir and do the tests there.  Otherwise we can end up +  # making bogus files that we don't know about and never remove.  For +  # 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. +  cp "$am_depcomp" conftest.dir +  cd conftest.dir +  # We will build objects and dependencies in a subdirectory because +  # it helps to detect inapplicable dependency modes.  For instance +  # both Tru64's cc and ICC support -MD to output dependencies as a +  # side effect of compilation, but ICC will put the dependencies in +  # the current directory while Tru64 will put them in the object +  # directory. +  mkdir sub + +  am_cv_CXX_dependencies_compiler_type=none +  if test "$am_compiler_list" = ""; then +     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` +  fi +  am__universal=false +  case " $depcc " in #( +     *\ -arch\ *\ -arch\ *) am__universal=true ;; +     esac + +  for depmode in $am_compiler_list; do +    # Setup a source with many dependencies, because some compilers +    # like to wrap large dependency lists on column 80 (with \), and +    # we should not choose a depcomp mode which is confused by this. +    # +    # We need to recreate these files for each test, as the compiler may +    # overwrite some of them when testing with obscure command lines. +    # This happens at least with the AIX C compiler. +    : > sub/conftest.c +    for i in 1 2 3 4 5 6; do +      echo '#include "conftst'$i'.h"' >> sub/conftest.c +      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with +      # Solaris 10 /bin/sh. +      echo '/* dummy */' > sub/conftst$i.h +    done +    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + +    # We check with '-c' and '-o' for the sake of the "dashmstdout" +    # mode.  It turns out that the SunPro C++ compiler does not properly +    # handle '-M -o', and we need to detect this.  Also, some Intel +    # versions had trouble with output in subdirs. +    am__obj=sub/conftest.${OBJEXT-o} +    am__minus_obj="-o $am__obj" +    case $depmode in +    gcc) +      # This depmode causes a compiler race in universal mode. +      test "$am__universal" = false || continue +      ;; +    nosideeffect) +      # After this tag, mechanisms are not by side-effect, so they'll +      # only be used when explicitly requested. +      if test "x$enable_dependency_tracking" = xyes; then +	continue +      else +	break +      fi +      ;; +    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. +      am__obj=conftest.${OBJEXT-o} +      am__minus_obj= +      ;; +    none) break ;; +    esac +    if depmode=$depmode \ +       source=sub/conftest.c object=$am__obj \ +       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ +         >/dev/null 2>conftest.err && +       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && +       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +       grep $am__obj sub/conftest.Po > /dev/null 2>&1 && +       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +      # icc doesn't choke on unknown options, it will just issue warnings +      # or remarks (even with -Werror).  So we grep stderr for any message +      # that says an option was ignored or not supported. +      # When given -MP, icc 7.0 and 7.1 complain thusly: +      #   icc: Command line warning: ignoring option '-M'; no argument required +      # The diagnosis changed in icc 8.0: +      #   icc: Command line remark: option '-MP' not supported +      if (grep 'ignoring option' conftest.err || +          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +        am_cv_CXX_dependencies_compiler_type=$depmode +        break +      fi +    fi +  done + +  cd .. +  rm -rf conftest.dir +else +  am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if +  test "x$enable_dependency_tracking" != xno \ +  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then +  am__fastdepCXX_TRUE= +  am__fastdepCXX_FALSE='#' +else +  am__fastdepCXX_TRUE='#' +  am__fastdepCXX_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then +  ac_ct_CC=$CC +  # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_CC"; then +  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_CC" = x; then +    CC="" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    CC=$ac_ct_CC +  fi +else +  CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then +          if test -n "$ac_tool_prefix"; then +    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  fi +fi +if test -z "$CC"; then +  # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +  ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +     fi +    ac_cv_prog_CC="cc" +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 +    break 2 +  fi +done +  done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then +  # We found a bogon in the path, so make sure we never use it. +  set dummy $ac_cv_prog_CC +  shift +  if test $# != 0; then +    # We chose a different compiler from the bogus one. +    # However, it has the same basename, so the bogon will be chosen +    # first if we set CC to just the basename; use the full file name. +    shift +    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" +  fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then +  if test -n "$ac_tool_prefix"; then +  for ac_prog in cl.exe +  do +    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +    test -n "$CC" && break +  done +fi +if test -z "$CC"; then +  ac_ct_CC=$CC +  for ac_prog in cl.exe +do +  # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_CC"; then +  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  test -n "$ac_ct_CC" && break +done + +  if test "x$ac_ct_CC" = x; then +    CC="" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    CC=$ac_ct_CC +  fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do +  { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +  *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 +  (eval "$ac_compiler $ac_option >&5") 2>conftest.err +  ac_status=$? +  if test -s conftest.err; then +    sed '10a\ +... rest of stderr output deleted ... +         10q' conftest.err >conftest.er1 +    cat conftest.er1 >&5 +  fi +  rm -f conftest.er1 conftest.err +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ +#ifndef __GNUC__ +       choke me +#endif + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  ac_compiler_gnu=yes +else +  ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then +  GCC=yes +else +  GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_save_c_werror_flag=$ac_c_werror_flag +   ac_c_werror_flag=yes +   ac_cv_prog_cc_g=no +   CFLAGS="-g" +   cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  ac_cv_prog_cc_g=yes +else +  CFLAGS="" +      cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else +  ac_c_werror_flag=$ac_save_c_werror_flag +	 CFLAGS="-g" +	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +   ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then +  CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then +  if test "$GCC" = yes; then +    CFLAGS="-g -O2" +  else +    CFLAGS="-g" +  fi +else +  if test "$GCC" = yes; then +    CFLAGS="-O2" +  else +    CFLAGS= +  fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <stdarg.h> +#include <stdio.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); +static char *e (p, i) +     char **p; +     int i; +{ +  return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ +  char *s; +  va_list v; +  va_start (v,p); +  s = g (p, va_arg (v,int)); +  va_end (v); +  return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has +   function prototypes and stuff, but not '\xHH' hex character constants. +   These don't provoke an error unfortunately, instead are silently treated +   as 'x'.  The following induces an error, until -std is added to get +   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an +   array size at least.  It's necessary to write '\x00'==0 to get something +   that's true only with -std.  */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters +   inside strings and character constants.  */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1]; +  ; +  return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do +  CC="$ac_save_CC $ac_arg" +  if ac_fn_c_try_compile "$LINENO"; then : +  ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext +  test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in +  x) +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; +  xno) +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; +  *) +    CC="$CC $ac_cv_prog_cc_c89" +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +  # Make sure it works both with $CC and with simple cc. +  # Following AC_PROG_CC_C_O, we do the test twice because some +  # compilers refuse to overwrite an existing .o file with -o, +  # though they will create one. +  am_cv_prog_cc_c_o=yes +  for am_i in 1 2; do +    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 +   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 +   ac_status=$? +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   (exit $ac_status); } \ +         && test -f conftest2.$ac_objext; then +      : OK +    else +      am_cv_prog_cc_c_o=no +      break +    fi +  done +  rm -f core conftest* +  unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then +   # Losing compiler, so override with the script. +   # FIXME: It is wrong to rewrite CC. +   # But if we don't then we get into trouble of one sort or another. +   # A longer-term fix would be to have automake use am__CC in this case, +   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" +   CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC"   am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +  # We make a subdir and do the tests there.  Otherwise we can end up +  # making bogus files that we don't know about and never remove.  For +  # 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. +  cp "$am_depcomp" conftest.dir +  cd conftest.dir +  # We will build objects and dependencies in a subdirectory because +  # it helps to detect inapplicable dependency modes.  For instance +  # both Tru64's cc and ICC support -MD to output dependencies as a +  # side effect of compilation, but ICC will put the dependencies in +  # the current directory while Tru64 will put them in the object +  # directory. +  mkdir sub + +  am_cv_CC_dependencies_compiler_type=none +  if test "$am_compiler_list" = ""; then +     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` +  fi +  am__universal=false +  case " $depcc " in #( +     *\ -arch\ *\ -arch\ *) am__universal=true ;; +     esac + +  for depmode in $am_compiler_list; do +    # Setup a source with many dependencies, because some compilers +    # like to wrap large dependency lists on column 80 (with \), and +    # we should not choose a depcomp mode which is confused by this. +    # +    # We need to recreate these files for each test, as the compiler may +    # overwrite some of them when testing with obscure command lines. +    # This happens at least with the AIX C compiler. +    : > sub/conftest.c +    for i in 1 2 3 4 5 6; do +      echo '#include "conftst'$i'.h"' >> sub/conftest.c +      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with +      # Solaris 10 /bin/sh. +      echo '/* dummy */' > sub/conftst$i.h +    done +    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + +    # We check with '-c' and '-o' for the sake of the "dashmstdout" +    # mode.  It turns out that the SunPro C++ compiler does not properly +    # handle '-M -o', and we need to detect this.  Also, some Intel +    # versions had trouble with output in subdirs. +    am__obj=sub/conftest.${OBJEXT-o} +    am__minus_obj="-o $am__obj" +    case $depmode in +    gcc) +      # This depmode causes a compiler race in universal mode. +      test "$am__universal" = false || continue +      ;; +    nosideeffect) +      # After this tag, mechanisms are not by side-effect, so they'll +      # only be used when explicitly requested. +      if test "x$enable_dependency_tracking" = xyes; then +	continue +      else +	break +      fi +      ;; +    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. +      am__obj=conftest.${OBJEXT-o} +      am__minus_obj= +      ;; +    none) break ;; +    esac +    if depmode=$depmode \ +       source=sub/conftest.c object=$am__obj \ +       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ +         >/dev/null 2>conftest.err && +       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && +       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +       grep $am__obj sub/conftest.Po > /dev/null 2>&1 && +       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +      # icc doesn't choke on unknown options, it will just issue warnings +      # or remarks (even with -Werror).  So we grep stderr for any message +      # that says an option was ignored or not supported. +      # When given -MP, icc 7.0 and 7.1 complain thusly: +      #   icc: Command line warning: ignoring option '-M'; no argument required +      # The diagnosis changed in icc 8.0: +      #   icc: Command line remark: option '-MP' not supported +      if (grep 'ignoring option' conftest.err || +          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +        am_cv_CC_dependencies_compiler_type=$depmode +        break +      fi +    fi +  done + +  cd .. +  rm -rf conftest.dir +else +  am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +  test "x$enable_dependency_tracking" != xno \ +  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then +  am__fastdepCC_TRUE= +  am__fastdepCC_FALSE='#' +else +  am__fastdepCC_TRUE='#' +  am__fastdepCC_FALSE= +fi + + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : +  enableval=$enable_shared; 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 +else +  enable_shared=no +fi + + + + + + + + + +case `pwd` in +  *\ * | *\	*) +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || +  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_build_alias=$build_alias +test "x$ac_build_alias" = x && +  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && +  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || +  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test "x$host_alias" = x; then +  ac_cv_host=$ac_cv_build +else +  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || +    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# 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' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# 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*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; +  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; +  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : +  $as_echo_n "(cached) " >&6 +else +            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ +     for ac_i in 1 2 3 4 5 6 7; do +       ac_script="$ac_script$as_nl$ac_script" +     done +     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed +     { ac_script=; unset ac_script;} +     if test -z "$SED"; then +  ac_path_SED_found=false +  # Loop through the user's path and test for each of PROGNAME-LIST +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    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" +      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 +*GNU*) +  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) +  ac_count=0 +  $as_echo_n 0123456789 >"conftest.in" +  while : +  do +    cat "conftest.in" "conftest.in" >"conftest.tmp" +    mv "conftest.tmp" "conftest.in" +    cp "conftest.in" "conftest.nl" +    $as_echo '' >> "conftest.nl" +    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break +    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break +    as_fn_arith $ac_count + 1 && ac_count=$as_val +    if test $ac_count -gt ${ac_path_SED_max-0}; then +      # Best one so far, save it but keep looking for a better one +      ac_cv_path_SED="$ac_path_SED" +      ac_path_SED_max=$ac_count +    fi +    # 10*(2^10) chars as input seems more than enough +    test $ac_count -gt 10 && break +  done +  rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + +      $ac_path_SED_found && break 3 +    done +  done +  done +IFS=$as_save_IFS +  if test -z "$ac_cv_path_SED"; then +    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 +  fi +else +  ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" +  rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -z "$GREP"; then +  ac_path_GREP_found=false +  # Loop through the user's path and test for each of PROGNAME-LIST +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_prog in grep ggrep; do +    for ac_exec_ext in '' $ac_executable_extensions; do +      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" +      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 +*GNU*) +  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) +  ac_count=0 +  $as_echo_n 0123456789 >"conftest.in" +  while : +  do +    cat "conftest.in" "conftest.in" >"conftest.tmp" +    mv "conftest.tmp" "conftest.in" +    cp "conftest.in" "conftest.nl" +    $as_echo 'GREP' >> "conftest.nl" +    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break +    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break +    as_fn_arith $ac_count + 1 && ac_count=$as_val +    if test $ac_count -gt ${ac_path_GREP_max-0}; then +      # Best one so far, save it but keep looking for a better one +      ac_cv_path_GREP="$ac_path_GREP" +      ac_path_GREP_max=$ac_count +    fi +    # 10*(2^10) chars as input seems more than enough +    test $ac_count -gt 10 && break +  done +  rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + +      $ac_path_GREP_found && break 3 +    done +  done +  done +IFS=$as_save_IFS +  if test -z "$ac_cv_path_GREP"; then +    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 +  fi +else +  ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 +   then ac_cv_path_EGREP="$GREP -E" +   else +     if test -z "$EGREP"; then +  ac_path_EGREP_found=false +  # Loop through the user's path and test for each of PROGNAME-LIST +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_prog in egrep; do +    for ac_exec_ext in '' $ac_executable_extensions; do +      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" +      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 +*GNU*) +  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) +  ac_count=0 +  $as_echo_n 0123456789 >"conftest.in" +  while : +  do +    cat "conftest.in" "conftest.in" >"conftest.tmp" +    mv "conftest.tmp" "conftest.in" +    cp "conftest.in" "conftest.nl" +    $as_echo 'EGREP' >> "conftest.nl" +    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break +    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break +    as_fn_arith $ac_count + 1 && ac_count=$as_val +    if test $ac_count -gt ${ac_path_EGREP_max-0}; then +      # Best one so far, save it but keep looking for a better one +      ac_cv_path_EGREP="$ac_path_EGREP" +      ac_path_EGREP_max=$ac_count +    fi +    # 10*(2^10) chars as input seems more than enough +    test $ac_count -gt 10 && break +  done +  rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + +      $ac_path_EGREP_found && break 3 +    done +  done +  done +IFS=$as_save_IFS +  if test -z "$ac_cv_path_EGREP"; then +    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 +  fi +else +  ac_cv_path_EGREP=$EGREP +fi + +   fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 +   then ac_cv_path_FGREP="$GREP -F" +   else +     if test -z "$FGREP"; then +  ac_path_FGREP_found=false +  # Loop through the user's path and test for each of PROGNAME-LIST +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_prog in fgrep; do +    for ac_exec_ext in '' $ac_executable_extensions; do +      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" +      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 +*GNU*) +  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) +  ac_count=0 +  $as_echo_n 0123456789 >"conftest.in" +  while : +  do +    cat "conftest.in" "conftest.in" >"conftest.tmp" +    mv "conftest.tmp" "conftest.in" +    cp "conftest.in" "conftest.nl" +    $as_echo 'FGREP' >> "conftest.nl" +    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break +    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break +    as_fn_arith $ac_count + 1 && ac_count=$as_val +    if test $ac_count -gt ${ac_path_FGREP_max-0}; then +      # Best one so far, save it but keep looking for a better one +      ac_cv_path_FGREP="$ac_path_FGREP" +      ac_path_FGREP_max=$ac_count +    fi +    # 10*(2^10) chars as input seems more than enough +    test $ac_count -gt 10 && break +  done +  rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + +      $ac_path_FGREP_found && break 3 +    done +  done +  done +IFS=$as_save_IFS +  if test -z "$ac_cv_path_FGREP"; then +    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 +  fi +else +  ac_cv_path_FGREP=$FGREP +fi + +   fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : +  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else +  with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then +  # Check if gcc -print-prog-name=ld gives a path. +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } +  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 yes = "$with_gnu_ld"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 no != "$with_gnu_ld" && break +	;; +      *) +	test yes != "$with_gnu_ld" && break +	;; +      esac +    fi +  done +  IFS=$lt_save_ifs +else +  lt_cv_path_LD=$LD # Let the user override the test with a path. +fi +fi + +LD=$lt_cv_path_LD +if test -n "$LD"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  # 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 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 +	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty +	case $build_os in +	mingw*) lt_bad_file=conftest.nm/nofile ;; +	*) lt_bad_file=/dev/null ;; +	esac +	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in +	*$lt_bad_file* | *'Invalid file or object type'*) +	  lt_cv_path_NM="$tmp_nm -B" +	  break 2 +	  ;; +	*) +	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in +	  */dev/null*) +	    lt_cv_path_NM="$tmp_nm -p" +	    break 2 +	    ;; +	  *) +	    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 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; 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 +    if test -n "$ac_tool_prefix"; then +  for ac_prog in dumpbin "link -dump" +  do +    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$DUMPBIN"; then +  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +    test -n "$DUMPBIN" && break +  done +fi +if test -z "$DUMPBIN"; then +  ac_ct_DUMPBIN=$DUMPBIN +  for ac_prog in dumpbin "link -dump" +do +  # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_DUMPBIN"; then +  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  test -n "$ac_ct_DUMPBIN" && break +done + +  if test "x$ac_ct_DUMPBIN" = x; then +    DUMPBIN=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    DUMPBIN=$ac_ct_DUMPBIN +  fi +fi + +    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in +    *COFF*) +      DUMPBIN="$DUMPBIN -symbols -headers" +      ;; +    *) +      DUMPBIN=: +      ;; +    esac +  fi + +  if test : != "$DUMPBIN"; then +    NM=$DUMPBIN +  fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_nm_interface="BSD nm" +  echo "int some_variable = 0;" > conftest.$ac_ext +  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) +  (eval "$ac_compile" 2>conftest.err) +  cat conftest.err >&5 +  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) +  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) +  cat conftest.err >&5 +  (eval echo "\"\$as_me:$LINENO: output\"" >&5) +  cat conftest.out >&5 +  if $GREP 'External.*some_variable' conftest.out > /dev/null; then +    lt_cv_nm_interface="MS dumpbin" +  fi +  rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : +  $as_echo_n "(cached) " >&6 +else +    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; +    ;; + +  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) +    # 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 +    ;; + +  os2*) +    # The test takes a long time on OS/2. +    lt_cv_sys_max_cmd_len=8192 +    ;; + +  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" && \ +       test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \ +	         = "X$teststring$teststring"; } >/dev/null 2>&1 && +	      test 17 != "$i" # 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 + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +  lt_unset=unset +else +  lt_unset=false +fi + + + + + +# 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 + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  #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 + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +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 yes != "$GCC"; then +      reload_cmds=false +    fi +    ;; +  darwin*) +    if test yes = "$GCC"; then +      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' +    else +      reload_cmds='$LD$reload_flag -o $output$reload_objs' +    fi +    ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$OBJDUMP"; then +  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then +  ac_ct_OBJDUMP=$OBJDUMP +  # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_OBJDUMP"; then +  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_OBJDUMP" = x; then +    OBJDUMP="false" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    OBJDUMP=$ac_ct_OBJDUMP +  fi +else +  OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 +# that 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. +  if ( file / ) >/dev/null 2>&1; then +    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +    lt_cv_file_magic_cmd='func_win32_libid' +  else +    # 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 +  ;; + +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 glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +netbsd* | netbsdelf*-gnu) +  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' +  else +    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* | bitrig*) +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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 +  ;; +os2*) +  lt_cv_deplibs_check_method=pass_all +  ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +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 + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$DLLTOOL"; then +  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then +  ac_ct_DLLTOOL=$DLLTOOL +  # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_DLLTOOL"; then +  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_DLLTOOL" = x; then +    DLLTOOL="false" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    DLLTOOL=$ac_ct_DLLTOOL +  fi +else +  DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 one 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 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then +  for ac_prog in ar +  do +    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$AR"; then +  ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +    test -n "$AR" && break +  done +fi +if test -z "$AR"; then +  ac_ct_AR=$AR +  for ac_prog in ar +do +  # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_AR"; then +  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  test -n "$ac_ct_AR" && break +done + +  if test "x$ac_ct_AR" = x; then +    AR="false" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    AR=$ac_ct_AR +  fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_ar_at_file=no +   cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  echo conftest.$ac_objext > conftest.lst +      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' +      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 +  (eval $lt_ar_try) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +      if test 0 -eq "$ac_status"; then +	# Ensure the archiver fails upon bogus file names. +	rm -f conftest.$ac_objext libconftest.a +	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 +  (eval $lt_ar_try) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +	if test 0 -ne "$ac_status"; then +          lt_cv_ar_at_file=@ +        fi +      fi +      rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then +  archiver_list_spec= +else +  archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$STRIP"; then +  ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then +  ac_ct_STRIP=$STRIP +  # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_STRIP"; then +  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_STRIP" = x; then +    STRIP=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    STRIP=$ac_ct_STRIP +  fi +else +  STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$RANLIB"; then +  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then +  ac_ct_RANLIB=$RANLIB +  # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_RANLIB"; then +  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_RANLIB" = x; then +    RANLIB=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    RANLIB=$ac_ct_RANLIB +  fi +else +  RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# 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 +  bitrig* | openbsd*) +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" +    ;; +  *) +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" +    ;; +  esac +  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in +  darwin*) +    lock_old_archive_extraction=yes ;; +  *) +    lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : +  $as_echo_n "(cached) " >&6 +else + +# 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 ia64 = "$host_cpu"; 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 + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then +  # Gets list of data symbols to import. +  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" +  # Adjust the below global symbol transforms to fixup imported variables. +  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" +  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'" +  lt_c_name_lib_hook="\ +  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\ +  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'" +else +  # Disable hooks by default. +  lt_cv_sys_global_symbol_to_import= +  lt_cdecl_hook= +  lt_c_name_hook= +  lt_c_name_lib_hook= +fi + +# 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"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$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"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/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, +    # D for any global variable and I for any imported 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};"\ +"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +"     \$ 0!~/External *\|/{next};"\ +"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +"     {if(hide[section]) next};"\ +"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +"     s[1]~prfx {split(s[1],t,\"@\"); print f,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 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then +    # Now try to grab the symbols. +    nlist=conftest.nm +    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 +  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && 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 can't be const, because runtime +   relocations are performed -- see ld's documentation on pseudo-relocs.  */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data.  */ +# define LT_DLSYM_CONST +#else +# define LT_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_DLSYM_CONST struct { +  const char *name; +  void       *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ +  { "@PROGRAM@", (void *) 0 }, +_LT_EOF +	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$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_prog_compiler_no_builtin_flag" +	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 +  (eval $ac_link) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && 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" >&5 +	fi +      else +	echo "cannot find nm_test_var in $nlist" >&5 +      fi +    else +      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 +    fi +  else +    echo "$progname: failed program was:" >&5 +    cat conftest.$ac_ext >&5 +  fi +  rm -rf conftest* conftst* + +  # Do not use the global_symbol_pipe unless it works. +  if test yes = "$pipe_works"; then +    break +  else +    lt_cv_sys_global_symbol_pipe= +  fi +done + +fi + +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 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : +  withval=$with_sysroot; +else +  with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) +   if test yes = "$GCC"; then +     lt_sysroot=`$CC --print-sysroot 2>/dev/null` +   fi +   ;; #( + /*) +   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` +   ;; #( + no|'') +   ;; #( + *) +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } +   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 +   ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then +  ac_path_lt_DD_found=false +  # Loop through the user's path and test for each of PROGNAME-LIST +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_prog in dd; do +    for ac_exec_ext in '' $ac_executable_extensions; do +      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" +      as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then +  cmp -s conftest.i conftest.out \ +  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi +      $ac_path_lt_DD_found && break 3 +    done +  done +  done +IFS=$as_save_IFS +  if test -z "$ac_cv_path_lt_DD"; then +    : +  fi +else +  ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then +  cmp -s conftest.i conftest.out \ +  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ +    for cc_temp in $*""; do +      case $cc_temp in +        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; +        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; +        \-*) ;; +        *) break;; +      esac +    done +    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : +  enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode +  # options accordingly. +  echo 'int i;' > conftest.$ac_ext +  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; 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 what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  echo '#line '$LINENO' "configure"' > conftest.$ac_ext +  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then +    if test yes = "$lt_cv_prog_gnu_ld"; 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* +  ;; + +mips64*-*linux*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  echo '#line '$LINENO' "configure"' > conftest.$ac_ext +  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then +    emul=elf +    case `/usr/bin/file conftest.$ac_objext` in +      *32-bit*) +	emul="${emul}32" +	;; +      *64-bit*) +	emul="${emul}64" +	;; +    esac +    case `/usr/bin/file conftest.$ac_objext` in +      *MSB*) +	emul="${emul}btsmip" +	;; +      *LSB*) +	emul="${emul}ltsmip" +	;; +    esac +    case `/usr/bin/file conftest.$ac_objext` in +      *N32*) +	emul="${emul}n32" +	;; +    esac +    LD="${LD-ld} -m $emul" +  fi +  rm -rf conftest* +  ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly.  Note that the listed cases only cover the +  # situations where additional linker options are needed (such as when +  # doing 32-bit compilation for a host where ld defaults to 64-bit, or +  # vice versa); the common cases where no linker options are needed do +  # not appear in the list. +  echo 'int i;' > conftest.$ac_ext +  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; 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*) +	    case `/usr/bin/file conftest.o` in +	      *x86-64*) +		LD="${LD-ld} -m elf32_x86_64" +		;; +	      *) +		LD="${LD-ld} -m elf_i386" +		;; +	    esac +	    ;; +	  powerpc64le-*linux*) +	    LD="${LD-ld} -m elf32lppclinux" +	    ;; +	  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" +	    ;; +	  powerpcle-*linux*) +	    LD="${LD-ld} -m elf64lppc" +	    ;; +	  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" +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +     cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  lt_cv_cc_needs_belf=yes +else +  lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +     ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } +  if test yes != "$lt_cv_cc_needs_belf"; then +    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +    CFLAGS=$SAVE_CFLAGS +  fi +  ;; +*-*solaris*) +  # Find out what ABI is being produced by ac_compile, and set linker +  # options accordingly. +  echo 'int i;' > conftest.$ac_ext +  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; then +    case `/usr/bin/file conftest.o` in +    *64-bit*) +      case $lt_cv_prog_gnu_ld in +      yes*) +        case $host in +        i?86-*-solaris*|x86_64-*-solaris*) +          LD="${LD-ld} -m elf_x86_64" +          ;; +        sparc*-*-solaris*) +          LD="${LD-ld} -m elf64_sparc" +          ;; +        esac +        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available. +        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then +          LD=${LD-ld}_sol2 +        fi +        ;; +      *) +	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 + +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$MANIFEST_TOOL"; then +  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then +  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL +  # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_MANIFEST_TOOL"; then +  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_MANIFEST_TOOL" = x; then +    MANIFEST_TOOL=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL +  fi +else +  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_path_mainfest_tool=no +  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 +  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out +  cat conftest.err >&5 +  if $GREP 'Manifest Tool' conftest.out > /dev/null; then +    lt_cv_path_mainfest_tool=yes +  fi +  rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then +  MANIFEST_TOOL=: +fi + + + + + + +  case $host_os in +    rhapsody* | darwin*) +    if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$DSYMUTIL"; then +  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then +  ac_ct_DSYMUTIL=$DSYMUTIL +  # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_DSYMUTIL"; then +  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_DSYMUTIL" = x; then +    DSYMUTIL=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    DSYMUTIL=$ac_ct_DSYMUTIL +  fi +else +  DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + +    if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$NMEDIT"; then +  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then +  ac_ct_NMEDIT=$NMEDIT +  # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_NMEDIT"; then +  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_NMEDIT" = x; then +    NMEDIT=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    NMEDIT=$ac_ct_NMEDIT +  fi +else +  NMEDIT="$ac_cv_prog_NMEDIT" +fi + +    if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$LIPO"; then +  ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then +  ac_ct_LIPO=$LIPO +  # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_LIPO"; then +  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_LIPO" = x; then +    LIPO=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    LIPO=$ac_ct_LIPO +  fi +else +  LIPO="$ac_cv_prog_LIPO" +fi + +    if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$OTOOL"; then +  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then +  ac_ct_OTOOL=$OTOOL +  # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_OTOOL"; then +  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_OTOOL" = x; then +    OTOOL=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    OTOOL=$ac_ct_OTOOL +  fi +else +  OTOOL="$ac_cv_prog_OTOOL" +fi + +    if test -n "$ac_tool_prefix"; then +  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$OTOOL64"; then +  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then +  ac_ct_OTOOL64=$OTOOL64 +  # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test -n "$ac_ct_OTOOL64"; then +  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    for ac_exec_ext in '' $ac_executable_extensions; do +  if as_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 +  fi +done +  done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +  if test "x$ac_ct_OTOOL64" = x; then +    OTOOL64=":" +  else +    case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac +    OTOOL64=$ac_ct_OTOOL64 +  fi +else +  OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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" >&5 +	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err +        _lt_result=$? +	# If there is a non-empty error log, and "single_module" +	# appears in it, assume the flag caused a linker warning +        if test -s conftest.err && $GREP single_module conftest.err; then +	  cat conftest.err >&5 +	# Otherwise, if the output was created with a 0 exit code from +	# the compiler, it worked. +	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then +	  lt_cv_apple_cc_single_mod=yes +	else +	  cat conftest.err >&5 +	fi +	rm -rf libconftest.dylib* +	rm -f conftest.* +      fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_ld_exported_symbols_list=no +      save_LDFLAGS=$LDFLAGS +      echo "_main" > conftest.sym +      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" +      cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  lt_cv_ld_exported_symbols_list=yes +else +  lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +	LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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" >&5 +      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 +      echo "$AR cru libconftest.a conftest.o" >&5 +      $AR cru libconftest.a conftest.o 2>&5 +      echo "$RANLIB libconftest.a" >&5 +      $RANLIB libconftest.a 2>&5 +      cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF +      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 +      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err +      _lt_result=$? +      if test -s conftest.err && $GREP force_load conftest.err; then +	cat conftest.err >&5 +      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then +	lt_cv_ld_force_load=yes +      else +	cat conftest.err >&5 +      fi +        rm -f conftest.err libconftest.a conftest conftest.c +        rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } +    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 yes = "$lt_cv_apple_cc_single_mod"; then +      _lt_dar_single_mod='$single_module' +    fi +    if test yes = "$lt_cv_ld_exported_symbols_list"; 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 no = "$lt_cv_ld_force_load"; then +      _lt_dsymutil='~$DSYMUTIL $lib || :' +    else +      _lt_dsymutil= +    fi +    ;; +  esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +#       string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +#       string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string +#       "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +#       VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ +    case x$2 in +    x) +        ;; +    *:) +        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" +        ;; +    x:*) +        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" +        ;; +    *::*) +        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" +        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" +        ;; +    *) +        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" +        ;; +    esac +} + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then +  CPP= +fi +if test -z "$CPP"; then +  if ${ac_cv_prog_CPP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +      # Double quotes because CPP needs to be expanded +    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" +    do +      ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do +  # Use a header file that comes with gcc, so configuring glibc +  # with a fresh cross-compiler works. +  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +  # <limits.h> exists even on freestanding compilers. +  # On the NeXT, cc -E runs the code through the compiler's parser, +  # not just through cpp. "Syntax error" is here to catch this case. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif +		     Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else +  # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +  # OK, works on sane cases.  Now check whether nonexistent headers +  # can be detected and how. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : +  # Broken: success on invalid input. +continue +else +  # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : +  break +fi + +    done +    ac_cv_prog_CPP=$CPP + +fi +  CPP=$ac_cv_prog_CPP +else +  ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do +  # Use a header file that comes with gcc, so configuring glibc +  # with a fresh cross-compiler works. +  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +  # <limits.h> exists even on freestanding compilers. +  # On the NeXT, cc -E runs the code through the compiler's parser, +  # not just through cpp. "Syntax error" is here to catch this case. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif +		     Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else +  # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +  # OK, works on sane cases.  Now check whether nonexistent headers +  # can be detected and how. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : +  # Broken: success on invalid input. +continue +else +  # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else +  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +  ac_cv_header_stdc=yes +else +  ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then +  # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +  $EGREP "memchr" >/dev/null 2>&1; then : + +else +  ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then +  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +  $EGREP "free" >/dev/null 2>&1; then : + +else +  ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then +  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. +  if test "$cross_compiling" = yes; then : +  : +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ +		   (('a' <= (c) && (c) <= 'i') \ +		     || ('j' <= (c) && (c) <= 'r') \ +		     || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ +  int i; +  for (i = 0; i < 256; i++) +    if (XOR (islower (i), ISLOWER (i)) +	|| toupper (i) != TOUPPER (i)) +      return 2; +  return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else +  ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +  conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ +		  inttypes.h stdint.h unistd.h +do : +  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +  cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : +  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : +  cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + +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 + + + + + +# Set options + + + +        enable_dlopen=no + + +  enable_win32_dll=no + + + +  # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : +  enableval=$enable_static; 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 +else +  enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : +  withval=$with_pic; lt_p=${PACKAGE-default} +    case $withval in +    yes|no) pic_mode=$withval ;; +    *) +      pic_mode=default +      # Look at the argument we got.  We use all the common list separators. +      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, +      for lt_pkg in $withval; do +	IFS=$lt_save_ifs +	if test "X$lt_pkg" = "X$lt_p"; then +	  pic_mode=yes +	fi +      done +      IFS=$lt_save_ifs +      ;; +    esac +else +  pic_mode=default +fi + + + + + + + + +  # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : +  enableval=$enable_fast_install; 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 +else +  enable_fast_install=yes +fi + + + + + + + + +  shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : +  withval=$with_aix_soname; case $withval in +    aix|svr4|both) +      ;; +    *) +      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 +      ;; +    esac +    lt_cv_with_aix_soname=$with_aix_soname +else +  if ${lt_cv_with_aix_soname+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_with_aix_soname=aix +fi + +    with_aix_soname=$lt_cv_with_aix_soname +fi + +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } +  if test aix != "$with_aix_soname"; then +    # For the AIX way of multilib, we name the shared archive member +    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. +    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, +    # the AIX toolchain works better with OBJECT_MODE set (default 32). +    if test 64 = "${OBJECT_MODE-32}"; then +      shared_archive_member_spec=shr_64 +    else +      shared_archive_member_spec=shr +    fi +  fi +  ;; +*) +  with_aix_soname=aix +  ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then +   setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +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 set != "${COLLECT_NAMES+set}"; 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 + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# 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 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 +  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" +  for ac_dir in $ac_dummy; do +    IFS=$lt_save_ifs +    test -z "$ac_dir" && ac_dir=. +    if test -f "$ac_dir/${ac_tool_prefix}file"; then +      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" +      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@gnu.org + +_LT_EOF +	  fi ;; +	esac +      fi +      break +    fi +  done +  IFS=$lt_save_ifs +  MAGIC_CMD=$lt_save_MAGIC_CMD +  ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then +  if test -n "$ac_tool_prefix"; then +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 +  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" +  for ac_dir in $ac_dummy; do +    IFS=$lt_save_ifs +    test -z "$ac_dir" && ac_dir=. +    if test -f "$ac_dir/file"; then +      lt_cv_path_MAGIC_CMD=$ac_dir/"file" +      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@gnu.org + +_LT_EOF +	  fi ;; +	esac +      fi +      break +    fi +  done +  IFS=$lt_save_ifs +  MAGIC_CMD=$lt_save_MAGIC_CMD +  ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +  else +    MAGIC_CMD=: +  fi +fi + +  fi +  ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$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);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save 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 +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* + +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* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then +  case $cc_basename in +  nvcc*) +    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; +  *) +    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; +  esac + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_rtti_exceptions=no +   ac_outfile=conftest.$ac_objext +   echo "$lt_simple_compile_test_code" > conftest.$ac_ext +   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment +   # 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\"" >&5) +   (eval "$lt_compile" 2>conftest.err) +   ac_status=$? +   cat conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s "$ac_outfile"; then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings other than the usual output. +     $ECHO "$_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 +       lt_cv_prog_compiler_rtti_exceptions=yes +     fi +   fi +   $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then +    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else +    : +fi + +fi + + + + + + +  lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + +  if test yes = "$GCC"; then +    lt_prog_compiler_wl='-Wl,' +    lt_prog_compiler_static='-static' + +    case $host_os in +      aix*) +      # All AIX code is PIC. +      if test ia64 = "$host_cpu"; then +	# AIX 5 now supports IA64 processor +	lt_prog_compiler_static='-Bstatic' +      fi +      lt_prog_compiler_pic='-fPIC' +      ;; + +    amigaos*) +      case $host_cpu in +      powerpc) +            # see comment about AmigaOS4 .so support +            lt_prog_compiler_pic='-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_prog_compiler_pic='-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 +      lt_prog_compiler_pic='-DDLL_EXPORT' +      case $host_os in +      os2*) +	lt_prog_compiler_static='$wl-static' +	;; +      esac +      ;; + +    darwin* | rhapsody*) +      # PIC is the default on this platform +      # Common symbols not allowed in MH_DYLIB files +      lt_prog_compiler_pic='-fno-common' +      ;; + +    haiku*) +      # PIC is the default for Haiku. +      # The "-static" flag exists, but is broken. +      lt_prog_compiler_static= +      ;; + +    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_prog_compiler_pic='-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_prog_compiler_can_build_shared=no +      enable_shared=no +      ;; + +    *nto* | *qnx*) +      # QNX uses GNU C++, but need to define -shared option too, otherwise +      # it will coredump. +      lt_prog_compiler_pic='-fPIC -shared' +      ;; + +    sysv4*MP*) +      if test -d /usr/nec; then +	lt_prog_compiler_pic=-Kconform_pic +      fi +      ;; + +    *) +      lt_prog_compiler_pic='-fPIC' +      ;; +    esac + +    case $cc_basename in +    nvcc*) # Cuda Compiler Driver 2.2 +      lt_prog_compiler_wl='-Xlinker ' +      if test -n "$lt_prog_compiler_pic"; then +        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" +      fi +      ;; +    esac +  else +    # PORTME Check for flag to pass linker flags through the system compiler. +    case $host_os in +    aix*) +      lt_prog_compiler_wl='-Wl,' +      if test ia64 = "$host_cpu"; then +	# AIX 5 now supports IA64 processor +	lt_prog_compiler_static='-Bstatic' +      else +	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' +      fi +      ;; + +    darwin* | rhapsody*) +      # PIC is the default on this platform +      # Common symbols not allowed in MH_DYLIB files +      lt_prog_compiler_pic='-fno-common' +      case $cc_basename in +      nagfor*) +        # NAG Fortran compiler +        lt_prog_compiler_wl='-Wl,-Wl,,' +        lt_prog_compiler_pic='-PIC' +        lt_prog_compiler_static='-Bstatic' +        ;; +      esac +      ;; + +    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). +      lt_prog_compiler_pic='-DDLL_EXPORT' +      case $host_os in +      os2*) +	lt_prog_compiler_static='$wl-static' +	;; +      esac +      ;; + +    hpux9* | hpux10* | hpux11*) +      lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' +	;; +      esac +      # Is there a better lt_prog_compiler_static that works with the bundled CC? +      lt_prog_compiler_static='$wl-a ${wl}archive' +      ;; + +    irix5* | irix6* | nonstopux*) +      lt_prog_compiler_wl='-Wl,' +      # PIC (with -KPIC) is the default. +      lt_prog_compiler_static='-non_shared' +      ;; + +    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +      case $cc_basename in +      # old Intel for x86_64, which still supported -KPIC. +      ecc*) +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='-KPIC' +	lt_prog_compiler_static='-static' +        ;; +      # icc used to be incompatible with GCC. +      # ICC 10 doesn't accept -KPIC any more. +      icc* | ifort*) +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='-fPIC' +	lt_prog_compiler_static='-static' +        ;; +      # Lahey Fortran 8.1. +      lf95*) +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='--shared' +	lt_prog_compiler_static='--static' +	;; +      nagfor*) +	# NAG Fortran compiler +	lt_prog_compiler_wl='-Wl,-Wl,,' +	lt_prog_compiler_pic='-PIC' +	lt_prog_compiler_static='-Bstatic' +	;; +      tcc*) +	# Fabrice Bellard et al's Tiny C Compiler +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='-fPIC' +	lt_prog_compiler_static='-static' +	;; +      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) +        # Portland Group compilers (*not* the Pentium gcc compiler, +	# which looks to be a dead project) +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='-fpic' +	lt_prog_compiler_static='-Bstatic' +        ;; +      ccc*) +        lt_prog_compiler_wl='-Wl,' +        # All Alpha code is PIC. +        lt_prog_compiler_static='-non_shared' +        ;; +      xl* | bgxl* | bgf* | mpixl*) +	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene +	lt_prog_compiler_wl='-Wl,' +	lt_prog_compiler_pic='-qpic' +	lt_prog_compiler_static='-qstaticlink' +	;; +      *) +	case `$CC -V 2>&1 | sed 5q` in +	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) +	  # Sun Fortran 8.3 passes all unrecognized flags to the linker +	  lt_prog_compiler_pic='-KPIC' +	  lt_prog_compiler_static='-Bstatic' +	  lt_prog_compiler_wl='' +	  ;; +	*Sun\ F* | *Sun*Fortran*) +	  lt_prog_compiler_pic='-KPIC' +	  lt_prog_compiler_static='-Bstatic' +	  lt_prog_compiler_wl='-Qoption ld ' +	  ;; +	*Sun\ C*) +	  # Sun C 5.9 +	  lt_prog_compiler_pic='-KPIC' +	  lt_prog_compiler_static='-Bstatic' +	  lt_prog_compiler_wl='-Wl,' +	  ;; +        *Intel*\ [CF]*Compiler*) +	  lt_prog_compiler_wl='-Wl,' +	  lt_prog_compiler_pic='-fPIC' +	  lt_prog_compiler_static='-static' +	  ;; +	*Portland\ Group*) +	  lt_prog_compiler_wl='-Wl,' +	  lt_prog_compiler_pic='-fpic' +	  lt_prog_compiler_static='-Bstatic' +	  ;; +	esac +	;; +      esac +      ;; + +    newsos6) +      lt_prog_compiler_pic='-KPIC' +      lt_prog_compiler_static='-Bstatic' +      ;; + +    *nto* | *qnx*) +      # QNX uses GNU C++, but need to define -shared option too, otherwise +      # it will coredump. +      lt_prog_compiler_pic='-fPIC -shared' +      ;; + +    osf3* | osf4* | osf5*) +      lt_prog_compiler_wl='-Wl,' +      # All OSF/1 code is PIC. +      lt_prog_compiler_static='-non_shared' +      ;; + +    rdos*) +      lt_prog_compiler_static='-non_shared' +      ;; + +    solaris*) +      lt_prog_compiler_pic='-KPIC' +      lt_prog_compiler_static='-Bstatic' +      case $cc_basename in +      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) +	lt_prog_compiler_wl='-Qoption ld ';; +      *) +	lt_prog_compiler_wl='-Wl,';; +      esac +      ;; + +    sunos4*) +      lt_prog_compiler_wl='-Qoption ld ' +      lt_prog_compiler_pic='-PIC' +      lt_prog_compiler_static='-Bstatic' +      ;; + +    sysv4 | sysv4.2uw2* | sysv4.3*) +      lt_prog_compiler_wl='-Wl,' +      lt_prog_compiler_pic='-KPIC' +      lt_prog_compiler_static='-Bstatic' +      ;; + +    sysv4*MP*) +      if test -d /usr/nec; then +	lt_prog_compiler_pic='-Kconform_pic' +	lt_prog_compiler_static='-Bstatic' +      fi +      ;; + +    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +      lt_prog_compiler_wl='-Wl,' +      lt_prog_compiler_pic='-KPIC' +      lt_prog_compiler_static='-Bstatic' +      ;; + +    unicos*) +      lt_prog_compiler_wl='-Wl,' +      lt_prog_compiler_can_build_shared=no +      ;; + +    uts4*) +      lt_prog_compiler_pic='-pic' +      lt_prog_compiler_static='-Bstatic' +      ;; + +    *) +      lt_prog_compiler_can_build_shared=no +      ;; +    esac +  fi + +case $host_os in +  # For platforms that do not support PIC, -DPIC is meaningless: +  *djgpp*) +    lt_prog_compiler_pic= +    ;; +  *) +    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" +    ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_pic_works=no +   ac_outfile=conftest.$ac_objext +   echo "$lt_simple_compile_test_code" > conftest.$ac_ext +   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment +   # 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\"" >&5) +   (eval "$lt_compile" 2>conftest.err) +   ac_status=$? +   cat conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s "$ac_outfile"; then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings other than the usual output. +     $ECHO "$_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 +       lt_cv_prog_compiler_pic_works=yes +     fi +   fi +   $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then +    case $lt_prog_compiler_pic in +     "" | " "*) ;; +     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; +     esac +else +    lt_prog_compiler_pic= +     lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_static_works=no +   save_LDFLAGS=$LDFLAGS +   LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +   echo "$lt_simple_link_test_code" > conftest.$ac_ext +   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +     # The linker can only warn and ignore the option if not recognized +     # So say no if there are warnings +     if test -s conftest.err; then +       # Append any errors to the config.log. +       cat conftest.err 1>&5 +       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp +       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +       if diff conftest.exp conftest.er2 >/dev/null; then +         lt_cv_prog_compiler_static_works=yes +       fi +     else +       lt_cv_prog_compiler_static_works=yes +     fi +   fi +   $RM -r conftest* +   LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then +    : +else +    lt_prog_compiler_static= +fi + + + + + + + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_c_o=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\"" >&5) +   (eval "$lt_compile" 2>out/conftest.err) +   ac_status=$? +   cat out/conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s out/conftest2.$ac_objext +   then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings +     $ECHO "$_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_cv_prog_compiler_c_o=yes +     fi +   fi +   chmod u+w . 2>&5 +   $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* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_c_o=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\"" >&5) +   (eval "$lt_compile" 2>out/conftest.err) +   ac_status=$? +   cat out/conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s out/conftest2.$ac_objext +   then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings +     $ECHO "$_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_cv_prog_compiler_c_o=yes +     fi +   fi +   chmod u+w . 2>&5 +   $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* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then +  # do not overwrite the value of need_locks provided by the user +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } +  hard_links=yes +  $RM conftest* +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  touch conftest.a +  ln conftest.a conftest.b 2>&5 || hard_links=no +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } +  if test no = "$hard_links"; then +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} +    need_locks=warn +  fi +else +  need_locks=no +fi + + + + + + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + +  runpath_var= +  allow_undefined_flag= +  always_export_symbols=no +  archive_cmds= +  archive_expsym_cmds= +  compiler_needs_object=no +  enable_shared_with_static_runtimes=no +  export_dynamic_flag_spec= +  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +  hardcode_automatic=no +  hardcode_direct=no +  hardcode_direct_absolute=no +  hardcode_libdir_flag_spec= +  hardcode_libdir_separator= +  hardcode_minus_L=no +  hardcode_shlibpath_var=unsupported +  inherit_rpath=no +  link_all_deplibs=unknown +  module_cmds= +  module_expsym_cmds= +  old_archive_from_new_cmds= +  old_archive_from_expsyms_cmds= +  thread_safe_flag_spec= +  whole_archive_flag_spec= +  # include_expsyms should be a list of space-separated symbols to be *always* +  # included in the symbol list +  include_expsyms= +  # 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'. +  exclude_expsyms='_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. +  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 yes != "$GCC"; then +      with_gnu_ld=no +    fi +    ;; +  interix*) +    # we just hope/assume this is gcc and not c89 (= MSVC++) +    with_gnu_ld=yes +    ;; +  openbsd* | bitrig*) +    with_gnu_ld=no +    ;; +  linux* | k*bsd*-gnu | gnu*) +    link_all_deplibs=no +    ;; +  esac + +  ld_shlibs=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 yes = "$with_gnu_ld"; 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 yes = "$lt_use_gnu_ld_interface"; 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 +    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +    export_dynamic_flag_spec='$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 +      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' +    else +      whole_archive_flag_spec= +    fi +    supports_anon_versioning=no +    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 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 ia64 != "$host_cpu"; then +	ld_shlibs=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 +            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +            archive_expsym_cmds='' +        ;; +      m68k) +            archive_cmds='$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)' +            hardcode_libdir_flag_spec='-L$libdir' +            hardcode_minus_L=yes +        ;; +      esac +      ;; + +    beos*) +      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +	allow_undefined_flag=unsupported +	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc +	# support --undefined.  This deserves some investigation.  FIXME +	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +      else +	ld_shlibs=no +      fi +      ;; + +    cygwin* | mingw* | pw32* | cegcc*) +      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, +      # as there is no search path for DLLs. +      hardcode_libdir_flag_spec='-L$libdir' +      export_dynamic_flag_spec='$wl--export-all-symbols' +      allow_undefined_flag=unsupported +      always_export_symbols=no +      enable_shared_with_static_runtimes=yes +      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' +      exclude_expsyms='[_]+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 +        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +	# If the export-symbols file already is a .def file, use it as +	# is; otherwise, prepend EXPORTS... +	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; 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 +	ld_shlibs=no +      fi +      ;; + +    haiku*) +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +      link_all_deplibs=yes +      ;; + +    os2*) +      hardcode_libdir_flag_spec='-L$libdir' +      hardcode_minus_L=yes +      allow_undefined_flag=unsupported +      shrext_cmds=.dll +      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	prefix_cmds="$SED"~ +	if test EXPORTS = "`$SED 1q $export_symbols`"; then +	  prefix_cmds="$prefix_cmds -e 1d"; +	fi~ +	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +      enable_shared_with_static_runtimes=yes +      ;; + +    interix[3-9]*) +      hardcode_direct=no +      hardcode_shlibpath_var=no +      hardcode_libdir_flag_spec='$wl-rpath,$libdir' +      export_dynamic_flag_spec='$wl-E' +      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +      # Instead, shared libraries are loaded at an image base (0x10000000 by +      # default) and relocated if they conflict, which is a slow very memory +      # consuming and fragmenting process.  To avoid this, we pick a random, +      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +      # time.  Moving up from 0x10000000 also allows more sbrk(2) space. +      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +      ;; + +    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) +      tmp_diet=no +      if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet" +      then +	tmp_addflag=' $pic_flag' +	tmp_sharedflag='-shared' +	case $cc_basename,$host_cpu in +        pgcc*)				# Portland Group C compiler +	  whole_archive_flag_spec='$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 +	  whole_archive_flag_spec='$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 +	  whole_archive_flag_spec= +	  tmp_sharedflag='--shared' ;; +        nagfor*)                        # NAGFOR 5.3 +          tmp_sharedflag='-Wl,-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 +	  whole_archive_flag_spec='$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' +	  compiler_needs_object=yes +	  ;; +	esac +	case `$CC -V 2>&1 | sed 5q` in +	*Sun\ C*)			# Sun C 5.9 +	  whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' +	  compiler_needs_object=yes +	  tmp_sharedflag='-G' ;; +	*Sun\ F*)			# Sun Fortran 8.3 +	  tmp_sharedflag='-G' ;; +	esac +	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + +        if test yes = "$supports_anon_versioning"; then +          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ +            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +            echo "local: *; };" >> $output_objdir/$libname.ver~ +            $CC '"$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 +	tcc*) +	  export_dynamic_flag_spec='-rdynamic' +	  ;; +	xlf* | bgf* | bgxlf* | mpixlf*) +	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself +	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' +	  hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' +	  if test yes = "$supports_anon_versioning"; then +	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ +              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +              echo "local: *; };" >> $output_objdir/$libname.ver~ +              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' +	  fi +	  ;; +	esac +      else +        ld_shlibs=no +      fi +      ;; + +    netbsd* | netbsdelf*-gnu) +      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +	wlarc= +      else +	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	archive_expsym_cmds='$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 +	ld_shlibs=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 +	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' +      else +	ld_shlibs=no +      fi +      ;; + +    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) +      case `$LD -v 2>&1` in +        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) +	ld_shlibs=no +	cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** 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 +	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' +	  else +	    ld_shlibs=no +	  fi +	;; +      esac +      ;; + +    sunos4*) +      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' +      wlarc= +      hardcode_direct=yes +      hardcode_shlibpath_var=no +      ;; + +    *) +      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' +      else +	ld_shlibs=no +      fi +      ;; +    esac + +    if test no = "$ld_shlibs"; then +      runpath_var= +      hardcode_libdir_flag_spec= +      export_dynamic_flag_spec= +      whole_archive_flag_spec= +    fi +  else +    # PORTME fill in a description of your system's linker (not GNU ld) +    case $host_os in +    aix3*) +      allow_undefined_flag=unsupported +      always_export_symbols=yes +      archive_expsym_cmds='$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. +      hardcode_minus_L=yes +      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then +	# Neither direct hardcoding nor static linking is supported with a +	# broken collect2. +	hardcode_direct=unsupported +      fi +      ;; + +    aix[4-9]*) +      if test ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm. +	# Without the "-l" option, or with the "-B" option, AIX nm treats +	# weak defined symbols like other global defined symbols, whereas +	# GNU nm marks them as "W". +	# While the 'weak' keyword is ignored in the Export File, we need +	# it in the Import File for the 'aix-soname' feature, so we have +	# to replace the "-B" option with "-P" for AIX nm. +	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' +	else +	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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 +	# have runtime linking enabled, and use it for executables. +	# For shared libraries, we enable/disable runtime linking +	# depending on the kind of the shared library created - +	# when "with_aix_soname,aix_use_runtimelinking" is: +	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables +	# "aix,yes"  lib.so          shared, rtl:yes, for executables +	#            lib.a           static archive +	# "both,no"  lib.so.V(shr.o) shared, rtl:yes +	#            lib.a(lib.so.V) shared, rtl:no,  for executables +	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables +	#            lib.a(lib.so.V) shared, rtl:no +	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables +	#            lib.a           static archive +	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) +	  for ld_flag in $LDFLAGS; do +	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then +	    aix_use_runtimelinking=yes +	    break +	  fi +	  done +	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then +	    # With aix-soname=svr4, we create the lib.so.V shared archives only, +	    # so we don't have lib.a shared libs to link our executables. +	    # We have to force runtime linking in this case. +	    aix_use_runtimelinking=yes +	    LDFLAGS="$LDFLAGS -Wl,-brtl" +	  fi +	  ;; +	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. + +      archive_cmds='' +      hardcode_direct=yes +      hardcode_direct_absolute=yes +      hardcode_libdir_separator=':' +      link_all_deplibs=yes +      file_list_spec='$wl-f,' +      case $with_aix_soname,$aix_use_runtimelinking in +      aix,*) ;; # traditional, no import file +      svr4,* | *,yes) # use import file +	# The Import File defines what to hardcode. +	hardcode_direct=no +	hardcode_direct_absolute=no +	;; +      esac + +      if test yes = "$GCC"; 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 +	  hardcode_direct=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 +	  hardcode_minus_L=yes +	  hardcode_libdir_flag_spec='-L$libdir' +	  hardcode_libdir_separator= +	  fi +	  ;; +	esac +	shared_flag='-shared' +	if test yes = "$aix_use_runtimelinking"; then +	  shared_flag="$shared_flag "'$wl-G' +	fi +	# Need to ensure runtime linking is disabled for the traditional +	# shared library, or the linker may eventually find shared libraries +	# /with/ Import File - we do not want to mix them. +	shared_flag_aix='-shared' +	shared_flag_svr4='-shared $wl-G' +      else +	# not using gcc +	if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then +	    shared_flag='$wl-G' +	  else +	    shared_flag='$wl-bM:SRE' +	  fi +	  shared_flag_aix='$wl-bM:SRE' +	  shared_flag_svr4='$wl-G' +	fi +      fi + +      export_dynamic_flag_spec='$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. +      always_export_symbols=yes +      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then +	# Warning - without using the other runtime loading flags (-brtl), +	# -berok will link without error, but may produce a broken library. +	allow_undefined_flag='-berok' +        # Determine the default libpath from the value encoded in an +        # empty executable. +        if test set = "${lt_cv_aix_libpath+set}"; then +  aix_libpath=$lt_cv_aix_libpath +else +  if ${lt_cv_aix_libpath_+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +  lt_aix_libpath_sed=' +      /Import File Strings/,/^$/ { +	  /^0/ { +	      s/^0  *\([^ ]*\) *$/\1/ +	      p +	  } +      }' +  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  # Check for a 64-bit object if we didn't find anything. +  if test -z "$lt_cv_aix_libpath_"; then +    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +  if test -z "$lt_cv_aix_libpath_"; then +    lt_cv_aix_libpath_=/usr/lib:/lib +  fi + +fi + +  aix_libpath=$lt_cv_aix_libpath_ +fi + +        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" +        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag +      else +	if test ia64 = "$host_cpu"; then +	  hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' +	  allow_undefined_flag="-z nodefs" +	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$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. +	 if test set = "${lt_cv_aix_libpath+set}"; then +  aix_libpath=$lt_cv_aix_libpath +else +  if ${lt_cv_aix_libpath_+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +  lt_aix_libpath_sed=' +      /Import File Strings/,/^$/ { +	  /^0/ { +	      s/^0  *\([^ ]*\) *$/\1/ +	      p +	  } +      }' +  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  # Check for a 64-bit object if we didn't find anything. +  if test -z "$lt_cv_aix_libpath_"; then +    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +  if test -z "$lt_cv_aix_libpath_"; then +    lt_cv_aix_libpath_=/usr/lib:/lib +  fi + +fi + +  aix_libpath=$lt_cv_aix_libpath_ +fi + +	 hardcode_libdir_flag_spec='$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. +	  no_undefined_flag=' $wl-bernotok' +	  allow_undefined_flag=' $wl-berok' +	  if test yes = "$with_gnu_ld"; then +	    # We only use this code for GNU lds that support --whole-archive. +	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' +	  else +	    # Exported symbols can be pulled into shared objects from archives +	    whole_archive_flag_spec='$convenience' +	  fi +	  archive_cmds_need_lc=yes +	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' +	  # -brtl affects multiple linker settings, -berok does not and is overridden later +	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' +	  if test svr4 != "$with_aix_soname"; then +	    # This is similar to how AIX traditionally builds its shared libraries. +	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' +	  fi +	  if test aix != "$with_aix_soname"; then +	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' +	  else +	    # used by -dlpreopen to get the symbols +	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir' +	  fi +	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' +	fi +      fi +      ;; + +    amigaos*) +      case $host_cpu in +      powerpc) +            # see comment about AmigaOS4 .so support +            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +            archive_expsym_cmds='' +        ;; +      m68k) +            archive_cmds='$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)' +            hardcode_libdir_flag_spec='-L$libdir' +            hardcode_minus_L=yes +        ;; +      esac +      ;; + +    bsdi[45]*) +      export_dynamic_flag_spec=-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 +	hardcode_libdir_flag_spec=' ' +	allow_undefined_flag=unsupported +	always_export_symbols=yes +	file_list_spec='@' +	# 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. +	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' +	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then +            cp "$export_symbols" "$output_objdir/$soname.def"; +            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; +          else +            $SED -e '\''s/^/-link -EXPORT:/'\'' < $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, )='true' +	enable_shared_with_static_runtimes=yes +	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' +	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' +	# Don't use ranlib +	old_postinstall_cmds='chmod 644 $oldlib' +	postlink_cmds='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 +	hardcode_libdir_flag_spec=' ' +	allow_undefined_flag=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. +	archive_cmds='$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. +	old_archive_from_new_cmds='true' +	# FIXME: Should let the user specify the lib program. +	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' +	enable_shared_with_static_runtimes=yes +	;; +      esac +      ;; + +    darwin* | rhapsody*) + + +  archive_cmds_need_lc=no +  hardcode_direct=no +  hardcode_automatic=yes +  hardcode_shlibpath_var=unsupported +  if test yes = "$lt_cv_ld_force_load"; then +    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + +  else +    whole_archive_flag_spec='' +  fi +  link_all_deplibs=yes +  allow_undefined_flag=$_lt_dar_allow_undefined +  case $cc_basename in +     ifort*|nagfor*) _lt_dar_can_shared=yes ;; +     *) _lt_dar_can_shared=$GCC ;; +  esac +  if test yes = "$_lt_dar_can_shared"; then +    output_verbose_link_cmd=func_echo_all +    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" +    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" +    archive_expsym_cmds="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" +    module_expsym_cmds="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" + +  else +  ld_shlibs=no +  fi + +      ;; + +    dgux*) +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_libdir_flag_spec='-L$libdir' +      hardcode_shlibpath_var=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*) +      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' +      hardcode_libdir_flag_spec='-R$libdir' +      hardcode_direct=yes +      hardcode_shlibpath_var=no +      ;; + +    # Unfortunately, older versions of FreeBSD 2 do not have this feature. +    freebsd2.*) +      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +      hardcode_direct=yes +      hardcode_minus_L=yes +      hardcode_shlibpath_var=no +      ;; + +    # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +    freebsd* | dragonfly*) +      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +      hardcode_libdir_flag_spec='-R$libdir' +      hardcode_direct=yes +      hardcode_shlibpath_var=no +      ;; + +    hpux9*) +      if test yes = "$GCC"; then +	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' +      else +	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' +      fi +      hardcode_libdir_flag_spec='$wl+b $wl$libdir' +      hardcode_libdir_separator=: +      hardcode_direct=yes + +      # hardcode_minus_L: Not really in the search PATH, +      # but as the default location of the library. +      hardcode_minus_L=yes +      export_dynamic_flag_spec='$wl-E' +      ;; + +    hpux10*) +      if test yes,no = "$GCC,$with_gnu_ld"; then +	archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +      else +	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +      fi +      if test no = "$with_gnu_ld"; then +	hardcode_libdir_flag_spec='$wl+b $wl$libdir' +	hardcode_libdir_separator=: +	hardcode_direct=yes +	hardcode_direct_absolute=yes +	export_dynamic_flag_spec='$wl-E' +	# hardcode_minus_L: Not really in the search PATH, +	# but as the default location of the library. +	hardcode_minus_L=yes +      fi +      ;; + +    hpux11*) +      if test yes,no = "$GCC,$with_gnu_ld"; then +	case $host_cpu in +	hppa*64*) +	  archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +	ia64*) +	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +	*) +	  archive_cmds='$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*) +	  archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +	ia64*) +	  archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +	*) + +	  # 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) +	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler__b=no +   save_LDFLAGS=$LDFLAGS +   LDFLAGS="$LDFLAGS -b" +   echo "$lt_simple_link_test_code" > conftest.$ac_ext +   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +     # The linker can only warn and ignore the option if not recognized +     # So say no if there are warnings +     if test -s conftest.err; then +       # Append any errors to the config.log. +       cat conftest.err 1>&5 +       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp +       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +       if diff conftest.exp conftest.er2 >/dev/null; then +         lt_cv_prog_compiler__b=yes +       fi +     else +       lt_cv_prog_compiler__b=yes +     fi +   fi +   $RM -r conftest* +   LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then +    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else +    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + +	  ;; +	esac +      fi +      if test no = "$with_gnu_ld"; then +	hardcode_libdir_flag_spec='$wl+b $wl$libdir' +	hardcode_libdir_separator=: + +	case $host_cpu in +	hppa*64*|ia64*) +	  hardcode_direct=no +	  hardcode_shlibpath_var=no +	  ;; +	*) +	  hardcode_direct=yes +	  hardcode_direct_absolute=yes +	  export_dynamic_flag_spec='$wl-E' + +	  # hardcode_minus_L: Not really in the search PATH, +	  # but as the default location of the library. +	  hardcode_minus_L=yes +	  ;; +	esac +      fi +      ;; + +    irix5* | irix6* | nonstopux*) +      if test yes = "$GCC"; then +	archive_cmds='$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. +	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  save_LDFLAGS=$LDFLAGS +	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" +	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  lt_cv_irix_exported_symbol=yes +else +  lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +           LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } +	if test yes = "$lt_cv_irix_exported_symbol"; then +          archive_expsym_cmds='$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 +	link_all_deplibs=no +      else +	archive_cmds='$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' +	archive_expsym_cmds='$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 +      archive_cmds_need_lc='no' +      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +      hardcode_libdir_separator=: +      inherit_rpath=yes +      link_all_deplibs=yes +      ;; + +    linux*) +      case $cc_basename in +      tcc*) +	# Fabrice Bellard et al's Tiny C Compiler +	ld_shlibs=yes +	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +	;; +      esac +      ;; + +    netbsd* | netbsdelf*-gnu) +      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out +      else +	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF +      fi +      hardcode_libdir_flag_spec='-R$libdir' +      hardcode_direct=yes +      hardcode_shlibpath_var=no +      ;; + +    newsos6) +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_direct=yes +      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +      hardcode_libdir_separator=: +      hardcode_shlibpath_var=no +      ;; + +    *nto* | *qnx*) +      ;; + +    openbsd* | bitrig*) +      if test -f /usr/libexec/ld.so; then +	hardcode_direct=yes +	hardcode_shlibpath_var=no +	hardcode_direct_absolute=yes +	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then +	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' +	  hardcode_libdir_flag_spec='$wl-rpath,$libdir' +	  export_dynamic_flag_spec='$wl-E' +	else +	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +	  hardcode_libdir_flag_spec='$wl-rpath,$libdir' +	fi +      else +	ld_shlibs=no +      fi +      ;; + +    os2*) +      hardcode_libdir_flag_spec='-L$libdir' +      hardcode_minus_L=yes +      allow_undefined_flag=unsupported +      shrext_cmds=.dll +      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	$ECHO EXPORTS >> $output_objdir/$libname.def~ +	prefix_cmds="$SED"~ +	if test EXPORTS = "`$SED 1q $export_symbols`"; then +	  prefix_cmds="$prefix_cmds -e 1d"; +	fi~ +	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	emximp -o $lib $output_objdir/$libname.def' +      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +      enable_shared_with_static_runtimes=yes +      ;; + +    osf3*) +      if test yes = "$GCC"; then +	allow_undefined_flag=' $wl-expect_unresolved $wl\*' +	archive_cmds='$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 +	allow_undefined_flag=' -expect_unresolved \*' +	archive_cmds='$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 +      archive_cmds_need_lc='no' +      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +      hardcode_libdir_separator=: +      ;; + +    osf4* | osf5*)	# as osf3* with the addition of -msym flag +      if test yes = "$GCC"; then +	allow_undefined_flag=' $wl-expect_unresolved $wl\*' +	archive_cmds='$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' +	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +      else +	allow_undefined_flag=' -expect_unresolved \*' +	archive_cmds='$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' +	archive_expsym_cmds='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 +	hardcode_libdir_flag_spec='-rpath $libdir' +      fi +      archive_cmds_need_lc='no' +      hardcode_libdir_separator=: +      ;; + +    solaris*) +      no_undefined_flag=' -z defs' +      if test yes = "$GCC"; then +	wlarc='$wl' +	archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' +	archive_expsym_cmds='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='' +	  archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' +	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' +	  ;; +	*) +	  wlarc='$wl' +	  archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' +	  archive_expsym_cmds='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 +      hardcode_libdir_flag_spec='-R$libdir' +      hardcode_shlibpath_var=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 yes = "$GCC"; then +	  whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' +	else +	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' +	fi +	;; +      esac +      link_all_deplibs=yes +      ;; + +    sunos4*) +      if test sequent = "$host_vendor"; then +	# Use $CC to link under sequent, because it throws in some extra .o +	# files that make .init and .fini sections work. +	archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' +      else +	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +      fi +      hardcode_libdir_flag_spec='-L$libdir' +      hardcode_direct=yes +      hardcode_minus_L=yes +      hardcode_shlibpath_var=no +      ;; + +    sysv4) +      case $host_vendor in +	sni) +	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +	  hardcode_direct=yes # is this really true??? +	;; +	siemens) +	  ## LD is ld it makes a PLAMLIB +	  ## CC just makes a GrossModule. +	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' +	  reload_cmds='$CC -r -o $output$reload_objs' +	  hardcode_direct=no +        ;; +	motorola) +	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie +	;; +      esac +      runpath_var='LD_RUN_PATH' +      hardcode_shlibpath_var=no +      ;; + +    sysv4.3*) +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_shlibpath_var=no +      export_dynamic_flag_spec='-Bexport' +      ;; + +    sysv4*MP*) +      if test -d /usr/nec; then +	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +	hardcode_shlibpath_var=no +	runpath_var=LD_RUN_PATH +	hardcode_runpath_var=yes +	ld_shlibs=yes +      fi +      ;; + +    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) +      no_undefined_flag='$wl-z,text' +      archive_cmds_need_lc=no +      hardcode_shlibpath_var=no +      runpath_var='LD_RUN_PATH' + +      if test yes = "$GCC"; then +	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +      else +	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +      fi +      ;; + +    sysv5* | sco3.2v5* | sco5v6*) +      # Note: We CANNOT use -z defs as we might desire, because we do not +      # link with -lc, and that would cause any symbols used from libc to +      # always be unresolved, which means just about no library would +      # ever link correctly.  If we're not using GNU ld we use -z text +      # though, which does catch some bad symbols but isn't as heavy-handed +      # as -z defs. +      no_undefined_flag='$wl-z,text' +      allow_undefined_flag='$wl-z,nodefs' +      archive_cmds_need_lc=no +      hardcode_shlibpath_var=no +      hardcode_libdir_flag_spec='$wl-R,$libdir' +      hardcode_libdir_separator=':' +      link_all_deplibs=yes +      export_dynamic_flag_spec='$wl-Bexport' +      runpath_var='LD_RUN_PATH' + +      if test yes = "$GCC"; then +	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +      else +	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +      fi +      ;; + +    uts4*) +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_libdir_flag_spec='-L$libdir' +      hardcode_shlibpath_var=no +      ;; + +    *) +      ld_shlibs=no +      ;; +    esac + +    if test sni = "$host_vendor"; then +      case $host in +      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +	export_dynamic_flag_spec='$wl-Blargedynsym' +	;; +      esac +    fi +  fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) +  # Assume -lc should be added +  archive_cmds_need_lc=yes + +  if test yes,yes = "$GCC,$enable_shared"; then +    case $archive_cmds 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. +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  $RM conftest* +	echo "$lt_simple_compile_test_code" > conftest.$ac_ext + +	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } 2>conftest.err; then +	  soname=conftest +	  lib=conftest +	  libobjs=conftest.$ac_objext +	  deplibs= +	  wl=$lt_prog_compiler_wl +	  pic_flag=$lt_prog_compiler_pic +	  compiler_flags=-v +	  linker_flags=-v +	  verstring= +	  output_objdir=. +	  libname=conftest +	  lt_save_allow_undefined_flag=$allow_undefined_flag +	  allow_undefined_flag= +	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 +  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +	  then +	    lt_cv_archive_cmds_need_lc=no +	  else +	    lt_cv_archive_cmds_need_lc=yes +	  fi +	  allow_undefined_flag=$lt_save_allow_undefined_flag +	else +	  cat conftest.err 1>&5 +	fi +	$RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } +      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc +      ;; +    esac +  fi +  ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; 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` +  # ...but if some path component already ends with the multilib dir we assume +  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). +  case "$lt_multi_os_dir; $lt_search_path_spec " in +  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) +    lt_multi_os_dir= +    ;; +  esac +  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" +    elif test -n "$lt_multi_os_dir"; then +      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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  need_lib_prefix=no +  need_version=no +  hardcode_into_libs=yes +  if test ia64 = "$host_cpu"; 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 +    # Using Import Files as archive members, it is possible to support +    # filename-based versioning of shared library archives on AIX. While +    # this would work for both with and without runtime linking, it will +    # prevent static linking of such archives. So we do filename-based +    # shared library versioning with .so extension only, which is used +    # when both runtime linking and shared linking is enabled. +    # Unfortunately, runtime linking may impact performance, so we do +    # not want this to be the default eventually. Also, we use the +    # versioned .so libs for executables only if there is the -brtl +    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. +    # To allow for filename-based versioning support, we need to create +    # libNAME.so.V as an archive file, containing: +    # *) an Import File, referring to the versioned filename of the +    #    archive as well as the shared archive member, telling the +    #    bitwidth (32 or 64) of that shared object, and providing the +    #    list of exported symbols of that shared object, eventually +    #    decorated with the 'weak' keyword +    # *) the shared object with the F_LOADONLY flag set, to really avoid +    #    it being seen by the linker. +    # At run time we better use the real file rather than another symlink, +    # but for link time we create the symlink libNAME.so -> libNAME.so.V + +    case $with_aix_soname,$aix_use_runtimelinking in +    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct +    # soname into executable. Probably we can add versioning support to +    # collect2, so additional links can be useful in future. +    aix,yes) # traditional libtool +      dynamic_linker='AIX unversionable lib.so' +      # 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' +      ;; +    aix,no) # traditional AIX only +      dynamic_linker='AIX lib.a(lib.so.V)' +      # 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' +      ;; +    svr4,*) # full svr4 only +      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,yes) # both, prefer svr4 +      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # unpreferred sharedlib libNAME.a needs extra handling +      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' +      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,no) # both, prefer aix +      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" +      library_names_spec='$libname$release.a $libname.a' +      soname_spec='$libname$release$shared_ext$major' +      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling +      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' +      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' +      ;; +    esac +    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%'\''`; $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 # correct to gnu/linux during the next big refactor +  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' + +      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`' + +  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 # correct to gnu/linux during the next big refactor +  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 +  ;; + +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[23].*) 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$major $libname$shared_ext' +      soname_spec='$libname$release$shared_ext$major' +      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 +  ;; + +haiku*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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=no +  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 32 = "$HPUX_IA64_MODE"; then +      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux32 +    else +      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux64 +    fi +    ;; +  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 # correct to gnu/linux during the next big refactor +  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 yes = "$lt_cv_prog_gnu_ld"; then +		version_type=linux # correct to gnu/linux during the next big refactor +	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 +  ;; + +linux*android*) +  version_type=none # Android doesn't support versioned libraries. +  need_lib_prefix=no +  need_version=no +  library_names_spec='$libname$release$shared_ext' +  soname_spec='$libname$release$shared_ext' +  finish_cmds= +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes + +  # 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 + +  dynamic_linker='Android linker' +  # Don't embed -rpath directories since the linker doesn't support them. +  hardcode_libdir_flag_spec='-L$libdir' +  ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 +  if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_shlibpath_overrides_runpath=no +    save_LDFLAGS=$LDFLAGS +    save_libdir=$libdir +    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ +	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +  lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +    LDFLAGS=$save_LDFLAGS +    libdir=$save_libdir + +fi + +  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 + +  # Ideally, we could use ldconfig to report *all* directores which are +  # searched for libraries, however this is still not possible.  Aside from not +  # being certain /sbin/ldconfig is available, command +  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, +  # even though it is searched at run-time.  Try to do the best guess by +  # appending ld.so.conf contents (and includes) 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="/lib /usr/lib $lt_ld_extra" +  fi + +  # We used to test for /lib/ld.so.1 and disable shared libraries on +  # powerpc, because MkLinux only supported shared libraries with the +  # GNU dynamic linker.  Since this was broken with cross compilers, +  # most powerpc-linux boxes support dynamic linking these days and +  # people can always --disable-shared, the test was removed, and we +  # assume the GNU/Linux dynamic linker is in use. +  dynamic_linker='GNU/Linux ld.so' +  ;; + +netbsdelf*-gnu) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +  soname_spec='${libname}${release}${shared_ext}$major' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=no +  hardcode_into_libs=yes +  dynamic_linker='NetBSD ld.elf_so' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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* | bitrig*) +  version_type=sunos +  sys_lib_dlsearch_path_spec=/usr/lib +  need_lib_prefix=no +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then +    need_version=no +  else +    need_version=yes +  fi +  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 +  shlibpath_overrides_runpath=yes +  ;; + +os2*) +  libname_spec='$name' +  version_type=windows +  shrext_cmds=.dll +  need_version=no +  need_lib_prefix=no +  # OS/2 can only load a DLL with a base name of 8 characters or less. +  soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; +    v=$($ECHO $release$versuffix | tr -d .-); +    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); +    $ECHO $n$v`$shared_ext' +  library_names_spec='${libname}_dll.$libext' +  dynamic_linker='OS/2 ld.exe' +  shlibpath_var=BEGINLIBPATH +  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +  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' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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 yes = "$with_gnu_ld"; then +    need_lib_prefix=no +  fi +  need_version=yes +  ;; + +sysv4 | sysv4.3*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +    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=sco +  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then +  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then +  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || +   test -n "$runpath_var" || +   test yes = "$hardcode_automatic"; then + +  # We can hardcode non-existent directories. +  if test no != "$hardcode_direct" && +     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && +     test no != "$hardcode_minus_L"; then +    # Linking always hardcodes the temporary library directory. +    hardcode_action=relink +  else +    # We can link without hardcoding, and we can hardcode nonexisting dirs. +    hardcode_action=immediate +  fi +else +  # We cannot hardcode anything, or else we can only hardcode existing +  # directories. +  hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || +   test yes = "$inherit_rpath"; then +  # Fast installation is not supported +  enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || +     test no = "$enable_shared"; then +  # Fast installation is not necessary +  enable_fast_install=needless +fi + + + + + + +  if test yes != "$enable_dlopen"; 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 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_dl_dlopen=yes +else +  ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + +    lt_cv_dlopen=dyld +    lt_cv_dlopen_libs= +    lt_cv_dlopen_self=yes + +fi + +    ;; + +  tpf*) +    # Don't try to run any link tests for TPF.  We know it's impossible +    # because TPF is a cross-compiler, and we know how we open DSOs. +    lt_cv_dlopen=dlopen +    lt_cv_dlopen_libs= +    lt_cv_dlopen_self=no +    ;; + +  *) +    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : +  lt_cv_dlopen=shl_load +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_dld_shl_load=yes +else +  ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : +  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else +  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : +  lt_cv_dlopen=dlopen +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_dl_dlopen=yes +else +  ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_svld_dlopen=yes +else +  ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : +  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +/* Override any GCC internal prototype to avoid an error. +   Use char because int might match the return type of a GCC +   builtin and then its argument prototype would still apply.  */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_dld_dld_link=yes +else +  ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : +  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + +    ;; +  esac + +  if test no = "$lt_cv_dlopen"; then +    enable_dlopen=no +  else +    enable_dlopen=yes +  fi + +  case $lt_cv_dlopen in +  dlopen) +    save_CPPFLAGS=$CPPFLAGS +    test yes = "$ac_cv_header_dlfcn_h" && 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" + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  	  if test yes = "$cross_compiling"; then : +  lt_cv_dlopen_self=cross +else +  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +  lt_status=$lt_dlunknown +  cat > conftest.$ac_ext <<_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 -fvisibility=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 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 +  (eval $ac_link) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then +    (./conftest; exit; ) >&5 2>/dev/null +    lt_status=$? +    case x$lt_status in +      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; +      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; +      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; +    esac +  else : +    # compilation failed +    lt_cv_dlopen_self=no +  fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + +    if test yes = "$lt_cv_dlopen_self"; then +      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  	  if test yes = "$cross_compiling"; then : +  lt_cv_dlopen_self_static=cross +else +  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +  lt_status=$lt_dlunknown +  cat > conftest.$ac_ext <<_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 -fvisibility=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 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 +  (eval $ac_link) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then +    (./conftest; exit; ) >&5 2>/dev/null +    lt_status=$? +    case x$lt_status in +      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; +      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; +      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; +    esac +  else : +    # compilation failed +    lt_cv_dlopen_self_static=no +  fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } +    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 + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then +  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" +  test -z "$striplib" && striplib="$STRIP --strip-unneeded" +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough +  case $host_os in +  darwin*) +    if test -n "$STRIP"; then +      striplib="$STRIP -x" +      old_striplib="$STRIP -S" +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +    else +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +    fi +    ;; +  *) +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +    ;; +  esac +fi + + + + + + + + + + + + +  # Report what library types will actually be built +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } +  test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no +    if test -n "$RANLIB"; then +      archive_cmds="$archive_cmds~\$RANLIB \$lib" +      postinstall_cmds='$RANLIB $lib' +    fi +    ;; + +  aix[4-9]*) +    if test ia64 != "$host_cpu"; then +      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in +      yes,aix,yes) ;;			# shared object as lib.so file only +      yes,svr4,*) ;;			# shared object as lib.so archive member only +      yes,*) enable_static=no ;;	# shared object in lib.a archive as well +      esac +    fi +    ;; +  esac +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } +  # Make sure either enable_shared or enable_static is yes. +  test yes = "$enable_shared" || enable_static=yes +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + +      if test -n "$CXX" && ( test no != "$CXX" && +    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || +    (test g++ != "$CXX"))); then +  ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then +  if ${ac_cv_prog_CXXCPP+:} false; then : +  $as_echo_n "(cached) " >&6 +else +      # Double quotes because CXXCPP needs to be expanded +    for CXXCPP in "$CXX -E" "/lib/cpp" +    do +      ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do +  # Use a header file that comes with gcc, so configuring glibc +  # with a fresh cross-compiler works. +  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +  # <limits.h> exists even on freestanding compilers. +  # On the NeXT, cc -E runs the code through the compiler's parser, +  # not just through cpp. "Syntax error" is here to catch this case. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif +		     Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else +  # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +  # OK, works on sane cases.  Now check whether nonexistent headers +  # can be detected and how. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : +  # Broken: success on invalid input. +continue +else +  # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : +  break +fi + +    done +    ac_cv_prog_CXXCPP=$CXXCPP + +fi +  CXXCPP=$ac_cv_prog_CXXCPP +else +  ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do +  # Use a header file that comes with gcc, so configuring glibc +  # with a fresh cross-compiler works. +  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +  # <limits.h> exists even on freestanding compilers. +  # On the NeXT, cc -E runs the code through the compiler's parser, +  # not just through cpp. "Syntax error" is here to catch this case. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif +		     Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else +  # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +  # OK, works on sane cases.  Now check whether nonexistent headers +  # can be detected and how. +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : +  # Broken: success on invalid input. +continue +else +  # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else +  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else +  _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$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 yes != "$_lt_caught_CXX_error"; 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. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +  # save warnings/boilerplate of simple test code +  ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +  ac_outfile=conftest.$ac_objext +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* + + +  # 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 +  compiler_CXX=$CC +  func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +  if test -n "$compiler"; then +    # We don't want -fno-exception when compiling C++ code, so set the +    # no_builtin_flag separately +    if test yes = "$GXX"; then +      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +    else +      lt_prog_compiler_no_builtin_flag_CXX= +    fi + +    if test yes = "$GXX"; then +      # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : +  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else +  with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then +  # Check if gcc -print-prog-name=ld gives a path. +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } +  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 yes = "$with_gnu_ld"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  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 no != "$with_gnu_ld" && break +	;; +      *) +	test yes != "$with_gnu_ld" && break +	;; +      esac +    fi +  done +  IFS=$lt_save_ifs +else +  lt_cv_path_LD=$LD # Let the user override the test with a path. +fi +fi + +LD=$lt_cv_path_LD +if test -n "$LD"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  # 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 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_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 yes = "$with_gnu_ld"; then +        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +        archive_expsym_cmds_CXX='$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' + +        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +        export_dynamic_flag_spec_CXX='$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 +          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' +        else +          whole_archive_flag_spec_CXX= +        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. +        archive_cmds_CXX='$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 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +    ld_shlibs_CXX=yes +    case $host_os in +      aix3*) +        # FIXME: insert proper C++ library support +        ld_shlibs_CXX=no +        ;; +      aix[4-9]*) +        if test ia64 = "$host_cpu"; 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 +          # have runtime linking enabled, and use it for executables. +          # For shared libraries, we enable/disable runtime linking +          # depending on the kind of the shared library created - +          # when "with_aix_soname,aix_use_runtimelinking" is: +          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables +          # "aix,yes"  lib.so          shared, rtl:yes, for executables +          #            lib.a           static archive +          # "both,no"  lib.so.V(shr.o) shared, rtl:yes +          #            lib.a(lib.so.V) shared, rtl:no,  for executables +          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables +          #            lib.a(lib.so.V) shared, rtl:no +          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables +          #            lib.a           static archive +          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 +	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then +	      # With aix-soname=svr4, we create the lib.so.V shared archives only, +	      # so we don't have lib.a shared libs to link our executables. +	      # We have to force runtime linking in this case. +	      aix_use_runtimelinking=yes +	      LDFLAGS="$LDFLAGS -Wl,-brtl" +	    fi +	    ;; +          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. + +        archive_cmds_CXX='' +        hardcode_direct_CXX=yes +        hardcode_direct_absolute_CXX=yes +        hardcode_libdir_separator_CXX=':' +        link_all_deplibs_CXX=yes +        file_list_spec_CXX='$wl-f,' +        case $with_aix_soname,$aix_use_runtimelinking in +        aix,*) ;;	# no import file +        svr4,* | *,yes) # use import file +          # The Import File defines what to hardcode. +          hardcode_direct_CXX=no +          hardcode_direct_absolute_CXX=no +          ;; +        esac + +        if test yes = "$GXX"; 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 +	    hardcode_direct_CXX=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 +	    hardcode_minus_L_CXX=yes +	    hardcode_libdir_flag_spec_CXX='-L$libdir' +	    hardcode_libdir_separator_CXX= +	  fi +          esac +          shared_flag='-shared' +	  if test yes = "$aix_use_runtimelinking"; then +	    shared_flag=$shared_flag' $wl-G' +	  fi +	  # Need to ensure runtime linking is disabled for the traditional +	  # shared library, or the linker may eventually find shared libraries +	  # /with/ Import File - we do not want to mix them. +	  shared_flag_aix='-shared' +	  shared_flag_svr4='-shared $wl-G' +        else +          # not using gcc +          if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then +	      shared_flag='$wl-G' +	    else +	      shared_flag='$wl-bM:SRE' +	    fi +	    shared_flag_aix='$wl-bM:SRE' +	    shared_flag_svr4='$wl-G' +          fi +        fi + +        export_dynamic_flag_spec_CXX='$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. +        always_export_symbols_CXX=yes +	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then +          # Warning - without using the other runtime loading flags (-brtl), +          # -berok will link without error, but may produce a broken library. +          # The "-G" linker flag allows undefined symbols. +          no_undefined_flag_CXX='-bernotok' +          # Determine the default libpath from the value encoded in an empty +          # executable. +          if test set = "${lt_cv_aix_libpath+set}"; then +  aix_libpath=$lt_cv_aix_libpath +else +  if ${lt_cv_aix_libpath__CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + +  lt_aix_libpath_sed=' +      /Import File Strings/,/^$/ { +	  /^0/ { +	      s/^0  *\([^ ]*\) *$/\1/ +	      p +	  } +      }' +  lt_cv_aix_libpath__CXX=`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_cv_aix_libpath__CXX"; then +    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +  if test -z "$lt_cv_aix_libpath__CXX"; then +    lt_cv_aix_libpath__CXX=/usr/lib:/lib +  fi + +fi + +  aix_libpath=$lt_cv_aix_libpath__CXX +fi + +          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + +          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag +        else +          if test ia64 = "$host_cpu"; then +	    hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' +	    allow_undefined_flag_CXX="-z nodefs" +	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$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. +	    if test set = "${lt_cv_aix_libpath+set}"; then +  aix_libpath=$lt_cv_aix_libpath +else +  if ${lt_cv_aix_libpath__CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + +  lt_aix_libpath_sed=' +      /Import File Strings/,/^$/ { +	  /^0/ { +	      s/^0  *\([^ ]*\) *$/\1/ +	      p +	  } +      }' +  lt_cv_aix_libpath__CXX=`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_cv_aix_libpath__CXX"; then +    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +  fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +  if test -z "$lt_cv_aix_libpath__CXX"; then +    lt_cv_aix_libpath__CXX=/usr/lib:/lib +  fi + +fi + +  aix_libpath=$lt_cv_aix_libpath__CXX +fi + +	    hardcode_libdir_flag_spec_CXX='$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. +	    no_undefined_flag_CXX=' $wl-bernotok' +	    allow_undefined_flag_CXX=' $wl-berok' +	    if test yes = "$with_gnu_ld"; then +	      # We only use this code for GNU lds that support --whole-archive. +	      whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' +	    else +	      # Exported symbols can be pulled into shared objects from archives +	      whole_archive_flag_spec_CXX='$convenience' +	    fi +	    archive_cmds_need_lc_CXX=yes +	    archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' +	    # -brtl affects multiple linker settings, -berok does not and is overridden later +	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' +	    if test svr4 != "$with_aix_soname"; then +	      # This is similar to how AIX traditionally builds its shared +	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. +	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' +	    fi +	    if test aix != "$with_aix_soname"; then +	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' +	    else +	      # used by -dlpreopen to get the symbols +	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir' +	    fi +	    archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' +          fi +        fi +        ;; + +      beos*) +	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +	  allow_undefined_flag_CXX=unsupported +	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +	  # support --undefined.  This deserves some investigation.  FIXME +	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	else +	  ld_shlibs_CXX=no +	fi +	;; + +      chorus*) +        case $cc_basename in +          *) +	  # FIXME: insert proper C++ library support +	  ld_shlibs_CXX=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. +	  hardcode_libdir_flag_spec_CXX=' ' +	  allow_undefined_flag_CXX=unsupported +	  always_export_symbols_CXX=yes +	  file_list_spec_CXX='@' +	  # 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. +	  archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' +	  archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then +              cp "$export_symbols" "$output_objdir/$soname.def"; +              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; +            else +              $SED -e '\''s/^/-link -EXPORT:/'\'' < $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, CXX)='true' +	  enable_shared_with_static_runtimes_CXX=yes +	  # Don't use ranlib +	  old_postinstall_cmds_CXX='chmod 644 $oldlib' +	  postlink_cmds_CXX='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, CXX) is actually meaningless, +	  # as there is no search path for DLLs. +	  hardcode_libdir_flag_spec_CXX='-L$libdir' +	  export_dynamic_flag_spec_CXX='$wl--export-all-symbols' +	  allow_undefined_flag_CXX=unsupported +	  always_export_symbols_CXX=no +	  enable_shared_with_static_runtimes_CXX=yes + +	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then +	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +	    # If the export-symbols file already is a .def file, use it as +	    # is; otherwise, prepend EXPORTS... +	    archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; 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 +	    ld_shlibs_CXX=no +	  fi +	  ;; +	esac +	;; +      darwin* | rhapsody*) + + +  archive_cmds_need_lc_CXX=no +  hardcode_direct_CXX=no +  hardcode_automatic_CXX=yes +  hardcode_shlibpath_var_CXX=unsupported +  if test yes = "$lt_cv_ld_force_load"; then +    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + +  else +    whole_archive_flag_spec_CXX='' +  fi +  link_all_deplibs_CXX=yes +  allow_undefined_flag_CXX=$_lt_dar_allow_undefined +  case $cc_basename in +     ifort*|nagfor*) _lt_dar_can_shared=yes ;; +     *) _lt_dar_can_shared=$GCC ;; +  esac +  if test yes = "$_lt_dar_can_shared"; then +    output_verbose_link_cmd=func_echo_all +    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" +    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" +    archive_expsym_cmds_CXX="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" +    module_expsym_cmds_CXX="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" +       if test yes != "$lt_cv_apple_cc_single_mod"; then +      archive_cmds_CXX="\$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" +      archive_expsym_cmds_CXX="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 +  ld_shlibs_CXX=no +  fi + +	;; + +      os2*) +	hardcode_libdir_flag_spec_CXX='-L$libdir' +	hardcode_minus_L_CXX=yes +	allow_undefined_flag_CXX=unsupported +	shrext_cmds=.dll +	archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	  $ECHO EXPORTS >> $output_objdir/$libname.def~ +	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ +	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	  emximp -o $lib $output_objdir/$libname.def' +	archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ +	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ +	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ +	  $ECHO EXPORTS >> $output_objdir/$libname.def~ +	  prefix_cmds="$SED"~ +	  if test EXPORTS = "`$SED 1q $export_symbols`"; then +	    prefix_cmds="$prefix_cmds -e 1d"; +	  fi~ +	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ +	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ +	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ +	  emximp -o $lib $output_objdir/$libname.def' +	old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' +	enable_shared_with_static_runtimes_CXX=yes +	;; + +      dgux*) +        case $cc_basename in +          ec++*) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          ghcx*) +	    # Green Hills C++ Compiler +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          *) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +        esac +        ;; + +      freebsd2.*) +        # C++ shared libraries reported to be fairly broken before +	# switch to ELF +        ld_shlibs_CXX=no +        ;; + +      freebsd-elf*) +        archive_cmds_need_lc_CXX=no +        ;; + +      freebsd* | dragonfly*) +        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF +        # conventions +        ld_shlibs_CXX=yes +        ;; + +      haiku*) +        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +        link_all_deplibs_CXX=yes +        ;; + +      hpux9*) +        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' +        hardcode_libdir_separator_CXX=: +        export_dynamic_flag_spec_CXX='$wl-E' +        hardcode_direct_CXX=yes +        hardcode_minus_L_CXX=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 +            ld_shlibs_CXX=no +            ;; +          aCC*) +            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$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 yes = "$GXX"; then +              archive_cmds_CXX='$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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' +            else +              # FIXME: insert proper C++ library support +              ld_shlibs_CXX=no +            fi +            ;; +        esac +        ;; + +      hpux10*|hpux11*) +        if test no = "$with_gnu_ld"; then +	  hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' +	  hardcode_libdir_separator_CXX=: + +          case $host_cpu in +            hppa*64*|ia64*) +              ;; +            *) +	      export_dynamic_flag_spec_CXX='$wl-E' +              ;; +          esac +        fi +        case $host_cpu in +          hppa*64*|ia64*) +            hardcode_direct_CXX=no +            hardcode_shlibpath_var_CXX=no +            ;; +          *) +            hardcode_direct_CXX=yes +            hardcode_direct_absolute_CXX=yes +            hardcode_minus_L_CXX=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 +	    ld_shlibs_CXX=no +	    ;; +          aCC*) +	    case $host_cpu in +	      hppa*64*) +	        archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	        ;; +	      ia64*) +	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	        ;; +	      *) +	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	        ;; +	    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 yes = "$GXX"; then +	      if test no = "$with_gnu_ld"; then +	        case $host_cpu in +	          hppa*64*) +	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	            ;; +	          ia64*) +	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	            ;; +	          *) +	            archive_cmds_CXX='$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 +	      ld_shlibs_CXX=no +	    fi +	    ;; +        esac +        ;; + +      interix[3-9]*) +	hardcode_direct_CXX=no +	hardcode_shlibpath_var_CXX=no +	hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' +	export_dynamic_flag_spec_CXX='$wl-E' +	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +	# Instead, shared libraries are loaded at an image base (0x10000000 by +	# default) and relocated if they conflict, which is a slow very memory +	# consuming and fragmenting process.  To avoid this, we pick a random, +	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +	# time.  Moving up from 0x10000000 also allows more sbrk(2) space. +	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +	archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +	;; +      irix5* | irix6*) +        case $cc_basename in +          CC*) +	    # SGI C++ +	    archive_cmds_CXX='$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. +	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' +	    ;; +          *) +	    if test yes = "$GXX"; then +	      if test no = "$with_gnu_ld"; then +	        archive_cmds_CXX='$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 +	        archive_cmds_CXX='$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 +	    link_all_deplibs_CXX=yes +	    ;; +        esac +        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +        hardcode_libdir_separator_CXX=: +        inherit_rpath_CXX=yes +        ;; + +      linux* | k*bsd*-gnu | kopensolaris*-gnu | 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. +	    archive_cmds_CXX='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' +	    archive_expsym_cmds_CXX='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"' + +	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' +	    export_dynamic_flag_spec_CXX='$wl--export-dynamic' + +	    # Archives containing C++ object files must be created using +	    # "CC -Bstatic", where "CC" is the KAI C++ compiler. +	    old_archive_cmds_CXX='$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."*) +	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +		archive_expsym_cmds_CXX='$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 +	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' +		;; +	    esac +	    archive_cmds_need_lc_CXX=no +	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' +	    export_dynamic_flag_spec_CXX='$wl--export-dynamic' +	    whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' +	    ;; +          pgCC* | pgcpp*) +            # Portland Group C++ compiler +	    case `$CC -V` in +	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*) +	      prelink_cmds_CXX='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`"' +	      old_archive_cmds_CXX='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' +	      archive_cmds_CXX='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' +	      archive_expsym_cmds_CXX='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 +	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +	      archive_expsym_cmds_CXX='$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 + +	    hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' +	    export_dynamic_flag_spec_CXX='$wl--export-dynamic' +	    whole_archive_flag_spec_CXX='$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++ +	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +	    archive_expsym_cmds_CXX='$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 +	    hardcode_libdir_flag_spec_CXX='-rpath $libdir' +	    hardcode_libdir_separator_CXX=: + +	    # 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 +	    hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +	    export_dynamic_flag_spec_CXX='$wl--export-dynamic' +	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +	    if test yes = "$supports_anon_versioning"; then +	      archive_expsym_cmds_CXX='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 +	      no_undefined_flag_CXX=' -zdefs' +	      archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	      archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' +	      hardcode_libdir_flag_spec_CXX='-R$libdir' +	      whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' +	      compiler_needs_object_CXX=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. +	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' +	      ;; +	    esac +	    ;; +	esac +	;; + +      lynxos*) +        # FIXME: insert proper C++ library support +	ld_shlibs_CXX=no +	;; + +      m88k*) +        # FIXME: insert proper C++ library support +        ld_shlibs_CXX=no +	;; + +      mvs*) +        case $cc_basename in +          cxx*) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +	  *) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +	esac +	;; + +      netbsd*) +        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' +	  wlarc= +	  hardcode_libdir_flag_spec_CXX='-R$libdir' +	  hardcode_direct_CXX=yes +	  hardcode_shlibpath_var_CXX=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*) +        ld_shlibs_CXX=yes +	;; + +      openbsd* | bitrig*) +	if test -f /usr/libexec/ld.so; then +	  hardcode_direct_CXX=yes +	  hardcode_shlibpath_var_CXX=no +	  hardcode_direct_absolute_CXX=yes +	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' +	  hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' +	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then +	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' +	    export_dynamic_flag_spec_CXX='$wl-E' +	    whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' +	  fi +	  output_verbose_link_cmd=func_echo_all +	else +	  ld_shlibs_CXX=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. +	    archive_cmds_CXX='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' + +	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' +	    hardcode_libdir_separator_CXX=: + +	    # Archives containing C++ object files must be created using +	    # the KAI C++ compiler. +	    case $host in +	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; +	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; +	    esac +	    ;; +          RCC*) +	    # Rational C++ 2.4.1 +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          cxx*) +	    case $host in +	      osf3*) +	        allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' +	        archive_cmds_CXX='$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' +	        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +		;; +	      *) +	        allow_undefined_flag_CXX=' -expect_unresolved \*' +	        archive_cmds_CXX='$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' +	        archive_expsym_cmds_CXX='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' +	        hardcode_libdir_flag_spec_CXX='-rpath $libdir' +		;; +	    esac + +	    hardcode_libdir_separator_CXX=: + +	    # 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 yes,no = "$GXX,$with_gnu_ld"; then +	      allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' +	      case $host in +	        osf3*) +	          archive_cmds_CXX='$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' +		  ;; +	        *) +	          archive_cmds_CXX='$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 + +	      hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +	      hardcode_libdir_separator_CXX=: + +	      # 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 +	      ld_shlibs_CXX=no +	    fi +	    ;; +        esac +        ;; + +      psos*) +        # FIXME: insert proper C++ library support +        ld_shlibs_CXX=no +        ;; + +      sunos4*) +        case $cc_basename in +          CC*) +	    # Sun C++ 4.x +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          lcc*) +	    # Lucid +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          *) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +        esac +        ;; + +      solaris*) +        case $cc_basename in +          CC* | sunCC*) +	    # Sun C++ 4.2, 5.x and Centerline C++ +            archive_cmds_need_lc_CXX=yes +	    no_undefined_flag_CXX=' -zdefs' +	    archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +	    archive_expsym_cmds_CXX='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' + +	    hardcode_libdir_flag_spec_CXX='-R$libdir' +	    hardcode_shlibpath_var_CXX=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?) +		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' +	        ;; +	    esac +	    link_all_deplibs_CXX=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. +	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' +	    ;; +          gcx*) +	    # Green Hills C++ Compiler +	    archive_cmds_CXX='$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. +	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' +	    ;; +          *) +	    # GNU C++ compiler with Solaris linker +	    if test yes,no = "$GXX,$with_gnu_ld"; then +	      no_undefined_flag_CXX=' $wl-z ${wl}defs' +	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then +	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' +	        archive_expsym_cmds_CXX='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 $wl-h $wl$soname -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. +	        archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' +	        archive_expsym_cmds_CXX='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 $wl-h $wl$soname -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 + +	      hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' +	      case $host_os in +		solaris2.[0-5] | solaris2.[0-5].*) ;; +		*) +		  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' +		  ;; +	      esac +	    fi +	    ;; +        esac +        ;; + +    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) +      no_undefined_flag_CXX='$wl-z,text' +      archive_cmds_need_lc_CXX=no +      hardcode_shlibpath_var_CXX=no +      runpath_var='LD_RUN_PATH' + +      case $cc_basename in +        CC*) +	  archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	  archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +	*) +	  archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	  archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	  ;; +      esac +      ;; + +      sysv5* | sco3.2v5* | sco5v6*) +	# Note: We CANNOT use -z defs as we might desire, because we do not +	# link with -lc, and that would cause any symbols used from libc to +	# always be unresolved, which means just about no library would +	# ever link correctly.  If we're not using GNU ld we use -z text +	# though, which does catch some bad symbols but isn't as heavy-handed +	# as -z defs. +	no_undefined_flag_CXX='$wl-z,text' +	allow_undefined_flag_CXX='$wl-z,nodefs' +	archive_cmds_need_lc_CXX=no +	hardcode_shlibpath_var_CXX=no +	hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' +	hardcode_libdir_separator_CXX=':' +	link_all_deplibs_CXX=yes +	export_dynamic_flag_spec_CXX='$wl-Bexport' +	runpath_var='LD_RUN_PATH' + +	case $cc_basename in +          CC*) +	    archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	    archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ +              '"$old_archive_cmds_CXX" +	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ +              '"$reload_cmds_CXX" +	    ;; +	  *) +	    archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	    archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +	    ;; +	esac +      ;; + +      tandem*) +        case $cc_basename in +          NCC*) +	    # NonStop-UX NCC 3.20 +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +          *) +	    # FIXME: insert proper C++ library support +	    ld_shlibs_CXX=no +	    ;; +        esac +        ;; + +      vxworks*) +        # FIXME: insert proper C++ library support +        ld_shlibs_CXX=no +        ;; + +      *) +        # FIXME: insert proper C++ library support +        ld_shlibs_CXX=no +        ;; +    esac + +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +    test no = "$ld_shlibs_CXX" && can_build_shared=no + +    GCC_CXX=$GXX +    LD_CXX=$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... +    # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: +  Foo (void) { a = 0; } +private: +  int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; }; 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 x-L = "$p" || +          test x-R = "$p"; 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 no = "$pre_test_object_deps_done"; 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 "$compiler_lib_search_path_CXX"; then +	     compiler_lib_search_path_CXX=$prev$p +	   else +	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $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 "$postdeps_CXX"; then +	   postdeps_CXX=$prev$p +	 else +	   postdeps_CXX="${postdeps_CXX} $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 no = "$pre_test_object_deps_done"; then +	 if test -z "$predep_objects_CXX"; then +	   predep_objects_CXX=$p +	 else +	   predep_objects_CXX="$predep_objects_CXX $p" +	 fi +       else +	 if test -z "$postdep_objects_CXX"; then +	   postdep_objects_CXX=$p +	 else +	   postdep_objects_CXX="$postdep_objects_CXX $p" +	 fi +       fi +       ;; + +    *) ;; # Ignore the rest. + +    esac +  done + +  # Clean up. +  rm -f a.out a.exe +else +  echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) +  # Interix 3.5 installs completely hosed .la files for C++, so rather than +  # hack all around it, let's just trust "g++" to DTRT. +  predep_objects_CXX= +  postdep_objects_CXX= +  postdeps_CXX= +  ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +    lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + +  # C++ specific cases for pic, static, wl, etc. +  if test yes = "$GXX"; then +    lt_prog_compiler_wl_CXX='-Wl,' +    lt_prog_compiler_static_CXX='-static' + +    case $host_os in +    aix*) +      # All AIX code is PIC. +      if test ia64 = "$host_cpu"; then +	# AIX 5 now supports IA64 processor +	lt_prog_compiler_static_CXX='-Bstatic' +      fi +      lt_prog_compiler_pic_CXX='-fPIC' +      ;; + +    amigaos*) +      case $host_cpu in +      powerpc) +            # see comment about AmigaOS4 .so support +            lt_prog_compiler_pic_CXX='-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_prog_compiler_pic_CXX='-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 +      lt_prog_compiler_pic_CXX='-DDLL_EXPORT' +      case $host_os in +      os2*) +	lt_prog_compiler_static_CXX='$wl-static' +	;; +      esac +      ;; +    darwin* | rhapsody*) +      # PIC is the default on this platform +      # Common symbols not allowed in MH_DYLIB files +      lt_prog_compiler_pic_CXX='-fno-common' +      ;; +    *djgpp*) +      # DJGPP does not support shared libraries at all +      lt_prog_compiler_pic_CXX= +      ;; +    haiku*) +      # PIC is the default for Haiku. +      # The "-static" flag exists, but is broken. +      lt_prog_compiler_static_CXX= +      ;; +    interix[3-9]*) +      # Interix 3.x gcc -fpic/-fPIC options generate broken code. +      # Instead, we relocate shared libraries at runtime. +      ;; +    sysv4*MP*) +      if test -d /usr/nec; then +	lt_prog_compiler_pic_CXX=-Kconform_pic +      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_prog_compiler_pic_CXX='-fPIC' +	;; +      esac +      ;; +    *qnx* | *nto*) +      # QNX uses GNU C++, but need to define -shared option too, otherwise +      # it will coredump. +      lt_prog_compiler_pic_CXX='-fPIC -shared' +      ;; +    *) +      lt_prog_compiler_pic_CXX='-fPIC' +      ;; +    esac +  else +    case $host_os in +      aix[4-9]*) +	# All AIX code is PIC. +	if test ia64 = "$host_cpu"; then +	  # AIX 5 now supports IA64 processor +	  lt_prog_compiler_static_CXX='-Bstatic' +	else +	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' +	fi +	;; +      chorus*) +	case $cc_basename in +	cxch68*) +	  # Green Hills C++ Compiler +	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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). +	lt_prog_compiler_pic_CXX='-DDLL_EXPORT' +	;; +      dgux*) +	case $cc_basename in +	  ec++*) +	    lt_prog_compiler_pic_CXX='-KPIC' +	    ;; +	  ghcx*) +	    # Green Hills C++ Compiler +	    lt_prog_compiler_pic_CXX='-pic' +	    ;; +	  *) +	    ;; +	esac +	;; +      freebsd* | dragonfly*) +	# FreeBSD uses GNU C++ +	;; +      hpux9* | hpux10* | hpux11*) +	case $cc_basename in +	  CC*) +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive' +	    if test ia64 != "$host_cpu"; then +	      lt_prog_compiler_pic_CXX='+Z' +	    fi +	    ;; +	  aCC*) +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive' +	    case $host_cpu in +	    hppa*64*|ia64*) +	      # +Z the default +	      ;; +	    *) +	      lt_prog_compiler_pic_CXX='+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_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_static_CXX='-non_shared' +	    # CC pic flag -KPIC is the default. +	    ;; +	  *) +	    ;; +	esac +	;; +      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +	case $cc_basename in +	  KCC*) +	    # KAI C++ Compiler +	    lt_prog_compiler_wl_CXX='--backend -Wl,' +	    lt_prog_compiler_pic_CXX='-fPIC' +	    ;; +	  ecpc* ) +	    # old Intel C++ for x86_64, which still supported -KPIC. +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_pic_CXX='-KPIC' +	    lt_prog_compiler_static_CXX='-static' +	    ;; +	  icpc* ) +	    # Intel C++, used to be incompatible with GCC. +	    # ICC 10 doesn't accept -KPIC any more. +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_pic_CXX='-fPIC' +	    lt_prog_compiler_static_CXX='-static' +	    ;; +	  pgCC* | pgcpp*) +	    # Portland Group C++ compiler +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_pic_CXX='-fpic' +	    lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX= +	    lt_prog_compiler_static_CXX='-non_shared' +	    ;; +	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) +	    # IBM XL 8.0, 9.0 on PPC and BlueGene +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_pic_CXX='-qpic' +	    lt_prog_compiler_static_CXX='-qstaticlink' +	    ;; +	  *) +	    case `$CC -V 2>&1 | sed 5q` in +	    *Sun\ C*) +	      # Sun C++ 5.9 +	      lt_prog_compiler_pic_CXX='-KPIC' +	      lt_prog_compiler_static_CXX='-Bstatic' +	      lt_prog_compiler_wl_CXX='-Qoption ld ' +	      ;; +	    esac +	    ;; +	esac +	;; +      lynxos*) +	;; +      m88k*) +	;; +      mvs*) +	case $cc_basename in +	  cxx*) +	    lt_prog_compiler_pic_CXX='-W c,exportall' +	    ;; +	  *) +	    ;; +	esac +	;; +      netbsd* | netbsdelf*-gnu) +	;; +      *qnx* | *nto*) +        # QNX uses GNU C++, but need to define -shared option too, otherwise +        # it will coredump. +        lt_prog_compiler_pic_CXX='-fPIC -shared' +        ;; +      osf3* | osf4* | osf5*) +	case $cc_basename in +	  KCC*) +	    lt_prog_compiler_wl_CXX='--backend -Wl,' +	    ;; +	  RCC*) +	    # Rational C++ 2.4.1 +	    lt_prog_compiler_pic_CXX='-pic' +	    ;; +	  cxx*) +	    # Digital/Compaq C++ +	    lt_prog_compiler_wl_CXX='-Wl,' +	    # Make sure the PIC flag is empty.  It appears that all Alpha +	    # Linux and Compaq Tru64 Unix objects are PIC. +	    lt_prog_compiler_pic_CXX= +	    lt_prog_compiler_static_CXX='-non_shared' +	    ;; +	  *) +	    ;; +	esac +	;; +      psos*) +	;; +      solaris*) +	case $cc_basename in +	  CC* | sunCC*) +	    # Sun C++ 4.2, 5.x and Centerline C++ +	    lt_prog_compiler_pic_CXX='-KPIC' +	    lt_prog_compiler_static_CXX='-Bstatic' +	    lt_prog_compiler_wl_CXX='-Qoption ld ' +	    ;; +	  gcx*) +	    # Green Hills C++ Compiler +	    lt_prog_compiler_pic_CXX='-PIC' +	    ;; +	  *) +	    ;; +	esac +	;; +      sunos4*) +	case $cc_basename in +	  CC*) +	    # Sun C++ 4.x +	    lt_prog_compiler_pic_CXX='-pic' +	    lt_prog_compiler_static_CXX='-Bstatic' +	    ;; +	  lcc*) +	    # Lucid +	    lt_prog_compiler_pic_CXX='-pic' +	    ;; +	  *) +	    ;; +	esac +	;; +      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +	case $cc_basename in +	  CC*) +	    lt_prog_compiler_wl_CXX='-Wl,' +	    lt_prog_compiler_pic_CXX='-KPIC' +	    lt_prog_compiler_static_CXX='-Bstatic' +	    ;; +	esac +	;; +      tandem*) +	case $cc_basename in +	  NCC*) +	    # NonStop-UX NCC 3.20 +	    lt_prog_compiler_pic_CXX='-KPIC' +	    ;; +	  *) +	    ;; +	esac +	;; +      vxworks*) +	;; +      *) +	lt_prog_compiler_can_build_shared_CXX=no +	;; +    esac +  fi + +case $host_os in +  # For platforms that do not support PIC, -DPIC is meaningless: +  *djgpp*) +    lt_prog_compiler_pic_CXX= +    ;; +  *) +    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" +    ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_pic_works_CXX=no +   ac_outfile=conftest.$ac_objext +   echo "$lt_simple_compile_test_code" > conftest.$ac_ext +   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment +   # 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\"" >&5) +   (eval "$lt_compile" 2>conftest.err) +   ac_status=$? +   cat conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s "$ac_outfile"; then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings other than the usual output. +     $ECHO "$_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 +       lt_cv_prog_compiler_pic_works_CXX=yes +     fi +   fi +   $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then +    case $lt_prog_compiler_pic_CXX in +     "" | " "*) ;; +     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; +     esac +else +    lt_prog_compiler_pic_CXX= +     lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_static_works_CXX=no +   save_LDFLAGS=$LDFLAGS +   LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +   echo "$lt_simple_link_test_code" > conftest.$ac_ext +   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +     # The linker can only warn and ignore the option if not recognized +     # So say no if there are warnings +     if test -s conftest.err; then +       # Append any errors to the config.log. +       cat conftest.err 1>&5 +       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp +       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +       if diff conftest.exp conftest.er2 >/dev/null; then +         lt_cv_prog_compiler_static_works_CXX=yes +       fi +     else +       lt_cv_prog_compiler_static_works_CXX=yes +     fi +   fi +   $RM -r conftest* +   LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then +    : +else +    lt_prog_compiler_static_CXX= +fi + + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_c_o_CXX=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\"" >&5) +   (eval "$lt_compile" 2>out/conftest.err) +   ac_status=$? +   cat out/conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s out/conftest2.$ac_objext +   then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings +     $ECHO "$_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_cv_prog_compiler_c_o_CXX=yes +     fi +   fi +   chmod u+w . 2>&5 +   $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* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_prog_compiler_c_o_CXX=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\"" >&5) +   (eval "$lt_compile" 2>out/conftest.err) +   ac_status=$? +   cat out/conftest.err >&5 +   echo "$as_me:$LINENO: \$? = $ac_status" >&5 +   if (exit $ac_status) && test -s out/conftest2.$ac_objext +   then +     # The compiler can only warn and ignore the option if not recognized +     # So say no if there are warnings +     $ECHO "$_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_cv_prog_compiler_c_o_CXX=yes +     fi +   fi +   chmod u+w . 2>&5 +   $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* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then +  # do not overwrite the value of need_locks provided by the user +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } +  hard_links=yes +  $RM conftest* +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  touch conftest.a +  ln conftest.a conftest.b 2>&5 || hard_links=no +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } +  if test no = "$hard_links"; then +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} +    need_locks=warn +  fi +else +  need_locks=no +fi + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + +  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +  exclude_expsyms_CXX='_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 GNU nm, but means don't demangle to AIX nm. +    # Without the "-l" option, or with the "-B" option, AIX nm treats +    # weak defined symbols like other global defined symbols, whereas +    # GNU nm marks them as "W". +    # While the 'weak' keyword is ignored in the Export File, we need +    # it in the Import File for the 'aix-soname' feature, so we have +    # to replace the "-B" option with "-P" for AIX nm. +    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' +    else +      export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' +    fi +    ;; +  pw32*) +    export_symbols_cmds_CXX=$ltdll_cmds +    ;; +  cygwin* | mingw* | cegcc*) +    case $cc_basename in +    cl*) +      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' +      ;; +    *) +      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' +      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' +      ;; +    esac +    ;; +  linux* | k*bsd*-gnu | gnu*) +    link_all_deplibs_CXX=no +    ;; +  *) +    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +    ;; +  esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) +  # Assume -lc should be added +  archive_cmds_need_lc_CXX=yes + +  if test yes,yes = "$GCC,$enable_shared"; then +    case $archive_cmds_CXX 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. +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  $RM conftest* +	echo "$lt_simple_compile_test_code" > conftest.$ac_ext + +	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +  (eval $ac_compile) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } 2>conftest.err; then +	  soname=conftest +	  lib=conftest +	  libobjs=conftest.$ac_objext +	  deplibs= +	  wl=$lt_prog_compiler_wl_CXX +	  pic_flag=$lt_prog_compiler_pic_CXX +	  compiler_flags=-v +	  linker_flags=-v +	  verstring= +	  output_objdir=. +	  libname=conftest +	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX +	  allow_undefined_flag_CXX= +	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 +  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 +  ac_status=$? +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +  test $ac_status = 0; } +	  then +	    lt_cv_archive_cmds_need_lc_CXX=no +	  else +	    lt_cv_archive_cmds_need_lc_CXX=yes +	  fi +	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag +	else +	  cat conftest.err 1>&5 +	fi +	$RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } +      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX +      ;; +    esac +  fi +  ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  need_lib_prefix=no +  need_version=no +  hardcode_into_libs=yes +  if test ia64 = "$host_cpu"; 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 +    # Using Import Files as archive members, it is possible to support +    # filename-based versioning of shared library archives on AIX. While +    # this would work for both with and without runtime linking, it will +    # prevent static linking of such archives. So we do filename-based +    # shared library versioning with .so extension only, which is used +    # when both runtime linking and shared linking is enabled. +    # Unfortunately, runtime linking may impact performance, so we do +    # not want this to be the default eventually. Also, we use the +    # versioned .so libs for executables only if there is the -brtl +    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. +    # To allow for filename-based versioning support, we need to create +    # libNAME.so.V as an archive file, containing: +    # *) an Import File, referring to the versioned filename of the +    #    archive as well as the shared archive member, telling the +    #    bitwidth (32 or 64) of that shared object, and providing the +    #    list of exported symbols of that shared object, eventually +    #    decorated with the 'weak' keyword +    # *) the shared object with the F_LOADONLY flag set, to really avoid +    #    it being seen by the linker. +    # At run time we better use the real file rather than another symlink, +    # but for link time we create the symlink libNAME.so -> libNAME.so.V + +    case $with_aix_soname,$aix_use_runtimelinking in +    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct +    # soname into executable. Probably we can add versioning support to +    # collect2, so additional links can be useful in future. +    aix,yes) # traditional libtool +      dynamic_linker='AIX unversionable lib.so' +      # 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' +      ;; +    aix,no) # traditional AIX only +      dynamic_linker='AIX lib.a(lib.so.V)' +      # 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' +      ;; +    svr4,*) # full svr4 only +      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,yes) # both, prefer svr4 +      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" +      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' +      # unpreferred sharedlib libNAME.a needs extra handling +      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' +      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' +      # We do not specify a path in Import Files, so LIBPATH fires. +      shlibpath_overrides_runpath=yes +      ;; +    *,no) # both, prefer aix +      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" +      library_names_spec='$libname$release.a $libname.a' +      soname_spec='$libname$release$shared_ext$major' +      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling +      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' +      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' +      ;; +    esac +    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%'\''`; $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 # correct to gnu/linux during the next big refactor +  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' + +      ;; +    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`' + +  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' +  ;; + +dgux*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 +  ;; + +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[23].*) 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$major $libname$shared_ext' +      soname_spec='$libname$release$shared_ext$major' +      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 +  ;; + +haiku*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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=no +  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 32 = "$HPUX_IA64_MODE"; then +      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux32 +    else +      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" +      sys_lib_dlsearch_path_spec=/usr/lib/hpux64 +    fi +    ;; +  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 # correct to gnu/linux during the next big refactor +  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 yes = "$lt_cv_prog_gnu_ld"; then +		version_type=linux # correct to gnu/linux during the next big refactor +	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 +  ;; + +linux*android*) +  version_type=none # Android doesn't support versioned libraries. +  need_lib_prefix=no +  need_version=no +  library_names_spec='$libname$release$shared_ext' +  soname_spec='$libname$release$shared_ext' +  finish_cmds= +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes + +  # 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 + +  dynamic_linker='Android linker' +  # Don't embed -rpath directories since the linker doesn't support them. +  hardcode_libdir_flag_spec_CXX='-L$libdir' +  ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 +  if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  lt_cv_shlibpath_overrides_runpath=no +    save_LDFLAGS=$LDFLAGS +    save_libdir=$libdir +    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ +	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + +int +main () +{ + +  ; +  return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : +  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +  lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +    LDFLAGS=$save_LDFLAGS +    libdir=$save_libdir + +fi + +  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 + +  # Ideally, we could use ldconfig to report *all* directores which are +  # searched for libraries, however this is still not possible.  Aside from not +  # being certain /sbin/ldconfig is available, command +  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, +  # even though it is searched at run-time.  Try to do the best guess by +  # appending ld.so.conf contents (and includes) 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="/lib /usr/lib $lt_ld_extra" +  fi + +  # We used to test for /lib/ld.so.1 and disable shared libraries on +  # powerpc, because MkLinux only supported shared libraries with the +  # GNU dynamic linker.  Since this was broken with cross compilers, +  # most powerpc-linux boxes support dynamic linking these days and +  # people can always --disable-shared, the test was removed, and we +  # assume the GNU/Linux dynamic linker is in use. +  dynamic_linker='GNU/Linux ld.so' +  ;; + +netbsdelf*-gnu) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +  soname_spec='${libname}${release}${shared_ext}$major' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=no +  hardcode_into_libs=yes +  dynamic_linker='NetBSD ld.elf_so' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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* | bitrig*) +  version_type=sunos +  sys_lib_dlsearch_path_spec=/usr/lib +  need_lib_prefix=no +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then +    need_version=no +  else +    need_version=yes +  fi +  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 +  shlibpath_overrides_runpath=yes +  ;; + +os2*) +  libname_spec='$name' +  version_type=windows +  shrext_cmds=.dll +  need_version=no +  need_lib_prefix=no +  # OS/2 can only load a DLL with a base name of 8 characters or less. +  soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; +    v=$($ECHO $release$versuffix | tr -d .-); +    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); +    $ECHO $n$v`$shared_ext' +  library_names_spec='${libname}_dll.$libext' +  dynamic_linker='OS/2 ld.exe' +  shlibpath_var=BEGINLIBPATH +  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +  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' +  ;; + +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 # correct to gnu/linux during the next big refactor +  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 yes = "$with_gnu_ld"; then +    need_lib_prefix=no +  fi +  need_version=yes +  ;; + +sysv4 | sysv4.3*) +  version_type=linux # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +    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=sco +  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor +  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 # correct to gnu/linux during the next big refactor +  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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then +  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then +  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || +   test -n "$runpath_var_CXX" || +   test yes = "$hardcode_automatic_CXX"; then + +  # We can hardcode non-existent directories. +  if test no != "$hardcode_direct_CXX" && +     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && +     test no != "$hardcode_minus_L_CXX"; then +    # Linking always hardcodes the temporary library directory. +    hardcode_action_CXX=relink +  else +    # We can link without hardcoding, and we can hardcode nonexisting dirs. +    hardcode_action_CXX=immediate +  fi +else +  # We cannot hardcode anything, or else we can only hardcode existing +  # directories. +  hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || +   test yes = "$inherit_rpath_CXX"; then +  # Fast installation is not supported +  enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || +     test no = "$enable_shared"; then +  # Fast installation is not necessary +  enable_fast_install=needless +fi + + + + + + + +  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 yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + +        ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +# Checks for libraries. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lm" >&5 +$as_echo_n "checking for main in -lm... " >&6; } +if ${ac_cv_lib_m_main+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-lm  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + + +int +main () +{ +return main (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_m_main=yes +else +  ac_cv_lib_m_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_main" >&5 +$as_echo "$ac_cv_lib_m_main" >&6; } +if test "x$ac_cv_lib_m_main" = xyes; then : +  cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + +  LIBS="-lm $LIBS" + +fi + +# FIXME: Replace `main' with a function in `-lrt': +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lrt" >&5 +$as_echo_n "checking for main in -lrt... " >&6; } +if ${ac_cv_lib_rt_main+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt  $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ + + +int +main () +{ +return main (); +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +  ac_cv_lib_rt_main=yes +else +  ac_cv_lib_rt_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ +    conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_main" >&5 +$as_echo "$ac_cv_lib_rt_main" >&6; } +if test "x$ac_cv_lib_rt_main" = xyes; then : +  cat >>confdefs.h <<_ACEOF +#define HAVE_LIBRT 1 +_ACEOF + +  LIBS="-lrt $LIBS" + +fi + + +# Checks for header files. +for ac_header in float.h stdlib.h string.h unistd.h +do : +  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +  cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# Checks for typedefs, structures, and compiler characteristics. +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + +# Checks for library functions. +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +for ac_header in vfork.h +do : +  ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = xyes; then : +  cat >>confdefs.h <<_ACEOF +#define HAVE_VFORK_H 1 +_ACEOF + +fi + +done + +for ac_func in fork vfork +do : +  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +  cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +if test "x$ac_cv_func_fork" = xyes; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 +$as_echo_n "checking for working fork... " >&6; } +if ${ac_cv_func_fork_works+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test "$cross_compiling" = yes; then : +  ac_cv_func_fork_works=cross +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +$ac_includes_default +int +main () +{ + +	  /* By Ruediger Kuhlmann. */ +	  return fork () < 0; + +  ; +  return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : +  ac_cv_func_fork_works=yes +else +  ac_cv_func_fork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +  conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 +$as_echo "$ac_cv_func_fork_works" >&6; } + +else +  ac_cv_func_fork_works=$ac_cv_func_fork +fi +if test "x$ac_cv_func_fork_works" = xcross; then +  case $host in +    *-*-amigaos* | *-*-msdosdjgpp*) +      # Override, as these systems have only a dummy fork() stub +      ac_cv_func_fork_works=no +      ;; +    *) +      ac_cv_func_fork_works=yes +      ;; +  esac +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} +fi +ac_cv_func_vfork_works=$ac_cv_func_vfork +if test "x$ac_cv_func_vfork" = xyes; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 +$as_echo_n "checking for working vfork... " >&6; } +if ${ac_cv_func_vfork_works+:} false; then : +  $as_echo_n "(cached) " >&6 +else +  if test "$cross_compiling" = yes; then : +  ac_cv_func_vfork_works=cross +else +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h.  */ +/* Thanks to Paul Eggert for this test.  */ +$ac_includes_default +#include <sys/wait.h> +#ifdef HAVE_VFORK_H +# include <vfork.h> +#endif +/* On some sparc systems, changes by the child to local and incoming +   argument registers are propagated back to the parent.  The compiler +   is told about this with #include <vfork.h>, but some compilers +   (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a +   static variable whose address is put into a register that is +   clobbered by the vfork.  */ +static void +#ifdef __cplusplus +sparc_address_test (int arg) +# else +sparc_address_test (arg) int arg; +#endif +{ +  static pid_t child; +  if (!child) { +    child = vfork (); +    if (child < 0) { +      perror ("vfork"); +      _exit(2); +    } +    if (!child) { +      arg = getpid(); +      write(-1, "", 0); +      _exit (arg); +    } +  } +} + +int +main () +{ +  pid_t parent = getpid (); +  pid_t child; + +  sparc_address_test (0); + +  child = vfork (); + +  if (child == 0) { +    /* Here is another test for sparc vfork register problems.  This +       test uses lots of local variables, at least as many local +       variables as main has allocated so far including compiler +       temporaries.  4 locals are enough for gcc 1.40.3 on a Solaris +       4.1.3 sparc, but we use 8 to be safe.  A buggy compiler should +       reuse the register of parent for one of the local variables, +       since it will think that parent can't possibly be used any more +       in this routine.  Assigning to the local variable will thus +       munge parent in the parent process.  */ +    pid_t +      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), +      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); +    /* Convince the compiler that p..p7 are live; otherwise, it might +       use the same hardware register for all 8 local variables.  */ +    if (p != p1 || p != p2 || p != p3 || p != p4 +	|| p != p5 || p != p6 || p != p7) +      _exit(1); + +    /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent +       from child file descriptors.  If the child closes a descriptor +       before it execs or exits, this munges the parent's descriptor +       as well.  Test for this by closing stdout in the child.  */ +    _exit(close(fileno(stdout)) != 0); +  } else { +    int status; +    struct stat st; + +    while (wait(&status) != child) +      ; +    return ( +	 /* Was there some problem with vforking?  */ +	 child < 0 + +	 /* Did the child fail?  (This shouldn't happen.)  */ +	 || status + +	 /* Did the vfork/compiler bug occur?  */ +	 || parent != getpid() + +	 /* Did the file descriptor bug occur?  */ +	 || fstat(fileno(stdout), &st) != 0 +	 ); +  } +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : +  ac_cv_func_vfork_works=yes +else +  ac_cv_func_vfork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +  conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 +$as_echo "$ac_cv_func_vfork_works" >&6; } + +fi; +if test "x$ac_cv_func_fork_works" = xcross; then +  ac_cv_func_vfork_works=$ac_cv_func_vfork +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} +fi + +if test "x$ac_cv_func_vfork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h + +else + +$as_echo "#define vfork fork" >>confdefs.h + +fi +if test "x$ac_cv_func_fork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h + +fi + +for ac_func in clock_gettime +do : +  ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes; then : +  cat >>confdefs.h <<_ACEOF +#define HAVE_CLOCK_GETTIME 1 +_ACEOF + +fi +done + + +use_double=no +# Check whether --enable-double-precision was given. +if test "${enable_double_precision+set}" = set; then : +  enableval=$enable_double_precision; use_double=$enableval +fi + +if test x$use_double = xno +then +        CCD_PRECISION=CCD_SINGLE +else +        CCD_PRECISION=CCD_DOUBLE +fi + + +ac_config_files="$ac_config_files Makefile src/Makefile src/ccd/precision.h src/testsuites/Makefile src/testsuites/cu/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems.  If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( +  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do +    eval ac_val=\$$ac_var +    case $ac_val in #( +    *${as_nl}*) +      case $ac_var in #( +      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; +      esac +      case $ac_var in #( +      _ | IFS | as_nl) ;; #( +      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( +      *) { eval $ac_var=; unset $ac_var;} ;; +      esac ;; +    esac +  done + +  (set) 2>&1 | +    case $as_nl`(ac_space=' '; set) 2>&1` in #( +    *${as_nl}ac_space=\ *) +      # `set' does not quote correctly, so add quotes: double-quote +      # substitution turns \\\\ into \\, and sed turns \\ into \. +      sed -n \ +	"s/'/'\\\\''/g; +	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" +      ;; #( +    *) +      # `set' quotes correctly as required by POSIX, so do not add quotes. +      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" +      ;; +    esac | +    sort +) | +  sed ' +     /^ac_cv_env_/b end +     t clear +     :clear +     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ +     t end +     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ +     :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else +  if test -w "$cache_file"; then +    if test "x$cache_file" != "x/dev/null"; then +      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} +      if test ! -f "$cache_file" || test -h "$cache_file"; then +	cat confcache >"$cache_file" +      else +        case $cache_file in #( +        */* | ?:*) +	  mv -f confcache "$cache_file"$$ && +	  mv -f "$cache_file"$$ "$cache_file" ;; #( +        *) +	  mv -f confcache "$cache_file" ;; +	esac +      fi +    fi +  else +    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} +  fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue +  # 1. Remove the extension, and $U if already installed. +  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' +  ac_i=`$as_echo "$ac_i" | sed "$ac_script"` +  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR +  #    will be set to the directory where LIBOBJS objects are built. +  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" +  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } +   if test -n "$am_sleep_pid"; then +     # Hide warnings about reused PIDs. +     wait $am_sleep_pid 2>/dev/null +   fi +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then +  am__EXEEXT_TRUE= +  am__EXEEXT_FALSE='#' +else +  am__EXEEXT_TRUE='#' +  am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then +  as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then +  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then +  as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +  emulate sh +  NULLCMD=: +  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which +  # is contrary to our usage.  Disable this feature. +  alias -g '${1+"$@"}'='"$@"' +  setopt NO_GLOB_SUBST +else +  case `(set -o) 2>/dev/null` in #( +  *posix*) : +    set -o posix ;; #( +  *) : +     ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ +    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then +  as_echo='print -r --' +  as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +  as_echo='printf %s\n' +  as_echo_n='printf %s' +else +  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then +    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' +    as_echo_n='/usr/ucb/echo -n' +  else +    as_echo_body='eval expr "X$1" : "X\\(.*\\)"' +    as_echo_n_body='eval +      arg=$1; +      case $arg in #( +      *"$as_nl"*) +	expr "X$arg" : "X\\(.*\\)$as_nl"; +	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; +      esac; +      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" +    ' +    export as_echo_n_body +    as_echo_n='sh -c $as_echo_n_body as_echo' +  fi +  export as_echo_body +  as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then +  PATH_SEPARATOR=: +  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { +    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || +      PATH_SEPARATOR=';' +  } +fi + + +# IFS +# We need space, tab and new line, in precisely that order.  Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" ""	$as_nl" + +# Find who we are.  Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( +  *[\\/]* ) as_myself=$0 ;; +  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do +  IFS=$as_save_IFS +  test -z "$as_dir" && as_dir=. +    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +  done +IFS=$as_save_IFS + +     ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then +  as_myself=$0 +fi +if test ! -f "$as_myself"; then +  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 +  exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there.  '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ +  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ +  as_status=$1; test $as_status -eq 0 && as_status=1 +  if test "$4"; then +    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 +  fi +  $as_echo "$as_me: error: $2" >&2 +  as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ +  return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ +  set +e +  as_fn_set_status $1 +  exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ +  { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +  eval 'as_fn_append () +  { +    eval $1+=\$2 +  }' +else +  as_fn_append () +  { +    eval $1=\$$1\$2 +  } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +  eval 'as_fn_arith () +  { +    as_val=$(( $* )) +  }' +else +  as_fn_arith () +  { +    as_val=`expr "$@" || test $? -eq 1` +  } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && +   test "X`expr 00001 : '.*\(...\)'`" = X001; then +  as_expr=expr +else +  as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then +  as_basename=basename +else +  as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then +  as_dirname=dirname +else +  as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +	 X"$0" : 'X\(//\)$' \| \ +	 X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | +    sed '/^.*\/\([^/][^/]*\)\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\/\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\/\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) +  case `echo 'xy\c'` in +  *c*) ECHO_T='	';;	# ECHO_T is single tab character. +  xy)  ECHO_C='\c';; +  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null +       ECHO_T='	';; +  esac;; +*) +  ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then +  rm -f conf$$.dir/conf$$.file +else +  rm -f conf$$.dir +  mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then +  if ln -s conf$$.file conf$$ 2>/dev/null; then +    as_ln_s='ln -s' +    # ... but there are two gotchas: +    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. +    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. +    # In both cases, we have to default to `cp -pR'. +    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || +      as_ln_s='cp -pR' +  elif ln conf$$.file conf$$ 2>/dev/null; then +    as_ln_s=ln +  else +    as_ln_s='cp -pR' +  fi +else +  as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + +  case $as_dir in #( +  -*) as_dir=./$as_dir;; +  esac +  test -d "$as_dir" || eval $as_mkdir_p || { +    as_dirs= +    while :; do +      case $as_dir in #( +      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( +      *) as_qdir=$as_dir;; +      esac +      as_dirs="'$as_qdir' $as_dirs" +      as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$as_dir" : 'X\(//\)[^/]' \| \ +	 X"$as_dir" : 'X\(//\)$' \| \ +	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +      test -d "$as_dir" && break +    done +    test -z "$as_dirs" || eval "mkdir $as_dirs" +  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then +  as_mkdir_p='mkdir -p "$as_dir"' +else +  test -d ./-p && rmdir ./-p +  as_mkdir_p=false +fi + + +# 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'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libccd $as_me 1.0, which was +generated by GNU Autoconf 2.69.  Invocation command line was + +  CONFIG_FILES    = $CONFIG_FILES +  CONFIG_HEADERS  = $CONFIG_HEADERS +  CONFIG_LINKS    = $CONFIG_LINKS +  CONFIG_COMMANDS = $CONFIG_COMMANDS +  $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration.  Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + +  -h, --help       print this help, then exit +  -V, --version    print version number and configuration settings, then exit +      --config     print configuration, then exit +  -q, --quiet, --silent +                   do not print progress messages +  -d, --debug      don't remove temporary files +      --recheck    update $as_me by reconfiguring in the same conditions +      --file=FILE[:TEMPLATE] +                   instantiate the configuration file FILE +      --header=FILE[:TEMPLATE] +                   instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <danfis@danfis.cz>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +libccd config.status 1.0 +configured by $0, generated by GNU Autoconf 2.69, +  with options \\"\$ac_cs_config\\" + +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." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do +  case $1 in +  --*=?*) +    ac_option=`expr "X$1" : 'X\([^=]*\)='` +    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` +    ac_shift=: +    ;; +  --*=) +    ac_option=`expr "X$1" : 'X\([^=]*\)='` +    ac_optarg= +    ac_shift=: +    ;; +  *) +    ac_option=$1 +    ac_optarg=$2 +    ac_shift=shift +    ;; +  esac + +  case $ac_option in +  # Handling of the options. +  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) +    ac_cs_recheck=: ;; +  --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) +    $as_echo "$ac_cs_version"; exit ;; +  --config | --confi | --conf | --con | --co | --c ) +    $as_echo "$ac_cs_config"; exit ;; +  --debug | --debu | --deb | --de | --d | -d ) +    debug=: ;; +  --file | --fil | --fi | --f ) +    $ac_shift +    case $ac_optarg in +    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; +    '') as_fn_error $? "missing file argument" ;; +    esac +    as_fn_append CONFIG_FILES " '$ac_optarg'" +    ac_need_defaults=false;; +  --header | --heade | --head | --hea ) +    $ac_shift +    case $ac_optarg in +    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; +    esac +    as_fn_append CONFIG_HEADERS " '$ac_optarg'" +    ac_need_defaults=false;; +  --he | --h) +    # Conflict between --help and --header +    as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; +  --help | --hel | -h ) +    $as_echo "$ac_cs_usage"; exit ;; +  -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +  | -silent | --silent | --silen | --sile | --sil | --si | --s) +    ac_cs_silent=: ;; + +  # This is an error. +  -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + +  *) as_fn_append ac_config_targets " $1" +     ac_need_defaults=false ;; + +  esac +  shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then +  exec 6>/dev/null +  ac_configure_extra_args="$ac_configure_extra_args --silent" +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 +  shift +  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 +  CONFIG_SHELL='$SHELL' +  export CONFIG_SHELL +  exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ +  echo +  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +  $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# 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' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +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 SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do +    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in +    *[\\\\\\\`\\"\\\$]*) +      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes +      ;; +    *) +      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +      ;; +    esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do +    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in +    *[\\\\\\\`\\"\\\$]*) +      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes +      ;; +    *) +      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +      ;; +    esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then +   setopt NO_GLOB_SUBST +fi + + +    PACKAGE='$PACKAGE' +    VERSION='$VERSION' +    RM='$RM' +    ofile='$ofile' + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do +  case $ac_config_target in +    "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; +    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; +    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; +    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; +    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; +    "src/ccd/precision.h") CONFIG_FILES="$CONFIG_FILES src/ccd/precision.h" ;; +    "src/testsuites/Makefile") CONFIG_FILES="$CONFIG_FILES src/testsuites/Makefile" ;; +    "src/testsuites/cu/Makefile") CONFIG_FILES="$CONFIG_FILES src/testsuites/cu/Makefile" ;; + +  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; +  esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used.  Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then +  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience.  Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ +  tmp= ac_tmp= +  trap 'exit_status=$? +  : "${ac_tmp:=$tmp}" +  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 +  trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ +  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && +  test -d "$tmp" +}  || +{ +  tmp=./conf$$-$RANDOM +  (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then +  eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then +  ac_cs_awk_cr='\\r' +else +  ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ +  echo "cat >conf$$subs.awk <<_ACEOF" && +  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && +  echo "_ACEOF" +} >conf$$subs.sh || +  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do +  . ./conf$$subs.sh || +    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + +  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` +  if test $ac_delim_n = $ac_delim_num; then +    break +  elif $ac_last_try; then +    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +  else +    ac_delim="$ac_delim!$ac_delim _$ac_delim!! " +  fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ +  N +  s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && +  for (key in S) S_is_set[key] = 1 +  FS = "" + +} +{ +  line = $ 0 +  nfields = split(line, field, "@") +  substed = 0 +  len = length(field[1]) +  for (i = 2; i < nfields; i++) { +    key = field[i] +    keylen = length(key) +    if (S_is_set[key]) { +      value = S[key] +      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) +      len += length(value) + length(field[++i]) +      substed = 1 +    } else +      len += 1 + keylen +  } + +  print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then +  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else +  cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ +  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then +  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{ +h +s/// +s/^/:/ +s/[	 ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[	 ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[	 ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do +  ac_tt=`sed -n "/$ac_delim/p" confdefs.h` +  if test -z "$ac_tt"; then +    break +  elif $ac_last_try; then +    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 +  else +    ac_delim="$ac_delim!$ac_delim _$ac_delim!! " +  fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any.  Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[	 ]*#[	 ]*define[	 ][	 ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +  for (key in D) D_is_set[key] = 1 +  FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { +  line = \$ 0 +  split(line, arg, " ") +  if (arg[1] == "#") { +    defundef = arg[2] +    mac1 = arg[3] +  } else { +    defundef = substr(arg[1], 2) +    mac1 = arg[2] +  } +  split(mac1, mac2, "(") #) +  macro = mac2[1] +  prefix = substr(line, 1, index(line, defundef) - 1) +  if (D_is_set[macro]) { +    # Preserve the white space surrounding the "#". +    print prefix "define", macro P[macro] D[macro] +    next +  } else { +    # Replace #undef with comments.  This is necessary, for example, +    # in the case of _POSIX_SOURCE, which is predefined and required +    # on some systems where configure will not decide to define it. +    if (defundef == "undef") { +      print "/*", prefix defundef, macro, "*/" +      next +    } +  } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS" +shift +for ac_tag +do +  case $ac_tag in +  :[FHLC]) ac_mode=$ac_tag; continue;; +  esac +  case $ac_mode$ac_tag in +  :[FHL]*:*);; +  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; +  :[FH]-) ac_tag=-:-;; +  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; +  esac +  ac_save_IFS=$IFS +  IFS=: +  set x $ac_tag +  IFS=$ac_save_IFS +  shift +  ac_file=$1 +  shift + +  case $ac_mode in +  :L) ac_source=$1;; +  :[FH]) +    ac_file_inputs= +    for ac_f +    do +      case $ac_f in +      -) ac_f="$ac_tmp/stdin";; +      *) # Look for the file first in the build tree, then in the source tree +	 # (if the path is not absolute).  The absolute path cannot be DOS-style, +	 # because $ac_f cannot contain `:'. +	 test -f "$ac_f" || +	   case $ac_f in +	   [\\/$]*) false;; +	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; +	   esac || +	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; +      esac +      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac +      as_fn_append ac_file_inputs " '$ac_f'" +    done + +    # Let's still pretend it is `configure' which instantiates (i.e., don't +    # use $as_me), people would be surprised to read: +    #    /* config.h.  Generated by config.status.  */ +    configure_input='Generated from '` +	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' +	`' by configure.' +    if test x"$ac_file" != x-; then +      configure_input="$ac_file.  $configure_input" +      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} +    fi +    # Neutralize special characters interpreted by sed in replacement strings. +    case $configure_input in #( +    *\&* | *\|* | *\\* ) +       ac_sed_conf_input=`$as_echo "$configure_input" | +       sed 's/[\\\\&|]/\\\\&/g'`;; #( +    *) ac_sed_conf_input=$configure_input;; +    esac + +    case $ac_tag in +    *:-:* | *:-) cat >"$ac_tmp/stdin" \ +      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; +    esac +    ;; +  esac + +  ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$ac_file" : 'X\(//\)[^/]' \| \ +	 X"$ac_file" : 'X\(//\)$' \| \ +	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +  as_dir="$ac_dir"; as_fn_mkdir_p +  ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) +  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` +  # A ".." for each directory in $ac_dir_suffix. +  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` +  case $ac_top_builddir_sub in +  "") ac_top_builddir_sub=. ac_top_build_prefix= ;; +  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;; +  esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in +  .)  # We are building in place. +    ac_srcdir=. +    ac_top_srcdir=$ac_top_builddir_sub +    ac_abs_top_srcdir=$ac_pwd ;; +  [\\/]* | ?:[\\/]* )  # Absolute name. +    ac_srcdir=$srcdir$ac_dir_suffix; +    ac_top_srcdir=$srcdir +    ac_abs_top_srcdir=$srcdir ;; +  *) # Relative name. +    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix +    ac_top_srcdir=$ac_top_build_prefix$srcdir +    ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + +  case $ac_mode in +  :F) +  # +  # CONFIG_FILE +  # + +  case $INSTALL in +  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; +  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; +  esac +  ac_MKDIR_P=$MKDIR_P +  case $MKDIR_P in +  [\\/$]* | ?:[\\/]* ) ;; +  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; +  esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { +  p +  q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +  ac_datarootdir_hack=' +  s&@datadir@&$datadir&g +  s&@docdir@&$docdir&g +  s&@infodir@&$infodir&g +  s&@localedir@&$localedir&g +  s&@mandir@&$mandir&g +  s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ +  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && +  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && +  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \ +      "$ac_tmp/out"`; test -z "$ac_out"; } && +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined.  Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined.  Please make sure it is defined" >&2;} + +  rm -f "$ac_tmp/stdin" +  case $ac_file in +  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; +  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; +  esac \ +  || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; +  :H) +  # +  # CONFIG_HEADER +  # +  if test x"$ac_file" != x-; then +    { +      $as_echo "/* $configure_input  */" \ +      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" +    } >"$ac_tmp/config.h" \ +      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then +      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} +    else +      rm -f "$ac_file" +      mv "$ac_tmp/config.h" "$ac_file" \ +	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 +    fi +  else +    $as_echo "/* $configure_input  */" \ +      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ +      || as_fn_error $? "could not create -" "$LINENO" 5 +  fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do +  case $_am_header in +    $_am_arg | $_am_arg:* ) +      break ;; +    * ) +      _am_stamp_count=`expr $_am_stamp_count + 1` ;; +  esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$_am_arg" : 'X\(//\)[^/]' \| \ +	 X"$_am_arg" : 'X\(//\)$' \| \ +	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; +  esac + + +  case $ac_file$ac_mode in +    "depfiles":C) test x"$AMDEP_TRUE" != x"" || { +  # Older Autoconf quotes --file arguments for eval, but not when files +  # are listed without --file.  Let's play safe and only enable the eval +  # if we detect the quoting. +  case $CONFIG_FILES in +  *\'*) eval set x "$CONFIG_FILES" ;; +  *)   set x $CONFIG_FILES ;; +  esac +  shift +  for mf +  do +    # Strip MF so we end up with the name of the file. +    mf=`echo "$mf" | sed -e 's/:.*$//'` +    # Check whether this is an Automake generated Makefile or not. +    # We used to match only the files named 'Makefile.in', but +    # some people rename them; so instead we look at the file content. +    # Grep'ing the first line is not enough: some people post-process +    # each Makefile.in and add a new line on top of each file to say so. +    # Grep'ing the whole file is not good either: AIX grep has a line +    # limit of 2048, but all sed's we know have understand at least 4000. +    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +      dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$mf" : 'X\(//\)[^/]' \| \ +	 X"$mf" : 'X\(//\)$' \| \ +	 X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +    else +      continue +    fi +    # Extract the definition of DEPDIR, am__include, and am__quote +    # from the Makefile without running 'make'. +    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +    test -z "$DEPDIR" && continue +    am__include=`sed -n 's/^am__include = //p' < "$mf"` +    test -z "$am__include" && continue +    am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +    # Find all dependency output files, they are included files with +    # $(DEPDIR) in their names.  We invoke sed twice because it is the +    # simplest approach to changing $(DEPDIR) to its actual value in the +    # expansion. +    for file in `sed -n " +      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +      # Make sure the directory exists. +      test -f "$dirpart/$file" && continue +      fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +	 X"$file" : 'X\(//\)[^/]' \| \ +	 X"$file" : 'X\(//\)$' \| \ +	 X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | +    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)[^/].*/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\/\)$/{ +	    s//\1/ +	    q +	  } +	  /^X\(\/\).*/{ +	    s//\1/ +	    q +	  } +	  s/.*/./; q'` +      as_dir=$dirpart/$fdir; as_fn_mkdir_p +      # echo "creating $dirpart/$file" +      echo '# dummy' > "$dirpart/$file" +    done +  done +} + ;; +    "libtool":C) + +    # See if we are running on zsh, and set the options that 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 +# Generated automatically by $as_me ($PACKAGE) $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. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions.  There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# 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 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 this program.  If not, see <http://www.gnu.org/licenses/>. + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names.  First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# 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. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + +    cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +#       string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +#       string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string +#       "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +#       VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ +    case x$2 in +    x) +        ;; +    *:) +        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" +        ;; +    x:*) +        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" +        ;; +    *::*) +        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" +        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" +        ;; +    *) +        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" +        ;; +    esac +} + + +# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ +    for cc_temp in $*""; do +      case $cc_temp in +        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; +        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; +        \-*) ;; +        *) break;; +      esac +    done +    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_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 set != "${COLLECT_NAMES+set}"; then +  COLLECT_NAMES= +  export COLLECT_NAMES +fi +_LT_EOF +    ;; +  esac + + +ltmain=$ac_aux_dir/ltmain.sh + + +  # 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) + +   mv -f "$cfgfile" "$ofile" || +    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") +  chmod +x "$ofile" + + +    cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using 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. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + +  esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || +  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded.  So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status.  When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then +  ac_cs_success=: +  ac_config_status_args= +  test "$silent" = yes && +    ac_config_status_args="$ac_config_status_args --quiet" +  exec 5>/dev/null +  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false +  exec 5>>config.log +  # Use ||, not &&, to avoid exiting from the if with $? = 1, which +  # would make configure fail if this is the last instruction. +  $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then +  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/libs/ode-0.16.1/libccd/configure.ac b/libs/ode-0.16.1/libccd/configure.ac new file mode 100644 index 0000000..5a12836 --- /dev/null +++ b/libs/ode-0.16.1/libccd/configure.ac @@ -0,0 +1,50 @@ +#                                               -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +#AC_PREREQ([2.65]) +AC_INIT([libccd], [1.0], [danfis@danfis.cz]) +AC_CONFIG_SRCDIR([src/ccd.c]) +AC_CONFIG_HEADERS([src/config.h]) +AM_INIT_AUTOMAKE(foreign) + +# Checks for programs. +AC_PROG_CXX +AC_PROG_CC +AC_PROG_INSTALL +AC_DISABLE_SHARED +LT_INIT + +# Checks for libraries. +AC_CHECK_LIB([m], [main]) +# FIXME: Replace `main' with a function in `-lrt': +AC_CHECK_LIB([rt], [main]) + +# Checks for header files. +AC_CHECK_HEADERS([float.h stdlib.h string.h unistd.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_FORK +AC_CHECK_FUNCS([clock_gettime]) + +use_double=no +AC_ARG_ENABLE(double-precision, +              AS_HELP_STRING([--enable-double-precision], +                             [enable double precision computations instead of single precision]), +              [use_double=$enableval]) +if test x$use_double = xno +then +        CCD_PRECISION=CCD_SINGLE +else +        CCD_PRECISION=CCD_DOUBLE +fi +AC_SUBST(CCD_PRECISION) + +AC_CONFIG_FILES([Makefile +                 src/Makefile +                 src/ccd/precision.h +                 src/testsuites/Makefile +                 src/testsuites/cu/Makefile]) +AC_OUTPUT diff --git a/libs/ode-0.16.1/libccd/src/Makefile.am b/libs/ode-0.16.1/libccd/src/Makefile.am new file mode 100644 index 0000000..e8655ba --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/Makefile.am @@ -0,0 +1,22 @@ +SUBDIRS = testsuites + +AM_CPPFLAGS = -I$(top_srcdir)/src/custom +AM_CFLAGS = -std=c99 + +noinst_LTLIBRARIES = libccd.la + +libccd_la_SOURCES = alloc.c ccd/alloc.h \ +		ccd/compiler.h \ +		ccd/dbg.h \ +		ccd.c ccd/ccd.h \ +		ccd/list.h \ +		polytope.c ccd/polytope.h \ +		ccd/quat.h custom/ccdcustom/quat.h \ +		ccd/simplex.h \ +		support.c ccd/support.h \ +		vec3.c ccd/vec3.h custom/ccdcustom/vec3.h \ +        mpr.c + +nodist_libccd_la_SOURCES = ccd/precision.h + +EXTRA_DIST = ccd/precision.h.in diff --git a/libs/ode-0.16.1/libccd/src/Makefile.in b/libs/ode-0.16.1/libccd/src/Makefile.in new file mode 100644 index 0000000..bab323f --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/Makefile.in @@ -0,0 +1,744 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ +  if test -z '$(MAKELEVEL)'; then \ +    false; \ +  elif test -n '$(MAKE_HOST)'; then \ +    true; \ +  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ +    true; \ +  else \ +    false; \ +  fi; \ +} +am__make_running_with_option = \ +  case $${target_option-} in \ +      ?) ;; \ +      *) echo "am__make_running_with_option: internal error: invalid" \ +              "target option '$${target_option-}' specified" >&2; \ +         exit 1;; \ +  esac; \ +  has_opt=no; \ +  sane_makeflags=$$MAKEFLAGS; \ +  if $(am__is_gnu_make); then \ +    sane_makeflags=$$MFLAGS; \ +  else \ +    case $$MAKEFLAGS in \ +      *\\[\ \	]*) \ +        bs=\\; \ +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ +    esac; \ +  fi; \ +  skip_next=no; \ +  strip_trailopt () \ +  { \ +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +  }; \ +  for flg in $$sane_makeflags; do \ +    test $$skip_next = yes && { skip_next=no; continue; }; \ +    case $$flg in \ +      *=*|--*) continue;; \ +        -*I) strip_trailopt 'I'; skip_next=yes;; \ +      -*I?*) strip_trailopt 'I';; \ +        -*O) strip_trailopt 'O'; skip_next=yes;; \ +      -*O?*) strip_trailopt 'O';; \ +        -*l) strip_trailopt 'l'; skip_next=yes;; \ +      -*l?*) strip_trailopt 'l';; \ +      -[dEDm]) skip_next=yes;; \ +      -[JT]) skip_next=yes;; \ +    esac; \ +    case $$flg in \ +      *$$target_option*) has_opt=yes; break;; \ +    esac; \ +  done; \ +  test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +	$(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libccd_la_LIBADD = +am_libccd_la_OBJECTS = alloc.lo ccd.lo polytope.lo support.lo vec3.lo \ +	mpr.lo +nodist_libccd_la_OBJECTS = +libccd_la_OBJECTS = $(am_libccd_la_OBJECTS) \ +	$(nodist_libccd_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 =  +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo "  GEN     " $@; +am__v_GEN_1 =  +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 =  +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ +	$(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo "  CC      " $@; +am__v_CC_1 =  +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +	$(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo "  CCLD    " $@; +am__v_CCLD_1 =  +SOURCES = $(libccd_la_SOURCES) $(nodist_libccd_la_SOURCES) +DIST_SOURCES = $(libccd_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ +	ctags-recursive dvi-recursive html-recursive info-recursive \ +	install-data-recursive install-dvi-recursive \ +	install-exec-recursive install-html-recursive \ +	install-info-recursive install-pdf-recursive \ +	install-ps-recursive install-recursive installcheck-recursive \ +	installdirs-recursive pdf-recursive ps-recursive \ +	tags-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_CLEAN_TARGETS) \ +  $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +	distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ +	$(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates.  Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ +  BEGIN { nonempty = 0; } \ +  { items[$$0] = 1; nonempty = 1; } \ +  END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique.  This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ +  list='$(am__tagged_files)'; \ +  unique=`for i in $$list; do \ +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +  done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ +	$(top_srcdir)/../depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ +  dir0=`pwd`; \ +  sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +  sed_rest='s,^[^/]*/*,,'; \ +  sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +  sed_butlast='s,/*[^/]*$$,,'; \ +  while test -n "$$dir1"; do \ +    first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +    if test "$$first" != "."; then \ +      if test "$$first" = ".."; then \ +        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +      else \ +        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +        if test "$$first2" = "$$first"; then \ +          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +        else \ +          dir2="../$$dir2"; \ +        fi; \ +        dir0="$$dir0"/"$$first"; \ +      fi; \ +    fi; \ +    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +  done; \ +  reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CCD_PRECISION = @CCD_PRECISION@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = testsuites +AM_CPPFLAGS = -I$(top_srcdir)/src/custom +AM_CFLAGS = -std=c99 +noinst_LTLIBRARIES = libccd.la +libccd_la_SOURCES = alloc.c ccd/alloc.h \ +		ccd/compiler.h \ +		ccd/dbg.h \ +		ccd.c ccd/ccd.h \ +		ccd/list.h \ +		polytope.c ccd/polytope.h \ +		ccd/quat.h custom/ccdcustom/quat.h \ +		ccd/simplex.h \ +		support.c ccd/support.h \ +		vec3.c ccd/vec3.h custom/ccdcustom/vec3.h \ +        mpr.c + +nodist_libccd_la_SOURCES = ccd/precision.h +EXTRA_DIST = ccd/precision.h.in +all: config.h +	$(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) +	@for dep in $?; do \ +	  case '$(am__configure_deps)' in \ +	    *$$dep*) \ +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +	        && { if test -f $@; then exit 0; else break; fi; }; \ +	      exit 1;; \ +	  esac; \ +	done; \ +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ +	$(am__cd) $(top_srcdir) && \ +	  $(AUTOMAKE) --foreign src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +	@case '$?' in \ +	  *config.status*) \ +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +	  *) \ +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ +	esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure:  $(am__configure_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4):  $(am__aclocal_m4_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +config.h: stamp-h1 +	@test -f $@ || rm -f stamp-h1 +	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status +	@rm -f stamp-h1 +	cd $(top_builddir) && $(SHELL) ./config.status src/config.h +$(srcdir)/config.h.in:  $(am__configure_deps)  +	($(am__cd) $(top_srcdir) && $(AUTOHEADER)) +	rm -f stamp-h1 +	touch $@ + +distclean-hdr: +	-rm -f config.h stamp-h1 + +clean-noinstLTLIBRARIES: +	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +	@list='$(noinst_LTLIBRARIES)'; \ +	locs=`for p in $$list; do echo $$p; done | \ +	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +	      sort -u`; \ +	test -z "$$locs" || { \ +	  echo rm -f $${locs}; \ +	  rm -f $${locs}; \ +	} + +libccd.la: $(libccd_la_OBJECTS) $(libccd_la_DEPENDENCIES) $(EXTRA_libccd_la_DEPENDENCIES)  +	$(AM_V_CCLD)$(LINK)  $(libccd_la_OBJECTS) $(libccd_la_LIBADD) $(LIBS) + +mostlyclean-compile: +	-rm -f *.$(OBJEXT) + +distclean-compile: +	-rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polytope.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vec3.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +#     (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): +	@fail=; \ +	if $(am__make_keepgoing); then \ +	  failcom='fail=yes'; \ +	else \ +	  failcom='exit 1'; \ +	fi; \ +	dot_seen=no; \ +	target=`echo $@ | sed s/-recursive//`; \ +	case "$@" in \ +	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ +	  *) list='$(SUBDIRS)' ;; \ +	esac; \ +	for subdir in $$list; do \ +	  echo "Making $$target in $$subdir"; \ +	  if test "$$subdir" = "."; then \ +	    dot_seen=yes; \ +	    local_target="$$target-am"; \ +	  else \ +	    local_target="$$target"; \ +	  fi; \ +	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +	  || eval $$failcom; \ +	done; \ +	if test "$$dot_seen" = "no"; then \ +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ +	fi; test -z "$$fail" + +ID: $(am__tagged_files) +	$(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	set x; \ +	here=`pwd`; \ +	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ +	  include_option=--etags-include; \ +	  empty_fix=.; \ +	else \ +	  include_option=--include; \ +	  empty_fix=; \ +	fi; \ +	list='$(SUBDIRS)'; for subdir in $$list; do \ +	  if test "$$subdir" = .; then :; else \ +	    test ! -f $$subdir/TAGS || \ +	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ +	  fi; \ +	done; \ +	$(am__define_uniq_tagged_files); \ +	shift; \ +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ +	  test -n "$$unique" || unique=$$empty_fix; \ +	  if test $$# -gt 0; then \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      "$$@" $$unique; \ +	  else \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      $$unique; \ +	  fi; \ +	fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	$(am__define_uniq_tagged_files); \ +	test -z "$(CTAGS_ARGS)$$unique" \ +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ +	     $$unique + +GTAGS: +	here=`$(am__cd) $(top_builddir) && pwd` \ +	  && $(am__cd) $(top_srcdir) \ +	  && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) +	list='$(am__tagged_files)'; \ +	case "$(srcdir)" in \ +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ +	  *) sdir=$(subdir)/$(srcdir) ;; \ +	esac; \ +	for i in $$list; do \ +	  if test -f "$$i"; then \ +	    echo "$(subdir)/$$i"; \ +	  else \ +	    echo "$$sdir/$$i"; \ +	  fi; \ +	done >> $(top_builddir)/cscope.files + +distclean-tags: +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	list='$(DISTFILES)'; \ +	  dist_files=`for file in $$list; do echo $$file; done | \ +	  sed -e "s|^$$srcdirstrip/||;t" \ +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +	case $$dist_files in \ +	  */*) $(MKDIR_P) `echo "$$dist_files" | \ +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +			   sort -u` ;; \ +	esac; \ +	for file in $$dist_files; do \ +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +	  if test -d $$d/$$file; then \ +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +	    if test -d "$(distdir)/$$file"; then \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +	  else \ +	    test -f "$(distdir)/$$file" \ +	    || cp -p $$d/$$file "$(distdir)/$$file" \ +	    || 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; \ +	    dir1=$$subdir; dir2="$(top_distdir)"; \ +	    $(am__relativize); \ +	    new_top_distdir=$$reldir; \ +	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +	    ($(am__cd) $$subdir && \ +	      $(MAKE) $(AM_MAKEFLAGS) \ +	        top_distdir="$$new_top_distdir" \ +	        distdir="$$new_distdir" \ +		am__remove_distdir=: \ +		am__skip_length_check=: \ +		am__skip_mode_fix=: \ +	        distdir) \ +	      || exit 1; \ +	  fi; \ +	done +check-am: all-am +check: check-recursive +all-am: Makefile $(LTLIBRARIES) config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: +	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: + +distclean-generic: +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: +	@echo "This command is intended for maintainers to use" +	@echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ +	mostlyclean-am + +distclean: distclean-recursive +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ +	distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ +	mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) all install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ +	check-am clean clean-generic clean-libtool \ +	clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ +	distclean-compile distclean-generic distclean-hdr \ +	distclean-libtool distclean-tags distdir dvi dvi-am html \ +	html-am info info-am install install-am install-data \ +	install-data-am install-dvi install-dvi-am install-exec \ +	install-exec-am install-html install-html-am install-info \ +	install-info-am install-man install-pdf install-pdf-am \ +	install-ps install-ps-am install-strip installcheck \ +	installcheck-am installdirs installdirs-am maintainer-clean \ +	maintainer-clean-generic mostlyclean mostlyclean-compile \ +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +	tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libs/ode-0.16.1/libccd/src/alloc.c b/libs/ode-0.16.1/libccd/src/alloc.c new file mode 100644 index 0000000..d3fb213 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/alloc.c @@ -0,0 +1,38 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdio.h> +#include <ccd/alloc.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +void *ccdRealloc(void *ptr, size_t size) +{ +    void *ret = realloc(ptr, size); +    if (ret == NULL && size != 0){ +        fprintf(stderr, "Fatal error: Allocation of memory failed!\n"); +        fflush(stderr); +        exit(-1); +    } + +    return ret; +} + + diff --git a/libs/ode-0.16.1/libccd/src/ccd.c b/libs/ode-0.16.1/libccd/src/ccd.c new file mode 100644 index 0000000..5221b8f --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd.c @@ -0,0 +1,955 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdio.h> +#include <float.h> +#include <ccd/ccd.h> +#include <ccdcustom/vec3.h> +#include <ccd/simplex.h> +#include <ccd/polytope.h> +#include <ccd/alloc.h> +#include <ccd/dbg.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +/** Performs GJK algorithm. Returns 0 if intersection was found and simplex + *  is filled with resulting polytope. */ +static int __ccdGJK(const void *obj1, const void *obj2, +                    const ccd_t *ccd, ccd_simplex_t *simplex); + +/** Performs GJK+EPA algorithm. Returns 0 if intersection was found and + *  pt is filled with resulting polytope and nearest with pointer to + *  nearest element (vertex, edge, face) of polytope to origin. */ +static int __ccdGJKEPA(const void *obj1, const void *obj2, +                       const ccd_t *ccd, +                       ccd_pt_t *pt, ccd_pt_el_t **nearest); + + +/** Returns true if simplex contains origin. + *  This function also alteres simplex and dir according to further + *  processing of GJK algorithm. */ +static int doSimplex(ccd_simplex_t *simplex, ccd_vec3_t *dir); +static int doSimplex2(ccd_simplex_t *simplex, ccd_vec3_t *dir); +static int doSimplex3(ccd_simplex_t *simplex, ccd_vec3_t *dir); +static int doSimplex4(ccd_simplex_t *simplex, ccd_vec3_t *dir); + +/** d = a x b x c */ +_ccd_inline void tripleCross(const ccd_vec3_t *a, const ccd_vec3_t *b, +                             const ccd_vec3_t *c, ccd_vec3_t *d); + + +/** Transforms simplex to polytope. It is assumed that simplex has 4 + *  vertices. */ +static int simplexToPolytope4(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest); + +/** Transforms simplex to polytope, three vertices required */ +static int simplexToPolytope3(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              const ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest); + +/** Transforms simplex to polytope, two vertices required */ +static int simplexToPolytope2(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              const ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest); + +/** Expands polytope using new vertex v. */ +static void expandPolytope(ccd_pt_t *pt, ccd_pt_el_t *el, +                           const ccd_support_t *newv); + +/** Finds next support point (at stores it in out argument). + *  Returns 0 on success, -1 otherwise */ +static int nextSupport(const void *obj1, const void *obj2, const ccd_t *ccd, +                       const ccd_pt_el_t *el, +                       ccd_support_t *out); + + + +void ccdFirstDirDefault(const void *o1, const void *o2, ccd_vec3_t *dir) +{ +    ccdVec3Set(dir, CCD_ONE, CCD_ZERO, CCD_ZERO); +} + +int ccdGJKIntersect(const void *obj1, const void *obj2, const ccd_t *ccd) +{ +    ccd_simplex_t simplex; +    return __ccdGJK(obj1, obj2, ccd, &simplex) == 0; +} + +int ccdGJKSeparate(const void *obj1, const void *obj2, const ccd_t *ccd, +                   ccd_vec3_t *sep) +{ +    ccd_pt_t polytope; +    ccd_pt_el_t *nearest; +    int ret; + +    ccdPtInit(&polytope); + +    ret = __ccdGJKEPA(obj1, obj2, ccd, &polytope, &nearest); + +    // set separation vector +    if (nearest) +        ccdVec3Copy(sep, &nearest->witness); + +    ccdPtDestroy(&polytope); + +    return ret; +} + + +static int penEPAPosCmp(const void *a, const void *b) +{ +    ccd_pt_vertex_t *v1, *v2; +    v1 = *(ccd_pt_vertex_t **)a; +    v2 = *(ccd_pt_vertex_t **)b; + +    if (ccdEq(v1->dist, v2->dist)){ +        return 0; +    }else if (v1->dist < v2->dist){ +        return -1; +    }else{ +        return 1; +    } +} + +static void penEPAPos(const ccd_pt_t *pt, const ccd_pt_el_t *nearest, +                      ccd_vec3_t *pos) +{ +    ccd_pt_vertex_t *v; +    ccd_pt_vertex_t **vs; +    size_t i, len; +    ccd_real_t scale; + +    // compute median +    len = 0; +    ccdListForEachEntry(&pt->vertices, v, ccd_pt_vertex_t, list){ +        len++; +    } + +    vs = CCD_ALLOC_ARR(ccd_pt_vertex_t *, len); +    i = 0; +    ccdListForEachEntry(&pt->vertices, v, ccd_pt_vertex_t, list){ +        vs[i++] = v; +    } + +    qsort(vs, len, sizeof(ccd_pt_vertex_t *), penEPAPosCmp); + +    ccdVec3Set(pos, CCD_ZERO, CCD_ZERO, CCD_ZERO); +    scale = CCD_ZERO; +    if (len % 2 == 1) +        len++; + +    for (i = 0; i < len / 2; i++){ +        ccdVec3Add(pos, &vs[i]->v.v1); +        ccdVec3Add(pos, &vs[i]->v.v2); +        scale += CCD_REAL(2.); +    } +    ccdVec3Scale(pos, CCD_ONE / scale); + +    free(vs); +} + +int ccdGJKPenetration(const void *obj1, const void *obj2, const ccd_t *ccd, +                      ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos) +{ +    ccd_pt_t polytope; +    ccd_pt_el_t *nearest; +    int ret; + +    ccdPtInit(&polytope); + +    ret = __ccdGJKEPA(obj1, obj2, ccd, &polytope, &nearest); + +    // set separation vector +    if (ret == 0 && nearest){ +        // store normalized direction vector +        ccdVec3Copy(dir, &nearest->witness); +        ret = ccdVec3SafeNormalize(dir); + +        if (ret == 0) { +            // compute depth of penetration +            *depth = CCD_SQRT(nearest->dist); +            // compute position +            penEPAPos(&polytope, nearest, pos); +        } +    } + +    ccdPtDestroy(&polytope); + +    return ret; +} + + + + +static int __ccdGJK(const void *obj1, const void *obj2, +                    const ccd_t *ccd, ccd_simplex_t *simplex) +{ +    unsigned long iterations; +    ccd_vec3_t dir; // direction vector +    ccd_support_t last; // last support point +    int do_simplex_res; + +    // initialize simplex struct +    ccdSimplexInit(simplex); + +    // get first direction +    ccd->first_dir(obj1, obj2, &dir); +    // get first support point +    __ccdSupport(obj1, obj2, &dir, ccd, &last); +    // and add this point to simplex as last one +    ccdSimplexAdd(simplex, &last); + +    // set up direction vector to as (O - last) which is exactly -last +    ccdVec3Copy(&dir, &last.v); +    ccdVec3Scale(&dir, -CCD_ONE); + +    // start iterations +    for (iterations = 0UL; iterations < ccd->max_iterations; ++iterations) { +        // obtain support point +        __ccdSupport(obj1, obj2, &dir, ccd, &last); + +        // check if farthest point in Minkowski difference in direction dir +        // isn't somewhere before origin (the test on negative dot product) +        // - because if it is, objects are not intersecting at all. +        if (ccdVec3Dot(&last.v, &dir) < CCD_ZERO){ +            return -1; // intersection not found +        } + +        // add last support vector to simplex +        ccdSimplexAdd(simplex, &last); + +        // if doSimplex returns 1 if objects intersect, -1 if objects don't +        // intersect and 0 if algorithm should continue +        do_simplex_res = doSimplex(simplex, &dir); +        if (do_simplex_res == 1){ +            return 0; // intersection found +        }else if (do_simplex_res == -1){ +            return -1; // intersection not found +        } + +        if (ccdIsZero(ccdVec3Len2(&dir))){ +            return -1; // intersection not found +        } +    } + +    // intersection wasn't found +    return -1; +} + +static int __ccdGJKEPA(const void *obj1, const void *obj2, +                       const ccd_t *ccd, +                       ccd_pt_t *polytope, ccd_pt_el_t **nearest) +{ +    ccd_simplex_t simplex; +    ccd_support_t supp; // support point +    int ret, size; + +    *nearest = NULL; + +    // run GJK and obtain terminal simplex +    ret = __ccdGJK(obj1, obj2, ccd, &simplex); +    if (ret != 0) +        return -1; + +    // transform simplex to polytope - simplex won't be used anymore +    size = ccdSimplexSize(&simplex); +    if (size == 4){ +        if (simplexToPolytope4(obj1, obj2, ccd, &simplex, polytope, nearest) != 0){ +            return 0;// touch contact +        } +    }else if (size == 3){ +        if (simplexToPolytope3(obj1, obj2, ccd, &simplex, polytope, nearest) != 0){ +            return 0; // touch contact +        } +    }else{ // size == 2 +        if (simplexToPolytope2(obj1, obj2, ccd, &simplex, polytope, nearest) != 0){ +            return 0; // touch contact +        } +    } + +    while (1){ +        // get triangle nearest to origin +        *nearest = ccdPtNearest(polytope); + +        // get next support point +        if (nextSupport(obj1, obj2, ccd, *nearest, &supp) != 0) +            break; + +        // expand nearest triangle using new point - supp +        expandPolytope(polytope, *nearest, &supp); +    } + +    return 0; +} + + + +static int doSimplex2(ccd_simplex_t *simplex, ccd_vec3_t *dir) +{ +    const ccd_support_t *A, *B; +    ccd_vec3_t AB, AO, tmp; +    ccd_real_t dot; + +    // get last added as A +    A = ccdSimplexLast(simplex); +    // get the other point +    B = ccdSimplexPoint(simplex, 0); +    // compute AB oriented segment +    ccdVec3Sub2(&AB, &B->v, &A->v); +    // compute AO vector +    ccdVec3Copy(&AO, &A->v); +    ccdVec3Scale(&AO, -CCD_ONE); + +    // dot product AB . AO +    dot = ccdVec3Dot(&AB, &AO); + +    // check if origin doesn't lie on AB segment +    ccdVec3Cross(&tmp, &AB, &AO); +    if (ccdIsZero(ccdVec3Len2(&tmp)) && dot > CCD_ZERO){ +        return 1; +    } + +    // check if origin is in area where AB segment is +    if (ccdIsZero(dot) || dot < CCD_ZERO){ +        // origin is in outside are of A +        ccdSimplexSet(simplex, 0, A); +        ccdSimplexSetSize(simplex, 1); +        ccdVec3Copy(dir, &AO); +    }else{ +        // origin is in area where AB segment is + +        // keep simplex untouched and set direction to +        // AB x AO x AB +        tripleCross(&AB, &AO, &AB, dir); +    } + +    return 0; +} + +static int doSimplex3(ccd_simplex_t *simplex, ccd_vec3_t *dir) +{ +    const ccd_support_t *A, *B, *C; +    ccd_vec3_t AO, AB, AC, ABC, tmp; +    ccd_real_t dot, dist; + +    // get last added as A +    A = ccdSimplexLast(simplex); +    // get the other points +    B = ccdSimplexPoint(simplex, 1); +    C = ccdSimplexPoint(simplex, 0); + +    // check touching contact +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &A->v, &B->v, &C->v, NULL); +    if (ccdIsZero(dist)){ +        return 1; +    } + +    // check if triangle is really triangle (has area > 0) +    // if not simplex can't be expanded and thus no itersection is found +    if (ccdVec3Eq(&A->v, &B->v) || ccdVec3Eq(&A->v, &C->v)){ +        return -1; +    } + +    // compute AO vector +    ccdVec3Copy(&AO, &A->v); +    ccdVec3Scale(&AO, -CCD_ONE); + +    // compute AB and AC segments and ABC vector (perpendircular to triangle) +    ccdVec3Sub2(&AB, &B->v, &A->v); +    ccdVec3Sub2(&AC, &C->v, &A->v); +    ccdVec3Cross(&ABC, &AB, &AC); + +    ccdVec3Cross(&tmp, &ABC, &AC); +    dot = ccdVec3Dot(&tmp, &AO); +    if (ccdIsZero(dot) || dot > CCD_ZERO){ +        dot = ccdVec3Dot(&AC, &AO); +        if (ccdIsZero(dot) || dot > CCD_ZERO){ +            // C is already in place +            ccdSimplexSet(simplex, 1, A); +            ccdSimplexSetSize(simplex, 2); +            tripleCross(&AC, &AO, &AC, dir); +        }else{ +ccd_do_simplex3_45: +            dot = ccdVec3Dot(&AB, &AO); +            if (ccdIsZero(dot) || dot > CCD_ZERO){ +                ccdSimplexSet(simplex, 0, B); +                ccdSimplexSet(simplex, 1, A); +                ccdSimplexSetSize(simplex, 2); +                tripleCross(&AB, &AO, &AB, dir); +            }else{ +                ccdSimplexSet(simplex, 0, A); +                ccdSimplexSetSize(simplex, 1); +                ccdVec3Copy(dir, &AO); +            } +        } +    }else{ +        ccdVec3Cross(&tmp, &AB, &ABC); +        dot = ccdVec3Dot(&tmp, &AO); +        if (ccdIsZero(dot) || dot > CCD_ZERO){ +            goto ccd_do_simplex3_45; +        }else{ +            dot = ccdVec3Dot(&ABC, &AO); +            if (ccdIsZero(dot) || dot > CCD_ZERO){ +                ccdVec3Copy(dir, &ABC); +            }else{ +                ccd_support_t Ctmp; +                ccdSupportCopy(&Ctmp, C); +                ccdSimplexSet(simplex, 0, B); +                ccdSimplexSet(simplex, 1, &Ctmp); + +                ccdVec3Copy(dir, &ABC); +                ccdVec3Scale(dir, -CCD_ONE); +            } +        } +    } + +    return 0; +} + +static int doSimplex4(ccd_simplex_t *simplex, ccd_vec3_t *dir) +{ +    const ccd_support_t *A, *B, *C, *D; +    ccd_vec3_t AO, AB, AC, AD, ABC, ACD, ADB; +    int B_on_ACD, C_on_ADB, D_on_ABC; +    int AB_O, AC_O, AD_O; +    ccd_real_t dist; + +    // get last added as A +    A = ccdSimplexLast(simplex); +    // get the other points +    B = ccdSimplexPoint(simplex, 2); +    C = ccdSimplexPoint(simplex, 1); +    D = ccdSimplexPoint(simplex, 0); + +    // check if tetrahedron is really tetrahedron (has volume > 0) +    // if it is not simplex can't be expanded and thus no intersection is +    // found +    dist = ccdVec3PointTriDist2(&A->v, &B->v, &C->v, &D->v, NULL); +    if (ccdIsZero(dist)){ +        return -1; +    } + +    // check if origin lies on some of tetrahedron's face - if so objects +    // intersect +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &A->v, &B->v, &C->v, NULL); +    if (ccdIsZero(dist)) +        return 1; +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &A->v, &C->v, &D->v, NULL); +    if (ccdIsZero(dist)) +        return 1; +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &A->v, &B->v, &D->v, NULL); +    if (ccdIsZero(dist)) +        return 1; +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &B->v, &C->v, &D->v, NULL); +    if (ccdIsZero(dist)) +        return 1; + +    // compute AO, AB, AC, AD segments and ABC, ACD, ADB normal vectors +    ccdVec3Copy(&AO, &A->v); +    ccdVec3Scale(&AO, -CCD_ONE); +    ccdVec3Sub2(&AB, &B->v, &A->v); +    ccdVec3Sub2(&AC, &C->v, &A->v); +    ccdVec3Sub2(&AD, &D->v, &A->v); +    ccdVec3Cross(&ABC, &AB, &AC); +    ccdVec3Cross(&ACD, &AC, &AD); +    ccdVec3Cross(&ADB, &AD, &AB); + +    // side (positive or negative) of B, C, D relative to planes ACD, ADB +    // and ABC respectively +    B_on_ACD = ccdSign(ccdVec3Dot(&ACD, &AB)); +    C_on_ADB = ccdSign(ccdVec3Dot(&ADB, &AC)); +    D_on_ABC = ccdSign(ccdVec3Dot(&ABC, &AD)); + +    // whether origin is on same side of ACD, ADB, ABC as B, C, D +    // respectively +    AB_O = ccdSign(ccdVec3Dot(&ACD, &AO)) == B_on_ACD; +    AC_O = ccdSign(ccdVec3Dot(&ADB, &AO)) == C_on_ADB; +    AD_O = ccdSign(ccdVec3Dot(&ABC, &AO)) == D_on_ABC; + +    if (AB_O && AC_O && AD_O){ +        // origin is in tetrahedron +        return 1; + +    // rearrange simplex to triangle and call doSimplex3() +    }else if (!AB_O){ +        // B is farthest from the origin among all of the tetrahedron's +        // points, so remove it from the list and go on with the triangle +        // case + +        // D and C are in place +        ccdSimplexSet(simplex, 2, A); +        ccdSimplexSetSize(simplex, 3); +    }else if (!AC_O){ +        // C is farthest +        ccdSimplexSet(simplex, 1, D); +        ccdSimplexSet(simplex, 0, B); +        ccdSimplexSet(simplex, 2, A); +        ccdSimplexSetSize(simplex, 3); +    }else{ // (!AD_O) +        ccdSimplexSet(simplex, 0, C); +        ccdSimplexSet(simplex, 1, B); +        ccdSimplexSet(simplex, 2, A); +        ccdSimplexSetSize(simplex, 3); +    } + +    return doSimplex3(simplex, dir); +} + +static int doSimplex(ccd_simplex_t *simplex, ccd_vec3_t *dir) +{ +    if (ccdSimplexSize(simplex) == 2){ +        // simplex contains segment only one segment +        return doSimplex2(simplex, dir); +    }else if (ccdSimplexSize(simplex) == 3){ +        // simplex contains triangle +        return doSimplex3(simplex, dir); +    }else{ // ccdSimplexSize(simplex) == 4 +        // tetrahedron - this is the only shape which can encapsule origin +        // so doSimplex4() also contains test on it +        return doSimplex4(simplex, dir); +    } +} + +_ccd_inline void tripleCross(const ccd_vec3_t *a, const ccd_vec3_t *b, +                             const ccd_vec3_t *c, ccd_vec3_t *d) +{ +    ccd_vec3_t e; +    ccdVec3Cross(&e, a, b); +    ccdVec3Cross(d, &e, c); +} + + + +/** Transforms simplex to polytope. It is assumed that simplex has 4 + *  vertices! */ +static int simplexToPolytope4(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest) +{ +    const ccd_support_t *a, *b, *c, *d; +    int use_polytope3; +    ccd_real_t dist; +    ccd_pt_vertex_t *v[4]; +    ccd_pt_edge_t *e[6]; +    size_t i; + +    a = ccdSimplexPoint(simplex, 0); +    b = ccdSimplexPoint(simplex, 1); +    c = ccdSimplexPoint(simplex, 2); +    d = ccdSimplexPoint(simplex, 3); + +    // check if origin lies on some of tetrahedron's face - if so use +    // simplexToPolytope3() +    use_polytope3 = 0; +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &a->v, &b->v, &c->v, NULL); +    if (ccdIsZero(dist)){ +        use_polytope3 = 1; +    } +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &a->v, &c->v, &d->v, NULL); +    if (ccdIsZero(dist)){ +        use_polytope3 = 1; +        ccdSimplexSet(simplex, 1, c); +        ccdSimplexSet(simplex, 2, d); +    } +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &a->v, &b->v, &d->v, NULL); +    if (ccdIsZero(dist)){ +        use_polytope3 = 1; +        ccdSimplexSet(simplex, 2, d); +    } +    dist = ccdVec3PointTriDist2(ccd_vec3_origin, &b->v, &c->v, &d->v, NULL); +    if (ccdIsZero(dist)){ +        use_polytope3 = 1; +        ccdSimplexSet(simplex, 0, b); +        ccdSimplexSet(simplex, 1, c); +        ccdSimplexSet(simplex, 2, d); +    } + +    if (use_polytope3){ +        ccdSimplexSetSize(simplex, 3); +        return simplexToPolytope3(obj1, obj2, ccd, simplex, pt, nearest); +    } + +    // no touching contact - simply create tetrahedron +    for (i = 0; i < 4; i++){ +        v[i] = ccdPtAddVertex(pt, ccdSimplexPoint(simplex, i)); +    } +     +    e[0] = ccdPtAddEdge(pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(pt, v[2], v[0]); +    e[3] = ccdPtAddEdge(pt, v[3], v[0]); +    e[4] = ccdPtAddEdge(pt, v[3], v[1]); +    e[5] = ccdPtAddEdge(pt, v[3], v[2]); + +    ccdPtAddFace(pt, e[0], e[1], e[2]); +    ccdPtAddFace(pt, e[3], e[4], e[0]); +    ccdPtAddFace(pt, e[4], e[5], e[1]); +    ccdPtAddFace(pt, e[5], e[3], e[2]); + +    return 0; +} + +/** Transforms simplex to polytope, three vertices required */ +static int simplexToPolytope3(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              const ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest) +{ +    const ccd_support_t *a, *b, *c; +    ccd_support_t d, d2; +    ccd_vec3_t ab, ac, dir; +    ccd_pt_vertex_t *v[5]; +    ccd_pt_edge_t *e[9]; +    ccd_real_t dist, dist2; + +    *nearest = NULL; + +    a = ccdSimplexPoint(simplex, 0); +    b = ccdSimplexPoint(simplex, 1); +    c = ccdSimplexPoint(simplex, 2); + +    // If only one triangle left from previous GJK run origin lies on this +    // triangle. So it is necessary to expand triangle into two +    // tetrahedrons connected with base (which is exactly abc triangle). + +    // get next support point in direction of normal of triangle +    ccdVec3Sub2(&ab, &b->v, &a->v); +    ccdVec3Sub2(&ac, &c->v, &a->v); +    ccdVec3Cross(&dir, &ab, &ac); +    __ccdSupport(obj1, obj2, &dir, ccd, &d); +    dist = ccdVec3PointTriDist2(&d.v, &a->v, &b->v, &c->v, NULL); + +    // and second one take in opposite direction +    ccdVec3Scale(&dir, -CCD_ONE); +    __ccdSupport(obj1, obj2, &dir, ccd, &d2); +    dist2 = ccdVec3PointTriDist2(&d2.v, &a->v, &b->v, &c->v, NULL); + +    // check if face isn't already on edge of minkowski sum and thus we +    // have touching contact +    if (ccdIsZero(dist) || ccdIsZero(dist2)){ +        v[0] = ccdPtAddVertex(pt, a); +        v[1] = ccdPtAddVertex(pt, b); +        v[2] = ccdPtAddVertex(pt, c); +        e[0] = ccdPtAddEdge(pt, v[0], v[1]); +        e[1] = ccdPtAddEdge(pt, v[1], v[2]); +        e[2] = ccdPtAddEdge(pt, v[2], v[0]); +        *nearest = (ccd_pt_el_t *)ccdPtAddFace(pt, e[0], e[1], e[2]); + +        return -1; +    } + +    // form polyhedron +    v[0] = ccdPtAddVertex(pt, a); +    v[1] = ccdPtAddVertex(pt, b); +    v[2] = ccdPtAddVertex(pt, c); +    v[3] = ccdPtAddVertex(pt, &d); +    v[4] = ccdPtAddVertex(pt, &d2); + +    e[0] = ccdPtAddEdge(pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(pt, v[2], v[0]); + +    e[3] = ccdPtAddEdge(pt, v[3], v[0]); +    e[4] = ccdPtAddEdge(pt, v[3], v[1]); +    e[5] = ccdPtAddEdge(pt, v[3], v[2]); + +    e[6] = ccdPtAddEdge(pt, v[4], v[0]); +    e[7] = ccdPtAddEdge(pt, v[4], v[1]); +    e[8] = ccdPtAddEdge(pt, v[4], v[2]); + +    ccdPtAddFace(pt, e[3], e[4], e[0]); +    ccdPtAddFace(pt, e[4], e[5], e[1]); +    ccdPtAddFace(pt, e[5], e[3], e[2]); + +    ccdPtAddFace(pt, e[6], e[7], e[0]); +    ccdPtAddFace(pt, e[7], e[8], e[1]); +    ccdPtAddFace(pt, e[8], e[6], e[2]); + +    return 0; +} + +/** Transforms simplex to polytope, two vertices required */ +static int simplexToPolytope2(const void *obj1, const void *obj2, +                              const ccd_t *ccd, +                              const ccd_simplex_t *simplex, +                              ccd_pt_t *pt, ccd_pt_el_t **nearest) +{ +    const ccd_support_t *a, *b; +    ccd_vec3_t ab, ac, dir; +    ccd_support_t supp[4]; +    ccd_pt_vertex_t *v[6]; +    ccd_pt_edge_t *e[12]; +    size_t i; +    int found; + +    a = ccdSimplexPoint(simplex, 0); +    b = ccdSimplexPoint(simplex, 1); + +    // This situation is a bit tricky. If only one segment comes from +    // previous run of GJK - it means that either this segment is on +    // minkowski edge (and thus we have touch contact) or it it isn't and +    // therefore segment is somewhere *inside* minkowski sum and it *must* +    // be possible to fully enclose this segment with polyhedron formed by +    // at least 8 triangle faces. + +    // get first support point (any) +    found = 0; +    for (i = 0; i < ccd_points_on_sphere_len; i++){ +        __ccdSupport(obj1, obj2, &ccd_points_on_sphere[i], ccd, &supp[0]); +        if (!ccdVec3Eq(&a->v, &supp[0].v) && !ccdVec3Eq(&b->v, &supp[0].v)){ +            found = 1; +            break; +        } +    } +    if (!found) +        goto simplexToPolytope2_touching_contact; + +    // get second support point in opposite direction than supp[0] +    ccdVec3Copy(&dir, &supp[0].v); +    ccdVec3Scale(&dir, -CCD_ONE); +    __ccdSupport(obj1, obj2, &dir, ccd, &supp[1]); +    if (ccdVec3Eq(&a->v, &supp[1].v) || ccdVec3Eq(&b->v, &supp[1].v)) +        goto simplexToPolytope2_touching_contact; + +    // next will be in direction of normal of triangle a,supp[0],supp[1] +    ccdVec3Sub2(&ab, &supp[0].v, &a->v); +    ccdVec3Sub2(&ac, &supp[1].v, &a->v); +    ccdVec3Cross(&dir, &ab, &ac); +    __ccdSupport(obj1, obj2, &dir, ccd, &supp[2]); +    if (ccdVec3Eq(&a->v, &supp[2].v) || ccdVec3Eq(&b->v, &supp[2].v)) +        goto simplexToPolytope2_touching_contact; + +    // and last one will be in opposite direction +    ccdVec3Scale(&dir, -CCD_ONE); +    __ccdSupport(obj1, obj2, &dir, ccd, &supp[3]); +    if (ccdVec3Eq(&a->v, &supp[3].v) || ccdVec3Eq(&b->v, &supp[3].v)) +        goto simplexToPolytope2_touching_contact; + +    goto simplexToPolytope2_not_touching_contact; +simplexToPolytope2_touching_contact: +    v[0] = ccdPtAddVertex(pt, a); +    v[1] = ccdPtAddVertex(pt, b); +    *nearest = (ccd_pt_el_t *)ccdPtAddEdge(pt, v[0], v[1]); +    return -1; + +simplexToPolytope2_not_touching_contact: +    // form polyhedron +    v[0] = ccdPtAddVertex(pt, a); +    v[1] = ccdPtAddVertex(pt, &supp[0]); +    v[2] = ccdPtAddVertex(pt, b); +    v[3] = ccdPtAddVertex(pt, &supp[1]); +    v[4] = ccdPtAddVertex(pt, &supp[2]); +    v[5] = ccdPtAddVertex(pt, &supp[3]); + +    e[0] = ccdPtAddEdge(pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(pt, v[2], v[3]); +    e[3] = ccdPtAddEdge(pt, v[3], v[0]); + +    e[4] = ccdPtAddEdge(pt, v[4], v[0]); +    e[5] = ccdPtAddEdge(pt, v[4], v[1]); +    e[6] = ccdPtAddEdge(pt, v[4], v[2]); +    e[7] = ccdPtAddEdge(pt, v[4], v[3]); + +    e[8]  = ccdPtAddEdge(pt, v[5], v[0]); +    e[9]  = ccdPtAddEdge(pt, v[5], v[1]); +    e[10] = ccdPtAddEdge(pt, v[5], v[2]); +    e[11] = ccdPtAddEdge(pt, v[5], v[3]); + +    ccdPtAddFace(pt, e[4], e[5], e[0]); +    ccdPtAddFace(pt, e[5], e[6], e[1]); +    ccdPtAddFace(pt, e[6], e[7], e[2]); +    ccdPtAddFace(pt, e[7], e[4], e[3]); + +    ccdPtAddFace(pt, e[8],  e[9],  e[0]); +    ccdPtAddFace(pt, e[9],  e[10], e[1]); +    ccdPtAddFace(pt, e[10], e[11], e[2]); +    ccdPtAddFace(pt, e[11], e[8],  e[3]); + +    return 0; +} + +/** Expands polytope's tri by new vertex v. Triangle tri is replaced by + *  three triangles each with one vertex in v. */ +static void expandPolytope(ccd_pt_t *pt, ccd_pt_el_t *el, +                           const ccd_support_t *newv) +{ +    ccd_pt_vertex_t *v[5]; +    ccd_pt_edge_t *e[8] = {0}; +    ccd_pt_face_t *f[2]; + + +    // element can be either segment or triangle +    if (el->type == CCD_PT_EDGE){ +        // In this case, segment should be replaced by new point. +        // Simpliest case is when segment stands alone and in this case +        // this segment is replaced by two other segments both connected to +        // newv. +        // Segment can be also connected to max two faces and in that case +        // each face must be replaced by two other faces. To do this +        // correctly it is necessary to have correctly ordered edges and +        // vertices which is exactly what is done in following code. +        // + +        ccdPtEdgeVertices((const ccd_pt_edge_t *)el, &v[0], &v[2]); + +        ccdPtEdgeFaces((ccd_pt_edge_t *)el, &f[0], &f[1]); + +        if (f[0]){ +            ccdPtFaceEdges(f[0], &e[0], &e[1], &e[2]); +            if (e[0] == (ccd_pt_edge_t *)el){ +                e[0] = e[2]; +            }else if (e[1] == (ccd_pt_edge_t *)el){ +                e[1] = e[2]; +            } +            ccdPtEdgeVertices(e[0], &v[1], &v[3]); +            if (v[1] != v[0] && v[3] != v[0]){ +                e[2] = e[0]; +                e[0] = e[1]; +                e[1] = e[2]; +                if (v[1] == v[2]) +                    v[1] = v[3]; +            }else{ +                if (v[1] == v[0]) +                    v[1] = v[3]; +            } + +            if (f[1]){ +                ccdPtFaceEdges(f[1], &e[2], &e[3], &e[4]); +                if (e[2] == (ccd_pt_edge_t *)el){ +                    e[2] = e[4]; +                }else if (e[3] == (ccd_pt_edge_t *)el){ +                    e[3] = e[4]; +                } +                ccdPtEdgeVertices(e[2], &v[3], &v[4]); +                if (v[3] != v[2] && v[4] != v[2]){ +                    e[4] = e[2]; +                    e[2] = e[3]; +                    e[3] = e[4]; +                    if (v[3] == v[0]) +                        v[3] = v[4]; +                }else{ +                    if (v[3] == v[2]) +                        v[3] = v[4]; +                } +            } + + +            v[4] = ccdPtAddVertex(pt, newv); + +            ccdPtDelFace(pt, f[0]); +            if (f[1]){ +                ccdPtDelFace(pt, f[1]); +                ccdPtDelEdge(pt, (ccd_pt_edge_t *)el); +            } + +            e[4] = ccdPtAddEdge(pt, v[4], v[2]); +            e[5] = ccdPtAddEdge(pt, v[4], v[0]); +            e[6] = ccdPtAddEdge(pt, v[4], v[1]); +            if (f[1]) +                e[7] = ccdPtAddEdge(pt, v[4], v[3]); + +            ccdPtAddFace(pt, e[1], e[4], e[6]); +            ccdPtAddFace(pt, e[0], e[6], e[5]); +            if (f[1]){ +                ccdPtAddFace(pt, e[3], e[5], e[7]); +                ccdPtAddFace(pt, e[4], e[7], e[2]); +            }else{ +                ccdPtAddFace(pt, e[4], e[5], (ccd_pt_edge_t *)el); +            } +        } +    }else{ // el->type == CCD_PT_FACE +        // replace triangle by tetrahedron without base (base would be the +        // triangle that will be removed) + +        // get triplet of surrounding edges and vertices of triangle face +        ccdPtFaceEdges((const ccd_pt_face_t *)el, &e[0], &e[1], &e[2]); +        ccdPtEdgeVertices(e[0], &v[0], &v[1]); +        ccdPtEdgeVertices(e[1], &v[2], &v[3]); + +        // following code sorts edges to have e[0] between vertices 0-1, +        // e[1] between 1-2 and e[2] between 2-0 +        if (v[2] != v[1] && v[3] != v[1]){ +            // swap e[1] and e[2]  +            e[3] = e[1]; +            e[1] = e[2]; +            e[2] = e[3]; +        } +        if (v[3] != v[0] && v[3] != v[1]) +            v[2] = v[3]; + +        // remove triangle face +        ccdPtDelFace(pt, (ccd_pt_face_t *)el); + +        // expand triangle to tetrahedron +        v[3] = ccdPtAddVertex(pt, newv); +        e[3] = ccdPtAddEdge(pt, v[3], v[0]); +        e[4] = ccdPtAddEdge(pt, v[3], v[1]); +        e[5] = ccdPtAddEdge(pt, v[3], v[2]); + +        ccdPtAddFace(pt, e[3], e[4], e[0]); +        ccdPtAddFace(pt, e[4], e[5], e[1]); +        ccdPtAddFace(pt, e[5], e[3], e[2]); +    } +} + +/** Finds next support point (at stores it in out argument). + *  Returns 0 on success, -1 otherwise */ +static int nextSupport(const void *obj1, const void *obj2, const ccd_t *ccd, +                       const ccd_pt_el_t *el, +                       ccd_support_t *out) +{ +    ccd_vec3_t *a, *b, *c; +    ccd_real_t dist; + +    if (el->type == CCD_PT_VERTEX) +        return -1; + +    // touch contact +    if (ccdIsZero(el->dist)) +        return -1; + +    __ccdSupport(obj1, obj2, &el->witness, ccd, out); + +    if (el->type == CCD_PT_EDGE){ +        // fetch end points of edge +        ccdPtEdgeVec3((ccd_pt_edge_t *)el, &a, &b); + +        // get distance from segment +        dist = ccdVec3PointSegmentDist2(&out->v, a, b, NULL); +    }else{ // el->type == CCD_PT_FACE +        // fetch vertices of triangle face +        ccdPtFaceVec3((ccd_pt_face_t *)el, &a, &b, &c); + +        // check if new point can significantly expand polytope +        dist = ccdVec3PointTriDist2(&out->v, a, b, c, NULL); +    } + +    if (dist < ccd->epa_tolerance) +        return -1; + +    return 0; +} diff --git a/libs/ode-0.16.1/libccd/src/ccd/alloc.h b/libs/ode-0.16.1/libccd/src/ccd/alloc.h new file mode 100644 index 0000000..7b92e3e --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/alloc.h @@ -0,0 +1,52 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_ALLOC_H__ +#define __CCD_ALLOC_H__ + +#include <stdlib.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * Functions and macros required for memory allocation. + */ + +/* Memory allocation: */ +#define __CCD_ALLOC_MEMORY(type, ptr_old, size) \ +    (type *)ccdRealloc((void *)ptr_old, (size)) + +/** Allocate memory for one element of type.  */ +#define CCD_ALLOC(type) \ +    __CCD_ALLOC_MEMORY(type, NULL, sizeof(type)) + +/** Allocate memory for array of elements of type type.  */ +#define CCD_ALLOC_ARR(type, num_elements) \ +    __CCD_ALLOC_MEMORY(type, NULL, sizeof(type) * (num_elements)) + +#define CCD_REALLOC_ARR(ptr, type, num_elements) \ +    __CCD_ALLOC_MEMORY(type, ptr, sizeof(type) * (num_elements)) + +void *ccdRealloc(void *ptr, size_t size); + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_ALLOC_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/ccd.h b/libs/ode-0.16.1/libccd/src/ccd/ccd.h new file mode 100644 index 0000000..3aaba8a --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/ccd.h @@ -0,0 +1,148 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010,2011 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_H__ +#define __CCD_H__ + +#include <ccd/precision.h> + +#include <ccd/vec3.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * Type of *support* function that takes pointer to 3D object and direction + * and returns (via vec argument) furthest point from object in specified + * direction. + */ +typedef void (*ccd_support_fn)(const void *obj, const ccd_vec3_t *dir, +                               ccd_vec3_t *vec); + +/** + * Returns (via dir argument) first direction vector that will be used in + * initialization of algorithm. + */ +typedef void (*ccd_first_dir_fn)(const void *obj1, const void *obj2, +                                 ccd_vec3_t *dir); + + +/** + * Returns (via center argument) geometric center (some point near center) + * of given object. + */ +typedef void (*ccd_center_fn)(const void *obj1, ccd_vec3_t *center); + +/** + * Main structure of CCD algorithm. + */ +struct _ccd_t { +    ccd_first_dir_fn first_dir; /*!< Returns initial direction where first +                                  !< support point will be searched*/ +    ccd_support_fn support1; /*!< Function that returns support point of +                               !< first object*/ +    ccd_support_fn support2; /*!< Function that returns support point of +                               !< second object*/ + +    ccd_center_fn center1; /*!< Function that returns geometric center of +                             !< first object*/ +    ccd_center_fn center2; /*!< Function that returns geometric center of +                             !< second object*/ + +    unsigned long max_iterations; /*!< Maximal number of iterations*/ +    ccd_real_t epa_tolerance; +    ccd_real_t mpr_tolerance; /*!< Boundary tolerance for MPR algorithm*/ +}; +typedef struct _ccd_t ccd_t; + +/** + * Default first direction. + */ +void ccdFirstDirDefault(const void *o1, const void *o2, ccd_vec3_t *dir); + +#define CCD_INIT(ccd) \ +    do { \ +        (ccd)->first_dir = ccdFirstDirDefault; \ +        (ccd)->support1 = NULL; \ +        (ccd)->support2 = NULL; \ +        (ccd)->center1  = NULL; \ +        (ccd)->center2  = NULL; \ +        \ +        (ccd)->max_iterations = (unsigned long)-1; \ +        (ccd)->epa_tolerance = CCD_REAL(0.0001); \ +        (ccd)->mpr_tolerance = CCD_REAL(0.0001); \ +    } while(0) + + +/** + * Returns true if two given objects interest. + */ +int ccdGJKIntersect(const void *obj1, const void *obj2, const ccd_t *ccd); + +/** + * This function computes separation vector of two objects. Separation + * vector is minimal translation of obj2 to get obj1 and obj2 speparated + * (without intersection). + * Returns 0 if obj1 and obj2 intersect and sep is filled with translation + * vector. If obj1 and obj2 don't intersect -1 is returned. + */ +int ccdGJKSeparate(const void *obj1, const void *obj2, const ccd_t *ccd, +                   ccd_vec3_t *sep); + +/** + * Computes penetration of obj2 into obj1. + * Depth of penetration, direction and position is returned. It means that + * if obj2 is translated by distance depth in direction dir objects will + * have touching contact, pos should be position in global coordinates + * where force should take a place. + * + * CCD+EPA algorithm is used. + * + * Returns 0 if obj1 and obj2 intersect and depth, dir and pos are filled + * if given non-NULL pointers. + * If obj1 and obj2 don't intersect -1 is returned. + */ +int ccdGJKPenetration(const void *obj1, const void *obj2, const ccd_t *ccd, +                      ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos); + + +/** + * Returns true if two given objects intersect - MPR algorithm is used. + */ +int ccdMPRIntersect(const void *obj1, const void *obj2, const ccd_t *ccd); + +/** + * Computes penetration of obj2 into obj1. + * Depth of penetration, direction and position is returned, i.e. if obj2 + * is translated by computed depth in resulting direction obj1 and obj2 + * would have touching contact. Position is point in global coordinates + * where force should be take a place. + * + * Minkowski Portal Refinement algorithm is used (MPR, a.k.a. XenoCollide, + * see Game Programming Gem 7). + * + * Returns 0 if obj1 and obj2 intersect, otherwise -1 is returned. + */ +int ccdMPRPenetration(const void *obj1, const void *obj2, const ccd_t *ccd, +                      ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos); + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/compiler.h b/libs/ode-0.16.1/libccd/src/ccd/compiler.h new file mode 100644 index 0000000..380878f --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/compiler.h @@ -0,0 +1,61 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_COMPILER_H__ +#define __CCD_COMPILER_H__ + +#include <stddef.h> + +#define ccd_offsetof(TYPE, MEMBER) offsetof(TYPE, MEMBER) + +#define ccd_container_of(ptr, type, member) \ +    (type *)( (char *)ptr - ccd_offsetof(type, member)) + + +/** + * Marks inline function. + */ +#ifdef __GNUC__ +/*# define _ccd_inline static inline __attribute__((always_inline))*/ +# define _ccd_inline static inline +#else /* __GNUC__ */ +# define _ccd_inline static __inline +#endif /* __GNUC__ */ + + +/** + * __prefetch(x)  - prefetches the cacheline at "x" for read + * __prefetchw(x) - prefetches the cacheline at "x" for write + */ +#ifdef __GNUC__ +# define _ccd_prefetch(x) __builtin_prefetch(x) +# define _ccd_prefetchw(x) __builtin_prefetch(x,1) +#else /* __GNUC__ */ +# define _ccd_prefetch(x) ((void)0) +# define _ccd_prefetchw(x) ((void)0) +#endif /* __GNUC__ */ + + +#ifdef __ICC +/* disable unused parameter warning */ +# pragma warning(disable:869) +/* disable annoying "operands are evaluated in unspecified order" warning */ +# pragma warning(disable:981) +#endif /* __ICC */ + +#endif /* __CCD_COMPILER_H__ */ + diff --git a/libs/ode-0.16.1/libccd/src/ccd/dbg.h b/libs/ode-0.16.1/libccd/src/ccd/dbg.h new file mode 100644 index 0000000..f4852c1 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/dbg.h @@ -0,0 +1,65 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_DBG_H__ +#define __CCD_DBG_H__ + +/** + * Some macros which can be used for printing debug info to stderr if macro + * NDEBUG not defined. + * + * DBG_PROLOGUE can be specified as string and this string will be + * prepended to output text + */ +#ifndef NDEBUG + +#include <stdio.h> + +#ifndef DBG_PROLOGUE +# define DBG_PROLOGUE +#endif + +# define DBG(format, ...) do { \ +    fprintf(stderr, DBG_PROLOGUE "%s :: " format "\n", __func__, ## __VA_ARGS__); \ +    fflush(stderr); \ +    } while (0) + +# define DBG2(str) do { \ +    fprintf(stderr, DBG_PROLOGUE "%s :: " str "\n", __func__); \ +    fflush(stderr); \ +    } while (0) + +# define DBG_VEC3(vec, prefix) do {\ +    fprintf(stderr, DBG_PROLOGUE "%s :: %s[%lf %lf %lf]\n", \ +            __func__, prefix, ccdVec3X(vec), ccdVec3Y(vec), ccdVec3Z(vec)); \ +    fflush(stderr); \ +    } while (0) +/* +# define DBG_VEC3(vec, prefix) do {\ +    fprintf(stderr, DBG_PROLOGUE "%s :: %s[%.20lf %.20lf %.20lf]\n", \ +            __func__, prefix, ccdVec3X(vec), ccdVec3Y(vec), ccdVec3Z(vec)); \ +    fflush(stderr); \ +    } while (0) +*/ + +#else +# define DBG(format, ...) +# define DBG2(str) +# define DBG_VEC3(v, prefix) +#endif + +#endif /* __CCD_DBG_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/list.h b/libs/ode-0.16.1/libccd/src/ccd/list.h new file mode 100644 index 0000000..54391ed --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/list.h @@ -0,0 +1,155 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_LIST_H__ +#define __CCD_LIST_H__ + +#include <string.h> +#include <ccd/compiler.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct _ccd_list_t { +    struct _ccd_list_t *next, *prev; +}; +typedef struct _ccd_list_t ccd_list_t; + + + +/** + * Get the struct for this entry. + * @ptr:	the &ccd_list_t pointer. + * @type:	the type of the struct this is embedded in. + * @member:	the name of the list_struct within the struct. + */ +#define ccdListEntry(ptr, type, member) \ +    ccd_container_of(ptr, type, member) + +/** + * Iterates over list. + */ +#define ccdListForEach(list, item) \ +        for (item = (list)->next; \ +             _ccd_prefetch((item)->next), item != (list); \ +             item = (item)->next) + +/** + * Iterates over list safe against remove of list entry + */ +#define ccdListForEachSafe(list, item, tmp) \ +	    for (item = (list)->next, tmp = (item)->next; \ +             item != (list); \ +		     item = tmp, tmp = (item)->next) + +/** + * Iterates over list of given type. + * @pos:	the type * to use as a loop cursor. + * @head:	the head for your list. + * @member:	the name of the list_struct within the struct. + */ +#define ccdListForEachEntry(head, pos, postype, member)                 \ +	for (pos = ccdListEntry((head)->next, postype, member);	\ +	     _ccd_prefetch(pos->member.next), &pos->member != (head); 	\ +	     pos = ccdListEntry(pos->member.next, postype, member)) + +/** + * Iterates over list of given type safe against removal of list entry + * @pos:	the type * to use as a loop cursor. + * @n:		another type * to use as temporary storage + * @head:	the head for your list. + * @member:	the name of the list_struct within the struct. + */ +#define ccdListForEachEntrySafe(head, pos, postype, n, ntype, member)         \ +    for (pos = ccdListEntry((head)->next, postype, member),             \ +		 n = ccdListEntry(pos->member.next, postype, member);	\ +	     &pos->member != (head); 					\ +	     pos = n, n = ccdListEntry(n->member.next, ntype, member)) + + +/** + * Initialize list. + */ +_ccd_inline void ccdListInit(ccd_list_t *l); + +_ccd_inline ccd_list_t *ccdListNext(ccd_list_t *l); +_ccd_inline ccd_list_t *ccdListPrev(ccd_list_t *l); + +/** + * Returns true if list is empty. + */ +_ccd_inline int ccdListEmpty(const ccd_list_t *head); + +/** + * Appends item to end of the list l. + */ +_ccd_inline void ccdListAppend(ccd_list_t *l, ccd_list_t *item); + +/** + * Removes item from list. + */ +_ccd_inline void ccdListDel(ccd_list_t *item); + + + +/// +/// INLINES: +/// + +_ccd_inline void ccdListInit(ccd_list_t *l) +{ +    l->next = l; +    l->prev = l; +} + +_ccd_inline ccd_list_t *ccdListNext(ccd_list_t *l) +{ +    return l->next; +} + +_ccd_inline ccd_list_t *ccdListPrev(ccd_list_t *l) +{ +    return l->prev; +} + +_ccd_inline int ccdListEmpty(const ccd_list_t *head) +{ +    return head->next == head; +} + +_ccd_inline void ccdListAppend(ccd_list_t *l, ccd_list_t *newccd) +{ +    newccd->prev = l->prev; +    newccd->next = l; +    l->prev->next = newccd; +    l->prev = newccd; +} + +_ccd_inline void ccdListDel(ccd_list_t *item) +{ +    item->next->prev = item->prev; +    item->prev->next = item->next; +    item->next = item; +    item->prev = item; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_LIST_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/polytope.h b/libs/ode-0.16.1/libccd/src/ccd/polytope.h new file mode 100644 index 0000000..c9ee2ab --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/polytope.h @@ -0,0 +1,322 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_POLYTOPE_H__ +#define __CCD_POLYTOPE_H__ + +#include <stdlib.h> +#include <stdio.h> +#include <ccd/support.h> +#include <ccd/list.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#define CCD_PT_VERTEX 1 +#define CCD_PT_EDGE   2 +#define CCD_PT_FACE   3 + + +#define __CCD_PT_EL \ +    int type;           /*! type of element */ \ +    ccd_real_t dist;        /*! distance from origin */ \ +    ccd_vec3_t witness; /*! witness point of projection of origin */ \ +    ccd_list_t list;    /*! list of elements of same type */ + +/** + * General polytope element. + * Could be vertex, edge or triangle. + */ +struct _ccd_pt_el_t { +    __CCD_PT_EL +}; +typedef struct _ccd_pt_el_t ccd_pt_el_t; + +struct _ccd_pt_edge_t; +struct _ccd_pt_face_t; + +/** + * Polytope's vertex. + */ +struct _ccd_pt_vertex_t { +    __CCD_PT_EL + +    int id; +    ccd_support_t v; +    ccd_list_t edges; //!< List of edges +}; +typedef struct _ccd_pt_vertex_t ccd_pt_vertex_t; + +/** + * Polytope's edge. + */ +struct _ccd_pt_edge_t { +    __CCD_PT_EL + +    ccd_pt_vertex_t *vertex[2]; //!< Reference to vertices +    struct _ccd_pt_face_t *faces[2]; //!< Reference to faces + +    ccd_list_t vertex_list[2]; //!< List items in vertices' lists +}; +typedef struct _ccd_pt_edge_t ccd_pt_edge_t; + +/** + * Polytope's triangle faces. + */ +struct _ccd_pt_face_t { +    __CCD_PT_EL + +    ccd_pt_edge_t *edge[3]; //!< Reference to surrounding edges +}; +typedef struct _ccd_pt_face_t ccd_pt_face_t; + + +/** + * Struct containing polytope. + */ +struct _ccd_pt_t { +    ccd_list_t vertices; //!< List of vertices +    ccd_list_t edges; //!< List of edges +    ccd_list_t faces; //!< List of faces + +    ccd_pt_el_t *nearest; +    ccd_real_t nearest_dist; +    int nearest_type; +}; +typedef struct _ccd_pt_t ccd_pt_t; + + +void ccdPtInit(ccd_pt_t *pt); +void ccdPtDestroy(ccd_pt_t *pt); + +/** + * Returns vertices surrounding given triangle face. + */ +_ccd_inline void ccdPtFaceVec3(const ccd_pt_face_t *face, +                               ccd_vec3_t **a, +                               ccd_vec3_t **b, +                               ccd_vec3_t **c); +_ccd_inline void ccdPtFaceVertices(const ccd_pt_face_t *face, +                                   ccd_pt_vertex_t **a, +                                   ccd_pt_vertex_t **b, +                                   ccd_pt_vertex_t **c); +_ccd_inline void ccdPtFaceEdges(const ccd_pt_face_t *f, +                                ccd_pt_edge_t **a, +                                ccd_pt_edge_t **b, +                                ccd_pt_edge_t **c); + +_ccd_inline void ccdPtEdgeVec3(const ccd_pt_edge_t *e, +                               ccd_vec3_t **a, +                               ccd_vec3_t **b); +_ccd_inline void ccdPtEdgeVertices(const ccd_pt_edge_t *e, +                                   ccd_pt_vertex_t **a, +                                   ccd_pt_vertex_t **b); +_ccd_inline void ccdPtEdgeFaces(const ccd_pt_edge_t *e, +                                ccd_pt_face_t **f1, +                                ccd_pt_face_t **f2); + + +/** + * Adds vertex to polytope and returns pointer to newly created vertex. + */ +ccd_pt_vertex_t *ccdPtAddVertex(ccd_pt_t *pt, const ccd_support_t *v); +_ccd_inline ccd_pt_vertex_t *ccdPtAddVertexCoords(ccd_pt_t *pt, +                                                  ccd_real_t x, ccd_real_t y, ccd_real_t z); + +/** + * Adds edge to polytope. + */ +ccd_pt_edge_t *ccdPtAddEdge(ccd_pt_t *pt, ccd_pt_vertex_t *v1, +                                          ccd_pt_vertex_t *v2); + +/** + * Adds face to polytope. + */ +ccd_pt_face_t *ccdPtAddFace(ccd_pt_t *pt, ccd_pt_edge_t *e1, +                                          ccd_pt_edge_t *e2, +                                          ccd_pt_edge_t *e3); + +/** + * Deletes vertex from polytope. + * Returns 0 on success, -1 otherwise. + */ +_ccd_inline int ccdPtDelVertex(ccd_pt_t *pt, ccd_pt_vertex_t *); +_ccd_inline int ccdPtDelEdge(ccd_pt_t *pt, ccd_pt_edge_t *); +_ccd_inline int ccdPtDelFace(ccd_pt_t *pt, ccd_pt_face_t *); + + +/** + * Recompute distances from origin for all elements in pt. + */ +void ccdPtRecomputeDistances(ccd_pt_t *pt); + +/** + * Returns nearest element to origin. + */ +ccd_pt_el_t *ccdPtNearest(ccd_pt_t *pt); + + +void ccdPtDumpSVT(ccd_pt_t *pt, const char *fn); +void ccdPtDumpSVT2(ccd_pt_t *pt, FILE *); + + +/**** INLINES ****/ +_ccd_inline ccd_pt_vertex_t *ccdPtAddVertexCoords(ccd_pt_t *pt, +                                                  ccd_real_t x, ccd_real_t y, ccd_real_t z) +{ +    ccd_support_t s; +    ccdVec3Set(&s.v, x, y, z); +    return ccdPtAddVertex(pt, &s); +} + +_ccd_inline int ccdPtDelVertex(ccd_pt_t *pt, ccd_pt_vertex_t *v) +{ +    // test if any edge is connected to this vertex +    if (!ccdListEmpty(&v->edges)) +        return -1; + +    // delete vertex from main list +    ccdListDel(&v->list); + +    if ((void *)pt->nearest == (void *)v){ +        pt->nearest = NULL; +    } + +    free(v); +    return 0; +} + +_ccd_inline int ccdPtDelEdge(ccd_pt_t *pt, ccd_pt_edge_t *e) +{ +    // text if any face is connected to this edge (faces[] is always +    // aligned to lower indices) +    if (e->faces[0] != NULL) +        return -1; + +    // disconnect edge from lists of edges in vertex struct +    ccdListDel(&e->vertex_list[0]); +    ccdListDel(&e->vertex_list[1]); + +    // disconnect edge from main list +    ccdListDel(&e->list); + +    if ((void *)pt->nearest == (void *)e){ +        pt->nearest = NULL; +    } + +    free(e); +    return 0; +} + +_ccd_inline int ccdPtDelFace(ccd_pt_t *pt, ccd_pt_face_t *f) +{ +    ccd_pt_edge_t *e; +    size_t i; + +    // remove face from edges' recerence lists +    for (i = 0; i < 3; i++){ +        e = f->edge[i]; +        if (e->faces[0] == f){ +            e->faces[0] = e->faces[1]; +        } +        e->faces[1] = NULL; +    } + +    // remove face from list of all faces +    ccdListDel(&f->list); + +    if ((void *)pt->nearest == (void *)f){ +        pt->nearest = NULL; +    } + +    free(f); +    return 0; +} + +_ccd_inline void ccdPtFaceVec3(const ccd_pt_face_t *face, +                               ccd_vec3_t **a, +                               ccd_vec3_t **b, +                               ccd_vec3_t **c) +{ +    *a = &face->edge[0]->vertex[0]->v.v; +    *b = &face->edge[0]->vertex[1]->v.v; + +    if (face->edge[1]->vertex[0] != face->edge[0]->vertex[0] +            && face->edge[1]->vertex[0] != face->edge[0]->vertex[1]){ +        *c = &face->edge[1]->vertex[0]->v.v; +    }else{ +        *c = &face->edge[1]->vertex[1]->v.v; +    } +} + +_ccd_inline void ccdPtFaceVertices(const ccd_pt_face_t *face, +                                   ccd_pt_vertex_t **a, +                                   ccd_pt_vertex_t **b, +                                   ccd_pt_vertex_t **c) +{ +    *a = face->edge[0]->vertex[0]; +    *b = face->edge[0]->vertex[1]; + +    if (face->edge[1]->vertex[0] != face->edge[0]->vertex[0] +            && face->edge[1]->vertex[0] != face->edge[0]->vertex[1]){ +        *c = face->edge[1]->vertex[0]; +    }else{ +        *c = face->edge[1]->vertex[1]; +    } +} + +_ccd_inline void ccdPtFaceEdges(const ccd_pt_face_t *f, +                                ccd_pt_edge_t **a, +                                ccd_pt_edge_t **b, +                                ccd_pt_edge_t **c) +{ +    *a = f->edge[0]; +    *b = f->edge[1]; +    *c = f->edge[2]; +} + +_ccd_inline void ccdPtEdgeVec3(const ccd_pt_edge_t *e, +                               ccd_vec3_t **a, +                               ccd_vec3_t **b) +{ +    *a = &e->vertex[0]->v.v; +    *b = &e->vertex[1]->v.v; +} + +_ccd_inline void ccdPtEdgeVertices(const ccd_pt_edge_t *e, +                                   ccd_pt_vertex_t **a, +                                   ccd_pt_vertex_t **b) +{ +    *a = e->vertex[0]; +    *b = e->vertex[1]; +} + +_ccd_inline void ccdPtEdgeFaces(const ccd_pt_edge_t *e, +                                ccd_pt_face_t **f1, +                                ccd_pt_face_t **f2) +{ +    *f1 = e->faces[0]; +    *f2 = e->faces[1]; +} + + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_POLYTOPE_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/precision.h.in b/libs/ode-0.16.1/libccd/src/ccd/precision.h.in new file mode 100644 index 0000000..4f98509 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/precision.h.in @@ -0,0 +1,14 @@ +#ifndef __CCD_PRECISION_H__ +#define __CCD_PRECISION_H__ + +/* define either CCD_SINGLE or CCD_DOUBLE */ + +#if defined(CCD_IDESINGLE) +#define CCD_SINGLE +#elif defined(CCD_IDEDOUBLE) +#define CCD_DOUBLE +#else +#define @CCD_PRECISION@ +#endif + +#endif diff --git a/libs/ode-0.16.1/libccd/src/ccd/quat.h b/libs/ode-0.16.1/libccd/src/ccd/quat.h new file mode 100644 index 0000000..3929671 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/quat.h @@ -0,0 +1,231 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_QUAT_H__ +#define __CCD_QUAT_H__ + +#include <ccd/compiler.h> +#include <ccd/vec3.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct _ccd_quat_t { +    ccd_real_t q[4]; //!< x, y, z, w +}; +typedef struct _ccd_quat_t ccd_quat_t; + +#define CCD_QUAT(name, x, y, z, w) \ +    ccd_quat_t name = { {x, y, z, w} } + +_ccd_inline ccd_real_t ccdQuatLen2(const ccd_quat_t *q); +_ccd_inline ccd_real_t ccdQuatLen(const ccd_quat_t *q); + +_ccd_inline void ccdQuatSet(ccd_quat_t *q, ccd_real_t x, ccd_real_t y, ccd_real_t z, ccd_real_t w); +_ccd_inline void ccdQuatCopy(ccd_quat_t *dest, const ccd_quat_t *src); + +_ccd_inline int ccdQuatNormalize(ccd_quat_t *q); + +_ccd_inline void ccdQuatSetAngleAxis(ccd_quat_t *q, +                                     ccd_real_t angle, const ccd_vec3_t *axis); + +_ccd_inline void ccdQuatScale(ccd_quat_t *q, ccd_real_t k); + +/** + * q = q * q2 + */ +_ccd_inline void ccdQuatMul(ccd_quat_t *q, const ccd_quat_t *q2); + +/** + * q = a * b + */ +_ccd_inline void ccdQuatMul2(ccd_quat_t *q, +                             const ccd_quat_t *a, const ccd_quat_t *b); + +/** + * Inverts quaternion. + * Returns 0 on success. + */ +_ccd_inline int ccdQuatInvert(ccd_quat_t *q); +_ccd_inline int ccdQuatInvert2(ccd_quat_t *dest, const ccd_quat_t *src); + + +/** + * Rotate vector v by quaternion q. + */ +_ccd_inline void ccdQuatRotVec(ccd_vec3_t *v, const ccd_quat_t *q); + + +/**** INLINES ****/ +_ccd_inline ccd_real_t ccdQuatLen2(const ccd_quat_t *q) +{ +    ccd_real_t len; + +    len  = q->q[0] * q->q[0]; +    len += q->q[1] * q->q[1]; +    len += q->q[2] * q->q[2]; +    len += q->q[3] * q->q[3]; + +    return len; +} + +_ccd_inline ccd_real_t ccdQuatLen(const ccd_quat_t *q) +{ +    return CCD_SQRT(ccdQuatLen2(q)); +} + +_ccd_inline void ccdQuatSet(ccd_quat_t *q, ccd_real_t x, ccd_real_t y, ccd_real_t z, ccd_real_t w) +{ +    q->q[0] = x; +    q->q[1] = y; +    q->q[2] = z; +    q->q[3] = w; +} + +_ccd_inline void ccdQuatCopy(ccd_quat_t *dest, const ccd_quat_t *src) +{ +    *dest = *src; +} + + +_ccd_inline int ccdQuatNormalize(ccd_quat_t *q) +{ +    ccd_real_t len = ccdQuatLen(q); +    if (len < CCD_EPS) +        return 0; + +    ccdQuatScale(q, CCD_ONE / len); +    return 1; +} + +_ccd_inline void ccdQuatSetAngleAxis(ccd_quat_t *q, +                                     ccd_real_t angle, const ccd_vec3_t *axis) +{ +    ccd_real_t a, x, y, z, n, s; + +    a = angle/2; +    x = ccdVec3X(axis); +    y = ccdVec3Y(axis); +    z = ccdVec3Z(axis); +    n = CCD_SQRT(x*x + y*y + z*z); + +    // axis==0? (treat this the same as angle==0 with an arbitrary axis) +    if (n < CCD_EPS){ +        q->q[0] = q->q[1] = q->q[2] = CCD_ZERO; +        q->q[3] = CCD_ONE; +    }else{ +        s = sin(a)/n; + +        q->q[3] = cos(a); +        q->q[0] = x*s; +        q->q[1] = y*s; +        q->q[2] = z*s; + +        ccdQuatNormalize(q); +    } +} + + +_ccd_inline void ccdQuatScale(ccd_quat_t *q, ccd_real_t k) +{ +    size_t i; +    for (i = 0; i < 4; i++) +        q->q[i] *= k; +} + +_ccd_inline void ccdQuatMul(ccd_quat_t *q, const ccd_quat_t *q2) +{ +    ccd_quat_t a; +    ccdQuatCopy(&a, q); +    ccdQuatMul2(q, &a, q2); +} + +_ccd_inline void ccdQuatMul2(ccd_quat_t *q, +                             const ccd_quat_t *a, const ccd_quat_t *b) +{ +    q->q[0] = a->q[3] * b->q[0] +                + a->q[0] * b->q[3] +                + a->q[1] * b->q[2] +                - a->q[2] * b->q[1]; +    q->q[1] = a->q[3] * b->q[1] +                + a->q[1] * b->q[3] +                - a->q[0] * b->q[2] +                + a->q[2] * b->q[0]; +    q->q[2] = a->q[3] * b->q[2] +                + a->q[2] * b->q[3] +                + a->q[0] * b->q[1] +                - a->q[1] * b->q[0]; +    q->q[3] = a->q[3] * b->q[3] +                - a->q[0] * b->q[0] +                - a->q[1] * b->q[1] +                - a->q[2] * b->q[2]; +} + +_ccd_inline int ccdQuatInvert(ccd_quat_t *q) +{ +    ccd_real_t len2 = ccdQuatLen2(q); +    if (len2 < CCD_EPS) +        return -1; + +    len2 = CCD_ONE / len2; + +    q->q[0] = -q->q[0] * len2; +    q->q[1] = -q->q[1] * len2; +    q->q[2] = -q->q[2] * len2; +    q->q[3] = q->q[3] * len2; + +    return 0; +} +_ccd_inline int ccdQuatInvert2(ccd_quat_t *dest, const ccd_quat_t *src) +{ +    ccdQuatCopy(dest, src); +    return ccdQuatInvert(dest); +} + +_ccd_inline void ccdQuatRotVec(ccd_vec3_t *v, const ccd_quat_t *q)
 +{
 +    // original version: 31 mul + 21 add
 +    // optimized version: 18 mul + 12 add
 +    // formula: v = v + 2 * cross(q.xyz, cross(q.xyz, v) + q.w * v)
 +    ccd_real_t cross1_x, cross1_y, cross1_z, cross2_x, cross2_y, cross2_z;
 +    ccd_real_t x, y, z, w;
 +    ccd_real_t vx, vy, vz;
 +
 +    vx = ccdVec3X(v);
 +    vy = ccdVec3Y(v);
 +    vz = ccdVec3Z(v);
 +
 +    w = q->q[3];
 +    x = q->q[0];
 +    y = q->q[1];
 +    z = q->q[2];
 +
 +    cross1_x = y * vz - z * vy + w * vx;
 +    cross1_y = z * vx - x * vz + w * vy;
 +    cross1_z = x * vy - y * vx + w * vz;
 +    cross2_x = y * cross1_z - z * cross1_y;
 +    cross2_y = z * cross1_x - x * cross1_z;
 +    cross2_z = x * cross1_y - y * cross1_x;
 +    ccdVec3Set(v, vx + 2 * cross2_x, vy + 2 * cross2_y, vz + 2 * cross2_z);
 +}
 + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_QUAT_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/simplex.h b/libs/ode-0.16.1/libccd/src/ccd/simplex.h new file mode 100644 index 0000000..1d07e39 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/simplex.h @@ -0,0 +1,104 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_SIMPLEX_H__ +#define __CCD_SIMPLEX_H__ + +#include <ccd/support.h> +#include <ccd/compiler.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct _ccd_simplex_t { +    ccd_support_t ps[4]; +    int last; /*!< index of last added point*/ +}; +typedef struct _ccd_simplex_t ccd_simplex_t; + + +_ccd_inline void ccdSimplexInit(ccd_simplex_t *s); +_ccd_inline int ccdSimplexSize(const ccd_simplex_t *s); +_ccd_inline const ccd_support_t *ccdSimplexLast(const ccd_simplex_t *s); +_ccd_inline const ccd_support_t *ccdSimplexPoint(const ccd_simplex_t *s, int idx); +_ccd_inline ccd_support_t *ccdSimplexPointW(ccd_simplex_t *s, int idx); + +_ccd_inline void ccdSimplexAdd(ccd_simplex_t *s, const ccd_support_t *v); +_ccd_inline void ccdSimplexSet(ccd_simplex_t *s, size_t pos, const ccd_support_t *a); +_ccd_inline void ccdSimplexSetSize(ccd_simplex_t *s, int size); +_ccd_inline void ccdSimplexSwap(ccd_simplex_t *s, size_t pos1, size_t pos2); + + +/**** INLINES ****/ + +_ccd_inline void ccdSimplexInit(ccd_simplex_t *s) +{ +    s->last = -1; +} + +_ccd_inline int ccdSimplexSize(const ccd_simplex_t *s) +{ +    return s->last + 1; +} + +_ccd_inline const ccd_support_t *ccdSimplexLast(const ccd_simplex_t *s) +{ +    return ccdSimplexPoint(s, s->last); +} + +_ccd_inline const ccd_support_t *ccdSimplexPoint(const ccd_simplex_t *s, int idx) +{ +    /* here is no check on boundaries */ +    return &s->ps[idx]; +} +_ccd_inline ccd_support_t *ccdSimplexPointW(ccd_simplex_t *s, int idx) +{ +    return &s->ps[idx]; +} + +_ccd_inline void ccdSimplexAdd(ccd_simplex_t *s, const ccd_support_t *v) +{ +    /* here is no check on boundaries in sake of speed */ +    ++s->last; +    ccdSupportCopy(s->ps + s->last, v); +} + +_ccd_inline void ccdSimplexSet(ccd_simplex_t *s, size_t pos, const ccd_support_t *a) +{ +    ccdSupportCopy(s->ps + pos, a); +} + +_ccd_inline void ccdSimplexSetSize(ccd_simplex_t *s, int size) +{ +    s->last = size - 1; +} + +_ccd_inline void ccdSimplexSwap(ccd_simplex_t *s, size_t pos1, size_t pos2) +{ +    ccd_support_t supp; + +    ccdSupportCopy(&supp, &s->ps[pos1]); +    ccdSupportCopy(&s->ps[pos1], &s->ps[pos2]); +    ccdSupportCopy(&s->ps[pos2], &supp); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_SIMPLEX_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/support.h b/libs/ode-0.16.1/libccd/src/ccd/support.h new file mode 100644 index 0000000..0a21b3e --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/support.h @@ -0,0 +1,57 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_SUPPORT_H__ +#define __CCD_SUPPORT_H__ + +#include <ccd/compiler.h> +#include <ccd/vec3.h> +#include <ccd/ccd.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct _ccd_support_t { +    ccd_vec3_t v;  /*!< Support point in minkowski sum*/ +    ccd_vec3_t v1; /*!< Support point in obj1*/ +    ccd_vec3_t v2; /*!< Support point in obj2*/ +}; +typedef struct _ccd_support_t ccd_support_t; + +_ccd_inline void ccdSupportCopy(ccd_support_t *, const ccd_support_t *s); + +/** + * Computes support point of obj1 and obj2 in direction dir. + * Support point is returned via supp. + */ +void __ccdSupport(const void *obj1, const void *obj2, +                  const ccd_vec3_t *dir, const ccd_t *ccd, +                  ccd_support_t *supp); + + +/**** INLINES ****/ +_ccd_inline void ccdSupportCopy(ccd_support_t *d, const ccd_support_t *s) +{ +    *d = *s; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_SUPPORT_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/ccd/vec3.h b/libs/ode-0.16.1/libccd/src/ccd/vec3.h new file mode 100644 index 0000000..d9175ed --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/ccd/vec3.h @@ -0,0 +1,340 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010,2011 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_VEC3_H__ +#define __CCD_VEC3_H__ + +#include <math.h> +#include <float.h> +#include <stdlib.h> + +#include <ccd/precision.h> +#include <ccd/compiler.h> + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +#ifndef CCD_SINGLE +# ifndef CCD_DOUBLE +#  error You must define CCD_SINGLE or CCD_DOUBLE +# endif /* CCD_DOUBLE */ +#endif /* CCD_SINGLE */ + + +#if defined(_MSC_VER) && _MSC_VER < 1700 +/* Define fmin, fmax, fminf, fmaxf which are missing from MSVC (up to VS2005 at least) */ +static __inline double fmin(double x, double y) { return __min(x, y); } +static __inline double fmax(double x, double y) { return __max(x, y); } +static __inline float fminf(float x, float y) { return __min(x, y); } +static __inline float fmaxf(float x, float y) { return __max(x, y); } + +#endif /* #if defined(_MSC_VER) */ + + +#ifdef CCD_SINGLE +# ifdef CCD_DOUBLE +#  error You can define either CCD_SINGLE or CCD_DOUBLE, not both! +# endif /* CCD_DOUBLE */ + +typedef float ccd_real_t; + +/*# define CCD_EPS 1E-6*/ +# define CCD_EPS FLT_EPSILON + +# define CCD_REAL_MAX FLT_MAX + +# define CCD_REAL(x) (x ## f)   /*!< form a constant */ +# define CCD_SQRT(x) (sqrtf(x)) /*!< square root */ +# define CCD_FABS(x) (fabsf(x)) /*!< absolute value */ +# define CCD_FMAX(x, y) (fmaxf((x), (y))) /*!< maximum of two floats */ +# define CCD_FMIN(x, y) (fminf((x), (y))) /*!< minimum of two floats */ +#endif /* CCD_SINGLE */ + +#ifdef CCD_DOUBLE +typedef double ccd_real_t; + +/*# define CCD_EPS 1E-10*/ +# define CCD_EPS DBL_EPSILON + +# define CCD_REAL_MAX DBL_MAX + +# define CCD_REAL(x) (x)       /*!< form a constant */ +# define CCD_SQRT(x) (sqrt(x)) /*!< square root */ +# define CCD_FABS(x) (fabs(x)) /*!< absolute value */ +# define CCD_FMAX(x, y) (fmax((x), (y))) /*!< maximum of two floats */ +# define CCD_FMIN(x, y) (fmin((x), (y))) /*!< minimum of two floats */ +#endif /* CCD_DOUBLE */ + +#define CCD_ONE CCD_REAL(1.) +#define CCD_ZERO CCD_REAL(0.) + +struct _ccd_vec3_t { +    ccd_real_t v[3]; +}; +typedef struct _ccd_vec3_t ccd_vec3_t; + + +/** + * Holds origin (0,0,0) - this variable is meant to be read-only! + */ +extern ccd_vec3_t *ccd_vec3_origin; + +/** + * Array of points uniformly distributed on unit sphere. + */ +extern ccd_vec3_t *ccd_points_on_sphere; +extern size_t ccd_points_on_sphere_len; + +/** Returns sign of value. */ +_ccd_inline int ccdSign(ccd_real_t val); +/** Returns true if val is zero. **/ +_ccd_inline int ccdIsZero(ccd_real_t val); +/** Returns true if a and b equal. **/ +_ccd_inline int ccdEq(ccd_real_t a, ccd_real_t b); + + +#define CCD_VEC3_STATIC(x, y, z) \ +    { { (x), (y), (z) } } + +#define CCD_VEC3(name, x, y, z) \ +    ccd_vec3_t name = CCD_VEC3_STATIC((x), (y), (z)) + +_ccd_inline ccd_real_t ccdVec3X(const ccd_vec3_t *v); +_ccd_inline ccd_real_t ccdVec3Y(const ccd_vec3_t *v); +_ccd_inline ccd_real_t ccdVec3Z(const ccd_vec3_t *v); + +/** + * Returns true if a and b equal. + */ +_ccd_inline int ccdVec3Eq(const ccd_vec3_t *a, const ccd_vec3_t *b); + +/** + * Returns squared length of vector. + */ +_ccd_inline ccd_real_t ccdVec3Len2(const ccd_vec3_t *v); + +/** + * Returns distance between a and b. + */ +_ccd_inline ccd_real_t ccdVec3Dist2(const ccd_vec3_t *a, const ccd_vec3_t *b); + + +_ccd_inline void ccdVec3Set(ccd_vec3_t *v, ccd_real_t x, ccd_real_t y, ccd_real_t z); + +/** + * v = w + */ +_ccd_inline void ccdVec3Copy(ccd_vec3_t *v, const ccd_vec3_t *w); + +/** + * Subtracts coordinates of vector w from vector v. v = v - w + */ +_ccd_inline void ccdVec3Sub(ccd_vec3_t *v, const ccd_vec3_t *w); + +/** + * Adds coordinates of vector w to vector v. v = v + w + */ +_ccd_inline void ccdVec3Add(ccd_vec3_t *v, const ccd_vec3_t *w); + +/** + * d = v - w + */ +_ccd_inline void ccdVec3Sub2(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *w); + +/** + * d = d * k; + */ +_ccd_inline void ccdVec3Scale(ccd_vec3_t *d, ccd_real_t k); + + +/** + * Normalizes given vector to unit length. + */ +_ccd_inline void ccdVec3Normalize(ccd_vec3_t *d); + + +/** + * Dot product of two vectors. + */ +_ccd_inline ccd_real_t ccdVec3Dot(const ccd_vec3_t *a, const ccd_vec3_t *b); + +/** + * Cross product: d = a x b. + */ +_ccd_inline void ccdVec3Cross(ccd_vec3_t *d, const ccd_vec3_t *a, const ccd_vec3_t *b); + + +/** + * Returns distance2 of point P to segment ab. + * If witness is non-NULL it is filled with coordinates of point from which + * was computed distance to point P. + */ +ccd_real_t ccdVec3PointSegmentDist2(const ccd_vec3_t *P, +                                const ccd_vec3_t *a, const ccd_vec3_t *b, +                                ccd_vec3_t *witness); + +/** + * Returns distance2 of point P from triangle formed by triplet a, b, c. + * If witness vector is provided it is filled with coordinates of point + * from which was computed distance to point P. + */ +ccd_real_t ccdVec3PointTriDist2(const ccd_vec3_t *P, +                            const ccd_vec3_t *a, const ccd_vec3_t *b, +                            const ccd_vec3_t *c, +                            ccd_vec3_t *witness); + + +/**** INLINES ****/ +_ccd_inline int ccdSign(ccd_real_t val) +{ +    if (ccdIsZero(val)){ +        return 0; +    }else if (val < CCD_ZERO){ +        return -1; +    } +    return 1; +} + +_ccd_inline int ccdIsZero(ccd_real_t val) +{ +    return CCD_FABS(val) < CCD_EPS; +} + +_ccd_inline int ccdEq(ccd_real_t _a, ccd_real_t _b) +{ +    ccd_real_t ab; +	ccd_real_t a, b; + +    ab = CCD_FABS(_a - _b); +    if (CCD_FABS(ab) < CCD_EPS) +        return 1; + +    a = CCD_FABS(_a); +    b = CCD_FABS(_b); +    if (b > a){ +        return ab < CCD_EPS * b; +    }else{ +        return ab < CCD_EPS * a; +    } +} + + +_ccd_inline ccd_real_t ccdVec3X(const ccd_vec3_t *v) +{ +    return v->v[0]; +} + +_ccd_inline ccd_real_t ccdVec3Y(const ccd_vec3_t *v) +{ +    return v->v[1]; +} + +_ccd_inline ccd_real_t ccdVec3Z(const ccd_vec3_t *v) +{ +    return v->v[2]; +} + +_ccd_inline int ccdVec3Eq(const ccd_vec3_t *a, const ccd_vec3_t *b) +{ +    return ccdEq(ccdVec3X(a), ccdVec3X(b)) +            && ccdEq(ccdVec3Y(a), ccdVec3Y(b)) +            && ccdEq(ccdVec3Z(a), ccdVec3Z(b)); +} + +_ccd_inline ccd_real_t ccdVec3Len2(const ccd_vec3_t *v) +{ +    return ccdVec3Dot(v, v); +} + +_ccd_inline ccd_real_t ccdVec3Dist2(const ccd_vec3_t *a, const ccd_vec3_t *b) +{ +    ccd_vec3_t ab; +    ccdVec3Sub2(&ab, a, b); +    return ccdVec3Len2(&ab); +} + +_ccd_inline void ccdVec3Set(ccd_vec3_t *v, ccd_real_t x, ccd_real_t y, ccd_real_t z) +{ +    v->v[0] = x; +    v->v[1] = y; +    v->v[2] = z; +} + +_ccd_inline void ccdVec3Copy(ccd_vec3_t *v, const ccd_vec3_t *w) +{ +    *v = *w; +} + +_ccd_inline void ccdVec3Sub(ccd_vec3_t *v, const ccd_vec3_t *w) +{ +    v->v[0] -= w->v[0]; +    v->v[1] -= w->v[1]; +    v->v[2] -= w->v[2]; +} + +_ccd_inline void ccdVec3Sub2(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *w) +{ +    d->v[0] = v->v[0] - w->v[0]; +    d->v[1] = v->v[1] - w->v[1]; +    d->v[2] = v->v[2] - w->v[2]; +} + +_ccd_inline void ccdVec3Add(ccd_vec3_t *v, const ccd_vec3_t *w) +{ +    v->v[0] += w->v[0]; +    v->v[1] += w->v[1]; +    v->v[2] += w->v[2]; +} + +_ccd_inline void ccdVec3Scale(ccd_vec3_t *d, ccd_real_t k) +{ +    d->v[0] *= k; +    d->v[1] *= k; +    d->v[2] *= k; +} + +_ccd_inline void ccdVec3Normalize(ccd_vec3_t *d) +{ +    ccd_real_t k = CCD_ONE / CCD_SQRT(ccdVec3Len2(d)); +    ccdVec3Scale(d, k); +} + +_ccd_inline ccd_real_t ccdVec3Dot(const ccd_vec3_t *a, const ccd_vec3_t *b) +{ +    ccd_real_t dot; + +    dot  = a->v[0] * b->v[0]; +    dot += a->v[1] * b->v[1]; +    dot += a->v[2] * b->v[2]; +    return dot; +} + +_ccd_inline void ccdVec3Cross(ccd_vec3_t *d, const ccd_vec3_t *a, const ccd_vec3_t *b) +{ +    d->v[0] = (a->v[1] * b->v[2]) - (a->v[2] * b->v[1]); +    d->v[1] = (a->v[2] * b->v[0]) - (a->v[0] * b->v[2]); +    d->v[2] = (a->v[0] * b->v[1]) - (a->v[1] * b->v[0]); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_VEC3_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/config.h.in b/libs/ode-0.16.1/libccd/src/config.h.in new file mode 100644 index 0000000..f928422 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/config.h.in @@ -0,0 +1,97 @@ +/* src/config.h.in.  Generated from configure.ac by autoheader.  */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#undef HAVE_CLOCK_GETTIME + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <float.h> header file. */ +#undef HAVE_FLOAT_H + +/* Define to 1 if you have the `fork' function. */ +#undef HAVE_FORK + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `rt' library (-lrt). */ +#undef HAVE_LIBRT + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vfork' function. */ +#undef HAVE_VFORK + +/* Define to 1 if you have the <vfork.h> header file. */ +#undef HAVE_VFORK_H + +/* Define to 1 if `fork' works. */ +#undef HAVE_WORKING_FORK + +/* Define to 1 if `vfork' works. */ +#undef HAVE_WORKING_VFORK + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to `int' if <sys/types.h> does not define. */ +#undef pid_t + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +#undef size_t + +/* Define as `fork' if `vfork' does not work. */ +#undef vfork diff --git a/libs/ode-0.16.1/libccd/src/custom/ccdcustom/quat.h b/libs/ode-0.16.1/libccd/src/custom/ccdcustom/quat.h new file mode 100644 index 0000000..157dd85 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/custom/ccdcustom/quat.h @@ -0,0 +1,69 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_CUSTOM_QUAT_H__ +#define __CCD_CUSTOM_QUAT_H__ + +#include <ccd/quat.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * Rotate vector s by quaternion q and put result into d. + */ +_ccd_inline void ccdQuatRotVec2(ccd_vec3_t *d, const ccd_vec3_t *s, const ccd_quat_t *q); + + +_ccd_inline void ccdQuatRotVec2(ccd_vec3_t *d, const ccd_vec3_t *s, const ccd_quat_t *q) +{ +#ifndef dLIBCCD_USE_SYSTEM +    // original version: 31 mul + 21 add +    // optimized version: 18 mul + 12 add +    // formula: d = s + 2 * cross(q.xyz, cross(q.xyz, v) + q.w * s) +    ccd_real_t cross1_x, cross1_y, cross1_z, cross2_x, cross2_y, cross2_z; +    ccd_real_t x, y, z, w; +    ccd_real_t vx, vy, vz; + +    vx = ccdVec3X(s); +    vy = ccdVec3Y(s); +    vz = ccdVec3Z(s); + +    w = q->q[3]; +    x = q->q[0]; +    y = q->q[1]; +    z = q->q[2]; + +    cross1_x = y * vz - z * vy + w * vx; +    cross1_y = z * vx - x * vz + w * vy; +    cross1_z = x * vy - y * vx + w * vz; +    cross2_x = y * cross1_z - z * cross1_y; +    cross2_y = z * cross1_x - x * cross1_z; +    cross2_z = x * cross1_y - y * cross1_x; +    ccdVec3Set(d, vx + 2 * cross2_x, vy + 2 * cross2_y, vz + 2 * cross2_z); +#else +    ccdVec3Copy(d, s); +    ccdQuatRotVec(d, q); +#endif +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_QUAT_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/custom/ccdcustom/vec3.h b/libs/ode-0.16.1/libccd/src/custom/ccdcustom/vec3.h new file mode 100644 index 0000000..2ac2f22 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/custom/ccdcustom/vec3.h @@ -0,0 +1,114 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010,2011 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#ifndef __CCD_CUSTOM_VEC3_H__ +#define __CCD_CUSTOM_VEC3_H__ + +#include <ccd/vec3.h> + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +#ifdef CCD_SINGLE +# define CCD_ATAN2(x, y) (atan2f((x), (y))) /*!< atan2 of two floats */ +#endif /* CCD_SINGLE */ + +#ifdef CCD_DOUBLE +# define CCD_ATAN2(x, y) (atan2((x), (y))) /*!< atan2 of two floats */ +#endif /* CCD_DOUBLE */ + +/** + * d = v + w + */ +_ccd_inline void ccdVec3Add2(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *w); + +/** + * d = s * k; + */ +_ccd_inline void ccdVec3CopyScaled(ccd_vec3_t *d, const ccd_vec3_t *s, ccd_real_t k); + +/** + * d = v + s * k; + */ +_ccd_inline void ccdVec3AddScaled(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *s, ccd_real_t k); + + +/** + * Normalizes given vector to unit length. + */ +_ccd_inline int ccdVec3SafeNormalize(ccd_vec3_t *d); + + +_ccd_inline void ccdVec3Add2(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *w) +{ +#ifndef dLIBCCD_USE_SYSTEM +    d->v[0] = v->v[0] + w->v[0]; +    d->v[1] = v->v[1] + w->v[1]; +    d->v[2] = v->v[2] + w->v[2]; +#else +    ccdVec3Copy(d, v); +    ccdVec3Add(d, w); +#endif +} + +_ccd_inline void ccdVec3CopyScaled(ccd_vec3_t *d, const ccd_vec3_t *s, ccd_real_t k) +{ +#ifndef dLIBCCD_USE_SYSTEM +    d->v[0] = s->v[0] * k; +    d->v[1] = s->v[1] * k; +    d->v[2] = s->v[2] * k; +#else +    ccdVec3Copy(d, s); +    ccdVec3Scale(d, k); +#endif +} + +_ccd_inline void ccdVec3AddScaled(ccd_vec3_t *d, const ccd_vec3_t *v, const ccd_vec3_t *s, ccd_real_t k) +{ +#ifndef dLIBCCD_USE_SYSTEM +    d->v[0] = v->v[0] + s->v[0] * k; +    d->v[1] = v->v[1] + s->v[1] * k; +    d->v[2] = v->v[2] + s->v[2] * k; +#else +    ccdVec3Copy(d, s); +    ccdVec3Scale(d, k); +    ccdVec3Add(d, v); +#endif +} + +_ccd_inline int ccdVec3SafeNormalize(ccd_vec3_t *d) +{ +    int result = -1; + +    ccd_real_t len = CCD_SQRT(ccdVec3Len2(d)); +    if (len >= CCD_EPS) { +        ccdVec3Scale(d, CCD_ONE / len); +        result = 0; +    } + +    return result; +} + + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_CUSTOM_VEC3_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/mpr.c b/libs/ode-0.16.1/libccd/src/mpr.c new file mode 100644 index 0000000..072a99b --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/mpr.c @@ -0,0 +1,572 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010,2011 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdlib.h> +#include <ccd/ccd.h> +#include <ccdcustom/vec3.h> +#include <ccd/simplex.h> +#include <ccd/dbg.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +/** Finds origin (center) of Minkowski difference (actually it can be any + *  interior point of Minkowski difference. */ +_ccd_inline void findOrigin(const void *obj1, const void *obj2, const ccd_t *ccd, +                            ccd_support_t *center); + +/** Discovers initial portal - that is tetrahedron that intersects with + *  origin ray (ray from center of Minkowski diff to (0,0,0). + * + *  Returns -1 if already recognized that origin is outside Minkowski + *  portal. + *  Returns 1 if origin lies on v1 of simplex (only v0 and v1 are present + *  in simplex). + *  Returns 2 if origin lies on v0-v1 segment. + *  Returns 0 if portal was built. + */ +static int discoverPortal(const void *obj1, const void *obj2, +                          const ccd_t *ccd, ccd_simplex_t *portal); + + +/** Expands portal towards origin and determine if objects intersect. + *  Already established portal must be given as argument. + *  If intersection is found 0 is returned, -1 otherwise */ +static int refinePortal(const void *obj1, const void *obj2, +                        const ccd_t *ccd, ccd_simplex_t *portal); + +/** Finds penetration info by expanding provided portal. */ +static int findPenetr(const void *obj1, const void *obj2, const ccd_t *ccd, +                       ccd_simplex_t *portal, +                       ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos); + +/** Finds penetration info if origin lies on portal's v1 */ +static void findPenetrTouch(const void *obj1, const void *obj2, const ccd_t *ccd, +                            ccd_simplex_t *portal, +                            ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos); + +/** Find penetration info if origin lies on portal's segment v0-v1 */ +static int findPenetrSegment(const void *obj1, const void *obj2, const ccd_t *ccd, +                              ccd_simplex_t *portal, +                              ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos); + +/** Finds position vector from fully established portal */ +static int findPos(const void *obj1, const void *obj2, const ccd_t *ccd, +                    const ccd_simplex_t *portal, ccd_vec3_t *pos); + +/** Extends portal with new support point. + *  Portal must have face v1-v2-v3 arranged to face outside portal. */ +_ccd_inline void expandPortal(ccd_simplex_t *portal, +                              const ccd_support_t *v4); + +/** Fill dir with direction outside portal. Portal's v1-v2-v3 face must be + *  arranged in correct order! */ +_ccd_inline int portalDir(const ccd_simplex_t *portal, ccd_vec3_t *dir); + +/** Returns true if portal encapsules origin (0,0,0), dir is direction of + *  v1-v2-v3 face. */ +_ccd_inline int portalEncapsulesOrigin(const ccd_simplex_t *portal, +                                       const ccd_vec3_t *dir); + +/** Returns true if portal with new point v4 would reach specified + *  tolerance (i.e. returns true if portal can _not_ significantly expand + *  within Minkowski difference). + * + *  v4 is candidate for new point in portal, dir is direction in which v4 + *  was obtained. */ +_ccd_inline int portalReachTolerance(const ccd_simplex_t *portal, +                                     const ccd_support_t *v4, +                                     const ccd_vec3_t *dir, +                                     const ccd_t *ccd); + +/** Returns true if portal expanded by new point v4 could possibly contain + *  origin, dir is direction in which v4 was obtained. */ +_ccd_inline int portalCanEncapsuleOrigin(const ccd_simplex_t *portal,    +                                         const ccd_support_t *v4, +                                         const ccd_vec3_t *dir); + + +int ccdMPRIntersect(const void *obj1, const void *obj2, const ccd_t *ccd) +{ +    ccd_simplex_t portal; +    int res; + +    // Phase 1: Portal discovery - find portal that intersects with origin +    // ray (ray from center of Minkowski diff to origin of coordinates) +    res = discoverPortal(obj1, obj2, ccd, &portal); +    if (res < 0) +        return 0; +    if (res > 0) +        return 1; + +    // Phase 2: Portal refinement +    res = refinePortal(obj1, obj2, ccd, &portal); +    return (res == 0 ? 1 : 0); +} + +int ccdMPRPenetration(const void *obj1, const void *obj2, const ccd_t *ccd, +                      ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos) +{ +    ccd_simplex_t portal; +    int res; + +    // Phase 1: Portal discovery +    res = discoverPortal(obj1, obj2, ccd, &portal); +    if (res < 0){ +        // Origin isn't inside portal - no collision. +        return -1; + +    }else if (res == 1){ +        // Touching contact on portal's v1. +        findPenetrTouch(obj1, obj2, ccd, &portal, depth, dir, pos); + +    }else if (res == 2){ +        // Origin lies on v0-v1 segment. +        if (findPenetrSegment(obj1, obj2, ccd, &portal, depth, dir, pos) != 0) { +            return -1; +        } + +    }else if (res == 0){ +        // Phase 2: Portal refinement +        res = refinePortal(obj1, obj2, ccd, &portal); +        if (res < 0) { +            return -1; +        } + +        // Phase 3. Penetration info +        if (findPenetr(obj1, obj2, ccd, &portal, depth, dir, pos) != 0) { +            return -1; +        } +    } + +    return 0; +} + + + +_ccd_inline void findOrigin(const void *obj1, const void *obj2, const ccd_t *ccd, +                            ccd_support_t *center) +{ +    ccd->center1(obj1, ¢er->v1); +    ccd->center2(obj2, ¢er->v2); +    ccdVec3Sub2(¢er->v, ¢er->v1, ¢er->v2); +} + +static int discoverPortal(const void *obj1, const void *obj2, +                          const ccd_t *ccd, ccd_simplex_t *portal) +{ +    ccd_vec3_t dir, va, vb; +    ccd_real_t dot; +    int cont; + +    // vertex 0 is center of portal +    findOrigin(obj1, obj2, ccd, ccdSimplexPointW(portal, 0)); +    ccdSimplexSetSize(portal, 1); + +    if (ccdVec3Eq(&ccdSimplexPoint(portal, 0)->v, ccd_vec3_origin)){ +        // Portal's center lies on origin (0,0,0) => we know that objects +        // intersect but we would need to know penetration info. +        // So move center little bit... +        ccdVec3Set(&va, CCD_EPS * CCD_REAL(10.), CCD_ZERO, CCD_ZERO); +        ccdVec3Add(&ccdSimplexPointW(portal, 0)->v, &va); +    } + + +    // vertex 1 = support in direction of origin +    ccdVec3Copy(&dir, &ccdSimplexPoint(portal, 0)->v); +    ccdVec3Scale(&dir, CCD_REAL(-1.)); +    if (ccdVec3SafeNormalize(&dir) != 0) { +        return -1; +    } +    __ccdSupport(obj1, obj2, &dir, ccd, ccdSimplexPointW(portal, 1)); +    ccdSimplexSetSize(portal, 2); + +    // test if origin isn't outside of v1 +    dot = ccdVec3Dot(&ccdSimplexPoint(portal, 1)->v, &dir); +    if (ccdIsZero(dot) || dot < CCD_ZERO) +        return -1; + + +    // vertex 2 +    ccdVec3Cross(&dir, &ccdSimplexPoint(portal, 0)->v, +                       &ccdSimplexPoint(portal, 1)->v); +    if (ccdIsZero(ccdVec3Len2(&dir))){ +        if (ccdVec3Eq(&ccdSimplexPoint(portal, 1)->v, ccd_vec3_origin)){ +            // origin lies on v1 +            return 1; +        }else{ +            // origin lies on v0-v1 segment +            return 2; +        } +    } + +    if (ccdVec3SafeNormalize(&dir) != 0) { +        return -1; +    } +    __ccdSupport(obj1, obj2, &dir, ccd, ccdSimplexPointW(portal, 2)); +    dot = ccdVec3Dot(&ccdSimplexPoint(portal, 2)->v, &dir); +    if (ccdIsZero(dot) || dot < CCD_ZERO) { +        return -1; +    } + +    ccdSimplexSetSize(portal, 3); + +    // vertex 3 direction +    ccdVec3Sub2(&va, &ccdSimplexPoint(portal, 1)->v, +                     &ccdSimplexPoint(portal, 0)->v); +    ccdVec3Sub2(&vb, &ccdSimplexPoint(portal, 2)->v, +                     &ccdSimplexPoint(portal, 0)->v); +    ccdVec3Cross(&dir, &va, &vb); +    if (ccdVec3SafeNormalize(&dir) != 0) { +        return -1; +    } + +    // it is better to form portal faces to be oriented "outside" origin +    dot = ccdVec3Dot(&dir, &ccdSimplexPoint(portal, 0)->v); +    if (dot > CCD_ZERO){ +        ccdSimplexSwap(portal, 1, 2); +        ccdVec3Scale(&dir, CCD_REAL(-1.)); +    } + +    while (ccdSimplexSize(portal) < 4){ +        __ccdSupport(obj1, obj2, &dir, ccd, ccdSimplexPointW(portal, 3)); +        dot = ccdVec3Dot(&ccdSimplexPoint(portal, 3)->v, &dir); +        if (ccdIsZero(dot) || dot < CCD_ZERO) { +            return -1; +        } + +        cont = 0; + +        // test if origin is outside (v1, v0, v3) - set v2 as v3 and +        // continue +        ccdVec3Cross(&va, &ccdSimplexPoint(portal, 1)->v, +                          &ccdSimplexPoint(portal, 3)->v); +        dot = ccdVec3Dot(&va, &ccdSimplexPoint(portal, 0)->v); +        if (dot < CCD_ZERO && !ccdIsZero(dot)){ +            ccdSimplexSet(portal, 2, ccdSimplexPoint(portal, 3)); +            cont = 1; +        } + +        if (!cont){ +            // test if origin is outside (v3, v0, v2) - set v1 as v3 and +            // continue +            ccdVec3Cross(&va, &ccdSimplexPoint(portal, 3)->v, +                              &ccdSimplexPoint(portal, 2)->v); +            dot = ccdVec3Dot(&va, &ccdSimplexPoint(portal, 0)->v); +            if (dot < CCD_ZERO && !ccdIsZero(dot)){ +                ccdSimplexSet(portal, 1, ccdSimplexPoint(portal, 3)); +                cont = 1; +            } +        } + +        if (cont){ +            ccdVec3Sub2(&va, &ccdSimplexPoint(portal, 1)->v, +                             &ccdSimplexPoint(portal, 0)->v); +            ccdVec3Sub2(&vb, &ccdSimplexPoint(portal, 2)->v, +                             &ccdSimplexPoint(portal, 0)->v); +            ccdVec3Cross(&dir, &va, &vb); +            if (ccdVec3SafeNormalize(&dir) != 0) { +                return -1; +            } +        }else{ +            ccdSimplexSetSize(portal, 4); +        } +    } + +    return 0; +} + +static int refinePortal(const void *obj1, const void *obj2, +                        const ccd_t *ccd, ccd_simplex_t *portal) +{ +    ccd_vec3_t dir; +    ccd_support_t v4; + +    while (1){ +        // compute direction outside the portal (from v0 throught v1,v2,v3 +        // face) +        if (portalDir(portal, &dir) != 0) { +            return -1; +        } + +        // test if origin is inside the portal +        if (portalEncapsulesOrigin(portal, &dir)) +            return 0; + +        // get next support point +        __ccdSupport(obj1, obj2, &dir, ccd, &v4); + +        // test if v4 can expand portal to contain origin and if portal +        // expanding doesn't reach given tolerance +        if (!portalCanEncapsuleOrigin(portal, &v4, &dir) +                || portalReachTolerance(portal, &v4, &dir, ccd)){ +            return -1; +        } + +        // v1-v2-v3 triangle must be rearranged to face outside Minkowski +        // difference (direction from v0). +        expandPortal(portal, &v4); +    } + +    return -1; +} + + +static int findPenetr(const void *obj1, const void *obj2, const ccd_t *ccd, +                       ccd_simplex_t *portal, +                       ccd_real_t *depth, ccd_vec3_t *pdir, ccd_vec3_t *pos) +{ +    ccd_vec3_t dir; +    ccd_support_t v4; +    unsigned long iterations; + +    iterations = 0UL; +    while (1){ +        // compute portal direction and obtain next support point +        if (portalDir(portal, &dir) != 0) { +            return -1; +        } + +        __ccdSupport(obj1, obj2, &dir, ccd, &v4); + +        // reached tolerance -> find penetration info +        if (portalReachTolerance(portal, &v4, &dir, ccd) +                || iterations > ccd->max_iterations){ +            *depth = ccdVec3PointTriDist2(ccd_vec3_origin, +                                          &ccdSimplexPoint(portal, 1)->v, +                                          &ccdSimplexPoint(portal, 2)->v, +                                          &ccdSimplexPoint(portal, 3)->v, +                                          pdir); +            *depth = CCD_SQRT(*depth); +            if (ccdVec3SafeNormalize(pdir) != 0) { +                return -1; +            } + +            // barycentric coordinates: +            if (findPos(obj1, obj2, ccd, portal, pos) != 0) { +                return -1; +            } + +            return 0; +        } + +        expandPortal(portal, &v4); + +        iterations++; +    } +} + +static void findPenetrTouch(const void *obj1, const void *obj2, const ccd_t *ccd, +                            ccd_simplex_t *portal, +                            ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos) +{ +    // Touching contact on portal's v1 - so depth is zero and direction +    // is unimportant and pos can be guessed +    *depth = CCD_REAL(0.); +    ccdVec3Copy(dir, ccd_vec3_origin); + +    ccdVec3Copy(pos, &ccdSimplexPoint(portal, 1)->v1); +    ccdVec3Add(pos, &ccdSimplexPoint(portal, 1)->v2); +    ccdVec3Scale(pos, 0.5); +} + +static int findPenetrSegment(const void *obj1, const void *obj2, const ccd_t *ccd, +                              ccd_simplex_t *portal, +                              ccd_real_t *depth, ccd_vec3_t *dir, ccd_vec3_t *pos) +{ +    /* +    ccd_vec3_t vec; +    ccd_real_t k; +    */ + +    // Origin lies on v0-v1 segment. +    // Depth is distance to v1, direction also and position must be +    // computed + +    ccdVec3Copy(pos, &ccdSimplexPoint(portal, 1)->v1); +    ccdVec3Add(pos, &ccdSimplexPoint(portal, 1)->v2); +    ccdVec3Scale(pos, CCD_REAL(0.5)); + +    /* +    ccdVec3Sub2(&vec, &ccdSimplexPoint(portal, 1)->v, +                      &ccdSimplexPoint(portal, 0)->v); +    k  = CCD_SQRT(ccdVec3Len2(&ccdSimplexPoint(portal, 0)->v)); +    k /= CCD_SQRT(ccdVec3Len2(&vec)); +    ccdVec3Scale(&vec, -k); +    ccdVec3Add(pos, &vec); +    */ + +    ccdVec3Copy(dir, &ccdSimplexPoint(portal, 1)->v); +    *depth = CCD_SQRT(ccdVec3Len2(dir)); +    if (ccdVec3SafeNormalize(dir) != 0) { +        return -1; +    } +    return 0; +} + + +static int findPos(const void *obj1, const void *obj2, const ccd_t *ccd, +                    const ccd_simplex_t *portal, ccd_vec3_t *pos) +{ +    ccd_vec3_t dir; +    size_t i; +    ccd_real_t b[4], sum, inv; +    ccd_vec3_t vec, p1, p2; + +    if (portalDir(portal, &dir) != 0) { +        return -1; +    } + +    // use barycentric coordinates of tetrahedron to find origin +    ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 1)->v, +                       &ccdSimplexPoint(portal, 2)->v); +    b[0] = ccdVec3Dot(&vec, &ccdSimplexPoint(portal, 3)->v); + +    ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 3)->v, +                       &ccdSimplexPoint(portal, 2)->v); +    b[1] = ccdVec3Dot(&vec, &ccdSimplexPoint(portal, 0)->v); + +    ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 0)->v, +                       &ccdSimplexPoint(portal, 1)->v); +    b[2] = ccdVec3Dot(&vec, &ccdSimplexPoint(portal, 3)->v); + +    ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 2)->v, +                       &ccdSimplexPoint(portal, 1)->v); +    b[3] = ccdVec3Dot(&vec, &ccdSimplexPoint(portal, 0)->v); + +	sum = b[0] + b[1] + b[2] + b[3]; + +    if (ccdIsZero(sum) || sum < CCD_ZERO){ +		b[0] = CCD_REAL(0.); + +        ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 2)->v, +                           &ccdSimplexPoint(portal, 3)->v); +        b[1] = ccdVec3Dot(&vec, &dir); +        ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 3)->v, +                           &ccdSimplexPoint(portal, 1)->v); +        b[2] = ccdVec3Dot(&vec, &dir); +        ccdVec3Cross(&vec, &ccdSimplexPoint(portal, 1)->v, +                           &ccdSimplexPoint(portal, 2)->v); +        b[3] = ccdVec3Dot(&vec, &dir); + +		sum = b[1] + b[2] + b[3]; +	} + +	inv = CCD_REAL(1.) / sum; + +    ccdVec3Copy(&p1, ccd_vec3_origin); +    ccdVec3Copy(&p2, ccd_vec3_origin); +    for (i = 0; i < 4; i++){ +        ccdVec3Copy(&vec, &ccdSimplexPoint(portal, i)->v1); +        ccdVec3Scale(&vec, b[i]); +        ccdVec3Add(&p1, &vec); + +        ccdVec3Copy(&vec, &ccdSimplexPoint(portal, i)->v2); +        ccdVec3Scale(&vec, b[i]); +        ccdVec3Add(&p2, &vec); +    } +    ccdVec3Scale(&p1, inv); +    ccdVec3Scale(&p2, inv); + +    ccdVec3Copy(pos, &p1); +    ccdVec3Add(pos, &p2); +    ccdVec3Scale(pos, 0.5); +    return 0; +} + +_ccd_inline void expandPortal(ccd_simplex_t *portal, +                              const ccd_support_t *v4) +{ +    ccd_real_t dot; +    ccd_vec3_t v4v0; + +    ccdVec3Cross(&v4v0, &v4->v, &ccdSimplexPoint(portal, 0)->v); +    dot = ccdVec3Dot(&ccdSimplexPoint(portal, 1)->v, &v4v0); +    if (dot > CCD_ZERO){ +        dot = ccdVec3Dot(&ccdSimplexPoint(portal, 2)->v, &v4v0); +        if (dot > CCD_ZERO){ +            ccdSimplexSet(portal, 1, v4); +        }else{ +            ccdSimplexSet(portal, 3, v4); +        } +    }else{ +        dot = ccdVec3Dot(&ccdSimplexPoint(portal, 3)->v, &v4v0); +        if (dot > CCD_ZERO){ +            ccdSimplexSet(portal, 2, v4); +        }else{ +            ccdSimplexSet(portal, 1, v4); +        } +    } +} + +_ccd_inline int portalDir(const ccd_simplex_t *portal, ccd_vec3_t *dir) +{ +    ccd_vec3_t v2v1, v3v1; + +    ccdVec3Sub2(&v2v1, &ccdSimplexPoint(portal, 2)->v, +                       &ccdSimplexPoint(portal, 1)->v); +    ccdVec3Sub2(&v3v1, &ccdSimplexPoint(portal, 3)->v, +                       &ccdSimplexPoint(portal, 1)->v); +    ccdVec3Cross(dir, &v2v1, &v3v1); +    if (ccdVec3SafeNormalize(dir) != 0) { +        return -1; +    } +    return 0; +} + +_ccd_inline int portalEncapsulesOrigin(const ccd_simplex_t *portal, +                                       const ccd_vec3_t *dir) +{ +    ccd_real_t dot; +    dot = ccdVec3Dot(dir, &ccdSimplexPoint(portal, 1)->v); +    return ccdIsZero(dot) || dot > CCD_ZERO; +} + +_ccd_inline int portalReachTolerance(const ccd_simplex_t *portal, +                                     const ccd_support_t *v4, +                                     const ccd_vec3_t *dir, +                                     const ccd_t *ccd) +{ +    ccd_real_t dv1, dv2, dv3, dv4; +    ccd_real_t dot1, dot2, dot3; + +    // find the smallest dot product of dir and {v1-v4, v2-v4, v3-v4} + +    dv1 = ccdVec3Dot(&ccdSimplexPoint(portal, 1)->v, dir); +    dv2 = ccdVec3Dot(&ccdSimplexPoint(portal, 2)->v, dir); +    dv3 = ccdVec3Dot(&ccdSimplexPoint(portal, 3)->v, dir); +    dv4 = ccdVec3Dot(&v4->v, dir); + +    dot1 = dv4 - dv1; +    dot2 = dv4 - dv2; +    dot3 = dv4 - dv3; + +    dot1 = CCD_FMIN(dot1, dot2); +    dot1 = CCD_FMIN(dot1, dot3); + +    return ccdEq(dot1, ccd->mpr_tolerance) || dot1 < ccd->mpr_tolerance; +} + +_ccd_inline int portalCanEncapsuleOrigin(const ccd_simplex_t *portal,    +                                         const ccd_support_t *v4, +                                         const ccd_vec3_t *dir) +{ +    ccd_real_t dot; +    dot = ccdVec3Dot(&v4->v, dir); +    return ccdIsZero(dot) || dot > CCD_ZERO; +} diff --git a/libs/ode-0.16.1/libccd/src/polytope.c b/libs/ode-0.16.1/libccd/src/polytope.c new file mode 100644 index 0000000..c340b8c --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/polytope.c @@ -0,0 +1,287 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdio.h> +#include <float.h> +#include <ccd/polytope.h> +#include <ccd/alloc.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +_ccd_inline void _ccdPtNearestUpdate(ccd_pt_t *pt, ccd_pt_el_t *el) +{ +    if (ccdEq(pt->nearest_dist, el->dist)){ +        if (el->type < pt->nearest_type){ +            pt->nearest = el; +            pt->nearest_dist = el->dist; +            pt->nearest_type = el->type; +        } +    }else if (el->dist < pt->nearest_dist){ +        pt->nearest = el; +        pt->nearest_dist = el->dist; +        pt->nearest_type = el->type; +    } +} + +static void _ccdPtNearestRenew(ccd_pt_t *pt) +{ +    ccd_pt_vertex_t *v; +    ccd_pt_edge_t *e; +    ccd_pt_face_t *f; + +    pt->nearest_dist = CCD_REAL_MAX; +    pt->nearest_type = 3; +    pt->nearest = NULL; + +    ccdListForEachEntry(&pt->vertices, v, ccd_pt_vertex_t, list){ +        _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)v); +    } + +    ccdListForEachEntry(&pt->edges, e, ccd_pt_edge_t, list){ +        _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)e); +    } + +    ccdListForEachEntry(&pt->faces, f, ccd_pt_face_t, list){ +        _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)f); +    } +} + + + +void ccdPtInit(ccd_pt_t *pt) +{ +    ccdListInit(&pt->vertices); +    ccdListInit(&pt->edges); +    ccdListInit(&pt->faces); + +    pt->nearest = NULL; +    pt->nearest_dist = CCD_REAL_MAX; +    pt->nearest_type = 3; +} + +void ccdPtDestroy(ccd_pt_t *pt) +{ +    ccd_pt_face_t *f, *f2; +    ccd_pt_edge_t *e, *e2; +    ccd_pt_vertex_t *v, *v2; + +    // first delete all faces +    ccdListForEachEntrySafe(&pt->faces, f, ccd_pt_face_t, f2, ccd_pt_face_t, list){ +        ccdPtDelFace(pt, f); +    } + +    // delete all edges +    ccdListForEachEntrySafe(&pt->edges, e, ccd_pt_edge_t, e2, ccd_pt_edge_t, list){ +        ccdPtDelEdge(pt, e); +    } + +    // delete all vertices +    ccdListForEachEntrySafe(&pt->vertices, v, ccd_pt_vertex_t, v2, ccd_pt_vertex_t, list){ +        ccdPtDelVertex(pt, v); +    } +} + + +ccd_pt_vertex_t *ccdPtAddVertex(ccd_pt_t *pt, const ccd_support_t *v) +{ +    ccd_pt_vertex_t *vert; + +    vert = CCD_ALLOC(ccd_pt_vertex_t); +    vert->type = CCD_PT_VERTEX; +    ccdSupportCopy(&vert->v, v); + +    vert->dist = ccdVec3Len2(&vert->v.v); +    ccdVec3Copy(&vert->witness, &vert->v.v); + +    ccdListInit(&vert->edges); + +    // add vertex to list +    ccdListAppend(&pt->vertices, &vert->list); + +    // update position in .nearest array +    _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)vert); + +    return vert; +} + +ccd_pt_edge_t *ccdPtAddEdge(ccd_pt_t *pt, ccd_pt_vertex_t *v1, +                                          ccd_pt_vertex_t *v2) +{ +    const ccd_vec3_t *a, *b; +    ccd_pt_edge_t *edge; + +    edge = CCD_ALLOC(ccd_pt_edge_t); +    edge->type = CCD_PT_EDGE; +    edge->vertex[0] = v1; +    edge->vertex[1] = v2; +    edge->faces[0] = edge->faces[1] = NULL; + +    a = &edge->vertex[0]->v.v; +    b = &edge->vertex[1]->v.v; +    edge->dist = ccdVec3PointSegmentDist2(ccd_vec3_origin, a, b, &edge->witness); + +    ccdListAppend(&edge->vertex[0]->edges, &edge->vertex_list[0]); +    ccdListAppend(&edge->vertex[1]->edges, &edge->vertex_list[1]); + +    ccdListAppend(&pt->edges, &edge->list); + +    // update position in .nearest array +    _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)edge); + +    return edge; +} + +ccd_pt_face_t *ccdPtAddFace(ccd_pt_t *pt, ccd_pt_edge_t *e1, +                                          ccd_pt_edge_t *e2, +                                          ccd_pt_edge_t *e3) +{ +    const ccd_vec3_t *a, *b, *c; +    ccd_pt_face_t *face; +    ccd_pt_edge_t *e; +    size_t i; + +    face = CCD_ALLOC(ccd_pt_face_t); +    face->type = CCD_PT_FACE; +    face->edge[0] = e1; +    face->edge[1] = e2; +    face->edge[2] = e3; + +    // obtain triplet of vertices +    a = &face->edge[0]->vertex[0]->v.v; +    b = &face->edge[0]->vertex[1]->v.v; +    e = face->edge[1]; +    if (e->vertex[0] != face->edge[0]->vertex[0] +            && e->vertex[0] != face->edge[0]->vertex[1]){ +        c = &e->vertex[0]->v.v; +    }else{ +        c = &e->vertex[1]->v.v; +    } +    face->dist = ccdVec3PointTriDist2(ccd_vec3_origin, a, b, c, &face->witness); + + +    for (i = 0; i < 3; i++){ +        if (face->edge[i]->faces[0] == NULL){ +            face->edge[i]->faces[0] = face; +        }else{ +            face->edge[i]->faces[1] = face; +        } +    } + +    ccdListAppend(&pt->faces, &face->list); + +    // update position in .nearest array +    _ccdPtNearestUpdate(pt, (ccd_pt_el_t *)face); + +    return face; +} + + +void ccdPtRecomputeDistances(ccd_pt_t *pt) +{ +    ccd_pt_vertex_t *v; +    ccd_pt_edge_t *e; +    ccd_pt_face_t *f; +    const ccd_vec3_t *a, *b, *c; +    ccd_real_t dist; + +    ccdListForEachEntry(&pt->vertices, v, ccd_pt_vertex_t, list){ +        dist = ccdVec3Len2(&v->v.v); +        v->dist = dist; +        ccdVec3Copy(&v->witness, &v->v.v); +    } + +    ccdListForEachEntry(&pt->edges, e, ccd_pt_edge_t, list){ +        a = &e->vertex[0]->v.v; +        b = &e->vertex[1]->v.v; +        dist = ccdVec3PointSegmentDist2(ccd_vec3_origin, a, b, &e->witness); +        e->dist = dist; +    } + +    ccdListForEachEntry(&pt->faces, f, ccd_pt_face_t, list){ +        // obtain triplet of vertices +        a = &f->edge[0]->vertex[0]->v.v; +        b = &f->edge[0]->vertex[1]->v.v; +        e = f->edge[1]; +        if (e->vertex[0] != f->edge[0]->vertex[0] +                && e->vertex[0] != f->edge[0]->vertex[1]){ +            c = &e->vertex[0]->v.v; +        }else{ +            c = &e->vertex[1]->v.v; +        } + +        dist = ccdVec3PointTriDist2(ccd_vec3_origin, a, b, c, &f->witness); +        f->dist = dist; +    } +} + +ccd_pt_el_t *ccdPtNearest(ccd_pt_t *pt) +{ +    if (!pt->nearest){ +        _ccdPtNearestRenew(pt); +    } +    return pt->nearest; +} + + +void ccdPtDumpSVT(ccd_pt_t *pt, const char *fn) +{ +    FILE *fout; + +    fout = fopen(fn, "a"); +    if (fout == NULL) +        return; + +    ccdPtDumpSVT2(pt, fout); + +    fclose(fout); +} + +void ccdPtDumpSVT2(ccd_pt_t *pt, FILE *fout) +{ +    ccd_pt_vertex_t *v, *a, *b, *c; +    ccd_pt_edge_t *e; +    ccd_pt_face_t *f; +    size_t i; + +    fprintf(fout, "-----\n"); + +    fprintf(fout, "Points:\n"); +    i = 0; +    ccdListForEachEntry(&pt->vertices, v, ccd_pt_vertex_t, list){ +        v->id = i++; +        fprintf(fout, "%lf %lf %lf\n", +                ccdVec3X(&v->v.v), ccdVec3Y(&v->v.v), ccdVec3Z(&v->v.v)); +    } + +    fprintf(fout, "Edges:\n"); +    ccdListForEachEntry(&pt->edges, e, ccd_pt_edge_t, list){ +        fprintf(fout, "%d %d\n", e->vertex[0]->id, e->vertex[1]->id); +    } + +    fprintf(fout, "Faces:\n"); +    ccdListForEachEntry(&pt->faces, f, ccd_pt_face_t, list){ +        a = f->edge[0]->vertex[0]; +        b = f->edge[0]->vertex[1]; +        c = f->edge[1]->vertex[0]; +        if (c == a || c == b){ +            c = f->edge[1]->vertex[1]; +        } +        fprintf(fout, "%d %d %d\n", a->id, b->id, c->id); +    } +} diff --git a/libs/ode-0.16.1/libccd/src/support.c b/libs/ode-0.16.1/libccd/src/support.c new file mode 100644 index 0000000..5ce3586 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/support.c @@ -0,0 +1,39 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <ccd/support.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +void __ccdSupport(const void *obj1, const void *obj2, +                  const ccd_vec3_t *_dir, const ccd_t *ccd, +                  ccd_support_t *supp) +{ +    ccd_vec3_t dir; + +    ccdVec3Copy(&dir, _dir); + +    ccd->support1(obj1, &dir, &supp->v1); + +    ccdVec3Scale(&dir, -CCD_ONE); +    ccd->support2(obj2, &dir, &supp->v2); + +    ccdVec3Sub2(&supp->v, &supp->v1, &supp->v2); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/Makefile.am b/libs/ode-0.16.1/libccd/src/testsuites/Makefile.am new file mode 100644 index 0000000..733fed3 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/Makefile.am @@ -0,0 +1,28 @@ +SUBDIRS = cu + +AM_CPPFLAGS = -I $(srcdir)/.. -I $(builddir)/.. -I $(srcdir)/cu + +LDADD = $(builddir)/cu/libcu.la $(builddir)/../libccd.la + + +check_PROGRAMS = test bench bench2 + +test_SOURCES = main.c \ +		common.c common.h \ +        support.c support.h \ +		vec3.c vec3.h \ +		polytope.c polytope.h \ +		boxbox.c boxbox.h \ +		spheresphere.c spheresphere.h \ +		cylcyl.c cylcyl.h \ +		boxcyl.c boxcyl.h \ +		mpr_boxbox.c mpr_boxbox.h \ +		mpr_cylcyl.c mpr_cylcyl.h \ +		mpr_boxcyl.c mpr_boxcyl.h + +bench_SOURCES = bench.c \ +        support.c support.h + +bench2_SOURCES = bench2.c \ +        support.c support.h + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/Makefile.in b/libs/ode-0.16.1/libccd/src/testsuites/Makefile.in new file mode 100644 index 0000000..40ff0ea --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/Makefile.in @@ -0,0 +1,753 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ +  if test -z '$(MAKELEVEL)'; then \ +    false; \ +  elif test -n '$(MAKE_HOST)'; then \ +    true; \ +  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ +    true; \ +  else \ +    false; \ +  fi; \ +} +am__make_running_with_option = \ +  case $${target_option-} in \ +      ?) ;; \ +      *) echo "am__make_running_with_option: internal error: invalid" \ +              "target option '$${target_option-}' specified" >&2; \ +         exit 1;; \ +  esac; \ +  has_opt=no; \ +  sane_makeflags=$$MAKEFLAGS; \ +  if $(am__is_gnu_make); then \ +    sane_makeflags=$$MFLAGS; \ +  else \ +    case $$MAKEFLAGS in \ +      *\\[\ \	]*) \ +        bs=\\; \ +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ +    esac; \ +  fi; \ +  skip_next=no; \ +  strip_trailopt () \ +  { \ +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +  }; \ +  for flg in $$sane_makeflags; do \ +    test $$skip_next = yes && { skip_next=no; continue; }; \ +    case $$flg in \ +      *=*|--*) continue;; \ +        -*I) strip_trailopt 'I'; skip_next=yes;; \ +      -*I?*) strip_trailopt 'I';; \ +        -*O) strip_trailopt 'O'; skip_next=yes;; \ +      -*O?*) strip_trailopt 'O';; \ +        -*l) strip_trailopt 'l'; skip_next=yes;; \ +      -*l?*) strip_trailopt 'l';; \ +      -[dEDm]) skip_next=yes;; \ +      -[JT]) skip_next=yes;; \ +    esac; \ +    case $$flg in \ +      *$$target_option*) has_opt=yes; break;; \ +    esac; \ +  done; \ +  test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +check_PROGRAMS = test$(EXEEXT) bench$(EXEEXT) bench2$(EXEEXT) +subdir = src/testsuites +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +	$(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am_bench_OBJECTS = bench.$(OBJEXT) support.$(OBJEXT) +bench_OBJECTS = $(am_bench_OBJECTS) +bench_LDADD = $(LDADD) +bench_DEPENDENCIES = $(builddir)/cu/libcu.la $(builddir)/../libccd.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 =  +am_bench2_OBJECTS = bench2.$(OBJEXT) support.$(OBJEXT) +bench2_OBJECTS = $(am_bench2_OBJECTS) +bench2_LDADD = $(LDADD) +bench2_DEPENDENCIES = $(builddir)/cu/libcu.la $(builddir)/../libccd.la +am_test_OBJECTS = main.$(OBJEXT) common.$(OBJEXT) support.$(OBJEXT) \ +	vec3.$(OBJEXT) polytope.$(OBJEXT) boxbox.$(OBJEXT) \ +	spheresphere.$(OBJEXT) cylcyl.$(OBJEXT) boxcyl.$(OBJEXT) \ +	mpr_boxbox.$(OBJEXT) mpr_cylcyl.$(OBJEXT) mpr_boxcyl.$(OBJEXT) +test_OBJECTS = $(am_test_OBJECTS) +test_LDADD = $(LDADD) +test_DEPENDENCIES = $(builddir)/cu/libcu.la $(builddir)/../libccd.la +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo "  GEN     " $@; +am__v_GEN_1 =  +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 =  +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ +	$(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo "  CC      " $@; +am__v_CC_1 =  +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +	$(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo "  CCLD    " $@; +am__v_CCLD_1 =  +SOURCES = $(bench_SOURCES) $(bench2_SOURCES) $(test_SOURCES) +DIST_SOURCES = $(bench_SOURCES) $(bench2_SOURCES) $(test_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ +	ctags-recursive dvi-recursive html-recursive info-recursive \ +	install-data-recursive install-dvi-recursive \ +	install-exec-recursive install-html-recursive \ +	install-info-recursive install-pdf-recursive \ +	install-ps-recursive install-recursive installcheck-recursive \ +	installdirs-recursive pdf-recursive ps-recursive \ +	tags-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_CLEAN_TARGETS) \ +  $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +	distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates.  Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ +  BEGIN { nonempty = 0; } \ +  { items[$$0] = 1; nonempty = 1; } \ +  END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique.  This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ +  list='$(am__tagged_files)'; \ +  unique=`for i in $$list; do \ +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +  done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/../depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ +  dir0=`pwd`; \ +  sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +  sed_rest='s,^[^/]*/*,,'; \ +  sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +  sed_butlast='s,/*[^/]*$$,,'; \ +  while test -n "$$dir1"; do \ +    first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +    if test "$$first" != "."; then \ +      if test "$$first" = ".."; then \ +        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +      else \ +        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +        if test "$$first2" = "$$first"; then \ +          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +        else \ +          dir2="../$$dir2"; \ +        fi; \ +        dir0="$$dir0"/"$$first"; \ +      fi; \ +    fi; \ +    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +  done; \ +  reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CCD_PRECISION = @CCD_PRECISION@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = cu +AM_CPPFLAGS = -I $(srcdir)/.. -I $(builddir)/.. -I $(srcdir)/cu +LDADD = $(builddir)/cu/libcu.la $(builddir)/../libccd.la +test_SOURCES = main.c \ +		common.c common.h \ +        support.c support.h \ +		vec3.c vec3.h \ +		polytope.c polytope.h \ +		boxbox.c boxbox.h \ +		spheresphere.c spheresphere.h \ +		cylcyl.c cylcyl.h \ +		boxcyl.c boxcyl.h \ +		mpr_boxbox.c mpr_boxbox.h \ +		mpr_cylcyl.c mpr_cylcyl.h \ +		mpr_boxcyl.c mpr_boxcyl.h + +bench_SOURCES = bench.c \ +        support.c support.h + +bench2_SOURCES = bench2.c \ +        support.c support.h + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) +	@for dep in $?; do \ +	  case '$(am__configure_deps)' in \ +	    *$$dep*) \ +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +	        && { if test -f $@; then exit 0; else break; fi; }; \ +	      exit 1;; \ +	  esac; \ +	done; \ +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/testsuites/Makefile'; \ +	$(am__cd) $(top_srcdir) && \ +	  $(AUTOMAKE) --foreign src/testsuites/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +	@case '$?' in \ +	  *config.status*) \ +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +	  *) \ +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ +	esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure:  $(am__configure_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4):  $(am__aclocal_m4_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: +	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ +	echo " rm -f" $$list; \ +	rm -f $$list || exit $$?; \ +	test -n "$(EXEEXT)" || exit 0; \ +	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +	echo " rm -f" $$list; \ +	rm -f $$list + +bench$(EXEEXT): $(bench_OBJECTS) $(bench_DEPENDENCIES) $(EXTRA_bench_DEPENDENCIES)  +	@rm -f bench$(EXEEXT) +	$(AM_V_CCLD)$(LINK) $(bench_OBJECTS) $(bench_LDADD) $(LIBS) + +bench2$(EXEEXT): $(bench2_OBJECTS) $(bench2_DEPENDENCIES) $(EXTRA_bench2_DEPENDENCIES)  +	@rm -f bench2$(EXEEXT) +	$(AM_V_CCLD)$(LINK) $(bench2_OBJECTS) $(bench2_LDADD) $(LIBS) + +test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES)  +	@rm -f test$(EXEEXT) +	$(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) + +mostlyclean-compile: +	-rm -f *.$(OBJEXT) + +distclean-compile: +	-rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bench.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bench2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boxbox.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boxcyl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cylcyl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpr_boxbox.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpr_boxcyl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpr_cylcyl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polytope.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spheresphere.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vec3.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +#     (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): +	@fail=; \ +	if $(am__make_keepgoing); then \ +	  failcom='fail=yes'; \ +	else \ +	  failcom='exit 1'; \ +	fi; \ +	dot_seen=no; \ +	target=`echo $@ | sed s/-recursive//`; \ +	case "$@" in \ +	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ +	  *) list='$(SUBDIRS)' ;; \ +	esac; \ +	for subdir in $$list; do \ +	  echo "Making $$target in $$subdir"; \ +	  if test "$$subdir" = "."; then \ +	    dot_seen=yes; \ +	    local_target="$$target-am"; \ +	  else \ +	    local_target="$$target"; \ +	  fi; \ +	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +	  || eval $$failcom; \ +	done; \ +	if test "$$dot_seen" = "no"; then \ +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ +	fi; test -z "$$fail" + +ID: $(am__tagged_files) +	$(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	set x; \ +	here=`pwd`; \ +	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ +	  include_option=--etags-include; \ +	  empty_fix=.; \ +	else \ +	  include_option=--include; \ +	  empty_fix=; \ +	fi; \ +	list='$(SUBDIRS)'; for subdir in $$list; do \ +	  if test "$$subdir" = .; then :; else \ +	    test ! -f $$subdir/TAGS || \ +	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ +	  fi; \ +	done; \ +	$(am__define_uniq_tagged_files); \ +	shift; \ +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ +	  test -n "$$unique" || unique=$$empty_fix; \ +	  if test $$# -gt 0; then \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      "$$@" $$unique; \ +	  else \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      $$unique; \ +	  fi; \ +	fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	$(am__define_uniq_tagged_files); \ +	test -z "$(CTAGS_ARGS)$$unique" \ +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ +	     $$unique + +GTAGS: +	here=`$(am__cd) $(top_builddir) && pwd` \ +	  && $(am__cd) $(top_srcdir) \ +	  && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) +	list='$(am__tagged_files)'; \ +	case "$(srcdir)" in \ +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ +	  *) sdir=$(subdir)/$(srcdir) ;; \ +	esac; \ +	for i in $$list; do \ +	  if test -f "$$i"; then \ +	    echo "$(subdir)/$$i"; \ +	  else \ +	    echo "$$sdir/$$i"; \ +	  fi; \ +	done >> $(top_builddir)/cscope.files + +distclean-tags: +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	list='$(DISTFILES)'; \ +	  dist_files=`for file in $$list; do echo $$file; done | \ +	  sed -e "s|^$$srcdirstrip/||;t" \ +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +	case $$dist_files in \ +	  */*) $(MKDIR_P) `echo "$$dist_files" | \ +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +			   sort -u` ;; \ +	esac; \ +	for file in $$dist_files; do \ +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +	  if test -d $$d/$$file; then \ +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +	    if test -d "$(distdir)/$$file"; then \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +	  else \ +	    test -f "$(distdir)/$$file" \ +	    || cp -p $$d/$$file "$(distdir)/$$file" \ +	    || 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; \ +	    dir1=$$subdir; dir2="$(top_distdir)"; \ +	    $(am__relativize); \ +	    new_top_distdir=$$reldir; \ +	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +	    ($(am__cd) $$subdir && \ +	      $(MAKE) $(AM_MAKEFLAGS) \ +	        top_distdir="$$new_top_distdir" \ +	        distdir="$$new_distdir" \ +		am__remove_distdir=: \ +		am__skip_length_check=: \ +		am__skip_mode_fix=: \ +	        distdir) \ +	      || exit 1; \ +	  fi; \ +	done +check-am: all-am +	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: +	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: + +distclean-generic: +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: +	@echo "This command is intended for maintainers to use" +	@echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ +	mostlyclean-am + +distclean: distclean-recursive +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ +	distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ +	mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) check-am install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ +	check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +	cscopelist-am ctags ctags-am distclean distclean-compile \ +	distclean-generic distclean-libtool distclean-tags distdir dvi \ +	dvi-am html html-am info info-am install install-am \ +	install-data install-data-am install-dvi install-dvi-am \ +	install-exec install-exec-am install-html install-html-am \ +	install-info install-info-am install-man install-pdf \ +	install-pdf-am install-ps install-ps-am install-strip \ +	installcheck installcheck-am installdirs installdirs-am \ +	maintainer-clean maintainer-clean-generic mostlyclean \ +	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libs/ode-0.16.1/libccd/src/testsuites/bench.c b/libs/ode-0.16.1/libccd/src/testsuites/bench.c new file mode 100644 index 0000000..779a8ac --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/bench.c @@ -0,0 +1,257 @@ +#define CU_ENABLE_TIMER +#include <cu/cu.h> +#include <stdio.h> +#include <stdlib.h> +#include <ccd/ccd.h> +#include "support.h" + +TEST_SUITES { +    TEST_SUITES_CLOSURE +}; + +static int bench_num = 1; +static size_t cycles = 10000; + +static void runBench(const void *o1, const void *o2, const ccd_t *ccd) +{ +    ccd_real_t depth; +    ccd_vec3_t dir, pos; +    int res; +    size_t i; +    const struct timespec *timer; + +    cuTimerStart(); +    for (i = 0; i < cycles; i++){ +        res = ccdGJKPenetration(o1, o2, ccd, &depth, &dir, &pos); +    } +    timer = cuTimerStop(); +    fprintf(stdout, "%02d: %ld %ld\n", bench_num, +                    (long)timer->tv_sec, (long)timer->tv_nsec); +    fflush(stdout); + +    bench_num++; +} + +static void boxbox(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    ccd_vec3_t axis; +    ccd_quat_t rot; + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + +    bench_num = 1; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0., 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 1., 1.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.2; box2.y = 0.5; box2.z = 1.; +    box2.x = box2.y = box2.z = 1.; + +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 0., 0.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -1.3, 0., 0.); + +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + + +    fprintf(stdout, "\n----\n\n"); +} + +void cylcyl(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_CYL(cyl1); +    CCD_CYL(cyl2); +    ccd_vec3_t axis; + +    cyl1.radius = 0.35; +    cyl1.height = 0.5; +    cyl2.radius = 0.5; +    cyl2.height = 1.; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&cyl1.pos, 0.3, 0.1, 0.1); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0., 0., 0.); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, -0.2, 0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0.567, 1.2, 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, -4.567, 1.2, 0.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    fprintf(stdout, "\n----\n\n"); +} + +void boxcyl(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    ccd_vec3_t axis; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    fprintf(stdout, "\n----\n\n"); +} + +int main(int argc, char *argv[]) +{ +    if (argc > 1){ +        cycles = atol(argv[1]); +    } + +    fprintf(stdout, "Cycles: %zu\n", cycles); +    fprintf(stdout, "\n"); + +    boxbox(); +    cylcyl(); +    boxcyl(); + +    return 0; +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/bench2.c b/libs/ode-0.16.1/libccd/src/testsuites/bench2.c new file mode 100644 index 0000000..8fb29df --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/bench2.c @@ -0,0 +1,263 @@ +#define CU_ENABLE_TIMER +#include <cu/cu.h> +#include <stdio.h> +#include <stdlib.h> +#include <ccd/ccd.h> +#include "support.h" + +TEST_SUITES { +    TEST_SUITES_CLOSURE +}; + +static int bench_num = 1; +static size_t cycles = 10000; + +static void runBench(const void *o1, const void *o2, const ccd_t *ccd) +{ +    ccd_real_t depth; +    ccd_vec3_t dir, pos; +    int res; +    size_t i; +    const struct timespec *timer; + +    cuTimerStart(); +    for (i = 0; i < cycles; i++){ +        res = ccdMPRPenetration(o1, o2, ccd, &depth, &dir, &pos); +    } +    timer = cuTimerStop(); +    fprintf(stdout, "%02d: %ld %ld\n", bench_num, +                    (long)timer->tv_sec, (long)timer->tv_nsec); +    fflush(stdout); + +    bench_num++; +} + +static void boxbox(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    ccd_vec3_t axis; +    ccd_quat_t rot; + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + +    bench_num = 1; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1 = ccdObjCenter; +    ccd.center2 = ccdObjCenter; + +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0., 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 1., 1.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.2; box2.y = 0.5; box2.z = 1.; +    box2.x = box2.y = box2.z = 1.; + +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 0., 0.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -1.3, 0., 0.); + +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    runBench(&box1, &box2, &ccd); +    runBench(&box2, &box1, &ccd); + + +    fprintf(stdout, "\n----\n\n"); +} + +void cylcyl(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_CYL(cyl1); +    CCD_CYL(cyl2); +    ccd_vec3_t axis; + +    cyl1.radius = 0.35; +    cyl1.height = 0.5; +    cyl2.radius = 0.5; +    cyl2.height = 1.; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1 = ccdObjCenter; +    ccd.center2 = ccdObjCenter; + +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&cyl1.pos, 0.3, 0.1, 0.1); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0., 0., 0.); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, -0.2, 0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, 0.567, 1.2, 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    ccdVec3Set(&axis, -4.567, 1.2, 0.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    runBench(&cyl1, &cyl2, &ccd); +    runBench(&cyl2, &cyl1, &ccd); + +    fprintf(stdout, "\n----\n\n"); +} + +void boxcyl(void) +{ +    fprintf(stdout, "%s:\n", __func__); + +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    ccd_vec3_t axis; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1 = ccdObjCenter; +    ccd.center2 = ccdObjCenter; + +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    runBench(&box, &cyl, &ccd); +    runBench(&cyl, &box, &ccd); + +    fprintf(stdout, "\n----\n\n"); +} + +int main(int argc, char *argv[]) +{ +    if (argc > 1){ +        cycles = atol(argv[1]); +    } + +    fprintf(stdout, "Cycles: %zu\n", cycles); +    fprintf(stdout, "\n"); + +    boxbox(); +    cylcyl(); +    boxcyl(); + +    return 0; +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/boxbox.c b/libs/ode-0.16.1/libccd/src/testsuites/boxbox.c new file mode 100644 index 0000000..3dfc965 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/boxbox.c @@ -0,0 +1,467 @@ +#include <stdio.h> +#include <cu/cu.h> + +#include <ccd/ccd.h> +#include "support.h" +#include <ccd/vec3.h> +#include <ccd/dbg.h> +#include "common.h" + + +TEST(boxboxSetUp) +{ +} + +TEST(boxboxTearDown) +{ +} + +TEST(boxboxAlignedX) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    //ccd.max_iterations = 20; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } + + +    box1.x = 0.1; +    box1.y = 0.2; +    box1.z = 0.1; +    box2.x = 0.2; +    box2.y = 0.1; +    box2.z = 0.2; + +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.01; +    } + + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., -0.1, 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } +} + +TEST(boxboxAlignedY) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, 0., -5., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[1] += 0.1; +    } +} + +TEST(boxboxAlignedZ) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, 0., 0., -5.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[2] += 0.1; +    } +} + + +TEST(boxboxRot) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t axis; +    ccd_real_t angle; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., 0.5, 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); + +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i < 33 || i > 67){ +            assertFalse(res); +        }else if (i != 33 && i != 67){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } + +    box1.x = 1; +    box1.y = 1; +    box1.z = 1; +    box2.x = 1; +    box2.y = 1; +    box2.z = 1; + +    ccdVec3Set(&box1.pos, -1.01, 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); + +    ccdVec3Set(&axis, 0., 1., 0.); +    angle = 0.; +    for (i = 0; i < 30; i++){ +        res = ccdGJKIntersect(&box1, &box2, &ccd); + +        if (i != 0 && i != 10 && i != 20){ +            assertTrue(res); +        }else{ +            assertFalse(res); +        } + +        angle += M_PI / 20.; +        ccdQuatSetAngleAxis(&box1.quat, angle, &axis); +    } + +} + + + +static void pConf(ccd_box_t *box1, ccd_box_t *box2, const ccd_vec3_t *v) +{ +    fprintf(stdout, "# box1.pos: [%lf %lf %lf]\n", +            ccdVec3X(&box1->pos), ccdVec3Y(&box1->pos), ccdVec3Z(&box1->pos)); +    fprintf(stdout, "# box1->quat: [%lf %lf %lf %lf]\n", +            box1->quat.q[0], box1->quat.q[1], box1->quat.q[2], box1->quat.q[3]); +    fprintf(stdout, "# box2->pos: [%lf %lf %lf]\n", +            ccdVec3X(&box2->pos), ccdVec3Y(&box2->pos), ccdVec3Z(&box2->pos)); +    fprintf(stdout, "# box2->quat: [%lf %lf %lf %lf]\n", +            box2->quat.q[0], box2->quat.q[1], box2->quat.q[2], box2->quat.q[3]); +    fprintf(stdout, "# sep: [%lf %lf %lf]\n", +            ccdVec3X(v), ccdVec3Y(v), ccdVec3Z(v)); +    fprintf(stdout, "#\n"); +} + +TEST(boxboxSeparate) +{ +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t sep, expsep, expsep2, axis; + +    fprintf(stderr, "\n\n\n---- boxboxSeparate ----\n\n\n"); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.2); +    res = ccdGJKIntersect(&box1, &box2, &ccd); +    assertTrue(res); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0.25, 0., 0.); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + +    ccdVec3Scale(&sep, -1.); +    ccdVec3Add(&box1.pos, &sep); +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., 0.); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., -0.25); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0., 0., 0.); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., 1.); +    ccdVec3Set(&expsep2, 0., 0., -1.); +    assertTrue(ccdVec3Eq(&sep, &expsep) || ccdVec3Eq(&sep, &expsep2)); + + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    pConf(&box1, &box2, &sep); + + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    pConf(&box1, &box2, &sep); +} + + +#define TOSVT() \ +    svtObjPen(&box1, &box2, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&box2.pos, &dir); \ +    svtObjPen(&box1, &box2, stdout, "Pen 1", depth, &dir, &pos) + +TEST(boxboxPenetration) +{ +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t axis; +    ccd_quat_t rot; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    fprintf(stderr, "\n\n\n---- boxboxPenetration ----\n\n\n"); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&box2.pos, 0.1, 0., 0.); +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); <<< + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0.1, 0., 0.1); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&box2.pos, 0.1, 0., 0.); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 1., 1.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 7"); +    //TOSVT(); <<< + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.2; box2.y = 0.5; box2.z = 1.; +    box2.x = box2.y = box2.z = 1.; + +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 0., 0.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -1.3, 0., 0.); + +    ccdVec3Set(&box2.pos, 0., 0., 0.); + +    res = ccdGJKPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 8"); +    //TOSVT(); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/boxbox.h b/libs/ode-0.16.1/libccd/src/testsuites/boxbox.h new file mode 100644 index 0000000..8127c7c --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/boxbox.h @@ -0,0 +1,32 @@ +#ifndef BOX_BOX +#define BOX_BOX + +#include <cu/cu.h> + +TEST(boxboxSetUp); +TEST(boxboxTearDown); + +TEST(boxboxAlignedX); +TEST(boxboxAlignedY); +TEST(boxboxAlignedZ); + +TEST(boxboxRot); + +TEST(boxboxSeparate); +TEST(boxboxPenetration); + +TEST_SUITE(TSBoxBox) { +    TEST_ADD(boxboxSetUp), + +    TEST_ADD(boxboxAlignedX), +    TEST_ADD(boxboxAlignedY), +    TEST_ADD(boxboxAlignedZ), +    TEST_ADD(boxboxRot), +    TEST_ADD(boxboxSeparate), +    TEST_ADD(boxboxPenetration), + +    TEST_ADD(boxboxTearDown), +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.c b/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.c new file mode 100644 index 0000000..4a556cb --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.c @@ -0,0 +1,162 @@ +#include <cu/cu.h> +#include "common.h" +#include <ccd/ccd.h> +#include "support.h" + + +#define TOSVT() \ +    svtObjPen(&box, &cyl, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&cyl.pos, &dir); \ +    svtObjPen(&box, &cyl, stdout, "Pen 1", depth, &dir, &pos) + + +TEST(boxcylIntersect) +{ +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    int res; +    ccd_vec3_t axis; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&cyl.pos, 0.1, 0., 0.); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    res = ccdGJKIntersect(&box, &cyl, &ccd); +    assertTrue(res); +} + + +TEST(boxcylPenEPA) +{ +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    int res; +    ccd_vec3_t axis; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&cyl.pos, 0.1, 0., 0.); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); <<< + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 7"); +    //TOSVT(); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    res = ccdGJKPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 8"); +    //TOSVT(); +} + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.h b/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.h new file mode 100644 index 0000000..3d348d9 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/boxcyl.h @@ -0,0 +1,16 @@ +#ifndef TEST_BOXCYL_H +#define TEST_BOXCYL_H + +#include <cu/cu.h> + +TEST(boxcylIntersect); +TEST(boxcylPenEPA); + +TEST_SUITE(TSBoxCyl){ +    TEST_ADD(boxcylIntersect), +    TEST_ADD(boxcylPenEPA), + +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/common.c b/libs/ode-0.16.1/libccd/src/testsuites/common.c new file mode 100644 index 0000000..eca7776 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/common.c @@ -0,0 +1,174 @@ +#include "common.h" +#include <ccd/vec3.h> +#include <ccd/quat.h> +#include "support.h" + +static void svtCyl(ccd_cyl_t *c, FILE *out, const char *color, const char *name) +{ +    ccd_vec3_t v[32]; +    ccd_quat_t rot; +    ccd_vec3_t axis, vpos, vpos2; +    ccd_real_t angle, x, y; +    unsigned int i; + +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdVec3Set(&vpos, 0., c->radius, 0.); +    angle = 0.; +    for (i = 0; i < 16; i++){ +        angle = (ccd_real_t)i * (2. * M_PI / 16.); + +        ccdQuatSetAngleAxis(&rot, angle, &axis); +        ccdVec3Copy(&vpos2, &vpos); +        ccdQuatRotVec(&vpos2, &rot); +        x = ccdVec3X(&vpos2); +        y = ccdVec3Y(&vpos2); + +        ccdVec3Set(&v[i], x, y, c->height / 2.); +        ccdVec3Set(&v[i + 16], x, y, -c->height / 2.); +    } + +    for (i = 0; i < 32; i++){ +        ccdQuatRotVec(&v[i], &c->quat); +        ccdVec3Add(&v[i], &c->pos); +    } + +    fprintf(out, "-----\n"); +    if (name) +        fprintf(out, "Name: %s\n", name); + +    fprintf(out, "Face color: %s\n", color); +    fprintf(out, "Edge color: %s\n", color); +    fprintf(out, "Point color: %s\n", color); +    fprintf(out, "Points:\n"); +    for (i = 0; i < 32; i++){ +        fprintf(out, "%lf %lf %lf\n", ccdVec3X(&v[i]), ccdVec3Y(&v[i]), ccdVec3Z(&v[i])); +    } + +    fprintf(out, "Edges:\n"); +    fprintf(out, "0 16\n"); +    fprintf(out, "0 31\n"); +    for (i = 1; i < 16; i++){ +        fprintf(out, "0 %d\n", i); +        fprintf(out, "16 %d\n", i + 16); +        if (i != 0){ +            fprintf(out, "%d %d\n", i - 1, i); +            fprintf(out, "%d %d\n", i + 16 - 1, i + 16); +        } + +        fprintf(out, "%d %d\n", i, i + 16); +        fprintf(out, "%d %d\n", i, i + 16 - 1); +    } + +    fprintf(out, "Faces:\n"); +    for (i = 2; i < 16; i++){ +        fprintf(out, "0 %d %d\n", i, i -1); +        fprintf(out, "16 %d %d\n", i + 16, i + 16 -1); + +    } +    fprintf(out, "0 16 31\n"); +    fprintf(out, "0 31 15\n"); +    for (i = 1; i < 16; i++){ +        fprintf(out, "%d %d %d\n", i, i + 16, i + 16 - 1); +        fprintf(out, "%d %d %d\n", i, i + 16 - 1, i - 1); +    } +    fprintf(out, "-----\n"); +} + +static void svtBox(ccd_box_t *b, FILE *out, const char *color, const char *name) +{ +    ccd_vec3_t v[8]; +    size_t i; + +    ccdVec3Set(&v[0], b->x * 0.5, b->y * 0.5, b->z * 0.5); +    ccdVec3Set(&v[1], b->x * 0.5, b->y * -0.5, b->z * 0.5); +    ccdVec3Set(&v[2], b->x * 0.5, b->y * 0.5, b->z * -0.5); +    ccdVec3Set(&v[3], b->x * 0.5, b->y * -0.5, b->z * -0.5); +    ccdVec3Set(&v[4], b->x * -0.5, b->y * 0.5, b->z * 0.5); +    ccdVec3Set(&v[5], b->x * -0.5, b->y * -0.5, b->z * 0.5); +    ccdVec3Set(&v[6], b->x * -0.5, b->y * 0.5, b->z * -0.5); +    ccdVec3Set(&v[7], b->x * -0.5, b->y * -0.5, b->z * -0.5); + +    for (i = 0; i < 8; i++){ +        ccdQuatRotVec(&v[i], &b->quat); +        ccdVec3Add(&v[i], &b->pos); +    } + +    fprintf(out, "-----\n"); +    if (name) +        fprintf(out, "Name: %s\n", name); +    fprintf(out, "Face color: %s\n", color); +    fprintf(out, "Edge color: %s\n", color); +    fprintf(out, "Point color: %s\n", color); +    fprintf(out, "Points:\n"); +    for (i = 0; i < 8; i++){ +        fprintf(out, "%lf %lf %lf\n", ccdVec3X(&v[i]), ccdVec3Y(&v[i]), ccdVec3Z(&v[i])); +    } + +    fprintf(out, "Edges:\n"); +    fprintf(out, "0 1\n 0 2\n2 3\n3 1\n1 2\n6 2\n1 7\n1 5\n"); +    fprintf(out, "5 0\n0 4\n4 2\n6 4\n6 5\n5 7\n6 7\n7 2\n7 3\n4 5\n"); + +    fprintf(out, "Faces:\n"); +    fprintf(out, "0 2 1\n1 2 3\n6 2 4\n4 2 0\n4 0 5\n5 0 1\n"); +    fprintf(out, "5 1 7\n7 1 3\n6 4 5\n6 5 7\n2 6 7\n2 7 3\n"); +    fprintf(out, "-----\n"); +} + + +void svtObj(void *_o, FILE *out, const char *color, const char *name) +{ +    ccd_obj_t *o = (ccd_obj_t *)_o; + +    if (o->type == CCD_OBJ_CYL){ +        svtCyl((ccd_cyl_t *)o, out, color, name); +    }else if (o->type == CCD_OBJ_BOX){ +        svtBox((ccd_box_t *)o, out, color, name); +    } +} + +void svtObjPen(void *o1, void *o2, +               FILE *out, const char *name, +               ccd_real_t depth, const ccd_vec3_t *dir, const ccd_vec3_t *pos) +{ +    ccd_vec3_t sep; +    char oname[500]; + +    ccdVec3Copy(&sep, dir); +    ccdVec3Scale(&sep, depth); +    ccdVec3Add(&sep, pos); + +    fprintf(out, "------\n"); +    if (name) +        fprintf(out, "Name: %s\n", name); +    fprintf(out, "Point color: 0.1 0.1 0.9\n"); +    fprintf(out, "Points:\n%lf %lf %lf\n", ccdVec3X(pos), ccdVec3Y(pos), ccdVec3Z(pos)); +    fprintf(out, "------\n"); +    fprintf(out, "Point color: 0.1 0.9 0.9\n"); +    fprintf(out, "Edge color: 0.1 0.9 0.9\n"); +    fprintf(out, "Points:\n%lf %lf %lf\n", ccdVec3X(pos), ccdVec3Y(pos), ccdVec3Z(pos)); +    fprintf(out, "%lf %lf %lf\n", ccdVec3X(&sep), ccdVec3Y(&sep), ccdVec3Z(&sep)); +    fprintf(out, "Edges: 0 1\n"); + +    oname[0] = 0x0; +    if (name) +        sprintf(oname, "%s o1", name); +    svtObj(o1, out, "0.9 0.1 0.1", oname); + +    oname[0] = 0x0; +    if (name) +        sprintf(oname, "%s o1", name); +    svtObj(o2, out, "0.1 0.9 0.1", oname); +} + + +void recPen(ccd_real_t depth, const ccd_vec3_t *dir, const ccd_vec3_t *pos, +            FILE *out, const char *note) +{ +    if (!note) +        note = ""; + +    fprintf(out, "# %s: depth: %lf\n", note, depth); +    fprintf(out, "# %s: dir:   [%lf %lf %lf]\n", note, ccdVec3X(dir), ccdVec3Y(dir), ccdVec3Z(dir)); +    fprintf(out, "# %s: pos:   [%lf %lf %lf]\n", note, ccdVec3X(pos), ccdVec3Y(pos), ccdVec3Z(pos)); +    fprintf(out, "#\n"); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/common.h b/libs/ode-0.16.1/libccd/src/testsuites/common.h new file mode 100644 index 0000000..a4de4c2 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/common.h @@ -0,0 +1,14 @@ +#ifndef TEST_COMMON +#define TEST_COMMON + +#include <stdio.h> +#include <ccd/vec3.h> + +void svtObj(void *o, FILE *out, const char *color, const char *name); +void svtObjPen(void *o1, void *o2, +               FILE *out, const char *name, +               ccd_real_t depth, const ccd_vec3_t *dir, const ccd_vec3_t *pos); +void recPen(ccd_real_t depth, const ccd_vec3_t *dir, const ccd_vec3_t *pos, +            FILE *out, const char *note); + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING b/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING @@ -0,0 +1,674 @@ +                    GNU GENERAL PUBLIC LICENSE +                       Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +                            Preamble + +  The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +  The licenses for most software and other practical works are designed +to take away your freedom to share and change the works.  By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users.  We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors.  You can apply it to +your programs, too. + +  When we speak of free software, we are referring to freedom, not +price.  Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +  To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights.  Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +  For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received.  You must make sure that they, too, receive +or can get the source code.  And you must show them these terms so they +know their rights. + +  Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +  For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software.  For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +  Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so.  This is fundamentally incompatible with the aim of +protecting users' freedom to change the software.  The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable.  Therefore, we +have designed this version of the GPL to prohibit the practice for those +products.  If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + +  Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary.  To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +  The precise terms and conditions for copying, distribution and +modification follow. + +                       TERMS AND CONDITIONS + +  0. Definitions. + +  "This License" refers to version 3 of the GNU General Public License. + +  "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +  "The Program" refers to any copyrightable work licensed under this +License.  Each licensee is addressed as "you".  "Licensees" and +"recipients" may be individuals or organizations. + +  To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy.  The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + +  A "covered work" means either the unmodified Program or a work based +on the Program. + +  To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy.  Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +  To "convey" a work means any kind of propagation that enables other +parties to make or receive copies.  Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +  An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License.  If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +  1. Source Code. + +  The "source code" for a work means the preferred form of the work +for making modifications to it.  "Object code" means any non-source +form of a work. + +  A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +  The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form.  A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +  The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities.  However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work.  For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +  The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +  The Corresponding Source for a work in source code form is that +same work. + +  2. Basic Permissions. + +  All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met.  This License explicitly affirms your unlimited +permission to run the unmodified Program.  The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work.  This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +  You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force.  You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright.  Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +  Conveying under any other circumstances is permitted solely under +the conditions stated below.  Sublicensing is not allowed; section 10 +makes it unnecessary. + +  3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +  No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +  When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +  4. Conveying Verbatim Copies. + +  You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +  You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +  5. Conveying Modified Source Versions. + +  You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + +    a) The work must carry prominent notices stating that you modified +    it, and giving a relevant date. + +    b) The work must carry prominent notices stating that it is +    released under this License and any conditions added under section +    7.  This requirement modifies the requirement in section 4 to +    "keep intact all notices". + +    c) You must license the entire work, as a whole, under this +    License to anyone who comes into possession of a copy.  This +    License will therefore apply, along with any applicable section 7 +    additional terms, to the whole of the work, and all its parts, +    regardless of how they are packaged.  This License gives no +    permission to license the work in any other way, but it does not +    invalidate such permission if you have separately received it. + +    d) If the work has interactive user interfaces, each must display +    Appropriate Legal Notices; however, if the Program has interactive +    interfaces that do not display Appropriate Legal Notices, your +    work need not make them do so. + +  A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit.  Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +  6. Conveying Non-Source Forms. + +  You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + +    a) Convey the object code in, or embodied in, a physical product +    (including a physical distribution medium), accompanied by the +    Corresponding Source fixed on a durable physical medium +    customarily used for software interchange. + +    b) Convey the object code in, or embodied in, a physical product +    (including a physical distribution medium), accompanied by a +    written offer, valid for at least three years and valid for as +    long as you offer spare parts or customer support for that product +    model, to give anyone who possesses the object code either (1) a +    copy of the Corresponding Source for all the software in the +    product that is covered by this License, on a durable physical +    medium customarily used for software interchange, for a price no +    more than your reasonable cost of physically performing this +    conveying of source, or (2) access to copy the +    Corresponding Source from a network server at no charge. + +    c) Convey individual copies of the object code with a copy of the +    written offer to provide the Corresponding Source.  This +    alternative is allowed only occasionally and noncommercially, and +    only if you received the object code with such an offer, in accord +    with subsection 6b. + +    d) Convey the object code by offering access from a designated +    place (gratis or for a charge), and offer equivalent access to the +    Corresponding Source in the same way through the same place at no +    further charge.  You need not require recipients to copy the +    Corresponding Source along with the object code.  If the place to +    copy the object code is a network server, the Corresponding Source +    may be on a different server (operated by you or a third party) +    that supports equivalent copying facilities, provided you maintain +    clear directions next to the object code saying where to find the +    Corresponding Source.  Regardless of what server hosts the +    Corresponding Source, you remain obligated to ensure that it is +    available for as long as needed to satisfy these requirements. + +    e) Convey the object code using peer-to-peer transmission, provided +    you inform other peers where the object code and Corresponding +    Source of the work are being offered to the general public at no +    charge under subsection 6d. + +  A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +  A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling.  In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage.  For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product.  A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +  "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source.  The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +  If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information.  But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +  The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed.  Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +  Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +  7. Additional Terms. + +  "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law.  If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +  When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it.  (Additional permissions may be written to require their own +removal in certain cases when you modify the work.)  You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +  Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + +    a) Disclaiming warranty or limiting liability differently from the +    terms of sections 15 and 16 of this License; or + +    b) Requiring preservation of specified reasonable legal notices or +    author attributions in that material or in the Appropriate Legal +    Notices displayed by works containing it; or + +    c) Prohibiting misrepresentation of the origin of that material, or +    requiring that modified versions of such material be marked in +    reasonable ways as different from the original version; or + +    d) Limiting the use for publicity purposes of names of licensors or +    authors of the material; or + +    e) Declining to grant rights under trademark law for use of some +    trade names, trademarks, or service marks; or + +    f) Requiring indemnification of licensors and authors of that +    material by anyone who conveys the material (or modified versions of +    it) with contractual assumptions of liability to the recipient, for +    any liability that these contractual assumptions directly impose on +    those licensors and authors. + +  All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10.  If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term.  If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +  If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +  Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +  8. Termination. + +  You may not propagate or modify a covered work except as expressly +provided under this License.  Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +  However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +  Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +  Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License.  If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +  9. Acceptance Not Required for Having Copies. + +  You are not required to accept this License in order to receive or +run a copy of the Program.  Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance.  However, +nothing other than this License grants you permission to propagate or +modify any covered work.  These actions infringe copyright if you do +not accept this License.  Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +  10. Automatic Licensing of Downstream Recipients. + +  Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License.  You are not responsible +for enforcing compliance by third parties with this License. + +  An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations.  If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +  You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License.  For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +  11. Patents. + +  A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based.  The +work thus licensed is called the contributor's "contributor version". + +  A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version.  For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +  Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +  In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement).  To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +  If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients.  "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +  If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +  A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License.  You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +  Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +  12. No Surrender of Others' Freedom. + +  If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License.  If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all.  For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +  13. Use with the GNU Affero General Public License. + +  Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work.  The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + +  14. Revised Versions of this License. + +  The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time.  Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +  Each version is given a distinguishing version number.  If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation.  If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + +  If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +  Later license versions may give you additional or different +permissions.  However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +  15. Disclaimer of Warranty. + +  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +  16. Limitation of Liability. + +  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +  17. Interpretation of Sections 15 and 16. + +  If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +                     END OF TERMS AND CONDITIONS + +            How to Apply These Terms to Your New Programs + +  If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +  To do so, attach the following notices to the program.  It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + +    <one line to give the program's name and a brief idea of what it does.> +    Copyright (C) <year>  <name of author> + +    This program is free software: you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation, either version 3 of the License, or +    (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program.  If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + +  If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + +    <program>  Copyright (C) <year>  <name of author> +    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +    This is free software, and you are welcome to redistribute it +    under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License.  Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + +  You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + +  The GNU General Public License does not permit incorporating your program +into proprietary programs.  If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library.  If this is what you want to do, use the GNU Lesser General +Public License instead of this License.  But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING.LESSER b/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING.LESSER new file mode 100644 index 0000000..fc8a5de --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/COPYING.LESSER @@ -0,0 +1,165 @@ +		   GNU LESSER GENERAL PUBLIC LICENSE +                       Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +  This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + +  0. Additional Definitions.  + +  As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + +  "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + +  An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + +  A "Combined Work" is a work produced by combining or linking an +Application with the Library.  The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + +  The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + +  The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + +  1. Exception to Section 3 of the GNU GPL. + +  You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + +  2. Conveying Modified Versions. + +  If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + +   a) under this License, provided that you make a good faith effort to +   ensure that, in the event an Application does not supply the +   function or data, the facility still operates, and performs +   whatever part of its purpose remains meaningful, or + +   b) under the GNU GPL, with none of the additional permissions of +   this License applicable to that copy. + +  3. Object Code Incorporating Material from Library Header Files. + +  The object code form of an Application may incorporate material from +a header file that is part of the Library.  You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + +   a) Give prominent notice with each copy of the object code that the +   Library is used in it and that the Library and its use are +   covered by this License. + +   b) Accompany the object code with a copy of the GNU GPL and this license +   document. + +  4. Combined Works. + +  You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + +   a) Give prominent notice with each copy of the Combined Work that +   the Library is used in it and that the Library and its use are +   covered by this License. + +   b) Accompany the Combined Work with a copy of the GNU GPL and this license +   document. + +   c) For a Combined Work that displays copyright notices during +   execution, include the copyright notice for the Library among +   these notices, as well as a reference directing the user to the +   copies of the GNU GPL and this license document. + +   d) Do one of the following: + +       0) Convey the Minimal Corresponding Source under the terms of this +       License, and the Corresponding Application Code in a form +       suitable for, and under terms that permit, the user to +       recombine or relink the Application with a modified version of +       the Linked Version to produce a modified Combined Work, in the +       manner specified by section 6 of the GNU GPL for conveying +       Corresponding Source. + +       1) Use a suitable shared library mechanism for linking with the +       Library.  A suitable mechanism is one that (a) uses at run time +       a copy of the Library already present on the user's computer +       system, and (b) will operate properly with a modified version +       of the Library that is interface-compatible with the Linked +       Version.  + +   e) Provide Installation Information, but only if you would otherwise +   be required to provide such information under section 6 of the +   GNU GPL, and only to the extent that such information is +   necessary to install and execute a modified version of the +   Combined Work produced by recombining or relinking the +   Application with a modified version of the Linked Version. (If +   you use option 4d0, the Installation Information must accompany +   the Minimal Corresponding Source and Corresponding Application +   Code. If you use option 4d1, you must provide the Installation +   Information in the manner specified by section 6 of the GNU GPL +   for conveying Corresponding Source.) + +  5. Combined Libraries. + +  You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + +   a) Accompany the combined library with a copy of the same work based +   on the Library, uncombined with any other library facilities, +   conveyed under the terms of this License. + +   b) Give prominent notice with the combined library that part of it +   is a work based on the Library, and explaining where to find the +   accompanying uncombined form of the same work. + +  6. Revised Versions of the GNU Lesser General Public License. + +  The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +  Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + +  If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.am b/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.am new file mode 100644 index 0000000..66d6daf --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.am @@ -0,0 +1,6 @@ +AM_CPPFLAGS = -DCU_ENABLE_TIMER + +check_LTLIBRARIES = libcu.la + +libcu_la_SOURCES = cu.c cu.h + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.in b/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.in new file mode 100644 index 0000000..6c6a3a0 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/Makefile.in @@ -0,0 +1,587 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ +  if test -z '$(MAKELEVEL)'; then \ +    false; \ +  elif test -n '$(MAKE_HOST)'; then \ +    true; \ +  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ +    true; \ +  else \ +    false; \ +  fi; \ +} +am__make_running_with_option = \ +  case $${target_option-} in \ +      ?) ;; \ +      *) echo "am__make_running_with_option: internal error: invalid" \ +              "target option '$${target_option-}' specified" >&2; \ +         exit 1;; \ +  esac; \ +  has_opt=no; \ +  sane_makeflags=$$MAKEFLAGS; \ +  if $(am__is_gnu_make); then \ +    sane_makeflags=$$MFLAGS; \ +  else \ +    case $$MAKEFLAGS in \ +      *\\[\ \	]*) \ +        bs=\\; \ +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ +    esac; \ +  fi; \ +  skip_next=no; \ +  strip_trailopt () \ +  { \ +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +  }; \ +  for flg in $$sane_makeflags; do \ +    test $$skip_next = yes && { skip_next=no; continue; }; \ +    case $$flg in \ +      *=*|--*) continue;; \ +        -*I) strip_trailopt 'I'; skip_next=yes;; \ +      -*I?*) strip_trailopt 'I';; \ +        -*O) strip_trailopt 'O'; skip_next=yes;; \ +      -*O?*) strip_trailopt 'O';; \ +        -*l) strip_trailopt 'l'; skip_next=yes;; \ +      -*l?*) strip_trailopt 'l';; \ +      -[dEDm]) skip_next=yes;; \ +      -[JT]) skip_next=yes;; \ +    esac; \ +    case $$flg in \ +      *$$target_option*) has_opt=yes; break;; \ +    esac; \ +  done; \ +  test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src/testsuites/cu +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +	$(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +libcu_la_LIBADD = +am_libcu_la_OBJECTS = cu.lo +libcu_la_OBJECTS = $(am_libcu_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 =  +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo "  GEN     " $@; +am__v_GEN_1 =  +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 =  +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ +	$(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo "  CC      " $@; +am__v_CC_1 =  +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +	$(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo "  CCLD    " $@; +am__v_CCLD_1 =  +SOURCES = $(libcu_la_SOURCES) +DIST_SOURCES = $(libcu_la_SOURCES) +am__can_run_installinfo = \ +  case $$AM_UPDATE_INFO_DIR in \ +    n|no|NO) false;; \ +    *) (install-info --version) >/dev/null 2>&1;; \ +  esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates.  Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ +  BEGIN { nonempty = 0; } \ +  { items[$$0] = 1; nonempty = 1; } \ +  END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique.  This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ +  list='$(am__tagged_files)'; \ +  unique=`for i in $$list; do \ +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +  done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/../depcomp \ +	COPYING COPYING.LESSER +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CCD_PRECISION = @CCD_PRECISION@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AM_CPPFLAGS = -DCU_ENABLE_TIMER +check_LTLIBRARIES = libcu.la +libcu_la_SOURCES = cu.c cu.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) +	@for dep in $?; do \ +	  case '$(am__configure_deps)' in \ +	    *$$dep*) \ +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +	        && { if test -f $@; then exit 0; else break; fi; }; \ +	      exit 1;; \ +	  esac; \ +	done; \ +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/testsuites/cu/Makefile'; \ +	$(am__cd) $(top_srcdir) && \ +	  $(AUTOMAKE) --foreign src/testsuites/cu/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +	@case '$?' in \ +	  *config.status*) \ +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +	  *) \ +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ +	esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure:  $(am__configure_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4):  $(am__aclocal_m4_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkLTLIBRARIES: +	-test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) +	@list='$(check_LTLIBRARIES)'; \ +	locs=`for p in $$list; do echo $$p; done | \ +	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +	      sort -u`; \ +	test -z "$$locs" || { \ +	  echo rm -f $${locs}; \ +	  rm -f $${locs}; \ +	} + +libcu.la: $(libcu_la_OBJECTS) $(libcu_la_DEPENDENCIES) $(EXTRA_libcu_la_DEPENDENCIES)  +	$(AM_V_CCLD)$(LINK)  $(libcu_la_OBJECTS) $(libcu_la_LIBADD) $(LIBS) + +mostlyclean-compile: +	-rm -f *.$(OBJEXT) + +distclean-compile: +	-rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs + +ID: $(am__tagged_files) +	$(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	set x; \ +	here=`pwd`; \ +	$(am__define_uniq_tagged_files); \ +	shift; \ +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ +	  test -n "$$unique" || unique=$$empty_fix; \ +	  if test $$# -gt 0; then \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      "$$@" $$unique; \ +	  else \ +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +	      $$unique; \ +	  fi; \ +	fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +	$(am__define_uniq_tagged_files); \ +	test -z "$(CTAGS_ARGS)$$unique" \ +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ +	     $$unique + +GTAGS: +	here=`$(am__cd) $(top_builddir) && pwd` \ +	  && $(am__cd) $(top_srcdir) \ +	  && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) +	list='$(am__tagged_files)'; \ +	case "$(srcdir)" in \ +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ +	  *) sdir=$(subdir)/$(srcdir) ;; \ +	esac; \ +	for i in $$list; do \ +	  if test -f "$$i"; then \ +	    echo "$(subdir)/$$i"; \ +	  else \ +	    echo "$$sdir/$$i"; \ +	  fi; \ +	done >> $(top_builddir)/cscope.files + +distclean-tags: +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	list='$(DISTFILES)'; \ +	  dist_files=`for file in $$list; do echo $$file; done | \ +	  sed -e "s|^$$srcdirstrip/||;t" \ +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +	case $$dist_files in \ +	  */*) $(MKDIR_P) `echo "$$dist_files" | \ +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +			   sort -u` ;; \ +	esac; \ +	for file in $$dist_files; do \ +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +	  if test -d $$d/$$file; then \ +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +	    if test -d "$(distdir)/$$file"; then \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +	  else \ +	    test -f "$(distdir)/$$file" \ +	    || cp -p $$d/$$file "$(distdir)/$$file" \ +	    || exit 1; \ +	  fi; \ +	done +check-am: all-am +	$(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: +	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: + +distclean-generic: +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: +	@echo "This command is intended for maintainers to use" +	@echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkLTLIBRARIES clean-generic clean-libtool \ +	mostlyclean-am + +distclean: distclean-am +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ +	distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am +	-rm -rf ./$(DEPDIR) +	-rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ +	mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +	clean-checkLTLIBRARIES clean-generic clean-libtool \ +	cscopelist-am ctags ctags-am distclean distclean-compile \ +	distclean-generic distclean-libtool distclean-tags distdir dvi \ +	dvi-am html html-am info info-am install install-am \ +	install-data install-data-am install-dvi install-dvi-am \ +	install-exec install-exec-am install-html install-html-am \ +	install-info install-info-am install-man install-pdf \ +	install-pdf-am install-ps install-ps-am install-strip \ +	installcheck installcheck-am installdirs maintainer-clean \ +	maintainer-clean-generic mostlyclean mostlyclean-compile \ +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +	tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.c b/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.c new file mode 100644 index 0000000..7449b4b --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.c @@ -0,0 +1,387 @@ +/*** + * CU - C unit testing framework + * --------------------------------- + * Copyright (c)2007,2008,2009 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of CU. + * + *  CU is free software; you can redistribute it and/or modify + *  it under the terms of the GNU Lesser General Public License as + *  published by the Free Software Foundation; either version 3 of + *  the License, or (at your option) any later version. + * + *  CU 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 Lesser General Public License for more details. + * + *  You should have received a copy of the GNU Lesser General Public License + *  along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/wait.h> + +#include "cu.h" + +/** Declared here, because I didn't find header file where it is declared */ +char *strsignal(int sig); + +const char *cu_current_test; +const char *cu_current_test_suite; +int cu_success_test_suites = 0; +int cu_fail_test_suites = 0; +int cu_success_tests = 0; +int cu_fail_tests = 0; +int cu_success_checks = 0; +int cu_fail_checks = 0; + +char cu_out_prefix[CU_OUT_PREFIX_LENGTH+1] = ""; + + +/* globally used file descriptor for reading/writing messages */ +int fd; + +/* indicate if test was failed */ +int test_failed; + +/* codes of messages */ +#define CHECK_FAILED '0' +#define CHECK_SUCCEED '1' +#define TEST_FAILED '2' +#define TEST_SUCCEED '3' +#define TEST_SUITE_FAILED '4' +#define TEST_SUITE_SUCCEED '5' +#define END '6' +#define TEST_NAME '7' + +/* predefined messages */ +#define MSG_CHECK_SUCCEED write(fd, "1\n", 2) +#define MSG_TEST_FAILED write(fd, "2\n", 2) +#define MSG_TEST_SUCCEED write(fd, "3\n", 2) +#define MSG_TEST_SUITE_FAILED write(fd, "4\n", 2) +#define MSG_TEST_SUITE_SUCCEED write(fd, "5\n", 2) +#define MSG_END write(fd, "6\n", 2) + +/* length of buffers */ +#define BUF_LEN 1000 +#define MSGBUF_LEN 300 + + +static void redirect_out_err(const char *testName); +static void close_out_err(void); +static void run_test_suite(const char *ts_name, cu_test_suite_t *ts); +static void receive_messages(void); + +static void cu_run_fork(const char *ts_name, cu_test_suite_t *test_suite); +static void cu_print_results(void); + +void cu_run(int argc, char *argv[]) +{ +    cu_test_suites_t *tss; +    int i; +    char found = 0; + +    if (argc > 1){ +        for (i=1; i < argc; i++){ +            tss = cu_test_suites; +            while (tss->name != NULL && tss->test_suite != NULL){ +                if (strcmp(argv[i], tss->name) == 0){ +                    found = 1; +                    cu_run_fork(tss->name, tss->test_suite); +                    break; +                } +                tss++; +            } + +            if (tss->name == NULL || tss->test_suite == NULL){ +                fprintf(stderr, "ERROR: Could not find test suite '%s'\n", argv[i]); +            } +        } + +        if (found == 1) +            cu_print_results(); + +    }else{ +        tss = cu_test_suites; +        while (tss->name != NULL && tss->test_suite != NULL){ +            cu_run_fork(tss->name, tss->test_suite); +            tss++; +        } +        cu_print_results(); +    } + + +} + +static void cu_run_fork(const char *ts_name, cu_test_suite_t *ts) +{ +    int pipefd[2]; +    int pid; +    int status; + +    if (pipe(pipefd) == -1){ +        perror("Pipe error"); +        exit(-1); +    } + +    fprintf(stdout, " -> %s [IN PROGESS]\n", ts_name); +    fflush(stdout); + +    pid = fork(); +    if (pid < 0){ +        perror("Fork error"); +        exit(-1); +    } + +    if (pid == 0){ +        /* close read end of pipe */ +        close(pipefd[0]); + +        fd = pipefd[1]; + +        /* run testsuite, messages go to fd */ +        run_test_suite(ts_name, ts); + +        MSG_END; +        close(fd); + +        /* stop process where running testsuite */ +        exit(0); +    }else{ +        /* close write end of pipe */ +        close(pipefd[1]); + +        fd = pipefd[0]; + +        /* receive and interpret all messages */ +        receive_messages(); + +        /* wait for children */ +        wait(&status); +        if (!WIFEXITED(status)){ /* if child process ends up abnormaly */ +            if (WIFSIGNALED(status)){ +                fprintf(stdout, "Test suite was terminated by signal %d (%s).\n", +                        WTERMSIG(status), strsignal(WTERMSIG(status))); +            }else{ +                fprintf(stdout, "Test suite terminated abnormaly!\n"); +            } + +            /* mark this test suite as failed, because was terminated +             * prematurely */ +            cu_fail_test_suites++; +        } + +        close(fd); + +        fprintf(stdout, " -> %s [DONE]\n\n", ts_name); +        fflush(stdout); +    } + +} + +static void run_test_suite(const char *ts_name, cu_test_suite_t *ts) +{ +    int test_suite_failed = 0; +    char buffer[MSGBUF_LEN]; +    int len; + +    /* set up current test suite name for later messaging... */ +    cu_current_test_suite = ts_name; + +    /* redirect stdout and stderr */ +    redirect_out_err(cu_current_test_suite); + +    while (ts->name != NULL && ts->func != NULL){ +        test_failed = 0; + +        /* set up name of test for later messaging */ +        cu_current_test = ts->name; + +        /* send message what test is currently running */ +        len = snprintf(buffer, MSGBUF_LEN, "%c    --> Running %s...\n", +                       TEST_NAME, cu_current_test); +        write(fd, buffer, len); + +        /* run test */ +        (*(ts->func))(); + +        if (test_failed){ +            MSG_TEST_FAILED; +            test_suite_failed = 1; +        }else{ +            MSG_TEST_SUCCEED; +        } + +        ts++; /* next test in test suite */ +    } + +    if (test_suite_failed){ +        MSG_TEST_SUITE_FAILED; +    }else{ +        MSG_TEST_SUITE_SUCCEED; +    } + +    /* close redirected stdout and stderr */ +    close_out_err(); +} + + +static void receive_messages(void) +{ +    char buf[BUF_LEN]; /* buffer */ +    int buf_len; /* how many chars stored in buf */ +    char bufout[MSGBUF_LEN]; /* buffer which can be printed out */ +    int bufout_len; +    int state = 0; /* 0 - waiting for code, 1 - copy msg to stdout */ +    int i; +    int end = 0; /* end of messages? */ + +    bufout_len = 0; +    while((buf_len = read(fd, buf, BUF_LEN)) > 0 && !end){ +        for (i=0; i < buf_len; i++){ + +            /* Prepare message for printing out */ +            if (state == 1 || state == 2){ +                if (bufout_len < MSGBUF_LEN) +                    bufout[bufout_len++] = buf[i]; +            } + +            /* reset state on '\n' in msg */ +            if (buf[i] == '\n'){ +                /* copy messages out */ +                if (state == 1) +                    write(1, bufout, bufout_len); +                if (state == 2) +                    write(2, bufout, bufout_len); + +                state = 0; +                bufout_len = 0; +                continue; +            } + +            if (state == 0){ +                if (buf[i] == CHECK_FAILED){ +                    cu_fail_checks++; +                    state = 2; +                }else if (buf[i] == TEST_NAME){ +                    state = 1; +                }else if (buf[i] == CHECK_SUCCEED){ +                    cu_success_checks++; +                }else if (buf[i] == TEST_FAILED){ +                    cu_fail_tests++; +                }else if (buf[i] == TEST_SUCCEED){ +                    cu_success_tests++; +                }else if (buf[i] == TEST_SUITE_FAILED){ +                    cu_fail_test_suites++; +                }else if (buf[i] == TEST_SUITE_SUCCEED){ +                    cu_success_test_suites++; +                }else if (buf[i] == END){ +                    end = 1; +                    break; +                } +            } +        } +    } +} + +void cu_success_assertation(void) +{ +    MSG_CHECK_SUCCEED; +} + +void cu_fail_assertation(const char *file, int line, const char *msg) +{ +    char buf[MSGBUF_LEN]; +    int len; + +    len = snprintf(buf, MSGBUF_LEN, "%c%s:%d (%s::%s) :: %s\n", +            CHECK_FAILED, +            file, line, cu_current_test_suite, cu_current_test, msg); +    write(fd, buf, len); + +    /* enable test_failed flag */ +    test_failed = 1; +} + +static void cu_print_results(void) +{ +    fprintf(stdout, "\n"); +    fprintf(stdout, "==================================================\n"); +    fprintf(stdout, "|               |  failed  |  succeed  |  total  |\n"); +    fprintf(stdout, "|------------------------------------------------|\n"); +    fprintf(stdout, "| assertations: |  %6d  |  %7d  |  %5d  |\n", +                cu_fail_checks, cu_success_checks, +                cu_success_checks+cu_fail_checks); +    fprintf(stdout, "| tests:        |  %6d  |  %7d  |  %5d  |\n", +                cu_fail_tests, cu_success_tests, +                cu_success_tests+cu_fail_tests); +    fprintf(stdout, "| tests suites: |  %6d  |  %7d  |  %5d  |\n", +                cu_fail_test_suites, cu_success_test_suites, +                cu_success_test_suites+cu_fail_test_suites); +    fprintf(stdout, "==================================================\n"); +} + +void cu_set_out_prefix(const char *str) +{ +    strncpy(cu_out_prefix, str, CU_OUT_PREFIX_LENGTH); +} + +static void redirect_out_err(const char *test_name) +{ +    char buf[100]; + +    snprintf(buf, 99, "%stmp.%s.out", cu_out_prefix, test_name); +    if (freopen(buf, "w", stdout) == NULL){ +        perror("Redirecting of stdout failed"); +        exit(-1); +    } + +    snprintf(buf, 99, "%stmp.%s.err", cu_out_prefix, test_name); +    if (freopen(buf, "w", stderr) == NULL){ +        perror("Redirecting of stderr failed"); +        exit(-1); +    } +} + +static void close_out_err(void) +{ +    fclose(stdout); +    fclose(stderr); +} + + +#ifdef CU_ENABLE_TIMER +/* global variables for timer functions */ +struct timespec __cu_timer; +static struct timespec __cu_timer_start, __cu_timer_stop; + +const struct timespec *cuTimer(void) +{ +    return &__cu_timer; +} + +void cuTimerStart(void) +{ +    clock_gettime(CLOCK_MONOTONIC, &__cu_timer_start); +} + +const struct timespec *cuTimerStop(void) +{ +    clock_gettime(CLOCK_MONOTONIC, &__cu_timer_stop); + +    /* store into t difference between time_start and time_end */ +    if (__cu_timer_stop.tv_nsec > __cu_timer_start.tv_nsec){ +        __cu_timer.tv_nsec = __cu_timer_stop.tv_nsec - __cu_timer_start.tv_nsec; +        __cu_timer.tv_sec = __cu_timer_stop.tv_sec - __cu_timer_start.tv_sec; +    }else{ +        __cu_timer.tv_nsec = __cu_timer_stop.tv_nsec + 1000000000L - __cu_timer_start.tv_nsec; +        __cu_timer.tv_sec = __cu_timer_stop.tv_sec - 1 - __cu_timer_start.tv_sec; +    } + +    return &__cu_timer; +} +#endif /* CU_ENABLE_TIMER */ diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.h b/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.h new file mode 100644 index 0000000..06574cf --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cu/cu.h @@ -0,0 +1,164 @@ +/*** + * CU - C unit testing framework + * --------------------------------- + * Copyright (c)2007,2008,2009 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of CU. + * + *  CU is free software; you can redistribute it and/or modify + *  it under the terms of the GNU Lesser General Public License as + *  published by the Free Software Foundation; either version 3 of + *  the License, or (at your option) any later version. + * + *  CU 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 Lesser General Public License for more details. + * + *  You should have received a copy of the GNU Lesser General Public License + *  along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _CU_H_ +#define _CU_H_ + +#ifdef CU_ENABLE_TIMER +# include <time.h> +#endif /* CU_ENABLE_TIMER */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/***** PUBLIC API *****/ +/** + * Define test + */ +#define TEST(name) \ +    void name(void) + +/** + * Define testsuite + */ +#define TEST_SUITE(name) \ +    cu_test_suite_t test_suite_##name[] = +/** + * Must be on the end of list of tests. + */ +#define TEST_SUITE_CLOSURE \ +    { NULL, NULL } + +#define TEST_SUITES \ +    cu_test_suites_t cu_test_suites[] = +#define TEST_SUITES_CLOSURE \ +    { NULL, NULL } +#define TEST_SUITE_ADD(name) \ +    { #name, test_suite_##name } + +/** + * Add test to testsuite + */ +#define TEST_ADD(name) \ +    { #name, name } + +#define CU_RUN(argc, argv) \ +    cu_run(argc, argv) + +/** + * Set prefix for files printed out. Must contain trailing /. + */ +#define CU_SET_OUT_PREFIX(str) \ +    cu_set_out_prefix(str) + +/** + * Assertations + * Assertations with suffix 'M' (e.g. assertTrueM) is variation of macro + * where is possible to specify error message. + */ +#define assertTrueM(a, message) \ +    if (a){ \ +        cu_success_assertation(); \ +    }else{ \ +        cu_fail_assertation(__FILE__, __LINE__, message); \ +    } +#define assertTrue(a) \ +    assertTrueM((a), #a " is not true") + +#define assertFalseM(a, message) \ +    assertTrueM(!(a), message) +#define assertFalse(a) \ +    assertFalseM((a), #a " is not false") + +#define assertEqualsM(a,b,message) \ +    assertTrueM((a) == (b), message) +#define assertEquals(a,b) \ +    assertEqualsM((a), (b), #a " not equals " #b) + +#define assertNotEqualsM(a,b,message) \ +    assertTrueM((a) != (b), message) +#define assertNotEquals(a,b) \ +    assertNotEqualsM((a), (b), #a " equals " #b) +/***** PUBLIC API END *****/ + + +#include <unistd.h> + +#define CU_MAX_NAME_LENGTH 30 + +typedef void (*cu_test_func_t)(void); +typedef struct _cu_test_suite_t { +    const char *name; +    cu_test_func_t func; +} cu_test_suite_t; +typedef struct _cu_test_suites_t { +    const char *name; +    cu_test_suite_t *test_suite; +} cu_test_suites_t; + +extern cu_test_suites_t cu_test_suites[]; + +extern const char *cu_current_test; +extern const char *cu_current_test_suite; + +extern int cu_success_test_suites; +extern int cu_fail_test_suites; +extern int cu_success_tests; +extern int cu_fail_tests; +extern int cu_success_checks; +extern int cu_fail_checks; + +#define CU_OUT_PREFIX_LENGTH 30 +extern char cu_out_prefix[CU_OUT_PREFIX_LENGTH+1]; + +void cu_run(int argc, char *argv[]); +void cu_success_assertation(void); +void cu_fail_assertation(const char *file, int line, const char *msg); +void cu_set_out_prefix(const char *str); + +/** Timer **/ +#ifdef CU_ENABLE_TIMER +extern struct timespec __cu_timer; + +/** + * Returns value of timer. (as timespec struct) + */ +const struct timespec *cuTimer(void); + +/** + * Starts timer. + */ +void cuTimerStart(void); + +/** + * Stops timer and record elapsed time from last call of cuTimerStart(). + * Returns current value of timer. + */ +const struct timespec *cuTimerStop(void); +#endif /* CU_ENABLE_TIMER */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.c b/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.c new file mode 100644 index 0000000..6cd2124 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.c @@ -0,0 +1,180 @@ +#include <stdio.h> +#include <cu/cu.h> +#include <ccd/ccd.h> +#include "support.h" +#include "common.h" + + +TEST(cylcylSetUp) +{ +} + +TEST(cylcylTearDown) +{ +} + + +TEST(cylcylAlignedX) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, -5., 0., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&c1, &c2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[0] += 0.1; +    } +} + +TEST(cylcylAlignedY) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, 0., -5., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&c1, &c2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[1] += 0.1; +    } +} + +TEST(cylcylAlignedZ) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, 0., 0., -5.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&c1, &c2, &ccd); + +        if (i < 43 || i > 57){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[2] += 0.1; +    } +} + +#define TOSVT() \ +    svtObjPen(&cyl1, &cyl2, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&cyl2.pos, &dir); \ +    svtObjPen(&cyl1, &cyl2, stdout, "Pen 1", depth, &dir, &pos) + +TEST(cylcylPenetrationEPA) +{ +    ccd_t ccd; +    CCD_CYL(cyl1); +    CCD_CYL(cyl2); +    int res; +    ccd_vec3_t axis; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    fprintf(stderr, "\n\n\n---- cylcylPenetration ----\n\n\n"); + +    cyl1.radius = 0.35; +    cyl1.height = 0.5; +    cyl2.radius = 0.5; +    cyl2.height = 1.; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&cyl2.pos, 0., 0., 0.3); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + +    ccdVec3Set(&cyl1.pos, 0.3, 0.1, 0.1); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); <<< + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0., 0., 0.); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, -0.2, 0.7, 0.2); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0.567, 1.2, 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + +    ccdVec3Set(&axis, -4.567, 1.2, 0.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    res = ccdGJKPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.h b/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.h new file mode 100644 index 0000000..8cbbe07 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/cylcyl.h @@ -0,0 +1,29 @@ +#ifndef CYL_CYL +#define CYL_CYL + +#include <cu/cu.h> + +TEST(cylcylSetUp); +TEST(cylcylTearDown); + +TEST(cylcylAlignedX); +TEST(cylcylAlignedY); +TEST(cylcylAlignedZ); + +TEST(cylcylPenetrationEPA); + +TEST_SUITE(TSCylCyl) { +    TEST_ADD(cylcylSetUp), + +    TEST_ADD(cylcylAlignedX), +    TEST_ADD(cylcylAlignedY), +    TEST_ADD(cylcylAlignedZ), + +    TEST_ADD(cylcylPenetrationEPA), + +    TEST_ADD(cylcylTearDown), +    TEST_SUITE_CLOSURE +}; + +#endif + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/main.c b/libs/ode-0.16.1/libccd/src/testsuites/main.c new file mode 100644 index 0000000..a4585b0 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/main.c @@ -0,0 +1,32 @@ +#include "vec3.h" +#include "polytope.h" +#include "boxbox.h" +#include "spheresphere.h" +#include "cylcyl.h" +#include "boxcyl.h" + +#include "mpr_boxbox.h" +#include "mpr_cylcyl.h" +#include "mpr_boxcyl.h" + +TEST_SUITES { +    TEST_SUITE_ADD(TSVec3), +    TEST_SUITE_ADD(TSPt), +    TEST_SUITE_ADD(TSBoxBox), +    TEST_SUITE_ADD(TSSphereSphere), +    TEST_SUITE_ADD(TSCylCyl), +    TEST_SUITE_ADD(TSBoxCyl), + +    TEST_SUITE_ADD(TSMPRBoxBox), +    TEST_SUITE_ADD(TSMPRCylCyl), +    TEST_SUITE_ADD(TSMPRBoxCyl), + +    TEST_SUITES_CLOSURE +}; +int main(int argc, char *argv[]) +{ +    CU_SET_OUT_PREFIX("regressions/"); +    CU_RUN(argc, argv); + +    return 0; +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.c b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.c new file mode 100644 index 0000000..2342850 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.c @@ -0,0 +1,500 @@ +#include <stdio.h> +#include <cu/cu.h> + +#include <ccd/ccd.h> +#include "support.h" +#include <ccd/vec3.h> +#include <ccd/dbg.h> +#include "common.h" + + +TEST(mprBoxboxAlignedX) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } + +    box1.x = 0.1; +    box1.y = 0.2; +    box1.z = 0.1; +    box2.x = 0.2; +    box2.y = 0.1; +    box2.z = 0.2; + +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.01; +    } + + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., -0.1, 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } +} + +TEST(mprBoxboxAlignedY) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, 0., -5., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[1] += 0.1; +    } +} + +TEST(mprBoxboxAlignedZ) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, 0., 0., -5.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i < 35 || i > 65){ +            assertFalse(res); +        }else if (i != 35 && i != 65){ +            assertTrue(res); +        } + +        box1.pos.v[2] += 0.1; +    } +} + + +TEST(mprBoxboxRot) +{ +    size_t i; +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t axis; +    ccd_real_t angle; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    box1.x = 1; +    box1.y = 2; +    box1.z = 1; +    box2.x = 2; +    box2.y = 1; +    box2.z = 2; + +    ccdVec3Set(&box1.pos, -5., 0.5, 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); + +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i < 33 || i > 67){ +            assertFalse(res); +        }else if (i != 33 && i != 67){ +            assertTrue(res); +        } + +        box1.pos.v[0] += 0.1; +    } + +    box1.x = 1; +    box1.y = 1; +    box1.z = 1; +    box2.x = 1; +    box2.y = 1; +    box2.z = 1; + +    ccdVec3Set(&box1.pos, -1.01, 0., 0.); +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); + +    ccdVec3Set(&axis, 0., 1., 0.); +    angle = 0.; +    for (i = 0; i < 30; i++){ +        res = ccdMPRIntersect(&box1, &box2, &ccd); + +        if (i != 0 && i != 10 && i != 20){ +            assertTrue(res); +        }else{ +            assertFalse(res); +        } + +        angle += M_PI / 20.; +        ccdQuatSetAngleAxis(&box1.quat, angle, &axis); +    } + +} + + + +static void pConf(ccd_box_t *box1, ccd_box_t *box2, const ccd_vec3_t *v) +{ +    fprintf(stdout, "# box1.pos: [%lf %lf %lf]\n", +            ccdVec3X(&box1->pos), ccdVec3Y(&box1->pos), ccdVec3Z(&box1->pos)); +    fprintf(stdout, "# box1->quat: [%lf %lf %lf %lf]\n", +            box1->quat.q[0], box1->quat.q[1], box1->quat.q[2], box1->quat.q[3]); +    fprintf(stdout, "# box2->pos: [%lf %lf %lf]\n", +            ccdVec3X(&box2->pos), ccdVec3Y(&box2->pos), ccdVec3Z(&box2->pos)); +    fprintf(stdout, "# box2->quat: [%lf %lf %lf %lf]\n", +            box2->quat.q[0], box2->quat.q[1], box2->quat.q[2], box2->quat.q[3]); +    fprintf(stdout, "# sep: [%lf %lf %lf]\n", +            ccdVec3X(v), ccdVec3Y(v), ccdVec3Z(v)); +    fprintf(stdout, "#\n"); +} + +TEST(mprBoxboxSeparate) +{ +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t sep, expsep, expsep2, axis; + +    fprintf(stderr, "\n\n\n---- boxboxSeparate ----\n\n\n"); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.2); +    res = ccdMPRIntersect(&box1, &box2, &ccd); +    assertTrue(res); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0.25, 0., 0.); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + +    ccdVec3Scale(&sep, -1.); +    ccdVec3Add(&box1.pos, &sep); +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., 0.); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., -0.25); +    assertTrue(ccdVec3Eq(&sep, &expsep)); + + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0., 0., 0.); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    ccdVec3Set(&expsep, 0., 0., 1.); +    ccdVec3Set(&expsep2, 0., 0., -1.); +    assertTrue(ccdVec3Eq(&sep, &expsep) || ccdVec3Eq(&sep, &expsep2)); + + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    pConf(&box1, &box2, &sep); + + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdGJKSeparate(&box1, &box2, &ccd, &sep); +    assertTrue(res == 0); +    pConf(&box1, &box2, &sep); +} + + +#define TOSVT() \ +    svtObjPen(&box1, &box2, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&box2.pos, &dir); \ +    svtObjPen(&box1, &box2, stdout, "Pen 1", depth, &dir, &pos) + +TEST(mprBoxboxPenetration) +{ +    ccd_t ccd; +    CCD_BOX(box1); +    CCD_BOX(box2); +    int res; +    ccd_vec3_t axis; +    ccd_quat_t rot; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    fprintf(stderr, "\n\n\n---- boxboxPenetration ----\n\n\n"); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; +    box2.y = 1.; +    box2.z = 1.5; + + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    /* +    ccdVec3Set(&box2.pos, 0., 0., 0.); +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    TOSVT(); +    */ + +    ccdVec3Set(&box2.pos, 0.1, 0., 0.); +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + + +    ccdVec3Set(&box1.pos, -0.3, 0.5, 1.); +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, 0.1, 0., 0.1); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0., 0.); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.5, 0.); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = box2.y = box2.z = 1.; +    ccdVec3Set(&box2.pos, 0.1, 0., 0.); + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 1., 1.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -0.5, 0.1, 0.4); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 7"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.2; box2.y = 0.5; box2.z = 1.; +    box2.x = box2.y = box2.z = 1.; + +    ccdVec3Set(&axis, 0., 0., 1.); +    ccdQuatSetAngleAxis(&box1.quat, M_PI / 4., &axis); +    ccdVec3Set(&axis, 1., 0., 0.); +    ccdQuatSetAngleAxis(&rot, M_PI / 4., &axis); +    ccdQuatMul(&box1.quat, &rot); +    ccdVec3Set(&box1.pos, -1.3, 0., 0.); + +    ccdVec3Set(&box2.pos, 0., 0., 0.); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 8"); +    //TOSVT(); + + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; box2.y = 0.5; box2.z = .5; +    ccdVec3Set(&box1.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdVec3Set(&box2.pos, 0., 0.73, 0.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 9"); +    //TOSVT(); + +    box1.x = box1.y = box1.z = 1.; +    box2.x = 0.5; box2.y = 0.5; box2.z = .5; +    ccdVec3Set(&box1.pos, 0., 0., 0.); +    ccdQuatSet(&box1.quat, 0., 0., 0., 1.); +    ccdVec3Set(&box2.pos, 0.3, 0.738, 0.); +    ccdQuatSet(&box2.quat, 0., 0., 0., 1.); + +    res = ccdMPRPenetration(&box1, &box2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 10"); +    //TOSVT(); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.h b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.h new file mode 100644 index 0000000..e6922aa --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxbox.h @@ -0,0 +1,26 @@ +#ifndef MPR_BOX_BOX +#define MPR_BOX_BOX + +#include <cu/cu.h> + +TEST(mprBoxboxAlignedX); +TEST(mprBoxboxAlignedY); +TEST(mprBoxboxAlignedZ); + +TEST(mprBoxboxRot); + +TEST(mprBoxboxSeparate); +TEST(mprBoxboxPenetration); + +TEST_SUITE(TSMPRBoxBox) { +    TEST_ADD(mprBoxboxAlignedX), +    TEST_ADD(mprBoxboxAlignedY), +    TEST_ADD(mprBoxboxAlignedZ), +    TEST_ADD(mprBoxboxRot), +    //TEST_ADD(mprBoxboxSeparate), +    TEST_ADD(mprBoxboxPenetration), + +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.c b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.c new file mode 100644 index 0000000..7a1b7fa --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.c @@ -0,0 +1,165 @@ +#include <cu/cu.h> +#include "common.h" +#include <ccd/ccd.h> +#include "support.h" + +#define TOSVT() \ +    svtObjPen(&box, &cyl, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&cyl.pos, &dir); \ +    svtObjPen(&box, &cyl, stdout, "Pen 1", depth, &dir, &pos) + +TEST(mprBoxcylIntersect) +{ +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    int res; +    ccd_vec3_t axis; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    ccdVec3Set(&cyl.pos, 0.1, 0., 0.); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    res = ccdMPRIntersect(&box, &cyl, &ccd); +    assertTrue(res); +} + + + +TEST(mprBoxcylPen) +{ +    ccd_t ccd; +    CCD_BOX(box); +    CCD_CYL(cyl); +    int res; +    ccd_vec3_t axis; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    box.x = 0.5; +    box.y = 1.; +    box.z = 1.5; +    cyl.radius = 0.4; +    cyl.height = 0.7; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    ccdVec3Set(&cyl.pos, 0.1, 0., 0.); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + +    ccdVec3Set(&cyl.pos, .6, 0., 0.); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0., 1., 0.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl.pos, .6, 0.6, 0.5); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0.67, 1.1, 0.12); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .6, 0., 0.5); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 7"); +    //TOSVT(); + +    ccdVec3Set(&axis, -0.1, 2.2, -1.); +    ccdQuatSetAngleAxis(&cyl.quat, M_PI / 5., &axis); +    ccdVec3Set(&cyl.pos, .6, 0., 0.5); +    ccdVec3Set(&axis, 1., 1., 0.); +    ccdQuatSetAngleAxis(&box.quat, -M_PI / 4., &axis); +    ccdVec3Set(&box.pos, .9, 0.8, 0.5); +    res = ccdMPRPenetration(&box, &cyl, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 8"); +    //TOSVT(); +} + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.h b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.h new file mode 100644 index 0000000..86f14e6 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_boxcyl.h @@ -0,0 +1,16 @@ +#ifndef MPR_TEST_BOXCYL_H +#define MPR_TEST_BOXCYL_H + +#include <cu/cu.h> + +TEST(mprBoxcylIntersect); +TEST(mprBoxcylPen); + +TEST_SUITE(TSMPRBoxCyl){ +    TEST_ADD(mprBoxcylIntersect), +    TEST_ADD(mprBoxcylPen), + +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.c b/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.c new file mode 100644 index 0000000..ec0a3bc --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.c @@ -0,0 +1,179 @@ +#include <stdio.h> +#include <cu/cu.h> +#include <ccd/ccd.h> +#include "support.h" +#include "common.h" + + +TEST(mprCylcylAlignedX) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, -5., 0., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&c1, &c2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[0] += 0.1; +    } +} + +TEST(mprCylcylAlignedY) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, 0., -5., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&c1, &c2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[1] += 0.1; +    } +} + +TEST(mprCylcylAlignedZ) +{ +    ccd_t ccd; +    CCD_CYL(c1); +    CCD_CYL(c2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    c1.radius = 0.35; +    c1.height = 0.5; +    c2.radius = 0.5; +    c2.height = 1.; + +    ccdVec3Set(&c1.pos, 0., 0., -5.); +    for (i = 0; i < 100; i++){ +        res = ccdMPRIntersect(&c1, &c2, &ccd); + +        if (i < 43 || i > 57){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        c1.pos.v[2] += 0.1; +    } +} + +#define TOSVT() \ +    svtObjPen(&cyl1, &cyl2, stdout, "Pen 1", depth, &dir, &pos); \ +    ccdVec3Scale(&dir, depth); \ +    ccdVec3Add(&cyl2.pos, &dir); \ +    svtObjPen(&cyl1, &cyl2, stdout, "Pen 1", depth, &dir, &pos) + +TEST(mprCylcylPenetration) +{ +    ccd_t ccd; +    CCD_CYL(cyl1); +    CCD_CYL(cyl2); +    int res; +    ccd_vec3_t axis; +    ccd_real_t depth; +    ccd_vec3_t dir, pos; + +    fprintf(stderr, "\n\n\n---- mprCylcylPenetration ----\n\n\n"); + +    cyl1.radius = 0.35; +    cyl1.height = 0.5; +    cyl2.radius = 0.5; +    cyl2.height = 1.; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; +    ccd.center1  = ccdObjCenter; +    ccd.center2  = ccdObjCenter; + +    ccdVec3Set(&cyl2.pos, 0., 0., 0.3); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 1"); +    //TOSVT(); + +    ccdVec3Set(&cyl1.pos, 0.3, 0.1, 0.1); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 2"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0., 0., 0.); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 3"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0., 1., 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, -0.2, 0.7, 0.2); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 4"); +    //TOSVT(); + +    ccdVec3Set(&axis, 0.567, 1.2, 1.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 4., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 5"); +    //TOSVT(); + +    ccdVec3Set(&axis, -4.567, 1.2, 0.); +    ccdQuatSetAngleAxis(&cyl2.quat, M_PI / 3., &axis); +    ccdVec3Set(&cyl2.pos, 0.6, -0.7, 0.2); +    res = ccdMPRPenetration(&cyl1, &cyl2, &ccd, &depth, &dir, &pos); +    assertTrue(res == 0); +    recPen(depth, &dir, &pos, stdout, "Pen 6"); +    //TOSVT(); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.h b/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.h new file mode 100644 index 0000000..2d2162b --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/mpr_cylcyl.h @@ -0,0 +1,23 @@ +#ifndef MPR_CYL_CYL +#define MPR_CYL_CYL + +#include <cu/cu.h> + +TEST(mprCylcylAlignedX); +TEST(mprCylcylAlignedY); +TEST(mprCylcylAlignedZ); + +TEST(mprCylcylPenetration); + +TEST_SUITE(TSMPRCylCyl) { +    TEST_ADD(mprCylcylAlignedX), +    TEST_ADD(mprCylcylAlignedY), +    TEST_ADD(mprCylcylAlignedZ), + +    TEST_ADD(mprCylcylPenetration), + +    TEST_SUITE_CLOSURE +}; + +#endif + diff --git a/libs/ode-0.16.1/libccd/src/testsuites/polytope.c b/libs/ode-0.16.1/libccd/src/testsuites/polytope.c new file mode 100644 index 0000000..65686fb --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/polytope.c @@ -0,0 +1,398 @@ +//#undef NDEBUG +#include <cu/cu.h> +#include <ccd/polytope.h> +#include <ccd/dbg.h> + +TEST(ptSetUp) +{ +} + +TEST(ptTearDown) +{ +} + + +TEST(ptCreate1) +{ +    ccd_pt_t pt; +    ccd_pt_vertex_t *v[3]; +    ccd_pt_edge_t *e[3]; +    ccd_pt_face_t *f; +    ccd_vec3_t u; +    int res; +    size_t i; + +    DBG2("------"); + +    ccdPtInit(&pt); +    ccdPtDestroy(&pt); + + +    ccdPtInit(&pt); + +    ccdVec3Set(&u, -1., -1., 0.); +    v[0] = ccdPtAddVertexCoords(&pt, -1., -1., 0.); +    assertTrue(ccdVec3Eq(&u, &v[0]->v.v)); + +    ccdVec3Set(&u, 1., 0., 0.); +    v[1] = ccdPtAddVertexCoords(&pt, 1., 0., 0.); +    assertTrue(ccdVec3Eq(&u, &v[1]->v.v)); + +    ccdVec3Set(&u, 0., 0., 1.); +    v[2] = ccdPtAddVertexCoords(&pt, 0., 0., 1.); +    assertTrue(ccdVec3Eq(&u, &v[2]->v.v)); + +    for (i = 0; i < 3; i++){ +        assertTrue(ccdEq(v[i]->dist, ccdVec3Len2(&v[i]->v.v))); +    } + + +    e[0] = ccdPtAddEdge(&pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(&pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(&pt, v[2], v[0]); +    for (i = 0; i < 3; i++){ +        DBG("e[%d]->dist: %lf", i, e[i]->dist); +        DBG_VEC3(&e[i]->witness, "     ->witness: "); +    } + +    f = ccdPtAddFace(&pt, e[0], e[1], e[2]); +    DBG("f->dist: %lf", f->dist); +    DBG_VEC3(&f->witness, "     ->witness: "); + +    for (i = 0; i < 3; i++){ +        res = ccdPtDelVertex(&pt, v[i]); +        assertFalse(res == 0); +        res = ccdPtDelEdge(&pt, e[i]); +        assertFalse(res == 0); +    } + +    ccdPtDelFace(&pt, f); +    for (i = 0; i < 3; i++){ +        res = ccdPtDelVertex(&pt, v[i]); +        assertFalse(res == 0); +    } +    for (i = 0; i < 3; i++){ +        res = ccdPtDelEdge(&pt, e[i]); +        assertTrue(res == 0); +    } +    for (i = 0; i < 3; i++){ +        res = ccdPtDelVertex(&pt, v[i]); +        assertTrue(res == 0); +    } + +    v[0] = ccdPtAddVertexCoords(&pt, -1., -1., 0.); +    v[1] = ccdPtAddVertexCoords(&pt, 1., 0., 0.); +    v[2] = ccdPtAddVertexCoords(&pt, 0., 0., 1.); + +    e[0] = ccdPtAddEdge(&pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(&pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(&pt, v[2], v[0]); + +    f = ccdPtAddFace(&pt, e[0], e[1], e[2]); + +    ccdPtDestroy(&pt); +} + +TEST(ptCreate2) +{ +    ccd_pt_t pt; +    ccd_pt_vertex_t *v[4]; +    ccd_pt_edge_t *e[6]; +    ccd_pt_face_t *f[4]; +    ccd_vec3_t u; +    int res; +    unsigned int i; + +    DBG2("------"); + +    ccdPtInit(&pt); + +    ccdVec3Set(&u, -1., -1., 0.); +    v[0] = ccdPtAddVertexCoords(&pt, -1., -1., 0.); +    assertTrue(ccdVec3Eq(&u, &v[0]->v.v)); + +    ccdVec3Set(&u, 1., 0., 0.); +    v[1] = ccdPtAddVertexCoords(&pt, 1., 0., 0.); +    assertTrue(ccdVec3Eq(&u, &v[1]->v.v)); + +    ccdVec3Set(&u, 0., 0., 1.); +    v[2] = ccdPtAddVertexCoords(&pt, 0., 0., 1.); +    assertTrue(ccdVec3Eq(&u, &v[2]->v.v)); + +    ccdVec3Set(&u, 0., 1., 0.); +    v[3] = ccdPtAddVertexCoords(&pt, 0., 1., 0.); +    assertTrue(ccdVec3Eq(&u, &v[3]->v.v)); + +    for (i = 0; i < 4; i++){ +        assertTrue(ccdEq(v[i]->dist, ccdVec3Len2(&v[i]->v.v))); +    } +    for (i = 0; i < 4; i++){ +        DBG("v[%d]->dist: %lf", i, v[i]->dist); +        DBG_VEC3(&v[i]->witness, "     ->witness: "); +    } + +    e[0] = ccdPtAddEdge(&pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(&pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(&pt, v[2], v[0]); +    e[3] = ccdPtAddEdge(&pt, v[3], v[0]); +    e[4] = ccdPtAddEdge(&pt, v[3], v[1]); +    e[5] = ccdPtAddEdge(&pt, v[3], v[2]); +    for (i = 0; i < 6; i++){ +        DBG("e[%d]->dist: %lf", i, e[i]->dist); +        DBG_VEC3(&e[i]->witness, "     ->witness: "); +    } + +    f[0] = ccdPtAddFace(&pt, e[0], e[1], e[2]); +    f[1] = ccdPtAddFace(&pt, e[3], e[4], e[0]); +    f[2] = ccdPtAddFace(&pt, e[4], e[5], e[1]); +    f[3] = ccdPtAddFace(&pt, e[5], e[3], e[2]); +    for (i = 0; i < 4; i++){ +        DBG("f[%d]->dist: %lf", i, f[i]->dist); +        DBG_VEC3(&f[i]->witness, "     ->witness: "); +    } + +    for (i = 0; i < 4; i++){ +        res = ccdPtDelVertex(&pt, v[i]); +        assertFalse(res == 0); +    } +    for (i = 0; i < 6; i++){ +        res = ccdPtDelEdge(&pt, e[i]); +        assertFalse(res == 0); +    } + +    res = ccdPtDelFace(&pt, f[0]); +    for (i = 0; i < 6; i++){ +        res = ccdPtDelEdge(&pt, e[i]); +        assertFalse(res == 0); +    } + +    res = ccdPtDelFace(&pt, f[1]); +    assertTrue(ccdPtDelEdge(&pt, e[0]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[1]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[2]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[3]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[4]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[5]) == 0); +    for (i = 0; i < 4; i++){ +        res = ccdPtDelVertex(&pt, v[i]); +        assertFalse(res == 0); +    } + +    res = ccdPtDelFace(&pt, f[2]); +    assertTrue(ccdPtDelEdge(&pt, e[1]) == 0); +    assertTrue(ccdPtDelEdge(&pt, e[4]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[2]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[3]) == 0); +    assertFalse(ccdPtDelEdge(&pt, e[5]) == 0); + +    assertTrue(ccdPtDelVertex(&pt, v[1]) == 0); +    assertFalse(ccdPtDelVertex(&pt, v[0]) == 0); +    assertFalse(ccdPtDelVertex(&pt, v[2]) == 0); +    assertFalse(ccdPtDelVertex(&pt, v[3]) == 0); + +    res = ccdPtDelFace(&pt, f[3]); +    assertTrue(ccdPtDelEdge(&pt, e[2]) == 0); +    assertTrue(ccdPtDelEdge(&pt, e[3]) == 0); +    assertTrue(ccdPtDelEdge(&pt, e[5]) == 0); + +    assertTrue(ccdPtDelVertex(&pt, v[0]) == 0); +    assertTrue(ccdPtDelVertex(&pt, v[2]) == 0); +    assertTrue(ccdPtDelVertex(&pt, v[3]) == 0); + + +    v[0] = ccdPtAddVertexCoords(&pt, -1., -1., 0.); +    v[1] = ccdPtAddVertexCoords(&pt, 1., 0., 0.); +    v[2] = ccdPtAddVertexCoords(&pt, 0., 0., 1.); +    v[3] = ccdPtAddVertexCoords(&pt, 0., 1., 0.); + +    e[0] = ccdPtAddEdge(&pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(&pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(&pt, v[2], v[0]); +    e[3] = ccdPtAddEdge(&pt, v[3], v[0]); +    e[4] = ccdPtAddEdge(&pt, v[3], v[1]); +    e[5] = ccdPtAddEdge(&pt, v[3], v[2]); + +    f[0] = ccdPtAddFace(&pt, e[0], e[1], e[2]); +    f[1] = ccdPtAddFace(&pt, e[3], e[4], e[0]); +    f[2] = ccdPtAddFace(&pt, e[4], e[5], e[1]); +    f[3] = ccdPtAddFace(&pt, e[5], e[3], e[2]); + +    ccdPtDestroy(&pt); +} + +TEST(ptNearest) +{ +    ccd_pt_t pt; +    ccd_pt_vertex_t *v[4]; +    ccd_pt_edge_t *e[6]; +    ccd_pt_face_t *f[4]; +    ccd_pt_el_t *nearest; + +    DBG2("------"); + +    ccdPtInit(&pt); + +    v[0] = ccdPtAddVertexCoords(&pt, -1., -1., 0.); +    v[1] = ccdPtAddVertexCoords(&pt, 1., 0., 0.); +    v[2] = ccdPtAddVertexCoords(&pt, 0., 0., 1.); +    v[3] = ccdPtAddVertexCoords(&pt, 0., 1., 0.); + +    e[0] = ccdPtAddEdge(&pt, v[0], v[1]); +    e[1] = ccdPtAddEdge(&pt, v[1], v[2]); +    e[2] = ccdPtAddEdge(&pt, v[2], v[0]); +    e[3] = ccdPtAddEdge(&pt, v[3], v[0]); +    e[4] = ccdPtAddEdge(&pt, v[3], v[1]); +    e[5] = ccdPtAddEdge(&pt, v[3], v[2]); + +    f[0] = ccdPtAddFace(&pt, e[0], e[1], e[2]); +    f[1] = ccdPtAddFace(&pt, e[3], e[4], e[0]); +    f[2] = ccdPtAddFace(&pt, e[4], e[5], e[1]); +    f[3] = ccdPtAddFace(&pt, e[5], e[3], e[2]); + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_FACE); +    assertEquals(nearest, (ccd_pt_el_t *)f[1]); +    assertTrue(ccdPtDelFace(&pt, f[1]) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_FACE); +    assertTrue(nearest == (ccd_pt_el_t *)f[0] +                || nearest == (ccd_pt_el_t *)f[3]); +    assertTrue(ccdPtDelFace(&pt, (ccd_pt_face_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_FACE); +    assertTrue(nearest == (ccd_pt_el_t *)f[0] +                || nearest == (ccd_pt_el_t *)f[3]); +    assertTrue(ccdPtDelFace(&pt, (ccd_pt_face_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[0] +                || nearest == (ccd_pt_el_t *)e[3]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[0] +                || nearest == (ccd_pt_el_t *)e[3]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_FACE); +    assertEquals(nearest, (ccd_pt_el_t *)f[2]); +    assertTrue(ccdPtDelFace(&pt, f[2]) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[1] +                || nearest == (ccd_pt_el_t *)e[4] +                || nearest == (ccd_pt_el_t *)e[5]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[1] +                || nearest == (ccd_pt_el_t *)e[4] +                || nearest == (ccd_pt_el_t *)e[5]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[1] +                || nearest == (ccd_pt_el_t *)e[4] +                || nearest == (ccd_pt_el_t *)e[5]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_EDGE); +    assertTrue(nearest == (ccd_pt_el_t *)e[2]); +    assertTrue(ccdPtDelEdge(&pt, (ccd_pt_edge_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_VERTEX); +    assertTrue(nearest == (ccd_pt_el_t *)v[1] +                || nearest == (ccd_pt_el_t *)v[2] +                || nearest == (ccd_pt_el_t *)v[3]); +    assertTrue(ccdPtDelVertex(&pt, (ccd_pt_vertex_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_VERTEX); +    assertTrue(nearest == (ccd_pt_el_t *)v[1] +                || nearest == (ccd_pt_el_t *)v[2] +                || nearest == (ccd_pt_el_t *)v[3]); +    assertTrue(ccdPtDelVertex(&pt, (ccd_pt_vertex_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_VERTEX); +    assertTrue(nearest == (ccd_pt_el_t *)v[1] +                || nearest == (ccd_pt_el_t *)v[2] +                || nearest == (ccd_pt_el_t *)v[3]); +    assertTrue(ccdPtDelVertex(&pt, (ccd_pt_vertex_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    //DBG("nearest->type: %d", nearest->type); +    //DBG("       ->dist: %lf", nearest->dist); +    //DBG_VEC3(&nearest->witness, "       ->witness: "); +    assertEquals(nearest->type, CCD_PT_VERTEX); +    assertTrue(nearest == (ccd_pt_el_t *)v[0]); +    assertTrue(ccdPtDelVertex(&pt, (ccd_pt_vertex_t *)nearest) == 0); + + +    nearest = ccdPtNearest(&pt); +    assertTrue(nearest == NULL); + +    ccdPtDestroy(&pt); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/polytope.h b/libs/ode-0.16.1/libccd/src/testsuites/polytope.h new file mode 100644 index 0000000..cf31546 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/polytope.h @@ -0,0 +1,24 @@ +#ifndef TEST_POLYTOPE_H +#define TEST_POLYTOPE_H + +#include <cu/cu.h> + +TEST(ptSetUp); +TEST(ptTearDown); + +TEST(ptCreate1); +TEST(ptCreate2); +TEST(ptNearest); + +TEST_SUITE(TSPt) { +    TEST_ADD(ptSetUp), + +    TEST_ADD(ptCreate1), +    TEST_ADD(ptCreate2), +    TEST_ADD(ptNearest), + +    TEST_ADD(ptTearDown), +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.c b/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.c new file mode 100644 index 0000000..36628f6 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.c @@ -0,0 +1,99 @@ +#include <stdio.h> +#include <cu/cu.h> +#include "support.h" +#include <ccd/ccd.h> + +TEST(spheresphereSetUp) +{ +} + +TEST(spheresphereTearDown) +{ +} + +TEST(spheresphereAlignedX) +{ +    ccd_t ccd; +    CCD_SPHERE(s1); +    CCD_SPHERE(s2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    s1.radius = 0.35; +    s2.radius = .5; + +    ccdVec3Set(&s1.pos, -5., 0., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&s1, &s2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        s1.pos.v[0] += 0.1; +    } +} + +TEST(spheresphereAlignedY) +{ +    ccd_t ccd; +    CCD_SPHERE(s1); +    CCD_SPHERE(s2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    s1.radius = 0.35; +    s2.radius = .5; + +    ccdVec3Set(&s1.pos, 0., -5., 0.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&s1, &s2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        s1.pos.v[1] += 0.1; +    } +} + +TEST(spheresphereAlignedZ) +{ +    ccd_t ccd; +    CCD_SPHERE(s1); +    CCD_SPHERE(s2); +    size_t i; +    int res; + +    CCD_INIT(&ccd); +    ccd.support1 = ccdSupport; +    ccd.support2 = ccdSupport; + +    s1.radius = 0.35; +    s2.radius = .5; + +    ccdVec3Set(&s1.pos, 0., 0., -5.); +    for (i = 0; i < 100; i++){ +        res = ccdGJKIntersect(&s1, &s2, &ccd); + +        if (i < 42 || i > 58){ +            assertFalse(res); +        }else{ +            assertTrue(res); +        } + +        s1.pos.v[2] += 0.1; +    } +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.h b/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.h new file mode 100644 index 0000000..b032215 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/spheresphere.h @@ -0,0 +1,24 @@ +#ifndef SPHERE_SPHERE +#define SPHERE_SPHERE + +#include <cu/cu.h> + +TEST(spheresphereSetUp); +TEST(spheresphereTearDown); + +TEST(spheresphereAlignedX); +TEST(spheresphereAlignedY); +TEST(spheresphereAlignedZ); + +TEST_SUITE(TSSphereSphere) { +    TEST_ADD(spheresphereSetUp), + +    TEST_ADD(spheresphereAlignedX), +    TEST_ADD(spheresphereAlignedY), +    TEST_ADD(spheresphereAlignedZ), + +    TEST_ADD(spheresphereTearDown), +    TEST_SUITE_CLOSURE +}; + +#endif diff --git a/libs/ode-0.16.1/libccd/src/testsuites/support.c b/libs/ode-0.16.1/libccd/src/testsuites/support.c new file mode 100644 index 0000000..5f2b4c7 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/support.c @@ -0,0 +1,85 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdio.h> +#include <ccd/ccd.h> +#include <ccd/vec3.h> +#include "support.h" + +void ccdSupport(const void *_obj, const ccd_vec3_t *_dir, +                ccd_vec3_t *v) +{ +    // Support function is made according to Gino van den Bergen's paper +    //  A Fast and Robust CCD Implementation for Collision Detection of +    //  Convex Objects + +    ccd_obj_t *obj = (ccd_obj_t *)_obj; +    ccd_vec3_t dir; +    ccd_quat_t qinv; + +    ccdVec3Copy(&dir, _dir); +    ccdQuatInvert2(&qinv, &obj->quat); + +    ccdQuatRotVec(&dir, &qinv); + +    if (obj->type == CCD_OBJ_BOX){ +        ccd_box_t *box = (ccd_box_t *)obj; +        ccdVec3Set(v, ccdSign(ccdVec3X(&dir)) * box->x * CCD_REAL(0.5), +                      ccdSign(ccdVec3Y(&dir)) * box->y * CCD_REAL(0.5), +                      ccdSign(ccdVec3Z(&dir)) * box->z * CCD_REAL(0.5)); +    }else if (obj->type == CCD_OBJ_SPHERE){ +        ccd_sphere_t *sphere = (ccd_sphere_t *)obj; +        ccd_real_t len; + +        len = ccdVec3Len2(&dir); +        if (len - CCD_EPS > CCD_ZERO){ +            ccdVec3Copy(v, &dir); +            ccdVec3Scale(v, sphere->radius / CCD_SQRT(len)); +        }else{ +            ccdVec3Set(v, CCD_ZERO, CCD_ZERO, CCD_ZERO); +        } +    }else if (obj->type == CCD_OBJ_CYL){ +        ccd_cyl_t *cyl = (ccd_cyl_t *)obj; +        ccd_real_t zdist, rad; + +        zdist = dir.v[0] * dir.v[0] + dir.v[1] * dir.v[1]; +        zdist = CCD_SQRT(zdist); +        if (ccdIsZero(zdist)){ +            ccdVec3Set(v, CCD_ZERO, CCD_ZERO, +                          ccdSign(ccdVec3Z(&dir)) * cyl->height * CCD_REAL(0.5)); +        }else{ +            rad = cyl->radius / zdist; + +            ccdVec3Set(v, rad * ccdVec3X(&dir), +                          rad * ccdVec3Y(&dir), +                          ccdSign(ccdVec3Z(&dir)) * cyl->height * CCD_REAL(0.5)); +        } +    } + +    // transform support vertex +    ccdQuatRotVec(v, &obj->quat); +    ccdVec3Add(v, &obj->pos); +} + +void ccdObjCenter(const void *_obj, ccd_vec3_t *center) +{ +    ccd_obj_t *obj = (ccd_obj_t *)_obj; + +    ccdVec3Set(center, CCD_ZERO, CCD_ZERO, CCD_ZERO); +    // rotation is not needed +    ccdVec3Add(center, &obj->pos); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/support.h b/libs/ode-0.16.1/libccd/src/testsuites/support.h new file mode 100644 index 0000000..e444296 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/support.h @@ -0,0 +1,102 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +/*** + * Some support() functions for some convex shapes. + */ + +#ifndef __CCD_SUPPORT_H__ +#define __CCD_SUPPORT_H__ + +#include <ccd/quat.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#define CCD_OBJ_BOX 1 +#define CCD_OBJ_SPHERE 2 +#define CCD_OBJ_CYL 3 + +#define __CCD_OBJ__ \ +    int type; \ +    ccd_vec3_t pos; \ +    ccd_quat_t quat; + +struct _ccd_obj_t { +    __CCD_OBJ__ +}; +typedef struct _ccd_obj_t ccd_obj_t; + +struct _ccd_box_t { +    __CCD_OBJ__ +    ccd_real_t x, y, z; //!< Lengths of box's edges +}; +typedef struct _ccd_box_t ccd_box_t; + +struct _ccd_sphere_t { +    __CCD_OBJ__ +    ccd_real_t radius; +}; +typedef struct _ccd_sphere_t ccd_sphere_t; + +struct _ccd_cyl_t { +    __CCD_OBJ__ +    ccd_real_t radius; +    ccd_real_t height; +}; +typedef struct _ccd_cyl_t ccd_cyl_t; + + +#define CCD_BOX(name) \ +    ccd_box_t name = { .type = CCD_OBJ_BOX, \ +                       .pos  = { .v = { 0., 0., 0. } }, \ +                       .quat = { .q = { 0., 0., 0., 1. } }, \ +                       .x = 0., \ +                       .y = 0., \ +                       .z = 0. } + +#define CCD_SPHERE(name) \ +    ccd_sphere_t name = { .type = CCD_OBJ_SPHERE, \ +                          .pos  = { .v = { 0., 0., 0. } }, \ +                          .quat = { .q = { 0., 0., 0., 1. } }, \ +                          .radius = 0. } + +#define CCD_CYL(name) \ +    ccd_cyl_t name = { .type = CCD_OBJ_CYL, \ +                       .pos  = { .v = { 0., 0., 0. } }, \ +                       .quat = { .q = { 0., 0., 0., 1. } }, \ +                       .radius = 0., \ +                       .height = 0. } + +/** + * Returns supporting vertex via v. + * Supporting vertex is fathest vertex from object in direction dir. + */ +void ccdSupport(const void *obj, const ccd_vec3_t *dir, +                ccd_vec3_t *v); + +/** + * Returns center of object. + */ +void ccdObjCenter(const void *obj, ccd_vec3_t *center); + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* __CCD_SUPPORT_H__ */ diff --git a/libs/ode-0.16.1/libccd/src/testsuites/vec3.c b/libs/ode-0.16.1/libccd/src/testsuites/vec3.c new file mode 100644 index 0000000..007f310 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/vec3.c @@ -0,0 +1,273 @@ +#include <stdio.h> +#include <cu/cu.h> +#include <ccd/vec3.h> + +TEST(vec3SetUp) +{ +} + +TEST(vec3TearDown) +{ +} + + +TEST(vec3PointSegmentDist) +{ +    ccd_vec3_t P, a, b, w, ew; +    ccd_real_t dist; + +    ccdVec3Set(&a, 0., 0., 0.); +    ccdVec3Set(&b, 1., 0., 0.); + +    // extereme w == a +    ccdVec3Set(&P, -1., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 1.)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -0.5, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.5 * 0.5)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -0.1, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, .1 * .1)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, 0., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -1., 1., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 2.)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -0.5, 0.5, 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.5)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -0.1, -1., 2.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 5.01)); +    assertTrue(ccdVec3Eq(&w, &a)); + + +    // extereme w == b +    ccdVec3Set(&P, 2., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 1.)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 1.5, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.5 * 0.5)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 1.1, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, .1 * .1)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 1., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 2., 1., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 2.)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 1.5, 0.5, 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.5)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 1.1, -1., 2.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 5.01)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    // inside segment +    ccdVec3Set(&P, .5, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &P)); + +    ccdVec3Set(&P, .9, 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &P)); + +    ccdVec3Set(&P, .5, 1., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 1.)); +    ccdVec3Set(&ew, 0.5, 0., 0.); +    assertTrue(ccdVec3Eq(&w, &ew)); + +    ccdVec3Set(&P, .5, 1., 1.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 2.)); +    ccdVec3Set(&ew, 0.5, 0., 0.); +    assertTrue(ccdVec3Eq(&w, &ew)); + + + +    ccdVec3Set(&a, -.5, 2., 1.); +    ccdVec3Set(&b, 1., 1.5, 0.5); + +    // extereme w == a +    ccdVec3Set(&P, -10., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 9.5 * 9.5 + 2. * 2. + 1.)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, -10., 9.2, 3.4); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 9.5 * 9.5 + 7.2 * 7.2 + 2.4 * 2.4)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    // extereme w == b +    ccdVec3Set(&P, 10., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 9. * 9. + 1.5 * 1.5 + 0.5 * 0.5)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, 10., 9.2, 3.4); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 9. * 9. + 7.7 * 7.7 + 2.9 * 2.9)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    // inside ab +    ccdVec3Set(&a, -.1, 1., 1.); +    ccdVec3Set(&b, 1., 1., 1.); +    ccdVec3Set(&P, 0., 0., 0.); +    dist = ccdVec3PointSegmentDist2(&P, &a, &b, &w); +    assertTrue(ccdEq(dist, 2.)); +    ccdVec3Set(&ew, 0., 1., 1.); +    assertTrue(ccdVec3Eq(&w, &ew)); +} + + +TEST(vec3PointTriDist) +{ +    ccd_vec3_t P, a, b, c, w, P0; +    ccd_real_t dist; + +    ccdVec3Set(&a, -1., 0., 0.); +    ccdVec3Set(&b, 0., 1., 1.); +    ccdVec3Set(&c, -1., 0., 1.); + +    ccdVec3Set(&P, -1., 0., 0.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &a)); + +    ccdVec3Set(&P, 0., 1., 1.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &b)); + +    ccdVec3Set(&P, -1., 0., 1.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &c)); + +    ccdVec3Set(&P, 0., 0., 0.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, NULL); +    assertTrue(ccdEq(dist, 2./3.)); + + +    // region 4 +    ccdVec3Set(&P, -2., 0., 0.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &a))); +    assertTrue(ccdVec3Eq(&w, &a)); +    ccdVec3Set(&P, -2., 0.2, -1.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &a))); +    assertTrue(ccdVec3Eq(&w, &a)); + +    // region 2 +    ccdVec3Set(&P, -1.3, 0., 1.2); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &c))); +    assertTrue(ccdVec3Eq(&w, &c)); +    ccdVec3Set(&P, -1.2, 0.2, 1.1); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &c))); +    assertTrue(ccdVec3Eq(&w, &c)); + +    // region 6 +    ccdVec3Set(&P, 0.3, 1., 1.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &b))); +    assertTrue(ccdVec3Eq(&w, &b)); +    ccdVec3Set(&P, .1, 1., 1.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, ccdVec3Dist2(&P, &b))); +    assertTrue(ccdVec3Eq(&w, &b)); + +    // region 1 +    ccdVec3Set(&P, 0., 1., 2.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 1.)); +    assertTrue(ccdVec3Eq(&w, &b)); +    ccdVec3Set(&P, -1., 0., 2.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 1.)); +    assertTrue(ccdVec3Eq(&w, &c)); +    ccdVec3Set(&P, -0.5, 0.5, 2.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 1.)); +    ccdVec3Set(&P0, -0.5, 0.5, 1.); +    assertTrue(ccdVec3Eq(&w, &P0)); + +    // region 3 +    ccdVec3Set(&P, -2., -1., 0.7); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 2.)); +    ccdVec3Set(&P0, -1., 0., 0.7); +    assertTrue(ccdVec3Eq(&w, &P0)); + +    // region 5 +    ccdVec3Set(&P, 0., 0., 0.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 2./3.)); +    ccdVec3Set(&P0, -2./3., 1./3., 1./3.); +    assertTrue(ccdVec3Eq(&w, &P0)); + +    // region 0 +    ccdVec3Set(&P, -0.5, 0.5, 0.5); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &P)); +    ccdVec3Set(&P, -0.5, 0.5, 0.7); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &P)); +    ccdVec3Set(&P, -0.5, 0.5, 0.9); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.)); +    assertTrue(ccdVec3Eq(&w, &P)); + +    ccdVec3Set(&P, 0., 0., 0.5); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.5)); +    ccdVec3Set(&P0, -.5, .5, .5); +    assertTrue(ccdVec3Eq(&w, &P0)); + +    ccdVec3Set(&a, -1., 0., 0.); +    ccdVec3Set(&b, 0., 1., -1.); +    ccdVec3Set(&c, 0., 1., 1.); +    ccdVec3Set(&P, 0., 0., 0.); +    dist = ccdVec3PointTriDist2(&P, &a, &b, &c, &w); +    assertTrue(ccdEq(dist, 0.5)); +    ccdVec3Set(&P0, -.5, .5, 0.); +    assertTrue(ccdVec3Eq(&w, &P0)); +    //fprintf(stderr, "dist: %lf\n", dist); +} diff --git a/libs/ode-0.16.1/libccd/src/testsuites/vec3.h b/libs/ode-0.16.1/libccd/src/testsuites/vec3.h new file mode 100644 index 0000000..2055947 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/testsuites/vec3.h @@ -0,0 +1,20 @@ +#ifndef TEST_VEC3_H +#define TEST_VEC3_H + +#include <cu/cu.h> + +TEST(vec3SetUp); +TEST(vec3TearDown); +TEST(vec3PointSegmentDist); +TEST(vec3PointTriDist); + +TEST_SUITE(TSVec3) { +    TEST_ADD(vec3SetUp), + +    TEST_ADD(vec3PointSegmentDist), +    TEST_ADD(vec3PointTriDist), + +    TEST_ADD(vec3TearDown), +    TEST_SUITE_CLOSURE +}; +#endif diff --git a/libs/ode-0.16.1/libccd/src/vec3.c b/libs/ode-0.16.1/libccd/src/vec3.c new file mode 100644 index 0000000..f1a0804 --- /dev/null +++ b/libs/ode-0.16.1/libccd/src/vec3.c @@ -0,0 +1,215 @@ +/*** + * libccd + * --------------------------------- + * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz> + * + * + *  This file is part of libccd. + * + *  Distributed under the OSI-approved BSD License (the "License"); + *  see accompanying file BDS-LICENSE for details or see + *  <http://www.opensource.org/licenses/bsd-license.php>. + * + *  This software is distributed WITHOUT ANY WARRANTY; without even the + *  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + *  See the License for more information. + */ + +#include <stdio.h> +#include <ccd/vec3.h> +#include <ccd/dbg.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +static CCD_VEC3(__ccd_vec3_origin, CCD_ZERO, CCD_ZERO, CCD_ZERO); +ccd_vec3_t *ccd_vec3_origin = &__ccd_vec3_origin; + +static ccd_vec3_t points_on_sphere[] = { +	CCD_VEC3_STATIC(CCD_REAL( 0.000000), CCD_REAL(-0.000000), CCD_REAL(-1.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.723608), CCD_REAL(-0.525725), CCD_REAL(-0.447219)), +	CCD_VEC3_STATIC(CCD_REAL(-0.276388), CCD_REAL(-0.850649), CCD_REAL(-0.447219)), +	CCD_VEC3_STATIC(CCD_REAL(-0.894426), CCD_REAL(-0.000000), CCD_REAL(-0.447216)), +	CCD_VEC3_STATIC(CCD_REAL(-0.276388), CCD_REAL( 0.850649), CCD_REAL(-0.447220)), +	CCD_VEC3_STATIC(CCD_REAL( 0.723608), CCD_REAL( 0.525725), CCD_REAL(-0.447219)), +	CCD_VEC3_STATIC(CCD_REAL( 0.276388), CCD_REAL(-0.850649), CCD_REAL( 0.447220)), +	CCD_VEC3_STATIC(CCD_REAL(-0.723608), CCD_REAL(-0.525725), CCD_REAL( 0.447219)), +	CCD_VEC3_STATIC(CCD_REAL(-0.723608), CCD_REAL( 0.525725), CCD_REAL( 0.447219)), +	CCD_VEC3_STATIC(CCD_REAL( 0.276388), CCD_REAL( 0.850649), CCD_REAL( 0.447219)), +	CCD_VEC3_STATIC(CCD_REAL( 0.894426), CCD_REAL( 0.000000), CCD_REAL( 0.447216)), +	CCD_VEC3_STATIC(CCD_REAL(-0.000000), CCD_REAL( 0.000000), CCD_REAL( 1.000000)),  +	CCD_VEC3_STATIC(CCD_REAL( 0.425323), CCD_REAL(-0.309011), CCD_REAL(-0.850654)), +	CCD_VEC3_STATIC(CCD_REAL(-0.162456), CCD_REAL(-0.499995), CCD_REAL(-0.850654)), +	CCD_VEC3_STATIC(CCD_REAL( 0.262869), CCD_REAL(-0.809012), CCD_REAL(-0.525738)), +	CCD_VEC3_STATIC(CCD_REAL( 0.425323), CCD_REAL( 0.309011), CCD_REAL(-0.850654)), +	CCD_VEC3_STATIC(CCD_REAL( 0.850648), CCD_REAL(-0.000000), CCD_REAL(-0.525736)), +	CCD_VEC3_STATIC(CCD_REAL(-0.525730), CCD_REAL(-0.000000), CCD_REAL(-0.850652)), +	CCD_VEC3_STATIC(CCD_REAL(-0.688190), CCD_REAL(-0.499997), CCD_REAL(-0.525736)), +	CCD_VEC3_STATIC(CCD_REAL(-0.162456), CCD_REAL( 0.499995), CCD_REAL(-0.850654)), +	CCD_VEC3_STATIC(CCD_REAL(-0.688190), CCD_REAL( 0.499997), CCD_REAL(-0.525736)), +	CCD_VEC3_STATIC(CCD_REAL( 0.262869), CCD_REAL( 0.809012), CCD_REAL(-0.525738)), +	CCD_VEC3_STATIC(CCD_REAL( 0.951058), CCD_REAL( 0.309013), CCD_REAL( 0.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.951058), CCD_REAL(-0.309013), CCD_REAL( 0.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.587786), CCD_REAL(-0.809017), CCD_REAL( 0.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.000000), CCD_REAL(-1.000000), CCD_REAL( 0.000000)), +	CCD_VEC3_STATIC(CCD_REAL(-0.587786), CCD_REAL(-0.809017), CCD_REAL( 0.000000)), +	CCD_VEC3_STATIC(CCD_REAL(-0.951058), CCD_REAL(-0.309013), CCD_REAL(-0.000000)), +	CCD_VEC3_STATIC(CCD_REAL(-0.951058), CCD_REAL( 0.309013), CCD_REAL(-0.000000)), +	CCD_VEC3_STATIC(CCD_REAL(-0.587786), CCD_REAL( 0.809017), CCD_REAL(-0.000000)), +	CCD_VEC3_STATIC(CCD_REAL(-0.000000), CCD_REAL( 1.000000), CCD_REAL(-0.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.587786), CCD_REAL( 0.809017), CCD_REAL(-0.000000)), +	CCD_VEC3_STATIC(CCD_REAL( 0.688190), CCD_REAL(-0.499997), CCD_REAL( 0.525736)), +	CCD_VEC3_STATIC(CCD_REAL(-0.262869), CCD_REAL(-0.809012), CCD_REAL( 0.525738)), +	CCD_VEC3_STATIC(CCD_REAL(-0.850648), CCD_REAL( 0.000000), CCD_REAL( 0.525736)), +	CCD_VEC3_STATIC(CCD_REAL(-0.262869), CCD_REAL( 0.809012), CCD_REAL( 0.525738)), +	CCD_VEC3_STATIC(CCD_REAL( 0.688190), CCD_REAL( 0.499997), CCD_REAL( 0.525736)), +	CCD_VEC3_STATIC(CCD_REAL( 0.525730), CCD_REAL( 0.000000), CCD_REAL( 0.850652)), +	CCD_VEC3_STATIC(CCD_REAL( 0.162456), CCD_REAL(-0.499995), CCD_REAL( 0.850654)), +	CCD_VEC3_STATIC(CCD_REAL(-0.425323), CCD_REAL(-0.309011), CCD_REAL( 0.850654)), +	CCD_VEC3_STATIC(CCD_REAL(-0.425323), CCD_REAL( 0.309011), CCD_REAL( 0.850654)), +	CCD_VEC3_STATIC(CCD_REAL( 0.162456), CCD_REAL( 0.499995), CCD_REAL( 0.850654)) +}; +ccd_vec3_t *ccd_points_on_sphere = points_on_sphere; +size_t ccd_points_on_sphere_len = sizeof(points_on_sphere) / sizeof(ccd_vec3_t); + + +_ccd_inline ccd_real_t __ccdVec3PointSegmentDist2(const ccd_vec3_t *P, +                                                  const ccd_vec3_t *x0, +                                                  const ccd_vec3_t *b, +                                                  ccd_vec3_t *witness) +{ +    // The computation comes from solving equation of segment: +    //      S(t) = x0 + t.d +    //          where - x0 is initial point of segment +    //                - d is direction of segment from x0 (|d| > 0) +    //                - t belongs to <0, 1> interval +    //  +    // Than, distance from a segment to some point P can be expressed: +    //      D(t) = |x0 + t.d - P|^2 +    //          which is distance from any point on segment. Minimization +    //          of this function brings distance from P to segment. +    // Minimization of D(t) leads to simple quadratic equation that's +    // solving is straightforward. +    // +    // Bonus of this method is witness point for free. + +    ccd_real_t dist, t; +    ccd_vec3_t d, a; + +    // direction of segment +    ccdVec3Sub2(&d, b, x0); + +    // precompute vector from P to x0 +    ccdVec3Sub2(&a, x0, P); + +    t  = -CCD_REAL(1.) * ccdVec3Dot(&a, &d); +    t /= ccdVec3Len2(&d); + +    if (t < CCD_ZERO || ccdIsZero(t)){ +        dist = ccdVec3Dist2(x0, P); +        if (witness) +            ccdVec3Copy(witness, x0); +    }else if (t > CCD_ONE || ccdEq(t, CCD_ONE)){ +        dist = ccdVec3Dist2(b, P); +        if (witness) +            ccdVec3Copy(witness, b); +    }else{ +        if (witness){ +            ccdVec3Copy(witness, &d); +            ccdVec3Scale(witness, t); +            ccdVec3Add(witness, x0); +            dist = ccdVec3Dist2(witness, P); +        }else{ +            // recycling variables +            ccdVec3Scale(&d, t); +            ccdVec3Add(&d, &a); +            dist = ccdVec3Len2(&d); +        } +    } + +    return dist; +} + +ccd_real_t ccdVec3PointSegmentDist2(const ccd_vec3_t *P, +                                    const ccd_vec3_t *x0, const ccd_vec3_t *b, +                                    ccd_vec3_t *witness) +{ +    return __ccdVec3PointSegmentDist2(P, x0, b, witness); +} + +ccd_real_t ccdVec3PointTriDist2(const ccd_vec3_t *P, +                                const ccd_vec3_t *x0, const ccd_vec3_t *B, +                                const ccd_vec3_t *C, +                                ccd_vec3_t *witness) +{ +    // Computation comes from analytic expression for triangle (x0, B, C) +    //      T(s, t) = x0 + s.d1 + t.d2, where d1 = B - x0 and d2 = C - x0 and +    // Then equation for distance is: +    //      D(s, t) = | T(s, t) - P |^2 +    // This leads to minimization of quadratic function of two variables. +    // The solution from is taken only if s is between 0 and 1, t is +    // between 0 and 1 and t + s < 1, otherwise distance from segment is +    // computed. + +    ccd_vec3_t d1, d2, a; +    ccd_real_t u, v, w, p, q, r; +    ccd_real_t s, t, dist, dist2; +    ccd_vec3_t witness2; + +    ccdVec3Sub2(&d1, B, x0); +    ccdVec3Sub2(&d2, C, x0); +    ccdVec3Sub2(&a, x0, P); + +    u = ccdVec3Dot(&a, &a); +    v = ccdVec3Dot(&d1, &d1); +    w = ccdVec3Dot(&d2, &d2); +    p = ccdVec3Dot(&a, &d1); +    q = ccdVec3Dot(&a, &d2); +    r = ccdVec3Dot(&d1, &d2); + +    s = (q * r - w * p) / (w * v - r * r); +    t = (-s * r - q) / w; + +    if ((ccdIsZero(s) || s > CCD_ZERO) +            && (ccdEq(s, CCD_ONE) || s < CCD_ONE) +            && (ccdIsZero(t) || t > CCD_ZERO) +            && (ccdEq(t, CCD_ONE) || t < CCD_ONE) +            && (ccdEq(t + s, CCD_ONE) || t + s < CCD_ONE)){ + +        if (witness){ +            ccdVec3Scale(&d1, s); +            ccdVec3Scale(&d2, t); +            ccdVec3Copy(witness, x0); +            ccdVec3Add(witness, &d1); +            ccdVec3Add(witness, &d2); + +            dist = ccdVec3Dist2(witness, P); +        }else{ +            dist  = s * s * v; +            dist += t * t * w; +            dist += CCD_REAL(2.) * s * t * r; +            dist += CCD_REAL(2.) * s * p; +            dist += CCD_REAL(2.) * t * q; +            dist += u; +        } +    }else{ +        dist = __ccdVec3PointSegmentDist2(P, x0, B, witness); + +        dist2 = __ccdVec3PointSegmentDist2(P, x0, C, &witness2); +        if (dist2 < dist){ +            dist = dist2; +            if (witness) +                ccdVec3Copy(witness, &witness2); +        } + +        dist2 = __ccdVec3PointSegmentDist2(P, B, C, &witness2); +        if (dist2 < dist){ +            dist = dist2; +            if (witness) +                ccdVec3Copy(witness, &witness2); +        } +    } + +    return dist; +}  | 
