diff -Nru atlas-cpp-0.6.2/aclocal.m4 atlas-cpp-0.6.3/aclocal.m4 --- atlas-cpp-0.6.2/aclocal.m4 2009-11-13 15:23:46.000000000 +0000 +++ atlas-cpp-0.6.3/aclocal.m4 2013-08-26 10:12:32.000000000 +0000 @@ -1,7 +1,8 @@ -# generated automatically by aclocal 1.10.1 -*- Autoconf -*- +# generated automatically by aclocal 1.11.4 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, +# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,6596 +14,31 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(AC_AUTOCONF_VERSION, [2.63],, -[m4_warning([this file was generated for autoconf 2.63. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, +[m4_warning([this file was generated for autoconf 2.68. 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-*- - -# serial 51 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[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 avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])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_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# 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. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - libsuff=64 - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - 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_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_REQUIRE([LT_AC_PROG_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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# 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*) - # 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; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - 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 -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#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 - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=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; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -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_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [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="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_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 -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $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:__oline__: $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:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - 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 .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_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 -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[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 -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -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" -m4_if($1,[],[ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_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=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_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=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_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=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognize shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -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="ifelse([$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 <&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 - -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 -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognize a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -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]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -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 - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -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 -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-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_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[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_AC_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_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# 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_AC_SYS_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_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++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_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_AC_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 "\-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_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - 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_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_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' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - 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; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -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_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux* | k*bsd*-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_AC_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_AC_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; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_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_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # 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_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_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_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_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' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_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::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - osf3*) - 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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_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 "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - 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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_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 "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_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_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -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 -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -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... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_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_AC_TAGVAR(objext, $1)=$objext - -# 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_AC_SYS_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" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_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_AC_SYS_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" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# ------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# 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_AC_SYS_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" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then 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 -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(fix_srcfile_path, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# 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//" - -# 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 - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# 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 - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# 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=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # 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" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([LT_AC_PROG_SED]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -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]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - 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 - -# 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 - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, 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. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $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 < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_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_save_LIBS" - CFLAGS="$lt_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 -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # 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*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_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 - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_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_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_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_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # 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. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[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 - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - 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_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$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' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $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_AC_TAGVAR(ld_shlibs, $1)=no - cat <&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. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # 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. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_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~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_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_MSG_CHECKING([whether -lc should be explicitly linked in]) - $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_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - - -# Cheap backport of AS_EXECUTABLE_P and required macros -# from Autoconf 2.59; we should not use $as_executable_p directly. - -# _AS_TEST_PREPARE -# ---------------- -m4_ifndef([_AS_TEST_PREPARE], -[m4_defun([_AS_TEST_PREPARE], -[if test -x / >/dev/null 2>&1; then - as_executable_p='test -x' -else - as_executable_p='test -f' -fi -])])# _AS_TEST_PREPARE - -# AS_EXECUTABLE_P -# --------------- -# Check whether a file is executable. -m4_ifndef([AS_EXECUTABLE_P], -[m4_defun([AS_EXECUTABLE_P], -[AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl -])])# AS_EXECUTABLE_P - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # 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.10' +[am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.10.1], [], +m4_if([$1], [1.11.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -6616,21 +52,23 @@ # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10.1])dnl +[AM_AUTOMAKE_VERSION([1.11.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -6678,14 +116,14 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 8 +# serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -6698,6 +136,7 @@ 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='#' @@ -6711,14 +150,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 +# serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -6758,6 +197,7 @@ # 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. @@ -6775,6 +215,16 @@ 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 @@ -6792,7 +242,17 @@ 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 @@ -6802,19 +262,23 @@ 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -6863,65 +327,79 @@ 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, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 3 +#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # 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"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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" +[{ + # Autoconf 2.62 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"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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 -done +} ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -6941,13 +419,13 @@ # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008 Free Software Foundation, Inc. +# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 13 +# serial 16 # 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. @@ -6964,7 +442,7 @@ # 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.60])dnl +[AC_PREREQ([2.62])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 @@ -7015,8 +493,8 @@ AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. @@ -7024,23 +502,36 @@ 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([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -]) + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl 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 +]) + +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. @@ -7064,18 +555,28 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +if test x"${install_sh}" != 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, 2005 Free Software Foundation, Inc. @@ -7101,13 +602,13 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 +# serial 4 # AM_MAKE_INCLUDE() # ----------------- @@ -7116,7 +617,7 @@ [am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -7126,24 +627,24 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# 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 - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + 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]) @@ -7153,14 +654,14 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 +# serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -7177,7 +678,14 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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 --run true"; then am_missing_run="$MISSING --run " @@ -7187,12 +695,15 @@ fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. @@ -7215,13 +726,14 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -7229,16 +741,16 @@ [[_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], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- @@ -7248,14 +760,14 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 # AM_SANITY_CHECK # --------------- @@ -7264,16 +776,29 @@ # Just in case sleep 1 echo timestamp > conftest.file +# 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 ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ @@ -7298,12 +823,14 @@ fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't @@ -7326,21 +853,28 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 3 + # _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, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -7362,10 +896,11 @@ # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) @@ -7434,3 +969,9 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([m4/m4_ax_cxx_compile_stdcxx_11.m4]) diff -Nru atlas-cpp-0.6.2/Atlas/Codecs/Bach.cpp atlas-cpp-0.6.3/Atlas/Codecs/Bach.cpp --- atlas-cpp-0.6.2/Atlas/Codecs/Bach.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Codecs/Bach.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -444,7 +444,7 @@ std::streamsize count; - if ((count = m_socket.rdbuf()->in_avail()) > 0) { + while ((count = m_socket.rdbuf()->in_avail()) > 0) { for (int i = 0; i < count; ++i) { diff -Nru atlas-cpp-0.6.2/Atlas/Codecs/Makefile.in atlas-cpp-0.6.3/Atlas/Codecs/Makefile.in --- atlas-cpp-0.6.2/Atlas/Codecs/Makefile.in 2009-11-13 15:24:42.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Codecs/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = $(libAtlasCodecsinclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasCodecsincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlasCodecs_0_6_la_DEPENDENCIES = \ $(top_builddir)/Atlas/libAtlas-0.6.la @@ -63,6 +107,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -74,7 +119,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasCodecs_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasCodecs_0_6_la_SOURCES) -libAtlasCodecsincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasCodecsinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -102,14 +151,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -117,21 +167,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -145,9 +204,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -210,14 +270,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Codecs/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Codecs/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Codecs/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Codecs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -235,23 +295,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -262,7 +328,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasCodecs-0.6.la: $(libAtlasCodecs_0_6_la_OBJECTS) $(libAtlasCodecs_0_6_la_DEPENDENCIES) +libAtlasCodecs-0.6.la: $(libAtlasCodecs_0_6_la_OBJECTS) $(libAtlasCodecs_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasCodecs_0_6_la_DEPENDENCIES) $(libAtlasCodecs_0_6_la_LINK) -rpath $(libdir) $(libAtlasCodecs_0_6_la_OBJECTS) $(libAtlasCodecs_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -278,21 +344,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -304,35 +370,39 @@ -rm -rf .libs _libs install-libAtlasCodecsincludeHEADERS: $(libAtlasCodecsinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasCodecsincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasCodecsincludedir)" - @list='$(libAtlasCodecsinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasCodecsinclude_HEADERS)'; test -n "$(libAtlasCodecsincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasCodecsincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasCodecsincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasCodecsincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasCodecsincludedir)/$$f'"; \ - $(libAtlasCodecsincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasCodecsincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasCodecsincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasCodecsincludedir)" || exit $$?; \ done uninstall-libAtlasCodecsincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasCodecsinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasCodecsincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasCodecsincludedir)/$$f"; \ - done + @list='$(libAtlasCodecsinclude_HEADERS)'; test -n "$(libAtlasCodecsincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasCodecsincludedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -340,29 +410,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -383,13 +458,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -410,16 +489,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -441,6 +526,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -449,18 +536,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -502,6 +599,7 @@ uninstall-am uninstall-libAtlasCodecsincludeHEADERS \ uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Codecs/Utility.h atlas-cpp-0.6.3/Atlas/Codecs/Utility.h --- atlas-cpp-0.6.2/Atlas/Codecs/Utility.h 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Codecs/Utility.h 2013-08-23 21:13:58.000000000 +0000 @@ -26,8 +26,7 @@ inline const std::string charToHex(char c) { char hex[3]; -#ifdef __MINGW32__ - // Perhaps this should #ifdef _WIN32 instead? +#ifdef _WIN32 _snprintf(hex, 3, "%x", c); #else snprintf(hex, 3, "%x", c); diff -Nru atlas-cpp-0.6.2/Atlas/Codecs/XML.cpp atlas-cpp-0.6.3/Atlas/Codecs/XML.cpp --- atlas-cpp-0.6.2/Atlas/Codecs/XML.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Codecs/XML.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -111,7 +111,7 @@ if (name_start < name_end) { - m_name = std::string(m_tag, (unsigned long) name_start, (unsigned long) (name_end - name_start)); + m_name = unescape(std::string(m_tag, (unsigned long) name_start, (unsigned long) (name_end - name_start))); } else { @@ -311,11 +311,11 @@ m_state.pop(); if (m_state.top() == PARSE_MAP) { - m_bridge.mapStringItem(m_name, m_data.top()); + m_bridge.mapStringItem(m_name, unescape(m_data.top())); } else { - m_bridge.listStringItem(m_data.top()); + m_bridge.listStringItem(unescape(m_data.top())); } } else @@ -369,27 +369,27 @@ void XML::mapMapItem(const std::string& name) { - m_socket << ""; + m_socket << ""; } void XML::mapListItem(const std::string& name) { - m_socket << ""; + m_socket << ""; } void XML::mapIntItem(const std::string& name, long data) { - m_socket << "" << data << ""; + m_socket << "" << data << ""; } void XML::mapFloatItem(const std::string& name, double data) { - m_socket << "" << data << ""; + m_socket << "" << data << ""; } void XML::mapStringItem(const std::string& name, const std::string& data) { - m_socket << "" << data << ""; + m_socket << "" << escape(data) << ""; } void XML::mapEnd() @@ -419,7 +419,7 @@ void XML::listStringItem(const std::string& data) { - m_socket << "" << data << ""; + m_socket << "" << escape(data) << ""; } void XML::listEnd() @@ -427,4 +427,75 @@ m_socket << ""; } +std::string XML::escape(const std::string& original) +{ + std::string buffer; + buffer.reserve(original.size()); + for (size_t pos = 0; pos != original.size(); ++pos) { + switch (original[pos]) { + case '&': + buffer.append("&"); + break; + case '\"': + buffer.append("""); + break; + case '\'': + buffer.append("'"); + break; + case '<': + buffer.append("<"); + break; + case '>': + buffer.append(">"); + break; + default: + buffer.append(1, original[pos]); + break; + } + } + return buffer; +} + +std::string XML::unescape(const std::string& original) +{ + std::string buffer; + buffer.reserve(original.size()); + for (size_t pos = 0; pos != original.size(); ++pos) { + if (original[pos] == '&') { + if (original.size() - pos >= 3) { + if (original[pos+1] == 'l' && original[pos+2] == 't' && original[pos+3] == ';') { + buffer.append(1, '<'); + pos += 3; + continue; + } else if (original[pos+1] == 'g' && original[pos+2] == 't' && original[pos+3] == ';') { + buffer.append(1, '>'); + pos += 3; + continue; + } + } + if (original.size() - pos >= 4) { + if (original[pos+1] == 'a' && original[pos+2] == 'm' && original[pos+3] == 'p' && original[pos+4] == ';') { + buffer.append(1, '&'); + pos += 4; + continue; + } + } + if (original.size() - pos >= 5) { + if (original[pos+1] == 'q' && original[pos+2] == 'u' && original[pos+3] == 'o' && original[pos+4] == 't' && original[pos+5] == ';') { + buffer.append(1, '"'); + pos += 5; + continue; + } else if (original[pos+1] == 'a' && original[pos+2] == 'p' && original[pos+3] == 'o' && original[pos+4] == 's' && original[pos+5] == ';') { + buffer.append(1, '\''); + pos += 5; + continue; + } + } + } + buffer.append(1, original[pos]); + } + return buffer; +} + + } } //namespace Atlas::Codecs diff -Nru atlas-cpp-0.6.2/Atlas/Codecs/XML.h atlas-cpp-0.6.3/Atlas/Codecs/XML.h --- atlas-cpp-0.6.2/Atlas/Codecs/XML.h 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Codecs/XML.h 2013-08-23 21:13:58.000000000 +0000 @@ -62,6 +62,20 @@ virtual void listStringItem(const std::string&); virtual void listEnd(); + /** + * Escapes a string for HTML. + * @param The original string. + * @return An escaped string. + */ + static std::string escape(const std::string&); + + /** + * Un-escapes a previously "escaped" string for HTML. + * @param The original string. + * @return An unescaped string. + */ + static std::string unescape(const std::string&); + protected: std::iostream & m_socket; @@ -101,6 +115,7 @@ inline void parseStartTag(); inline void parseEndTag(); + }; } } // namespace Atlas::Codecs diff -Nru atlas-cpp-0.6.2/Atlas/EncoderBase.h atlas-cpp-0.6.3/Atlas/EncoderBase.h --- atlas-cpp-0.6.2/Atlas/EncoderBase.h 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/EncoderBase.h 2013-08-23 21:13:58.000000000 +0000 @@ -33,7 +33,7 @@ /// You will need to implement this in subclasses EncoderBase(Atlas::Bridge & b) : m_b(b) { } - ~EncoderBase() { } + virtual ~EncoderBase() { } void streamBegin() { m_b.streamBegin(); } void streamMessage() { m_b.streamMessage(); } diff -Nru atlas-cpp-0.6.2/Atlas/Filter.h atlas-cpp-0.6.3/Atlas/Filter.h --- atlas-cpp-0.6.2/Atlas/Filter.h 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Filter.h 2013-08-23 21:13:58.000000000 +0000 @@ -28,6 +28,9 @@ class Filter { + private: + Filter(const Filter &); // unimplemented + Filter & operator=(const Filter &); // unimplemented public: Filter(Filter* = 0); diff -Nru atlas-cpp-0.6.2/Atlas/Filters/Bzip2.cpp atlas-cpp-0.6.3/Atlas/Filters/Bzip2.cpp --- atlas-cpp-0.6.2/Atlas/Filters/Bzip2.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Filters/Bzip2.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -56,16 +56,17 @@ do { - outgoing.next_out = buf; - outgoing.avail_out = sizeof(buf); - - status = BZ2_bzCompress(&outgoing, BZ_FLUSH); - - ASSERT(status == BZ_OK); // not sure about this - it may be - // status != BZ_SEQUENCE_ERROR - - out_string.append((char*)buf, sizeof(buf) - outgoing.avail_out); - + outgoing.next_out = buf; + outgoing.avail_out = sizeof(buf); + + status = BZ2_bzCompress(&outgoing, BZ_FLUSH); + + ASSERT(status != BZ_SEQUENCE_ERROR); + + if (status != BZ_SEQUENCE_ERROR) { + out_string.append((char*)buf, sizeof(buf) - outgoing.avail_out); + } + // FIXME do something else in case of error? } while (outgoing.avail_out == 0); return out_string; @@ -81,17 +82,19 @@ incoming.next_in = (char*)data.data(); incoming.avail_in = data.size(); - do + do { - incoming.next_out = buf; - incoming.avail_out = sizeof(buf); - - status = BZ2_bzDecompress(&incoming); - - ASSERT(status == BZ_OK); - - out_string.append((char*)buf, sizeof(buf) - incoming.avail_out); - + incoming.next_out = buf; + incoming.avail_out = sizeof(buf); + + status = BZ2_bzDecompress(&incoming); + + ASSERT(status == BZ_OK); + + if (status != BZ_SEQUENCE_ERROR) { + out_string.append((char*)buf, sizeof(buf) - incoming.avail_out); + } + } while(incoming.avail_out == 0); return out_string; diff -Nru atlas-cpp-0.6.2/Atlas/Filters/Gzip.cpp atlas-cpp-0.6.3/Atlas/Filters/Gzip.cpp --- atlas-cpp-0.6.2/Atlas/Filters/Gzip.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Filters/Gzip.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -51,17 +51,18 @@ outgoing.next_in = (unsigned char *)data.data(); outgoing.avail_in = data.size(); - do + do { - outgoing.next_out = buf; - outgoing.avail_out = sizeof(buf); - - status = deflate(&outgoing, Z_SYNC_FLUSH); - - ASSERT(status == Z_OK); - - out_string.append((char*)buf, sizeof(buf) - outgoing.avail_out); - + outgoing.next_out = buf; + outgoing.avail_out = sizeof(buf); + + status = deflate(&outgoing, Z_SYNC_FLUSH); + + ASSERT(status == Z_OK); + + if (status >= 0) { + out_string.append((char*)buf, sizeof(buf) - outgoing.avail_out); + } } while (outgoing.avail_out == 0); return out_string; @@ -79,15 +80,16 @@ do { - incoming.next_out = buf; - incoming.avail_out = sizeof(buf); - - status = inflate(&incoming, Z_SYNC_FLUSH); - - ASSERT(status == Z_OK); - - out_string.append((char*)buf, sizeof(buf) - incoming.avail_out); - + incoming.next_out = buf; + incoming.avail_out = sizeof(buf); + + status = inflate(&incoming, Z_SYNC_FLUSH); + + ASSERT(status == Z_OK); + + if (status >= 0) { + out_string.append((char*)buf, sizeof(buf) - incoming.avail_out); + } } while(incoming.avail_out == 0); return out_string; diff -Nru atlas-cpp-0.6.2/Atlas/Filters/Makefile.in atlas-cpp-0.6.3/Atlas/Filters/Makefile.in --- atlas-cpp-0.6.2/Atlas/Filters/Makefile.in 2009-11-13 15:24:42.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Filters/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,9 +16,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -35,20 +54,45 @@ subdir = Atlas/Filters DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libAtlasFilters_0_6_la_DEPENDENCIES = \ @@ -61,6 +105,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -81,6 +126,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasFilters_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasFilters_0_6_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,14 +157,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -122,21 +173,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -150,9 +210,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -216,14 +277,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Filters/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Filters/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Filters/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Filters/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -241,23 +302,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -268,7 +335,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasFilters-0.6.la: $(libAtlasFilters_0_6_la_OBJECTS) $(libAtlasFilters_0_6_la_DEPENDENCIES) +libAtlasFilters-0.6.la: $(libAtlasFilters_0_6_la_OBJECTS) $(libAtlasFilters_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasFilters_0_6_la_DEPENDENCIES) $(libAtlasFilters_0_6_la_LINK) -rpath $(libdir) $(libAtlasFilters_0_6_la_OBJECTS) $(libAtlasFilters_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -282,21 +349,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -312,14 +379,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -327,29 +394,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -370,13 +442,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -397,16 +473,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -428,6 +510,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -436,18 +520,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -486,6 +580,7 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Funky/Makefile.in atlas-cpp-0.6.3/Atlas/Funky/Makefile.in --- atlas-cpp-0.6.2/Atlas/Funky/Makefile.in 2009-11-13 15:24:42.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Funky/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = $(libAtlasFunkyinclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasFunkyincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlasFunky_0_6_la_LIBADD = am_libAtlasFunky_0_6_la_OBJECTS = FEncoder.lo @@ -62,6 +106,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -73,7 +118,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasFunky_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasFunky_0_6_la_SOURCES) -libAtlasFunkyincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasFunkyinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -101,14 +150,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -116,21 +166,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -144,9 +203,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -210,14 +270,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Funky/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Funky/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Funky/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Funky/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -235,23 +295,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -262,7 +328,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasFunky-0.6.la: $(libAtlasFunky_0_6_la_OBJECTS) $(libAtlasFunky_0_6_la_DEPENDENCIES) +libAtlasFunky-0.6.la: $(libAtlasFunky_0_6_la_OBJECTS) $(libAtlasFunky_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasFunky_0_6_la_DEPENDENCIES) $(libAtlasFunky_0_6_la_LINK) -rpath $(libdir) $(libAtlasFunky_0_6_la_OBJECTS) $(libAtlasFunky_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -275,21 +341,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -301,35 +367,39 @@ -rm -rf .libs _libs install-libAtlasFunkyincludeHEADERS: $(libAtlasFunkyinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasFunkyincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasFunkyincludedir)" - @list='$(libAtlasFunkyinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasFunkyinclude_HEADERS)'; test -n "$(libAtlasFunkyincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasFunkyincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasFunkyincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasFunkyincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasFunkyincludedir)/$$f'"; \ - $(libAtlasFunkyincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasFunkyincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasFunkyincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasFunkyincludedir)" || exit $$?; \ done uninstall-libAtlasFunkyincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasFunkyinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasFunkyincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasFunkyincludedir)/$$f"; \ - done + @list='$(libAtlasFunkyinclude_HEADERS)'; test -n "$(libAtlasFunkyincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasFunkyincludedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -337,29 +407,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -380,13 +455,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -407,16 +486,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -438,6 +523,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -446,18 +533,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -499,6 +596,7 @@ uninstall-am uninstall-libAtlasFunkyincludeHEADERS \ uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Makefile.in atlas-cpp-0.6.3/Atlas/Makefile.in --- atlas-cpp-0.6.2/Atlas/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = $(libAtlasinclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlas_0_6_la_LIBADD = am_libAtlas_0_6_la_OBJECTS = Bridge.lo Codec.lo Negotiate.lo \ @@ -63,6 +107,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -81,14 +126,46 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive -libAtlasincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasinclude_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) 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@ AR = @AR@ @@ -112,14 +189,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -127,21 +205,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -155,9 +242,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -224,14 +312,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -249,23 +337,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -276,7 +370,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlas-0.6.la: $(libAtlas_0_6_la_OBJECTS) $(libAtlas_0_6_la_DEPENDENCIES) +libAtlas-0.6.la: $(libAtlas_0_6_la_OBJECTS) $(libAtlas_0_6_la_DEPENDENCIES) $(EXTRA_libAtlas_0_6_la_DEPENDENCIES) $(libAtlas_0_6_la_LINK) -rpath $(libdir) $(libAtlas_0_6_la_OBJECTS) $(libAtlas_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -295,21 +389,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -321,21 +415,25 @@ -rm -rf .libs _libs install-libAtlasincludeHEADERS: $(libAtlasinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasincludedir)" - @list='$(libAtlasinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasinclude_HEADERS)'; test -n "$(libAtlasincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasincludedir)/$$f'"; \ - $(libAtlasincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasincludedir)" || exit $$?; \ done uninstall-libAtlasincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasincludedir)/$$f"; \ - done + @list='$(libAtlasinclude_HEADERS)'; test -n "$(libAtlasincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasincludedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -344,7 +442,7 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -361,7 +459,7 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -369,7 +467,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -395,16 +493,16 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -412,14 +510,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -431,7 +529,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -440,29 +538,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -483,29 +586,41 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + $(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="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -528,16 +643,22 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -559,6 +680,8 @@ html: html-recursive +html-am: + info: info-recursive info-am: @@ -567,18 +690,28 @@ install-dvi: install-dvi-recursive +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -602,8 +735,8 @@ uninstall-am: uninstall-libAtlasincludeHEADERS \ uninstall-libLTLIBRARIES -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ + install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ @@ -622,6 +755,7 @@ tags tags-recursive uninstall uninstall-am \ uninstall-libAtlasincludeHEADERS uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Message/DecoderBase.cpp atlas-cpp-0.6.3/Atlas/Message/DecoderBase.cpp --- atlas-cpp-0.6.2/Atlas/Message/DecoderBase.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Message/DecoderBase.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -18,7 +18,7 @@ namespace Atlas { namespace Message { -DecoderBase::DecoderBase() +DecoderBase::DecoderBase() : m_state(), m_maps(), m_lists(), m_names() { } diff -Nru atlas-cpp-0.6.2/Atlas/Message/Element.h atlas-cpp-0.6.3/Atlas/Message/Element.h --- atlas-cpp-0.6.2/Atlas/Message/Element.h 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Message/Element.h 2013-08-23 21:13:58.000000000 +0000 @@ -466,7 +466,7 @@ class DataType { public: - DataType() : _refcount(1) {} + DataType() : _refcount(1), _data(0) {} DataType(const C& c) : _refcount(1), _data(c) {} DataType& operator=(const C& c) {_data = c; return *this;} diff -Nru atlas-cpp-0.6.2/Atlas/Message/Makefile.in atlas-cpp-0.6.3/Atlas/Message/Makefile.in --- atlas-cpp-0.6.2/Atlas/Message/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Message/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = $(libAtlasMessageinclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasMessageincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlasMessage_0_6_la_DEPENDENCIES = \ $(top_builddir)/Atlas/libAtlas-0.6.la @@ -64,6 +108,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -75,7 +120,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasMessage_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasMessage_0_6_la_SOURCES) -libAtlasMessageincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasMessageinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -103,14 +152,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -118,21 +168,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -146,9 +205,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -213,14 +273,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Message/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Message/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Message/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Message/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -238,23 +298,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -265,7 +331,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasMessage-0.6.la: $(libAtlasMessage_0_6_la_OBJECTS) $(libAtlasMessage_0_6_la_DEPENDENCIES) +libAtlasMessage-0.6.la: $(libAtlasMessage_0_6_la_OBJECTS) $(libAtlasMessage_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasMessage_0_6_la_DEPENDENCIES) $(libAtlasMessage_0_6_la_LINK) -rpath $(libdir) $(libAtlasMessage_0_6_la_OBJECTS) $(libAtlasMessage_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -281,21 +347,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -307,35 +373,39 @@ -rm -rf .libs _libs install-libAtlasMessageincludeHEADERS: $(libAtlasMessageinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasMessageincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasMessageincludedir)" - @list='$(libAtlasMessageinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasMessageinclude_HEADERS)'; test -n "$(libAtlasMessageincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasMessageincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasMessageincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasMessageincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasMessageincludedir)/$$f'"; \ - $(libAtlasMessageincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasMessageincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasMessageincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasMessageincludedir)" || exit $$?; \ done uninstall-libAtlasMessageincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasMessageinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasMessageincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasMessageincludedir)/$$f"; \ - done + @list='$(libAtlasMessageinclude_HEADERS)'; test -n "$(libAtlasMessageincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasMessageincludedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -343,29 +413,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -386,13 +461,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -413,16 +492,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -444,6 +529,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -452,18 +539,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -505,6 +602,7 @@ uninstall-am uninstall-libAtlasMessageincludeHEADERS \ uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Net/Makefile.in atlas-cpp-0.6.3/Atlas/Net/Makefile.in --- atlas-cpp-0.6.2/Atlas/Net/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Net/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = $(libAtlasNetinclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasNetincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlasNet_0_6_la_DEPENDENCIES = \ $(top_builddir)/Atlas/Codecs/libAtlasCodecs-0.6.la \ @@ -64,6 +108,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -75,7 +120,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasNet_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasNet_0_6_la_SOURCES) -libAtlasNetincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasNetinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -103,14 +152,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -118,21 +168,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -146,9 +205,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -215,14 +275,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Net/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Net/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Net/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Net/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -240,23 +300,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -267,7 +333,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasNet-0.6.la: $(libAtlasNet_0_6_la_OBJECTS) $(libAtlasNet_0_6_la_DEPENDENCIES) +libAtlasNet-0.6.la: $(libAtlasNet_0_6_la_OBJECTS) $(libAtlasNet_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasNet_0_6_la_DEPENDENCIES) $(libAtlasNet_0_6_la_LINK) -rpath $(libdir) $(libAtlasNet_0_6_la_OBJECTS) $(libAtlasNet_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -281,21 +347,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -307,35 +373,39 @@ -rm -rf .libs _libs install-libAtlasNetincludeHEADERS: $(libAtlasNetinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasNetincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasNetincludedir)" - @list='$(libAtlasNetinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasNetinclude_HEADERS)'; test -n "$(libAtlasNetincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasNetincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasNetincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasNetincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasNetincludedir)/$$f'"; \ - $(libAtlasNetincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasNetincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasNetincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasNetincludedir)" || exit $$?; \ done uninstall-libAtlasNetincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasNetinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasNetincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasNetincludedir)/$$f"; \ - done + @list='$(libAtlasNetinclude_HEADERS)'; test -n "$(libAtlasNetincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasNetincludedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -343,29 +413,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -386,13 +461,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -413,16 +492,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -444,6 +529,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -452,18 +539,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -505,6 +602,7 @@ uninstall-am uninstall-libAtlasNetincludeHEADERS \ uninstall-libLTLIBRARIES + # 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 -Nru atlas-cpp-0.6.2/Atlas/Objects/common.py atlas-cpp-0.6.3/Atlas/Objects/common.py --- atlas-cpp-0.6.2/Atlas/Objects/common.py 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/common.py 2013-08-23 21:13:58.000000000 +0000 @@ -12,7 +12,7 @@ except ImportError: import cmp filecmp = cmp.cmp -sys.path.append("../../../Atlas-Python") +sys.path.append("../../Atlas-Python") from atlas import * from atlas.codecs import * diff -Nru atlas-cpp-0.6.2/Atlas/Objects/Dispatcher.cpp atlas-cpp-0.6.3/Atlas/Objects/Dispatcher.cpp --- atlas-cpp-0.6.2/Atlas/Objects/Dispatcher.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/Dispatcher.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -14,7 +14,7 @@ void Dispatcher::addMethod(int num, objectArrivedPtr method) { - m_methods.insert(std::make_pair(num, method)); + m_methods.insert(std::make_pair(num, method)); } void Dispatcher::objectArrived(const Root& o) diff -Nru atlas-cpp-0.6.2/Atlas/Objects/flag.cpp atlas-cpp-0.6.3/Atlas/Objects/flag.cpp --- atlas-cpp-0.6.2/Atlas/Objects/flag.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/flag.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -1,3 +1,3 @@ /* -Sat Oct 28 05:21:01 BST 2006 +Wed Mar 30 22:09:09 BST 2011 */ diff -Nru atlas-cpp-0.6.2/Atlas/Objects/gen_cpp.py atlas-cpp-0.6.3/Atlas/Objects/gen_cpp.py --- atlas-cpp-0.6.2/Atlas/Objects/gen_cpp.py 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/gen_cpp.py 2013-08-23 21:13:58.000000000 +0000 @@ -838,7 +838,7 @@ #read XML spec parseXML=parse_xml.get_decoder() parseXML.set_stream_mode() - spec_xml_string = open("../../../../protocols/atlas/spec/atlas.xml").read() + spec_xml_string = open("../../protocol/spec/atlas.xml").read() # spec_xml_string = open("../../../../protocols/atlas/spec/core_atlas.xml").read() #convert list into dictionary objects = {} diff -Nru atlas-cpp-0.6.2/Atlas/Objects/GenerateDispatcher.py atlas-cpp-0.6.3/Atlas/Objects/GenerateDispatcher.py --- atlas-cpp-0.6.2/Atlas/Objects/GenerateDispatcher.py 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/GenerateDispatcher.py 2013-08-23 21:13:58.000000000 +0000 @@ -95,7 +95,7 @@ void Dispatcher::addMethod(int num, objectArrivedPtr method) { - m_methods.insert(std::make_pair(num, method)); + m_methods.insert(std::make_pair(num, method)); } void Dispatcher::objectArrived(const Root& o) diff -Nru atlas-cpp-0.6.2/Atlas/Objects/Makefile.am atlas-cpp-0.6.3/Atlas/Objects/Makefile.am --- atlas-cpp-0.6.2/Atlas/Objects/Makefile.am 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/Makefile.am 2013-08-23 21:13:58.000000000 +0000 @@ -30,17 +30,17 @@ BUILT_SOURCES = $(GENERATED_CPP) $(GENERATED_H) -PY_SOURCES = gen_cpp.py common.py AttributeInfo.py GenerateObjectFactory.py \ +PYSOURCES = gen_cpp.py common.py AttributeInfo.py GenerateObjectFactory.py \ GenerateDecoder.py GenerateDispatcher.py GenerateForward.py $(REAL_GENERATED_CPP) $(GENERATED_H): if [ ! -e $@ ]; \ then \ - python gen_cpp.py ; \ + cd $(srcdir) && python gen_cpp.py ; \ fi -flag.cpp: $(PY_SOURCES) - python gen_cpp.py && (echo /\* ; date ; echo \*/) > flag.cpp +flag.cpp: $(PYSOURCES) + cd $(srcdir) && python gen_cpp.py && (echo /\* ; date --rfc-3339=seconds ; echo \*/) > flag.cpp libAtlasObjectsincludedir = $(includedir)/Atlas-C++-0.6/Atlas/Objects @@ -48,4 +48,4 @@ BaseObject.h SmartPtr.h Encoder.h objectFactory.h loadDefaults.h \ $(GENERATED_H) -EXTRA_DIST = $(PY_SOURCES) README DESIGN TODO +EXTRA_DIST = $(PYSOURCES) README DESIGN TODO diff -Nru atlas-cpp-0.6.2/Atlas/Objects/Makefile.in atlas-cpp-0.6.3/Atlas/Objects/Makefile.in --- atlas-cpp-0.6.2/Atlas/Objects/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/Atlas/Objects/Makefile.in 2013-08-26 10:12:34.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,9 +17,27 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,21 +56,46 @@ DIST_COMMON = README $(libAtlasObjectsinclude_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(libAtlasObjectsincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libAtlasObjects_0_6_la_DEPENDENCIES = \ $(top_builddir)/Atlas/libAtlas-0.6.la \ @@ -72,6 +116,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -83,7 +128,11 @@ $(LDFLAGS) -o $@ SOURCES = $(libAtlasObjects_0_6_la_SOURCES) DIST_SOURCES = $(libAtlasObjects_0_6_la_SOURCES) -libAtlasObjectsincludeHEADERS_INSTALL = $(INSTALL_HEADER) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(libAtlasObjectsinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -111,14 +160,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -126,21 +176,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -154,9 +213,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -228,7 +288,7 @@ $(GENERATED_CPP) BUILT_SOURCES = $(GENERATED_CPP) $(GENERATED_H) -PY_SOURCES = gen_cpp.py common.py AttributeInfo.py GenerateObjectFactory.py \ +PYSOURCES = gen_cpp.py common.py AttributeInfo.py GenerateObjectFactory.py \ GenerateDecoder.py GenerateDispatcher.py GenerateForward.py libAtlasObjectsincludedir = $(includedir)/Atlas-C++-0.6/Atlas/Objects @@ -236,7 +296,7 @@ BaseObject.h SmartPtr.h Encoder.h objectFactory.h loadDefaults.h \ $(GENERATED_H) -EXTRA_DIST = $(PY_SOURCES) README DESIGN TODO +EXTRA_DIST = $(PYSOURCES) README DESIGN TODO all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -246,14 +306,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu Atlas/Objects/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Atlas/Objects/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Atlas/Objects/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Atlas/Objects/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -271,23 +331,29 @@ 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): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libdir)' || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: @@ -298,7 +364,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libAtlasObjects-0.6.la: $(libAtlasObjects_0_6_la_OBJECTS) $(libAtlasObjects_0_6_la_DEPENDENCIES) +libAtlasObjects-0.6.la: $(libAtlasObjects_0_6_la_OBJECTS) $(libAtlasObjects_0_6_la_DEPENDENCIES) $(EXTRA_libAtlasObjects_0_6_la_DEPENDENCIES) $(libAtlasObjects_0_6_la_LINK) -rpath $(libdir) $(libAtlasObjects_0_6_la_OBJECTS) $(libAtlasObjects_0_6_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -329,21 +395,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -355,35 +421,39 @@ -rm -rf .libs _libs install-libAtlasObjectsincludeHEADERS: $(libAtlasObjectsinclude_HEADERS) @$(NORMAL_INSTALL) - test -z "$(libAtlasObjectsincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libAtlasObjectsincludedir)" - @list='$(libAtlasObjectsinclude_HEADERS)'; for p in $$list; do \ + @list='$(libAtlasObjectsinclude_HEADERS)'; test -n "$(libAtlasObjectsincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libAtlasObjectsincludedir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(libAtlasObjectsincludedir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libAtlasObjectsincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libAtlasObjectsincludedir)/$$f'"; \ - $(libAtlasObjectsincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libAtlasObjectsincludedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libAtlasObjectsincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libAtlasObjectsincludedir)" || exit $$?; \ done uninstall-libAtlasObjectsincludeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(libAtlasObjectsinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libAtlasObjectsincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libAtlasObjectsincludedir)/$$f"; \ - done + @list='$(libAtlasObjectsinclude_HEADERS)'; test -n "$(libAtlasObjectsincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libAtlasObjectsincludedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -391,29 +461,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -434,13 +509,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -463,16 +542,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -495,6 +580,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -503,18 +590,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLTLIBRARIES 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 @@ -538,7 +635,7 @@ uninstall-am: uninstall-libAtlasObjectsincludeHEADERS \ uninstall-libLTLIBRARIES -.MAKE: install-am install-strip +.MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ @@ -560,11 +657,12 @@ $(REAL_GENERATED_CPP) $(GENERATED_H): if [ ! -e $@ ]; \ then \ - python gen_cpp.py ; \ + cd $(srcdir) && python gen_cpp.py ; \ fi -flag.cpp: $(PY_SOURCES) - python gen_cpp.py && (echo /\* ; date ; echo \*/) > flag.cpp +flag.cpp: $(PYSOURCES) + cd $(srcdir) && python gen_cpp.py && (echo /\* ; date --rfc-3339=seconds ; echo \*/) > flag.cpp + # 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 -Nru atlas-cpp-0.6.2/AUTHORS atlas-cpp-0.6.3/AUTHORS --- atlas-cpp-0.6.2/AUTHORS 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/AUTHORS 2013-08-23 21:13:58.000000000 +0000 @@ -2,4 +2,5 @@ Dmitry Derevyanko Michael Day Stefanus Du Toit -Alistair Riddoch (maintainer) +Alistair Riddoch +Erik Ogenvik (maintainer) diff -Nru atlas-cpp-0.6.2/benchmark/Makefile.in atlas-cpp-0.6.3/benchmark/Makefile.in --- atlas-cpp-0.6.2/benchmark/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/benchmark/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,9 +15,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -38,12 +57,17 @@ subdir = benchmark DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am_Call_Move_OBJECTS = Call_Move.$(OBJEXT) Call_Move_OBJECTS = $(am_Call_Move_OBJECTS) Call_Move_LDADD = $(LDADD) @@ -75,6 +99,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -101,8 +126,15 @@ $(Objects3_Move_SOURCES) $(Objects_asMessage_SOURCES) \ $(Objects_iterator_SOURCES) $(SmartPtr_Move_SOURCES) \ $(Static_Move_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -127,14 +159,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -142,23 +175,32 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = -lAtlasObjects-0.6 -lAtlasNet-0.6 -lAtlas-0.6 -lAtlasCodecs-0.6 \ -lAtlasFilters-0.6 -lAtlasMessage-0.6 -lAtlas-0.6 $(OTHER_LIBS) LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -172,9 +214,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -245,14 +288,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu benchmark/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu benchmark/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu benchmark/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu benchmark/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -270,32 +313,35 @@ 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)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -Call_Move$(EXEEXT): $(Call_Move_OBJECTS) $(Call_Move_DEPENDENCIES) + @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 +Call_Move$(EXEEXT): $(Call_Move_OBJECTS) $(Call_Move_DEPENDENCIES) $(EXTRA_Call_Move_DEPENDENCIES) @rm -f Call_Move$(EXEEXT) $(CXXLINK) $(Call_Move_OBJECTS) $(Call_Move_LDADD) $(LIBS) -Message_Move$(EXEEXT): $(Message_Move_OBJECTS) $(Message_Move_DEPENDENCIES) +Message_Move$(EXEEXT): $(Message_Move_OBJECTS) $(Message_Move_DEPENDENCIES) $(EXTRA_Message_Move_DEPENDENCIES) @rm -f Message_Move$(EXEEXT) $(CXXLINK) $(Message_Move_OBJECTS) $(Message_Move_LDADD) $(LIBS) -Objects3_Move$(EXEEXT): $(Objects3_Move_OBJECTS) $(Objects3_Move_DEPENDENCIES) +Objects3_Move$(EXEEXT): $(Objects3_Move_OBJECTS) $(Objects3_Move_DEPENDENCIES) $(EXTRA_Objects3_Move_DEPENDENCIES) @rm -f Objects3_Move$(EXEEXT) $(CXXLINK) $(Objects3_Move_OBJECTS) $(Objects3_Move_LDADD) $(LIBS) -Objects_asMessage$(EXEEXT): $(Objects_asMessage_OBJECTS) $(Objects_asMessage_DEPENDENCIES) +Objects_asMessage$(EXEEXT): $(Objects_asMessage_OBJECTS) $(Objects_asMessage_DEPENDENCIES) $(EXTRA_Objects_asMessage_DEPENDENCIES) @rm -f Objects_asMessage$(EXEEXT) $(CXXLINK) $(Objects_asMessage_OBJECTS) $(Objects_asMessage_LDADD) $(LIBS) -Objects_iterator$(EXEEXT): $(Objects_iterator_OBJECTS) $(Objects_iterator_DEPENDENCIES) +Objects_iterator$(EXEEXT): $(Objects_iterator_OBJECTS) $(Objects_iterator_DEPENDENCIES) $(EXTRA_Objects_iterator_DEPENDENCIES) @rm -f Objects_iterator$(EXEEXT) $(CXXLINK) $(Objects_iterator_OBJECTS) $(Objects_iterator_LDADD) $(LIBS) -SmartPtr_Move$(EXEEXT): $(SmartPtr_Move_OBJECTS) $(SmartPtr_Move_DEPENDENCIES) +SmartPtr_Move$(EXEEXT): $(SmartPtr_Move_OBJECTS) $(SmartPtr_Move_DEPENDENCIES) $(EXTRA_SmartPtr_Move_DEPENDENCIES) @rm -f SmartPtr_Move$(EXEEXT) $(CXXLINK) $(SmartPtr_Move_OBJECTS) $(SmartPtr_Move_LDADD) $(LIBS) -Static_Move$(EXEEXT): $(Static_Move_OBJECTS) $(Static_Move_DEPENDENCIES) +Static_Move$(EXEEXT): $(Static_Move_OBJECTS) $(Static_Move_DEPENDENCIES) $(EXTRA_Static_Move_DEPENDENCIES) @rm -f Static_Move$(EXEEXT) $(CXXLINK) $(Static_Move_OBJECTS) $(Static_Move_LDADD) $(LIBS) @@ -315,21 +361,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -345,14 +391,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -360,37 +406,43 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ + $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ @@ -399,49 +451,63 @@ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ + *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ + col=$$red; res=XPASS; \ ;; \ *) \ - echo "PASS: $$tst"; \ + col=$$grn; res=PASS; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ + *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ + col=$$lgn; res=XFAIL; \ ;; \ *) \ failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ + col=$$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ - echo "SKIP: $$tst"; \ + col=$$blu; res=SKIP; \ fi; \ + echo "$${col}$$res$${std}: $$tst"; \ done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ - banner="All $$all tests passed"; \ + banner="$$All$$all $$tests passed"; \ else \ - banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all tests failed"; \ + banner="$$failed of $$all $$tests failed"; \ else \ - banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ - skipped="($$skip tests were not run)"; \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ @@ -452,11 +518,16 @@ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes"; \ + if test "$$failed" -eq 0; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ test "$$failed" -eq 0; \ else :; fi @@ -476,13 +547,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -502,16 +577,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -533,6 +614,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -541,18 +624,28 @@ 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 @@ -575,7 +668,7 @@ uninstall-am: -.MAKE: install-am install-strip +.MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool ctags \ @@ -591,6 +684,7 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am + # 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 -Nru atlas-cpp-0.6.2/benchmark/Static_Move.cpp atlas-cpp-0.6.3/benchmark/Static_Move.cpp --- atlas-cpp-0.6.2/benchmark/Static_Move.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/benchmark/Static_Move.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -3,8 +3,6 @@ #include #include -using namespace std; - class Object { public: int id; @@ -143,7 +141,7 @@ z = new_pos[2]; } TIME_OFF("NPC movements"); - cout<<"Resulting position: ("< +Date: 2013-08-26 + + Note release of 0.6.3. + +NEWS + +commit b103d9c +Author: Erik Ogenvik +Date: 2013-08-26 + + Ignore generated ABI reports. + +.gitignore + +commit f72837c +Author: Erik Ogenvik +Date: 2013-08-26 + + Added script for generating ABI report. + + Use this whenever you want to do a release, to see whether we need to + increase the LD interface version. + +support/generate_abi_report.sh + +commit c86b548 +Author: Erik Ogenvik +Date: 2013-08-23 + + Bump interface version. + +configure.ac + +commit eb4ec6e +Author: Erik Ogenvik +Date: 2013-08-23 + + Removed obsolete files. + +patches/socket++.patch +patches/socket++.patch.README + +commit 91d09ce +Author: Erik Ogenvik +Date: 2013-08-23 + + Generate ChangeLog at dist time from Git history. + +ChangeLog +Makefile.am +support/generate-ChangeLog.sh + +commit 19cca59 +Author: Erik Ogenvik +Date: 2013-08-23 + + Prepare for generation of ChangeLog. + +ChangeLog +support/ChangeLog-CVS + +commit bfabd21 +Author: Erik Ogenvik +Date: 2013-08-23 + + Updated meta data about the project. + +AUTHORS +TODO + +commit 22ce817 +Author: Erik Ogenvik +Date: 2013-04-21 + + Ignore installed m4 files. + +.gitignore + +commit d6263ac +Author: Erik Ogenvik +Date: 2013-04-21 + + Use a more proper name. + + Variables with the format of *_SOURCES are intended to be matched + against programs or objects. + +Atlas/Objects/Makefile.am + +commit e9ab7ec +Author: Erik Ogenvik +Date: 2013-04-21 + + Harmonize autogen.sh within project. + + This version should work on all supported platforms, opting to using + autoreconf if available. + +autogen.sh +configure.ac + +commit 7d0a540 +Author: Erik Ogenvik +Date: 2013-04-21 + + Correctly check headers. + +configure.ac + +commit 9f250ec +Author: Erik Ogenvik +Date: 2013-04-21 + + Bump version. + +configure.ac + +commit 1082621 +Author: Erik Ogenvik +Date: 2013-04-21 + + Properly implement test. + + Bach isn't correctly escaping characters, so that's disabled for now. + However, "packed" and "xml" are important to test, since these are most + used. + "packed" is used for all network traffic, and "xml" is used for + persistence on the server and client. "bach" however isn't actually used + currently as far as I know. + +tests/Codecs/codecs.cpp + +commit 3c00afa +Author: Erik Ogenvik +Date: 2013-04-09 + + Added tests for escaping characters in codecs. + + Bach doesn't correctly escape though, so I disabled that for now. + +tests/Codecs/codecs.cpp + +commit e2a98fb +Author: Erik Ogenvik +Date: 2013-04-09 + + Properly escape html strings. + + All html strings containing <>&'" should always be escaped, to allow for + these characters to be expressed in attributes and text nodes. + This incurs a slight overhead, as we now need to allocate new strings as + well as iterate over existing ones. This cannot be avoided though. + +Atlas/Codecs/XML.cpp +Atlas/Codecs/XML.h + +commit 6976328 +Author: Erik Ogenvik +Date: 2013-04-08 + + Added test for encoding brackets. + + Which unfortunately fail with the XML codec. + +tests/Codecs/codecs.cpp + +commit 2c088e3 +Author: Erik Ogenvik +Date: 2013-04-08 + + Fix issue with Bach polling. + + Bach would only read as much data as fitted into one buffer page, + aborting the read too early. + +Atlas/Codecs/Bach.cpp + +commit 29089c1 +Author: Erik Ogenvik +Date: 2013-04-08 + + Added test for codecs. + +configure.ac +tests/Codecs/Makefile.am +tests/Codecs/codecs.cpp +tests/Makefile.am + +commit 510d2d2 +Author: Erik Ogenvik +Date: 2012-12-20 + + Update code template for C++11. + +Atlas/Objects/GenerateDispatcher.py + +commit abde3e5 +Author: Al Riddoch +Date: 2012-09-27 + + Try compiling with C++11 + +Atlas/Objects/Dispatcher.cpp +Makefile.am +autogen.sh +benchmark/Static_Move.cpp +configure.ac +m4/m4_ax_cxx_compile_stdcxx_11.m4 + +commit d9de0ad +Author: Erik Ogenvik +Date: 2012-11-14 + + Allow for out of tree builds. + + Sometimes it seems like the cpp generation is triggered when it + shouldn't be. The end result when building in out of tree builds is that + the build will fail since it can't find gen_cpp.py. This commit will fix + that. + +Atlas/Objects/Makefile.am + +commit 6470191 +Author: Erik Ogenvik +Date: 2012-06-16 + + Use culture insensitive format. + +Atlas/Objects/Makefile.am + +commit 414f4eb +Author: Stephen M. Webb +Date: 2012-04-10 + + Include protocol definition in the source tarball. + + The test suite fails on some architectures without the spec file, + and some distributions require all source to be made available for + rebuilds. + +Makefile.am + +commit b7c4407 +Merge: cdeaaa0 63b1e15 +Author: Alistair Riddoch +Date: 2012-03-12 + + Merge branch 'master' of github.com:worldforge/atlas-cpp + +commit cdeaaa0 +Author: Alistair Riddoch +Date: 2012-03-12 + + Add a note about thread safety + +TODO + +commit 63b1e15 +Author: Erik Ogenvik +Date: 2011-10-15 + + Ignore temporary and Eclipse project files. + +.gitignore + +commit 0723611 +Author: Erik Ogenvik +Date: 2011-10-08 + + Read in atlas.xml in out of tree builds. + +tests/Objects/decoder1.cpp +tests/Objects/encoder1.cpp +tests/Objects/objects2.cpp + +commit 98d2886 +Author: Alistair Riddoch +Date: 2011-05-02 + + Ensure member variables are initialised + +Atlas/Message/DecoderBase.cpp + +commit ea93fea +Author: Alistair Riddoch +Date: 2011-05-02 + + Destructor should be virtual as this is a base + +Atlas/EncoderBase.h + +commit 33d5bf3 +Author: Alistair Riddoch +Date: 2011-05-02 + + Ensure data members are initialised + +Atlas/Message/Element.h + +commit ee7b7ad +Author: Alistair Riddoch +Date: 2011-05-02 + + Declare unimplemented copy constructor, assignment + +Atlas/Filter.h + +commit cf86c5a +Author: Alistair Riddoch +Date: 2011-05-02 + + Add more correct handling of compression errors + +Atlas/Filters/Bzip2.cpp +Atlas/Filters/Gzip.cpp + +commit 65f95a6 +Author: Alistair Riddoch +Date: 2011-04-13 + + Read in atlas.xml in out of tree builds + +tests/Objects/objects1.cpp + +commit 28e2e1a +Author: Alistair Riddoch +Date: 2011-04-12 + + Fix up path to refer to the right location + +tests/Objects/objects1.cpp + +commit 89eed8f +Merge: 1b2f0d7 7b633ea +Author: Alistair Riddoch +Date: 2011-04-12 + + Merge branch 'master' of github.com:worldforge/atlas-cpp + +commit 7b633ea +Merge: 2bfe908 c668971 +Author: Alistair Riddoch +Date: 2011-04-12 + + Merge branch 'master' of github.com:worldforge/atlas-cpp + +commit 2bfe908 +Author: Alistair Riddoch +Date: 2011-04-12 + + Remove completed task + +TODO + +commit c668971 +Author: Alistair Riddoch +Date: 2011-04-12 + + Fix from sajty to fix issue with snprintf not being available in MSVC + +Atlas/Codecs/Utility.h + +commit 1b2f0d7 +Author: Alistair Riddoch +Date: 2011-03-30 + + Add notes about possible improvements to the protocol + +protocol/spec/TODO + +commit 661957e +Author: Alistair Riddoch +Date: 2011-03-30 + + Regenerate source time stamp now that scripts are modified + +Atlas/Objects/flag.cpp + +commit 2206963 +Author: Alistair Riddoch +Date: 2011-03-30 + + Fix up paths to refer to protocol and Python library in this tree + +Atlas/Objects/common.py +Atlas/Objects/gen_cpp.py + +commit b3c4891 +Author: Alistair Riddoch +Date: 2011-03-30 + + Manual check in of Atlas-Python implementation from cvs + +Atlas-Python/.cvsignore +Atlas-Python/AUTHORS +Atlas-Python/COPYING.GPL +Atlas-Python/COPYING.LGPL +Atlas-Python/ChangeLog +Atlas-Python/README +Atlas-Python/TODO +Atlas-Python/atlas/.cvsignore +Atlas-Python/atlas/__init__.py +Atlas-Python/atlas/analyse.py +Atlas-Python/atlas/codecs/.cvsignore +Atlas-Python/atlas/codecs/__init__.py +Atlas-Python/atlas/codecs/bach.py +Atlas-Python/atlas/codecs/binary1.py +Atlas-Python/atlas/codecs/binary2.py +Atlas-Python/atlas/codecs/decoder.py +Atlas-Python/atlas/codecs/encoder.py +Atlas-Python/atlas/codecs/gen_xml.py +Atlas-Python/atlas/codecs/packed.py +Atlas-Python/atlas/codecs/parse_def.py +Atlas-Python/atlas/codecs/parse_xml.py +Atlas-Python/atlas/codecs/xml.py +Atlas-Python/atlas/codecs/xml2.py +Atlas-Python/atlas/gen_bach.py +Atlas-Python/atlas/geomap/.cvsignore +Atlas-Python/atlas/geomap/Vector3D.py +Atlas-Python/atlas/geomap/__init__.py +Atlas-Python/atlas/geomap/dxf2atlas.py +Atlas-Python/atlas/geomap/object.py +Atlas-Python/atlas/media/.cvsignore +Atlas-Python/atlas/media/__init__.py +Atlas-Python/atlas/media/info.py +Atlas-Python/atlas/transport/.cvsignore +Atlas-Python/atlas/transport/TCP/.cvsignore +Atlas-Python/atlas/transport/TCP/__init__.py +Atlas-Python/atlas/transport/TCP/client.py +Atlas-Python/atlas/transport/TCP/connection.py +Atlas-Python/atlas/transport/TCP/relay_server.py +Atlas-Python/atlas/transport/TCP/server.py +Atlas-Python/atlas/transport/__init__.py +Atlas-Python/atlas/transport/bridge.py +Atlas-Python/atlas/transport/connection.py +Atlas-Python/atlas/transport/file.py +Atlas-Python/atlas/transport/negotiation.py +Atlas-Python/atlas/transport/server.py +Atlas-Python/atlas/typemap.py +Atlas-Python/atlas/util/.cvsignore +Atlas-Python/atlas/util/Makefile +Atlas-Python/atlas/util/__init__.py +Atlas-Python/atlas/util/debug.py +Atlas-Python/atlas/util/minmax.py +Atlas-Python/atlas/util/texturemodule.c +Atlas-Python/examples/chat_server.html +Atlas-Python/examples/chat_server.py +Atlas-Python/examples/hello_world_client.py +Atlas-Python/examples/hello_world_server.py +Atlas-Python/examples/meadow.atlas +Atlas-Python/examples/meadow.txt +Atlas-Python/examples/meadow_class.atlas +Atlas-Python/examples/meadow_makefile.atlas +Atlas-Python/examples/meadow_media.atlas +Atlas-Python/reference/.cvsignore +Atlas-Python/reference/PyFT-0.5.patch +Atlas-Python/reference/blackboard.py +Atlas-Python/reference/file2client_server.py +Atlas-Python/reference/gen_simple_core.py +Atlas-Python/reference/inheritance_client.py +Atlas-Python/reference/local_code.py +Atlas-Python/reference/map_canvas.py +Atlas-Python/reference/map_client.py +Atlas-Python/reference/media.bach +Atlas-Python/reference/media_server.html +Atlas-Python/reference/media_server.py +Atlas-Python/reference/simple_core_server.py +Atlas-Python/reference/simple_world_server.py +Atlas-Python/reference/test_simple_core_server.input +Atlas-Python/setup.py +Atlas-Python/tests/.cvsignore +Atlas-Python/tests/test.bach +Atlas-Python/tests/test.binary1 +Atlas-Python/tests/test.packed +Atlas-Python/tests/test.py +Atlas-Python/tests/test.xml +Atlas-Python/tests/test2.xml +Atlas-Python/tests/test_atlas.py +Atlas-Python/tests/test_binary.py +Atlas-Python/tests/test_bridge.py +Atlas-Python/tests/test_codecs.py +Atlas-Python/tests/test_glue.py +Atlas-Python/tests/test_negotiation.py +Atlas-Python/tests/test_objects.py +Atlas-Python/tests/test_server.py +Atlas-Python/tests/test_size.py +Atlas-Python/utils/.cvsignore +Atlas-Python/utils/convert.py +Atlas-Python/utils/irc_atlas_gateway.py +Atlas-Python/utils/relay_0_2_to_0_3.py +Atlas-Python/utils/relay_server.py + +commit 917ac1a +Author: Alistair Riddoch +Date: 2011-03-30 + + Manual copy in of protocol spec from cvs + +protocol/spec/.cvsignore +protocol/spec/ACHAT.txt +protocol/spec/ChangeLog +protocol/spec/Makefile +protocol/spec/ParseDef.py +protocol/spec/TODO +protocol/spec/agrilan_map.def +protocol/spec/agrilan_map.html +protocol/spec/agrilan_map_in.html +protocol/spec/atlas-to-def.pl +protocol/spec/atlas-xml.css +protocol/spec/atlas-xml.dtd +protocol/spec/atlas.xml +protocol/spec/bach_syntax.html +protocol/spec/binary1_beta.html +protocol/spec/credits.html +protocol/spec/def2xml.py +protocol/spec/entity.atlas +protocol/spec/entity.def +protocol/spec/entity.html +protocol/spec/entity_in.html +protocol/spec/gen_atlas.py +protocol/spec/gen_html.py +protocol/spec/html2wiki.pl +protocol/spec/id_path.html +protocol/spec/index.html +protocol/spec/init.py +protocol/spec/interface.atlas +protocol/spec/interface.def +protocol/spec/interface.html +protocol/spec/interface_in.html +protocol/spec/login.html +protocol/spec/map.def +protocol/spec/map.html +protocol/spec/map_in.html +protocol/spec/maps/Makefile +protocol/spec/maps/README +protocol/spec/maps/atlas.sty +protocol/spec/maps/semantic_maps.tex +protocol/spec/move.html +protocol/spec/negotiation.html +protocol/spec/operation.atlas +protocol/spec/operation.def +protocol/spec/operation.html +protocol/spec/operation_in.html +protocol/spec/packed_syntax.html +protocol/spec/pre.pl +protocol/spec/requirements.html +protocol/spec/revision_history.html +protocol/spec/root.atlas +protocol/spec/root.def +protocol/spec/root.html +protocol/spec/root_in.html +protocol/spec/simple_core.html +protocol/spec/type.atlas +protocol/spec/type.def +protocol/spec/type.html +protocol/spec/type_in.html +protocol/spec/ui.atlas +protocol/spec/ui.def +protocol/spec/v0.1.4/binary.html +protocol/spec/v0.1.4/dtd.html +protocol/spec/v0.1.4/example.html +protocol/spec/v0.1.4/login.html +protocol/spec/v0.1.4/move.html +protocol/spec/v0.1.4/operations.html +protocol/spec/v0.1.4/proposal.html +protocol/spec/v0.1.4/tags.html +protocol/spec/xml_syntax.html + +commit f9e54c8 +Author: Alistair Riddoch +Date: 2011-03-30 + + Remove .cvsignore files + +.cvsignore +Atlas.xcodeproj/.cvsignore +Atlas/.cvsignore +Atlas/Bindings/Python/.cvsignore +Atlas/Codecs/.cvsignore +Atlas/Filters/.cvsignore +Atlas/Funky/.cvsignore +Atlas/Message/.cvsignore +Atlas/Net/.cvsignore +Atlas/Objects/.cvsignore +Atlas/Objects/Entity/.cvsignore +Atlas/Objects/Operation/.cvsignore +benchmark/.cvsignore +tests/.cvsignore +tests/Objects/.cvsignore +tools/.cvsignore +tutorial/.cvsignore +tutorial/example/.cvsignore + 2009-11-13 Al Riddoch * Release 0.6.2, Interface version 1. diff -Nru atlas-cpp-0.6.2/config.guess atlas-cpp-0.6.3/config.guess --- atlas-cpp-0.6.2/config.guess 2008-01-30 20:26:55.000000000 +0000 +++ atlas-cpp-0.6.3/config.guess 2011-11-20 14:39:21.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2007-05-17' +timestamp='2009-11-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -170,7 +170,7 @@ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -324,14 +324,33 @@ case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -532,7 +551,7 @@ echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -640,7 +659,7 @@ # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -791,18 +810,24 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in - x86) + x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -832,8 +857,29 @@ i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -847,6 +893,17 @@ frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -856,74 +913,33 @@ m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + padre:Linux:*:*) + echo sparc-unknown-linux-gnu exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level @@ -933,8 +949,11 @@ *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -954,72 +973,9 @@ x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1048,7 +1004,7 @@ i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1092,8 +1048,11 @@ pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 @@ -1131,6 +1090,16 @@ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1143,7 +1112,7 @@ rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1206,6 +1175,9 @@ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1233,6 +1205,16 @@ *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} @@ -1314,6 +1296,9 @@ i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1474,9 +1459,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be diff -Nru atlas-cpp-0.6.2/config.h.in atlas-cpp-0.6.3/config.h.in --- atlas-cpp-0.6.2/config.h.in 2009-11-13 15:23:59.000000000 +0000 +++ atlas-cpp-0.6.3/config.h.in 2013-08-26 10:13:43.000000000 +0000 @@ -1,8 +1,5 @@ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the header file. */ -#undef HAVE_BZLIB_H - /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H @@ -39,8 +36,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the header file. */ -#undef HAVE_ZLIB_H +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR /* Name of package */ #undef PACKAGE @@ -57,6 +55,9 @@ /* 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 diff -Nru atlas-cpp-0.6.2/config.sub atlas-cpp-0.6.3/config.sub --- atlas-cpp-0.6.2/config.sub 2008-01-30 20:26:55.000000000 +0000 +++ atlas-cpp-0.6.3/config.sub 2011-11-20 14:39:21.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2007-04-29' +timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -122,6 +125,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -148,10 +152,13 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -249,13 +256,16 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -268,6 +278,7 @@ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ | mt \ | msp430 \ | nios | nios2 \ @@ -276,20 +287,22 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -329,14 +342,17 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -357,21 +373,26 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -435,6 +456,10 @@ basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -443,10 +468,26 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -475,8 +516,8 @@ basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -514,6 +555,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -668,6 +713,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -679,6 +732,9 @@ basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -813,6 +869,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -1021,6 +1085,10 @@ basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -1096,6 +1164,10 @@ basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1134,7 +1206,7 @@ we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1184,6 +1256,9 @@ # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1204,10 +1279,11 @@ # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1216,7 +1292,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ + | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1226,7 +1302,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1356,6 +1432,9 @@ -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; -none) ;; *) @@ -1553,7 +1632,7 @@ -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff -Nru atlas-cpp-0.6.2/configure atlas-cpp-0.6.3/configure --- atlas-cpp-0.6.2/configure 2009-11-13 15:23:50.000000000 +0000 +++ atlas-cpp-0.6.3/configure 2013-08-26 10:12:34.000000000 +0000 @@ -1,20 +1,24 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for Atlas-C++ 0.6.2. +# Generated by GNU Autoconf 2.68 for Atlas-C++ 0.6.3. +# +# Report bugs to . # -# Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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. ## -## --------------------- ## +## -------------------- ## +## 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 +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 @@ -22,23 +26,15 @@ alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -46,7 +42,13 @@ 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 -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# 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 @@ -57,7 +59,7 @@ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -80,13 +82,6 @@ } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -96,15 +91,16 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -116,12 +112,16 @@ fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# 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='> ' @@ -133,7 +133,264 @@ LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +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" + 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 : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +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 erik@ogenvik.org +$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_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 @@ -147,8 +404,12 @@ 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 -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -168,1517 +429,1554 @@ } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# 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 -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + 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 test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 + # 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 } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi +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 -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. +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 as_func_ret_success; then - : +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 -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi else - exitcode=1 - echo as_func_ret_success failed. + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +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 -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - exitcode=1 - echo positional parameters were not saved. + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi +as_executable_p=$as_test_x -test \$exitcode = 0) || { (exit 1); exit 1; } +# 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'" -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS +# 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} - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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 - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi +test -n "$DJDIR" || exec 7<&0 &1 -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi +# 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` -test $exitcode = 0) || { (exit 1); exit 1; } +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } +# Identity of this package. +PACKAGE_NAME='Atlas-C++' +PACKAGE_TARNAME='Atlas-C++' +PACKAGE_VERSION='0.6.3' +PACKAGE_STRING='Atlas-C++ 0.6.3' +PACKAGE_BUGREPORT='erik@ogenvik.org' +PACKAGE_URL='' -_ASEOF -}; then - break -fi +ac_unique_file="Atlas/Bridge.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" -fi +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +OTHER_LIBS +SYSTEM_LIBS +ATLAS_LIBS +ATLAS_LIB_SUFFIX +ATLAS_CFLAGS +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +CPP +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 +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +LIBTOOL +INTERFACE_VERSION +ATLAS_CURRENT +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 +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +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_static +enable_shared +with_pic +enable_fast_install +enable_dependency_tracking +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_debug +with_zlib +with_bzlib +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP' - done - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi +# 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' +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' - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi +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 -fi + # Accept the important Cygnus configure options, so we can diagnose typos. -fi + 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 ;; -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} + -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 ;; -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi + --config-cache | -C) + cache_file=config.cache ;; -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi + -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 ;; -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} + -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 ;; - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :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 - { (exit 1); exit 1; }; } + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; - # 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 -} + -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 ;; -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; -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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -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 ;; -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi + -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 ;; -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH + -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 ;; -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi + -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 ;; -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. + -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 ;; - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi + -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 ;; -tagnames=${tagnames+${tagnames},}CXX + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; -tagnames=${tagnames+${tagnames},}F77 + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; -exec 7<&0 &1 + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + -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 ;; -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} + -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 ;; -# Identity of this package. -PACKAGE_NAME='Atlas-C++' -PACKAGE_TARNAME='Atlas-C++' -PACKAGE_VERSION='0.6.2' -PACKAGE_STRING='Atlas-C++ 0.6.2' -PACKAGE_BUGREPORT='alriddoch@googlemail.com' + --x) + # Obsolete; use --with-x. + with_x=yes ;; -ac_unique_file="Atlas/Bridge.cpp" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='LTLIBOBJS -LIBOBJS -OTHER_LIBS -SYSTEM_LIBS -ATLAS_LIBS -ATLAS_LIB_SUFFIX -ATLAS_CFLAGS -LIBTOOL -ac_ct_F77 -FFLAGS -F77 -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -CPP -RANLIB -AR -ECHO -LN_S -EGREP -GREP -SED -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -INTERFACE_VERSION -ATLAS_CURRENT -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 -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -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 -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_static -enable_shared -enable_fast_install -enable_dependency_tracking -with_gnu_ld -enable_libtool_lock -with_pic -with_tags -enable_debug -with_zlib -with_bzlib -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS' + -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 ;; -# 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 + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; -# 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' -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_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 ;; -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 + *) + # 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}" + ;; - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; esac +done - # Accept the important Cygnus configure options, so we can diagnose typos. +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; +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 - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; +# 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 +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 - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; +# 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 - -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 ;; +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; +test "$silent" = yes && exec 6>/dev/null - -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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - 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 ;; +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" - -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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - 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 ;; +# 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 - -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 ;; +# +# 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 Atlas-C++ 0.6.3 to adapt to many kinds of systems. - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; +Usage: $0 [OPTION]... [VAR=VALUE]... - -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 ;; +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; +Defaults for the options are specified in brackets. - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; +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 \`..'] - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; +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'. - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; +For better control, use the options below. - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; +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] + --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/Atlas-C++] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; + cat <<\_ACEOF - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; +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 - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Atlas-C++ 0.6.3:";; + esac + cat <<\_ACEOF - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; +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-static[=PKGS] build static libraries [default=no] + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-debug enable debug information default=no - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --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). + --with-zlib=DIR gzip compression library (optional) + --with-bzlib=DIR bzip2 compression library (optional) - -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 ;; +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. - -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 ;; +Report bugs to . +_ACEOF +ac_status=$? +fi - -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 ;; +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=. - -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 ;; +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 - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; +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 - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; + 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 - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Atlas-C++ configure 0.6.3 +generated by GNU Autoconf 2.68 - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; +Copyright (C) 2010 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 - -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 ;; +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# 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 - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; +} # ac_fn_c_try_compile - -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 ;; +# 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 || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; + 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 - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; +} # ac_fn_c_check_header_compile - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; +# 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 - -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_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - 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 ;; + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval - -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_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - 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 ;; +} # ac_fn_c_try_cpp - -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 ;; +# 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 - -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 ;; + 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 declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; +#ifdef __STDC__ +# include +#else +# include +#endif - *) - # 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} - ;; +#undef $2 - esac -done +/* 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 -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac +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 -# 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 -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_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias +} # ac_fn_c_check_func -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes +# 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 -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_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -test "$silent" = yes && exec 6>/dev/null +} # ac_fn_cxx_try_compile +# 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_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + 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 -# 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=.. +# 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 || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 else - ac_srcdir_defaulted=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + # 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_cxx_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_cxx_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 -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. +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_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no 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 Atlas-C++ 0.6.2 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... +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; } -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. +# 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_cxx_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; } -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] - --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/Atlas-C++] - --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 Atlas-C++ 0.6.2:";; - 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-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-debug enable debug information default=no - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] include additional configurations [automatic] - --with-zlib=DIR gzip compression library (optional) - --with-bzlib=DIR bzip2 compression library (optional) - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - -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 . -_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 ;; +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_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 erik@ogenvik.org ## +## ------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; 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 + { $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 - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -Atlas-C++ configure 0.6.2 -generated by GNU Autoconf 2.63 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 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 +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_cxx_check_header_mongrel 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 Atlas-C++ $as_me 0.6.2, which was -generated by GNU Autoconf 2.63. Invocation command line was +It was created by Atlas-C++ $as_me 0.6.3, which was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -1714,8 +2012,8 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } >&5 @@ -1752,9 +2050,9 @@ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + 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 @@ -1770,13 +2068,13 @@ -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ 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 @@ -1788,11 +2086,9 @@ { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -1801,13 +2097,13 @@ case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_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= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -1826,11 +2122,9 @@ ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -1843,11 +2137,9 @@ echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -1861,11 +2153,9 @@ fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -1879,46 +2169,53 @@ exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + 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 - ac_site_file1=$CONFIG_SITE + # 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 @@ -1929,19 +2226,23 @@ for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + 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" + . "$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. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 + # 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";; @@ -1949,7 +2250,7 @@ esac fi else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1964,11 +2265,11 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $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:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { $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=: ;; ,);; @@ -1978,17 +2279,17 @@ 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:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { $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:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $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:$LINENO: former value: \`$ac_old_val'" >&5 + { $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:$LINENO: current value: \`$ac_new_val'" >&5 + { $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 @@ -2000,43 +2301,20 @@ esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { $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:$LINENO: error: changes in the environment can compromise the build" >&5 + { $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_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + 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' @@ -2050,6 +2328,8 @@ + + ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then @@ -2067,9 +2347,7 @@ fi done if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } + 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, @@ -2083,35 +2361,27 @@ # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then +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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } + 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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2127,28 +2397,24 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then +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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -2166,7 +2432,7 @@ -am__api_version='1.10' +am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2182,10 +2448,10 @@ # 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:$LINENO: checking for a BSD-compatible install" >&5 +{ $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 test "${ac_cv_path_install+set}" = set; then +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2193,11 +2459,11 @@ 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/* | \ + # 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\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2234,7 +2500,7 @@ ;; esac -done + done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -2250,7 +2516,7 @@ INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +{ $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}. @@ -2261,21 +2527,34 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file +# 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 ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ @@ -2285,11 +2564,8 @@ # 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_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file @@ -2298,13 +2574,10 @@ # Ok. : else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" @@ -2319,31 +2592,147 @@ # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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 --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 + { $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 -{ $as_echo "$as_me:$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 test "${ac_cv_path_mkdir+set}" = set; then +if test x"${install_sh}" != 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 - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin + 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_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $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 + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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*) @@ -2352,11 +2741,12 @@ esac done 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 @@ -2364,11 +2754,10 @@ # 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. - test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" @@ -2381,9 +2770,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -2394,24 +2783,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2419,11 +2808,11 @@ test -n "$AWK" && break done -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +{ $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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2431,7 +2820,7 @@ all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# 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;; @@ -2441,11 +2830,11 @@ rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2465,9 +2854,7 @@ am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -2483,7 +2870,7 @@ # Define the identity of the package. PACKAGE='Atlas-C++' - VERSION='0.6.2' + VERSION='0.6.3' cat >>confdefs.h <<_ACEOF @@ -2511,115 +2898,13 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - -# 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:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$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:$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" - # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} +# 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}' -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -2627,7 +2912,7 @@ -ATLAS_CURRENT=1 +ATLAS_CURRENT=2 INTERFACE_VERSION="-version-info $ATLAS_CURRENT:0:0" @@ -2635,7 +2920,7 @@ # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then +if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; @@ -2659,127 +2944,180 @@ -# 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=yes -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 -DEPDIR="${am__leading_dot}deps" -ac_config_commands="$ac_config_commands depfiles" +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 -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$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 -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +macro_version='2.4' +macro_revision='1.3293' -# 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='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# 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 + + + + + + + + + + + + + + +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 + + +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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2790,24 +3128,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2817,9 +3155,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2830,24 +3168,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -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:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2856,7 +3194,7 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 @@ -2870,9 +3208,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2883,24 +3221,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2910,9 +3248,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2924,18 +3262,18 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if 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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -2954,10 +3292,10 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2969,9 +3307,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2982,24 +3320,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3013,9 +3351,9 @@ 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:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3026,24 +3364,24 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -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:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3056,7 +3394,7 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 @@ -3067,57 +3405,37 @@ fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +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_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +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:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" +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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3133,8 +3451,8 @@ # 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:$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}: 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: @@ -3150,17 +3468,17 @@ done rm -f $ac_rmfiles -if { (ac_try="$ac_link_default" +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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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, @@ -3177,7 +3495,7 @@ # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3196,84 +3514,41 @@ else ac_file='' fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 +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:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $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:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +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 -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +{ $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" +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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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 @@ -3288,32 +3563,83 @@ esac done else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $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:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +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 -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +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 test "${ac_cv_objext+set}" = set; then +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3325,17 +3651,17 @@ } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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 @@ -3348,31 +3674,23 @@ $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $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:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +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:$LINENO: result: $ac_cv_objext" >&5 +{ $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:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $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 test "${ac_cv_c_compiler_gnu+set}" = set; then +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3386,37 +3704,16 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + 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:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $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 @@ -3425,20 +3722,16 @@ fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3449,35 +3742,11 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3488,36 +3757,12 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3528,42 +3773,17 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - 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:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $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 @@ -3580,18 +3800,14 @@ CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $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 test "${ac_cv_prog_cc_c89+set}" = set; then +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3648,32 +3864,9 @@ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3684,17 +3877,19 @@ # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $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:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $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' @@ -3704,9 +3899,9 @@ depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +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 @@ -3715,6 +3910,7 @@ # 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. @@ -3732,6 +3928,11 @@ 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 @@ -3749,7 +3950,17 @@ 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 @@ -3759,19 +3970,23 @@ 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -3795,7 +4010,7 @@ fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +{ $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 @@ -3810,68 +4025,91 @@ fi -{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +{ $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 test "${lt_cv_path_SED+set}" = set; then +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else - # 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 + 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 lt_ac_prog in sed gsed; do + for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$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 + 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 + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done +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//" + + + + + + + -SED=$lt_cv_path_SED -{ $as_echo "$as_me:$LINENO: result: $SED" >&5 -$as_echo "$SED" >&6; } -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 + +{ $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 test "${ac_cv_path_GREP+set}" = set; then +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -3882,7 +4120,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue @@ -3902,7 +4140,7 @@ $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 - ac_count=`expr $ac_count + 1` + 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" @@ -3917,26 +4155,24 @@ $ac_path_GREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + 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:$LINENO: result: $ac_cv_path_GREP" >&5 +{ $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:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3950,7 +4186,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue @@ -3970,7 +4206,7 @@ $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 - ac_count=`expr $ac_count + 1` + 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" @@ -3985,12 +4221,10 @@ $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + 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 @@ -3998,14 +4232,100 @@ fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $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" + { test -f "$ac_path_FGREP" && $as_test_x "$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 +if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no @@ -4014,7 +4334,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 + { $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*) @@ -4028,9 +4348,9 @@ [\\/]* | ?:[\\/]*) 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%/%"` + 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" ;; @@ -4044,13 +4364,13 @@ ;; esac elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 + { $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:$LINENO: checking for non-GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -4081,18 +4401,16 @@ LD="$lt_cv_path_LD" if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +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 test "${lt_cv_prog_gnu_ld+set}" = set; then +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. @@ -4105,39 +4423,21 @@ ;; esac fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +{ $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:$LINENO: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:$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 - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -$as_echo_n "checking for BSD-compatible nm... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then + + + + + + +{ $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 @@ -4181,867 +4481,576 @@ done IFS="$lt_save_ifs" done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm + : ${lt_cv_path_NM=no} fi fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 -{ $as_echo "$as_me:$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:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } +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:$LINENO: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then + + 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 - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_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 -beos*) - lt_cv_deplibs_check_method=pass_all - ;; +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 -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' - ;; + test -n "$ac_ct_DUMPBIN" && break +done -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' + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' + 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 - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; +fi -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.*` + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: ;; esac - else - lt_cv_deplibs_check_method=pass_all fi - ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm -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]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + +{ $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; } -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 - ;; +{ $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 -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; +# 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" -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; + 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 + ;; -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; + 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; + ;; -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; + 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; + ;; -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; -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*` + 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; ;; - ncr) - lt_cv_deplibs_check_method=pass_all + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; - 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 )' + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 ;; - 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 + + 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 ;; - siemens) - lt_cv_deplibs_check_method=pass_all + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 ;; - pc) - lt_cv_deplibs_check_method=pass_all + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi ;; esac - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -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 -{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown +max_cmd_len=$lt_cv_sys_max_cmd_len -# 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 +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; 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* + + + +# 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' ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 4438 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' ;; +esac -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - libsuff=64 - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - 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:$LINENO: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - lt_cv_cc_needs_belf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - lt_cv_cc_needs_belf=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -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:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; + +{ $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 - fi - rm -rf conftest* - ;; + ;; + *-*-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 -esac +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; } -need_locks="$enable_libtool_lock" -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:$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 test "${ac_cv_prog_CPP+set}" = set; then + + +{ $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 - # 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 to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + #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 -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +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; } - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - done - ac_cv_prog_CPP=$CPP -fi - CPP=$ac_cv_prog_CPP +{ $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 - ac_cv_prog_CPP=$CPP + lt_cv_ld_reload_flag='-r' fi -{ $as_echo "$as_me:$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 to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +{ $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 "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_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 -_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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : +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 - ac_cv_header_stdc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } 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 - : +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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#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 -rm -f 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. 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 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_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 -( exit $ac_status ) -ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF + 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 -# On IRIX 5.3, sys/types and inttypes.h are conflicting. +test -z "$OBJDUMP" && OBJDUMP=objdump @@ -5051,524 +5060,512 @@ -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` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; - eval "$as_ac_Header=no" -fi +beos*) + lt_cv_deplibs_check_method=pass_all + ;; -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +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 + ;; -fi +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' + ;; -done +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; -for ac_header in dlfcn.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +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 + ;; - ac_header_compiler=no -fi +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +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 + ;; - ac_header_preproc=no -fi +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)$' + ;; -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +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 + ;; -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes +# This must be Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## --------------------------------------- ## -## Report this to alriddoch@googlemail.com ## -## --------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +{ $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 -done +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 -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:$LINENO: checking for $ac_word" >&5 + + + + + + + + + + + + + + + + + + + + + +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 test "${ac_cv_prog_CXX+set}" = set; then +if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:$LINENO: result: $CXX" >&5 -$as_echo "$CXX" >&6; } +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:$LINENO: result: no" >&5 + { $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:$LINENO: checking for $ac_word" >&5 +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 test "${ac_cv_prog_ac_ct_CXX+set}" = set; then +if ${ac_cv_prog_ac_ct_DLLTOOL+:} 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. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + 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:$LINENO: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } +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:$LINENO: result: no" >&5 + { $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++" + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 + DLLTOOL=$ac_ct_DLLTOOL fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" fi - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } +test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $as_echo "$as_me:$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 test "${ac_cv_cxx_compiler_gnu+set}" = set; then + + + + + + + + + +{ $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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif + lt_cv_sharedlib_from_linklib_cmd='unknown' - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no 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 + + + + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + + + +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="$ac_tool_prefix$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 -{ $as_echo "$as_me:$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 +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 - GXX= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then + + + 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 - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="$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 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes +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: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ + test -n "$ac_ct_AR" && break +done - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + 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 -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + AR=$ac_ct_AR + fi +fi - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +: ${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 @@ -5579,810 +5576,321 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +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 "$ac_status" -eq 0; 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 "$ac_status" -ne 0; 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 -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; } -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:$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 +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi + archiver_list_spec=$lt_cv_ar_at_file 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 -depcc="$CXX" am_compiler_list= -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; 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 -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'. - 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` + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - 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 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 done +IFS=$as_save_IFS - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none fi - fi -{ $as_echo "$as_me:$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='#' +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 - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=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:$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 test "${ac_cv_prog_CXXCPP+set}" = set; then +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 - # 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 to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_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 - # Broken: fails on valid input. -continue +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 -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + 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 -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue + STRIP=$ac_ct_STRIP + fi else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break + STRIP="$ac_cv_prog_STRIP" fi -rm -f conftest.err conftest.$ac_ext +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break + 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 - done - ac_cv_prog_CXXCPP=$CXXCPP fi - CXXCPP=$ac_cv_prog_CXXCPP +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 - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:$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 to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -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 - -fi - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { $as_echo "$as_me:$LINENO: result: $F77" >&5 -$as_echo "$F77" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$F77" && break done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_F77="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done IFS=$as_save_IFS fi fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -$as_echo "$ac_ct_F77" >&6; } +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:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 - F77=$ac_ct_F77 + RANLIB=$ac_ct_RANLIB fi +else + RANLIB="$ac_cv_prog_RANLIB" fi +test -z "$RANLIB" && RANLIB=: + -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -$as_echo "$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -$as_echo_n "checking whether $F77 accepts -g... " >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_f77_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_prog_f77_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -$as_echo "$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi -if test $ac_compiler_gnu = yes; then - G77=yes -else - G77= -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 -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -# find the maximum length of command line arguments -{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; 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*) - # 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; - ;; - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -fi -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:$LINENO: result: none" >&5 -$as_echo "none" >&6; } -fi + + + + + + + + + + + + + + + + + +# 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:$LINENO: checking command to parse $NM output from $compiler object" >&5 +{ $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 test "${lt_cv_sys_global_symbol_pipe+set}" = set; then +if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else @@ -6395,33 +5903,18 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; -cygwin* | mingw* | pw32*) +cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; -hpux*) # Its linker distinguishes data from code symbols +hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' @@ -6446,57 +5939,86 @@ ;; esac +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; 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 - -# Try without a prefix undercore, then with it. +# 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. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* - cat > conftest.$ac_ext < conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; -void nm_test_func(){} +void nm_test_func(void); +void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} -EOF +_LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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:$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 + 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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then + $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" @@ -6505,57 +6027,71 @@ 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 < conftest.$ac_ext + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_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 -EOF +_LT_EOF # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif + cat <<_LT_EOF >> conftest.$ac_ext -/* The mapping between symbol names and symbols. */ -const struct { +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { const char *name; - lt_ptr_t address; + void *address; } -lt_preloaded_symbols[] = +lt__PROGRAM__LTX_preloaded_symbols[] = { -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} }; +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + #ifdef __cplusplus } #endif -EOF +_LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" + 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:$LINENO: \"$ac_link\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then + $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_save_LIBS" - CFLAGS="$lt_save_CFLAGS" + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi @@ -6569,7 +6105,7 @@ echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi - rm -f conftest* conftst* + rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then @@ -6585,6135 +6121,3513 @@ 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:$LINENO: result: failed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else - { $as_echo "$as_me:$LINENO: result: ok" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi -{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; 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 +# 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 -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -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 avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -# Constants: -rm="rm -f" -# Global variables: -default_ofile=libtool -can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$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 -else - AR="$ac_cv_prog_AR" -fi -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + + + + + + + +{ $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 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + with_sysroot=no fi +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $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; } + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; 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:$LINENO: checking for $ac_word" >&5 + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { 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 which ABI we are using. + 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 "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { 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*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $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 x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${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*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + +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 test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if ${ac_cv_prog_MANIFEST_TOOL+:} 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. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_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_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } +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:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else - RANLIB="$ac_cv_prog_RANLIB" + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" 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:$LINENO: checking for $ac_word" >&5 +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 "x$lt_cv_path_mainfest_tool" != xyes; 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 test "${ac_cv_prog_STRIP+set}" = set; then +if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } +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:$LINENO: result: no" >&5 + { $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:$LINENO: checking for $ac_word" >&5 +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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} 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. + 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + 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:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } +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:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $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 + DSYMUTIL=$ac_ct_DSYMUTIL fi else - STRIP="$ac_cv_prog_STRIP" + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 -old_CC="$CC" -old_CFLAGS="$CFLAGS" +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 -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then +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 - 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 <&2 + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_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 -*** 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 +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 -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; + 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 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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:$LINENO: result: no" >&5 + { $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:$LINENO: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + +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 - 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 <&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 - -EOF - fi ;; - esac - fi - break - fi + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi +IFS=$as_save_IFS -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } +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:$LINENO: result: no" >&5 + { $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 - MAGIC_CMD=: + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 - ;; -esac - -enable_dlopen=no -enable_win32_dll=no +done + done +IFS=$as_save_IFS -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; +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 -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_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 -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" +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 - pic_mode=default + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -test -z "$pic_mode" && pic_mode=default + 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 -# Use C for the default configuration in the libtool script -tagname= -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 + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 -# Source file extension for C test sources. -ac_ext=c -# Object file extension for compiled C test sources. -objext=o -objext=$objext +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_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 -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" +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 -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' + 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 -# 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 conftest* -lt_prog_compiler_no_builtin_flag= -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' -{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; 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" - # 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:7213: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7217: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi -fi -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - amigaos*) - # 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' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic + { $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 test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; 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. */ - hpux*) - # 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='-fPIC' - ;; - esac - ;; +int +main () +{ - *) - lt_prog_compiler_pic='-fPIC' - ;; - 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 "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' + ; + 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 -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + lt_cv_ld_force_load=yes else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + cat conftest.err >&5 fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - 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' - ;; +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 - # 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' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # 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' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; +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 to if __STDC__ is defined, since + # 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 +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : - rdos*) - lt_prog_compiler_static='-non_shared' - ;; +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; + # 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 +_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 - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; +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 - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; + done + ac_cv_prog_CPP=$CPP - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; +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 to if __STDC__ is defined, since + # 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 +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; + # 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 +_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 - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; +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 : - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi +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 -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } +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 -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then -{ $as_echo "$as_me:$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 test "${lt_prog_compiler_pic_works+set}" = set; then +{ $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 - lt_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" - # 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:7503: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7507: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +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 -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -$as_echo "$lt_prog_compiler_pic_works" >&6; } +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 + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : -if test x"$lt_prog_compiler_pic_works" = xyes; 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 + ac_cv_header_stdc=no fi +rm -f conftest* fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -# -# 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:$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 test "${lt_prog_compiler_static_works+set}" = set; then - $as_echo_n "(cached) " >&6 +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 + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" + ac_cv_header_stdc=no +fi +rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -$as_echo "$lt_prog_compiler_static_works" >&6; } -if test x"$lt_prog_compiler_static_works" = xyes; then - : +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 - lt_prog_compiler_static= -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#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 : -{ $as_echo "$as_me:$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 test "${lt_cv_prog_compiler_c_o+set}" = set; 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 + 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 - 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:7607: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7611: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - 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 .. - rmdir conftest - $rm conftest* +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 -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +# 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 -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$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:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$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:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +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 - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # 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_" - # 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. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - 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 2>/dev/null` in - *\ [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 - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 -*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH -*** so that a non-GNU linker is found, and then restart. +# Set options -EOF - fi - ;; - amigaos*) - 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 - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; + enable_dlopen=no - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach 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*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - 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/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + enable_win32_dll=no - 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 (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - 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' + # 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=yes +fi - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - 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; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # 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; $echo \"$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' ;; - 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; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - netbsd*) - 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 $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' - fi - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&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. -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - 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 - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # 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 ;; *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - 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 + 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 - if test "$ld_shlibs" = no; 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 "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - 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")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - 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 "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - # 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_use_runtimelinking" = yes; 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. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # 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' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - 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 - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - cygwin* | mingw* | pw32*) - # 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. - 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 `echo "$deplibs" | $SED -e '\''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' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - freebsd1*) - ld_shlibs=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 -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $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 $output_objdir/$soname = $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 "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' +test -z "$LN_S" && LN_S="ln -s" - # 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 "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - netbsd*) - 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 - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - osf3*) - if test "$GCC" = yes; 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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${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='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -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; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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 - hardcode_libdir_separator=: - ;; - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${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 ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - 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' - 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 "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - 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 - ;; +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +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' +{ $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 - if test "$GCC" = yes; 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 can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - uts4*) - 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 - fi +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no -# -# 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 "$enable_shared" = yes && test "$GCC" = yes; 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:$LINENO: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 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:$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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES fi ;; esac -{ $as_echo "$as_me:$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" +# Global variables: +ofile=libtool +can_build_shared=yes -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown +with_gnu_ld="$lt_cv_prog_gnu_ld" -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH +old_CC="$CC" +old_CFLAGS="$CFLAGS" - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; +# 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 -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH +# 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 -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs +*** 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 -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no +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 - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' +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 -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +*** 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 -freebsd1*) - dynamic_linker=no +_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 + -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac + MAGIC_CMD=: fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; +fi -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes + fi ;; +esac -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; +# Use C for the default configuration in the libtool script -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +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 -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; +# Source file extension for C test sources. +ac_ext=c -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" +# Object file extension for compiled C test sources. +objext=o +objext=$objext - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" - # 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' - ;; +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; -rdos*) - dynamic_linker=no - ;; +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; +# Allow CC to be a program name with arguments. +compiler=$CC -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; +# 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 -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; +# 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* -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; +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* -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi +lt_prog_compiler_no_builtin_flag= -{ $as_echo "$as_me:$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 "X$hardcode_automatic" = "Xyes" ; then +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; 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 + { $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 - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } + 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" + # 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* -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -striplib= -old_striplib= -{ $as_echo "$as_me:$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:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" 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:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + : fi - ;; - *) - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + fi -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any 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 -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= - ac_cv_lib_dl_dlopen=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; -fi + 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. + ;; - *) - { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 -$as_echo_n "checking for shl_load... " >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load + 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' + ;; -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; -#ifdef __STDC__ -# include -#else -# include -#endif + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; -#undef shl_load + 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 + ;; -/* 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 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 + ;; - ac_cv_func_shl_load=no -fi + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -$as_echo "$ac_cv_func_shl_load" >&6; } -if test "x$ac_cv_func_shl_load" = x""yes; then - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; -/* 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 -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac - ac_cv_lib_dld_shl_load=no -fi + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + lt_prog_compiler_pic='-Xcompiler -fPIC' + ;; + 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 "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$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" = x""yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 -$as_echo_n "checking for dlopen... " >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen + 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' + ;; -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + 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' + ;; -#ifdef __STDC__ -# include -#else -# include -#endif + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; -#undef dlopen + linux* | k*bsd*-gnu | kopensolaris*-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' + ;; + 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\ F* | *Sun*Fortran*) + # 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\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + esac + ;; -/* 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 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; - ac_cv_func_dlopen=no -fi + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -$as_echo "$ac_cv_func_dlopen" >&6; } -if test "x$ac_cv_func_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + rdos*) + lt_prog_compiler_static='-non_shared' + ;; -/* 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 -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 + ;; - ac_cv_lib_dl_dlopen=no -fi + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; -/* 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 -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_svld_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; - ac_cv_lib_svld_dlopen=no -fi + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then + 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 which 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 - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + 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 -/* 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 -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_dld_link=yes +# +# 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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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" + # 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* - ac_cv_lib_dld_dld_link=no 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; } -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +if test x"$lt_cv_prog_compiler_pic_works" = xyes; 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 -{ $as_echo "$as_me:$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" = x""yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" + fi -fi -fi -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 x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= fi - ;; - esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then + + { $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 - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif + 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 -/* 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 + 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* -#ifdef __cplusplus -extern "C" void exit (int); -#endif +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; } -void fnord() { int i=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; - /* dlclose (self); */ - } - else - puts (dlerror ()); - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_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:$LINENO: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:$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 test "${lt_cv_dlopen_self_static+set}" = set; then + { $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 - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include + 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 -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif + 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* -/* 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 +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; } -#ifdef __cplusplus -extern "C" void exit (int); -#endif -void fnord() { int i=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; - /* dlclose (self); */ - } - else - puts (dlerror ()); - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $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 "$hard_links" = no; 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 -rm -fr conftest* - - -fi -{ $as_echo "$as_me:$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 -# Report which library types will actually be built -{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } -{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } -test "$can_build_shared" = "no" && enable_shared=no -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; + { $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; } -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - -{ $as_echo "$as_me:$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 "$enable_shared" = yes || enable_static=yes -{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - fix_srcfile_path \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done + 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_flag_spec_ld= + 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 $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no ;; esac -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { $as_echo "$as_me:$LINENO: creating $ofile" >&5 -$as_echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL + ld_shlibs=yes -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi -# A sed program that does not truncate output. -SED=$lt_SED + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" + # 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 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 -# 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 + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 -# The names of the tagged configurations supported by this script. -available_tags= +*** 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. -# ### BEGIN LIBTOOL CONFIG +_LT_EOF + fi + ;; -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + 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 + ;; -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach 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 + ;; -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared + 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' -# Whether or not to build static libraries. -build_old_libs=$enable_static + 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 (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + 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' + ;; -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + 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' ;; + 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' -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os + if test "x$supports_anon_versioning" = xyes; 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 -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os + case $cc_basename in + 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= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; 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 + ;; -# An echo program that does not interpret backslashes. -echo=$lt_echo + netbsd*) + 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 + ;; -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 -# A C compiler. -LTCC=$lt_LTCC +*** 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. -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS +_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 + ;; -# A language-specific compiler. -CC=$lt_compiler + 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 -# Is the compiler the GNU C compiler? -with_gcc=$GCC +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD +_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 + ;; -# Whether we need hard or soft links. -LN_S=$lt_LN_S + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; -# A BSD-compatible nm program. -NM=$lt_NM + *) + 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 -# A symbol stripping program -STRIP=$lt_STRIP + if test "$ld_shlibs" = no; 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 "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi -# Used on cygwin: assembler. -AS="$AS" + # 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. -# The name of the directory that contains temporary libtool files. -objdir=$objdir + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + 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 "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl + 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_use_runtimelinking" = yes; 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 "${lt_cv_aix_libpath+set}" = 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. */ -# Object file suffix (normally "o"). -objext="$ac_objext" +int +main () +{ -# Old archive suffix (normally "a"). -libext="$libext" + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' + 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 -# Executable file suffix (normally ""). -exeext="$exeext" +fi -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode + aix_libpath=$lt_cv_aix_libpath_ +fi -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + 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 "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + 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 "${lt_cv_aix_libpath+set}" = 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. */ -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o +int +main () +{ -# Must we lock files when doing compilation? -need_locks=$lt_need_locks + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix + 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 -# Do we need a version for libraries? -need_version=$need_version +fi -# Whether dlopen is supported. -dlopen_support=$enable_dlopen + aix_libpath=$lt_cv_aix_libpath_ +fi -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + 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 "$with_gnu_ld" = yes; 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 + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static + 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 + ;; -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + 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~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # 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 + ;; -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + darwin* | rhapsody*) -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test "$lt_cv_ld_force_load" = "yes"; 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*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + 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}" -# Library versioning type. -version_type=$version_type + else + ld_shlibs=no + fi -# Format of library name prefix. -libname_spec=$lt_libname_spec + ;; -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# 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 and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -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 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds + freebsd1*) + ld_shlibs=no + ;; -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval + # 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 + ;; -# 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 + # 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 + ;; -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + # 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 + ;; -# 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 + hpux9*) + if test "$GCC" = yes; 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 $output_objdir/$soname = $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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes -# This is the shared library runtime path variable. -runpath_var=$runpath_var + # 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' + ;; -# This is the shared library path variable. -shlibpath_var=$shlibpath_var + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; 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 "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $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 + ;; -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; 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' + ;; + *) -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action + # 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" -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } -# 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 +if test x"$lt_cv_prog_compiler__b" = xyes; 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 -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_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' -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; 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 "$lt_cv_irix_exported_symbol" = yes; 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 + 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 + ;; -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var + netbsd*) + 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 + ;; -# 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 + 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 + ;; -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + *nto* | *qnx*) + ;; -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs + openbsd*) + 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__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# 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 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_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 - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # 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" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - 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 - -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -$as_echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=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= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# 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= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$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(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 conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -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++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; 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 "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$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 "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; 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 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; 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 &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 "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -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 "\-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:$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 - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - 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 "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # 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_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # 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' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach 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*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - 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 (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - 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' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - 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 - ;; - freebsd[12]*) - # 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 - ;; - gnu*) - ;; - 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|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_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; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; 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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - 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" && echo -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 "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${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=: - ;; - linux* | k*bsd*-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; echo $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*) - # 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*) - # Portland Group C++ compiler - 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' - - 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; $echo \"$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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # 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::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - ld_shlibs_CXX=no - fi - ;; - osf3*) - 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 - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - 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" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - 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. - # - # 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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - 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 "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - 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. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - 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" && echo -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' - 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=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - 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 "\-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*) - # 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='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - 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 "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $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 -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $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 -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 \"\-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 can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - 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:$LINENO: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; 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 - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p 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 - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$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 - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; 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 "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # 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' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # 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= - ;; - 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 + osf3*) + if test "$GCC" = yes; 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 - ;; - hpux*) - # 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*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; 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_AC_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 - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - 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 "$host_cpu" != ia64; 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) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # 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' - ;; - *) - 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*) - ;; - 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*) - # 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 - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - 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' - ;; + 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 "$GCC" = yes; 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 "$GCC" = yes; 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 - ;; - vxworks*) - ;; + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; *) - lt_prog_compiler_can_build_shared_CXX=no + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + 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 - fi + esac + link_all_deplibs=yes + ;; -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_prog_compiler_pic_CXX" >&6; } + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + 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 + ;; -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then + 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 + ;; -{ $as_echo "$as_me:$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 test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_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" - # 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:12522: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12526: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; -fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_prog_compiler_pic_works_CXX" >&6; } + 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 "$GCC" = yes; 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 can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$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 x$host_vendor = xsni; 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 "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; 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 -case $host_os in - # For platforms which 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 -# -# 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:$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 test "${lt_prog_compiler_static_works_CXX+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_prog_compiler_static_works_CXX" >&6; } -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi -{ $as_echo "$as_me:$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 test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; 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:12626: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12630: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - 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 .. - rmdir conftest - $rm conftest* -fi -{ $as_echo "$as_me:$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 "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$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:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$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:$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' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - 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")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # -case "x$archive_cmds_need_lc_CXX" in +case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added - archive_cmds_need_lc_CXX=yes + archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in + case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; @@ -12721,54 +9635,281 @@ # 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:$LINENO: checking whether -lc should be explicitly linked in" >&5 + { $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; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +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:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 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:$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 + $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:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - 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* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -$as_echo "$archive_cmds_need_lc_CXX" >&6; } + $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:$LINENO: checking dynamic linker characteristics" >&5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi library_names_spec= libname_spec='lib$name' soname_spec= @@ -12782,7 +9923,6 @@ 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 @@ -12800,7 +9940,7 @@ soname_spec='${libname}${release}${shared_ext}$major' ;; -aix4* | aix5*) +aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -12819,7 +9959,7 @@ 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 + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no @@ -12845,9 +9985,18 @@ ;; amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac ;; beos*) @@ -12870,61 +10019,112 @@ # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) + 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'\''`~ + 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' + 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' + $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; - mingw*) + mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac + 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 - dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; @@ -12934,12 +10134,13 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + 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' ;; @@ -13007,6 +10208,20 @@ 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 + ;; + +haiku*) + version_type=linux + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -13032,18 +10247,18 @@ fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) + 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 @@ -13052,8 +10267,10 @@ soname_spec='${libname}${release}${shared_ext}$major' ;; esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. + # 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]*) @@ -13111,7 +10328,7 @@ ;; # This must be Linux ELF. -linux* | k*bsd*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -13120,16 +10337,71 @@ 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 - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 10384 "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 + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + ;; + esac + fi + rm -rf conftest* + ;; + esac + + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi @@ -13146,7 +10418,7 @@ version_type=sunos need_lib_prefix=no need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + 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' @@ -13167,14 +10439,16 @@ shlibpath_overrides_runpath=yes ;; -nto-qnx*) - version_type=linux +*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=yes + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' ;; openbsd*) @@ -13183,13 +10457,13 @@ need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no @@ -13261,7 +10535,6 @@ sni) shlibpath_overrides_runpath=no need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) @@ -13292,13 +10565,12 @@ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" @@ -13308,6 +10580,17 @@ sys_lib_dlsearch_path_spec='/usr/lib' ;; +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -13319,7 +10602,7 @@ dynamic_linker=no ;; esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no @@ -13328,3447 +10611,3183 @@ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -{ $as_echo "$as_me:$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 "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; 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 +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - fix_srcfile_path_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# 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 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# 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 - -# An echo program that does not interpret backslashes. -echo=$lt_echo -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS -# A C compiler. -LTCC=$lt_LTCC -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS -# A language-specific compiler. -CC=$lt_compiler_CXX -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX -# An ERE matcher. -EGREP=$lt_EGREP -# The linker used to build libraries. -LD=$lt_LD_CXX -# Whether we need hard or soft links. -LN_S=$lt_LN_S -# A BSD-compatible nm program. -NM=$lt_NM -# A symbol stripping program -STRIP=$lt_STRIP -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" -# Used on cygwin: assembler. -AS="$AS" -# The name of the directory that contains temporary libtool files. -objdir=$objdir -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX -# Object file suffix (normally "o"). -objext="$ac_objext" -# Old archive suffix (normally "a"). -libext="$libext" -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' -# Executable file suffix (normally ""). -exeext="$exeext" -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX -# Library versioning type. -version_type=$version_type -# Format of library name prefix. -libname_spec=$lt_libname_spec -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -# This is the shared library runtime path variable. -runpath_var=$runpath_var -# This is the shared library path variable. -shlibpath_var=$shlibpath_var -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path -# 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 -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# 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 -# ### END LIBTOOL TAG CONFIG: $tagname -__EOF__ -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - 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 -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -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 - else - tagname="" - fi - ;; - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then + { $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 "X$hardcode_automatic" = "Xyes" ; then -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; 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; } -# Source file extension for f77 test sources. -ac_ext=f +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext -# 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. -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= -# Allow CC to be a program name with arguments. -compiler=$CC + 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= + ;; -# 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* + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* + 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 -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes +fi -{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } + ;; -{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } -test "$can_build_shared" = "no" && enable_shared=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. */ -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } +/* 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. */ -{ $as_echo "$as_me:$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 "$enable_shared" = yes || enable_static=yes -{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } +/* 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. */ -GCC_F77="$G77" -LD_F77="$LD" +/* 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. */ -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= +/* 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 -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' +fi - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - amigaos*) - # 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_F77='-m68020 -resident32 -malways-restore-a4' - ;; +fi - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; +fi - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; +fi - 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_F77=no - enable_shared=no - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; +fi - hpux*) - # 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_F77='-fPIC' - ;; - esac - ;; + ;; + esac - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-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_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; + enable_dlopen=no + fi - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - esac - ;; - esac - ;; + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; + { $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 "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; +#if HAVE_DLFCN_H +#include +#endif - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; +#include - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; +/* 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 - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; + 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 ()); - *) - lt_prog_compiler_can_build_shared_F77=no - ;; + 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* -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -$as_echo "$lt_prog_compiler_pic_F77" >&6; } -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } -{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + if test "x$lt_cv_dlopen_self" = xyes; 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 - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # 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:14190: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:14194: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -$as_echo "$lt_prog_compiler_pic_works_F77" >&6; } - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi + 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" -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac +#if HAVE_DLFCN_H +#include +#endif -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ $as_echo "$as_me:$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 test "${lt_prog_compiler_static_works_F77+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" +#include -fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -$as_echo "$lt_prog_compiler_static_works_F77" >&6; } +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : -else - lt_prog_compiler_static_F77= -fi +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif -{ $as_echo "$as_me:$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 test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; - 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:14294: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14298: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - 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 .. - rmdir conftest - $rm conftest* + 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 -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } +rm -fr conftest* -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$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:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$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}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi -{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # 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_F77="_GLOBAL_OFFSET_TABLE_" - # 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. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; + 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 - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${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_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [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 - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 -*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH -*** so that a non-GNU linker is found, and then restart. -EOF - fi - ;; - amigaos*) - archive_cmds_F77='$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_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - 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_F77=no - fi - ;; - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$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' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $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_F77=no - cat <&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. -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 +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 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$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_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=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_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - # 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_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main + # Report which 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; } - end -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + { $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 "$can_build_shared" = "no" && enable_shared=no -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } -fi + { $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 "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - end -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +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" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - archive_cmds_F77='$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_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - cygwin* | mingw* | pw32*) - # 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. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=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_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - freebsd1*) - ld_shlibs_F77=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_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes + ac_config_commands="$ac_config_commands libtool" - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; +# Only expand once: - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $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 - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; +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 - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_F77=no - 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $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 - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; +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 - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + test -n "$ac_ct_CXX" && break +done - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; + 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 - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; + 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 - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; +{ $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 - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; + ; + 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 - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; +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. */ - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; +int +main () +{ - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' + ; + 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. */ - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +int +main () +{ - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; +int +main () +{ - *) - ld_shlibs_F77=no - ;; - esac + ; + 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 -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -$as_echo "$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no +depcc="$CXX" am_compiler_list= -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes +{ $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 - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 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:$LINENO: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + 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 - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag + 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 8's {/usr,}/bin/sh. + touch 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 - cat conftest.err 1>&5 + break fi - $rm conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -$as_echo "$archive_cmds_need_lc_F77" >&6; } ;; + 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 - fi - ;; -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 -{ $as_echo "$as_me:$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" + 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 -need_lib_prefix=unknown -hardcode_into_libs=no -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; +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 -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=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 to if __STDC__ is defined, since + # 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 +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; + # 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 +_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 -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; +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 -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no + done + ac_cv_prog_CXXCPP=$CXXCPP - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes +fi + 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 to if __STDC__ is defined, since + # 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 +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; + # 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 +_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 -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +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_flag_spec_ld_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 - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; +# Source file extension for C++ test sources. +ac_ext=cpp -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext -freebsd1*) - dynamic_linker=no - ;; +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; + # ltmain only uses $CC for tagged configurations so make sure $CC is set. -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -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 - ;; +# Allow CC to be a program name with arguments. +compiler=$CC -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; + # 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* -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac + 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 - shlibpath_overrides_runpath=yes + $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 + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi -rdos*) - dynamic_linker=no - ;; + if test "$GXX" = yes; then + # Set up default GNU C++ configuration -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; 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 - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" +elif test "$with_gnu_ld" = yes; 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 &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 &5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi +{ $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:$LINENO: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -$as_echo "$hardcode_action_F77" >&6; } -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - fix_srcfile_path_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac -cfgfile="$ofile" + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + 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 - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname + # 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"' -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + else + GXX=no + with_gnu_ld=no + wlarc= + fi -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + # 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 "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + 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,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + 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 "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs_CXX=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -# Whether or not to build static libraries. -build_old_libs=$enable_static + 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_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test "${lt_cv_aix_libpath+set}" = 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. */ -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 +int +main () +{ -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install + 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 -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os +fi -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os + aix_libpath=$lt_cv_aix_libpath__CXX +fi -# An echo program that does not interpret backslashes. -echo=$lt_echo + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${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 "${lt_cv_aix_libpath+set}" = 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. */ -# A C compiler. -LTCC=$lt_LTCC +int +main () +{ -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : -# A language-specific compiler. -CC=$lt_compiler_F77 + 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 -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 +fi -# An ERE matcher. -EGREP=$lt_EGREP + aix_libpath=$lt_cv_aix_libpath__CXX +fi -# The linker used to build libraries. -LD=$lt_LD_F77 + 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 "$with_gnu_ld" = yes; 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 + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -# Whether we need hard or soft links. -LN_S=$lt_LN_S + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach 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 + ;; -# A BSD-compatible nm program. -NM=$lt_NM + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; -# A symbol stripping program -STRIP=$lt_STRIP + 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~linknames=' + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, 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 (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test "$lt_cv_ld_force_load" = "yes"; 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*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + 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 "$lt_cv_apple_cc_single_mod" != "yes"; 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 -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + else + ld_shlibs_CXX=no + fi -# Used on cygwin: assembler. -AS="$AS" + ;; -# The name of the directory that contains temporary libtool files. -objdir=$objdir + 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 + ;; -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; -# Object file suffix (normally "o"). -objext="$ac_objext" + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; -# Old archive suffix (normally "a"). -libext="$libext" + gnu*) + ;; -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; -# Executable file suffix (normally ""). -exeext="$exeext" + 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + 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 -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + 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 "$GXX" = yes; then + if test $with_gnu_ld = no; 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 + ;; -# Must we lock files when doing compilation? -need_locks=$lt_need_locks + 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 "$GXX" = yes; then + if test "$with_gnu_ld" = no; 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 + ;; -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + 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 -# Do we need a version for libraries? -need_version=$need_version + 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' -# Whether dlopen is supported. -dlopen_support=$enable_dlopen + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + # 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 "x$supports_anon_versioning" = xyes; 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 + ;; -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + 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 + ;; -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + 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::"' + ;; -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; -# Library versioning type. -version_type=$version_type + openbsd*) + 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__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; -# Format of library name prefix. -libname_spec=$lt_libname_spec + 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 -# 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 + hardcode_libdir_separator_CXX=: -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + 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 + ;; -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + 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 + ;; -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + 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 -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds + output_verbose_link_cmd='func_echo_all' -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 + # 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' -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + # 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 "$GXX" = yes && test "$with_gnu_ld" = no; 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 $LDFLAGS $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 -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 $LDFLAGS $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 -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 + ;; -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 + 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' -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + 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 + ;; -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_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' -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd + 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 + ;; -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 + 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 + ;; -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no -# 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 + GCC_CXX="$GXX" + LD_CXX="$LD" -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + ## 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= -# 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 +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF -# This is the shared library runtime path variable. -runpath_var=$runpath_var -# This is the shared library path variable. -shlibpath_var=$shlibpath_var +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +esac -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath +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. -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in -# 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_F77 + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# 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_F77 + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$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= + ;; -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + *.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 -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 + if test "$pre_test_object_deps_done" = no; 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 + ;; -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + *) ;; # Ignore the rest. -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + esac + done -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 +# 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= + ;; -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; -# ### END LIBTOOL TAG CONFIG: $tagname +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac -__EOF__ + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi +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 -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" - else - tagname="" - fi - ;; - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then -# Source file extension for Java test sources. -ac_ext=java -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$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. -# 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 conftest* -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no -old_archive_cmds_GCJ=$old_archive_cmds -lt_prog_compiler_no_builtin_flag_GCJ= -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' -{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; 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" - # 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:16491: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16495: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi -fi -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' case $host_os in - aix*) + aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) - # 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_GCJ='-m68020 -resident32 -malways-restore-a4' + 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* | pw32* | os2*) + 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_GCJ='-DDLL_EXPORT' + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; - darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' + 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. ;; - - 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_GCJ=no - enable_shared=no - ;; - sysv4*MP*) if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic + lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. + # 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*|ia64*) - # +Z the default + hppa*64*) ;; *) - lt_prog_compiler_pic_GCJ='-fPIC' + 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_GCJ='-fPIC' + lt_prog_compiler_pic_CXX='-fPIC' ;; esac else - # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-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 + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; 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 "$host_cpu" != ia64; 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) + 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*) + ;; + *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 ;; - *) - lt_prog_compiler_pic_GCJ='+Z' + 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 ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; + 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 ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; + lt_prog_compiler_can_build_shared_CXX=no + ;; esac fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -$as_echo "$lt_prog_compiler_pic_GCJ" >&6; } +case $host_os in + # For platforms which 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_GCJ"; then - -{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then +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_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext + 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_GCJ" + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -16778,57 +13797,52 @@ -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:16781: $lt_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16785: \$? = $ac_status" >&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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $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_prog_compiler_pic_works_GCJ=yes + lt_cv_prog_compiler_pic_works_CXX=yes fi fi - $rm conftest* + $RM conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -$as_echo "$lt_prog_compiler_pic_works_GCJ" >&6; } +{ $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 x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no fi fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac + + + + # # Check to make sure the static flag actually works. # -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +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 test "${lt_prog_compiler_static_works_GCJ+set}" = set; then +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else - lt_prog_compiler_static_works_GCJ=no + 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 @@ -16838,36 +13852,38 @@ if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $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_prog_compiler_static_works_GCJ=yes + lt_cv_prog_compiler_static_works_CXX=yes fi else - lt_prog_compiler_static_works_GCJ=yes + lt_cv_prog_compiler_static_works_CXX=yes fi fi - $rm conftest* + $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -$as_echo "$lt_prog_compiler_static_works_GCJ" >&6; } +{ $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 x"$lt_prog_compiler_static_works_GCJ" = xyes; then +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else - lt_prog_compiler_static_GCJ= + lt_prog_compiler_static_CXX= fi -{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 + + + { $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 test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out @@ -16882,1115 +13898,297 @@ -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:16885: $lt_compile\"" >&5) + (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:16889: \$? = $ac_status" >&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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $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_GCJ=yes + lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 - $rm conftest* + $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 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out cd .. - rmdir conftest - $rm conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - + $RM -r conftest + $RM conftest* -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$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:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$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}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } -{ $as_echo "$as_me:$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_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # 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_GCJ="_GLOBAL_OFFSET_TABLE_" - # 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. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${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_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [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 - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$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_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - 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_GCJ=no - fi - ;; - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$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' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + { $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 - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; + 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* - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; +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; } - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&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. -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $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 "$hard_links" = no; 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 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; + { $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 AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) ;; *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi + 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) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$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_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no +with_gnu_ld_CXX=$with_gnu_ld - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null + +# +# 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 "$enable_shared" = yes && test "$GCC" = yes; 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 - # We have reworked collect2 - : + lt_cv_archive_cmds_need_lc_CXX=no else - # We have old collect2 - hardcode_direct_GCJ=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_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= + lt_cv_archive_cmds_need_lc_CXX=yes fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi + cat conftest.err 1>&5 fi - fi - - # 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_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ + $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 + - ; - return 0; -} -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - archive_cmds_GCJ='$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_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - cygwin* | mingw* | pw32*) - # 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. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=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_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - freebsd1*) - ld_shlibs_GCJ=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_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_GCJ=no - fi - ;; - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -$as_echo "$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ 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:$LINENO: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -$as_echo "$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac -{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 + + + + + + + + + + { $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= @@ -18004,7 +14202,6 @@ 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 @@ -18022,7 +14219,7 @@ soname_spec='${libname}${release}${shared_ext}$major' ;; -aix4* | aix5*) +aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -18041,7 +14238,7 @@ 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 + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no @@ -18067,9 +14264,18 @@ ;; amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac ;; beos*) @@ -18092,61 +14298,111 @@ # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) + 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'\''`~ + 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' + 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' + $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; - mingw*) + mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac + 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 - dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; @@ -18156,7 +14412,7 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + 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 @@ -18229,6 +14485,20 @@ 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 + ;; + +haiku*) + version_type=linux + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -18254,18 +14524,18 @@ fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) + 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 @@ -18274,8 +14544,10 @@ soname_spec='${libname}${release}${shared_ext}$major' ;; esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. + # 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]*) @@ -18333,7 +14605,7 @@ ;; # This must be Linux ELF. -linux* | k*bsd*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -18342,16 +14614,71 @@ 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 - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 14661 "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 + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + ;; + esac + fi + rm -rf conftest* + ;; + esac + + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi @@ -18368,7 +14695,7 @@ version_type=sunos need_lib_prefix=no need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + 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' @@ -18389,14 +14716,16 @@ shlibpath_overrides_runpath=yes ;; -nto-qnx*) - version_type=linux +*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=yes + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' ;; openbsd*) @@ -18405,13 +14734,13 @@ need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no @@ -18483,7 +14812,6 @@ sni) shlibpath_overrides_runpath=no need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) @@ -18514,13 +14842,12 @@ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" @@ -18530,6 +14857,17 @@ sys_lib_dlsearch_path_spec='/usr/lib' ;; +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -18541,7 +14879,7 @@ dynamic_linker=no ;; esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no @@ -18550,3461 +14888,3071 @@ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -$as_echo "$hardcode_action_GCJ" >&6; } - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - fix_srcfile_path_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# 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 - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -# This is the shared library runtime path variable. -runpath_var=$runpath_var -# This is the shared library path variable. -shlibpath_var=$shlibpath_var -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# 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_GCJ -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ -# ### END LIBTOOL TAG CONFIG: $tagname -__EOF__ + { $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 "X$hardcode_automatic_CXX" = "Xyes" ; then -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; 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 "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless fi + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + ac_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" - else - tagname="" - fi - ;; - RC) +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; + if test "$enableval" = "yes"; then + CXXFLAGS="$CXXFLAGS -Wall -Werror -DDEBUG" + else + CXXFLAGS="$CXXFLAGS -Wall -Werror -DNDEBUG" + fi +else -# Source file extension for RC test sources. -ac_ext=rc + CXXFLAGS="$CXXFLAGS -Wall -Werror -DNDEBUG" -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' +fi -# 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. +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 no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + ac_success=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5 +$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; } +if ${ax_cv_cxx_compile_cxx11+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Allow CC to be a program name with arguments. -compiler=$CC + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + typedef check> right_angle_brackets; -# 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* + int a; + decltype(a) b; -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c); +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_cxx_compile_cxx11=yes +else + ax_cv_cxx_compile_cxx11=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5 +$as_echo "$ax_cv_cxx_compile_cxx11" >&6; } + if test x$ax_cv_cxx_compile_cxx11 = xyes; then + ac_success=yes + fi + + if test x$ac_success = xno; then + for switch in -std=gnu++11 -std=gnu++0x; do + cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; -lt_cv_prog_compiler_c_o_RC=yes + typedef check> right_angle_brackets; -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - fix_srcfile_path_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done + int a; + decltype(a) b; - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c); -cfgfile="$ofile" +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval $cachevar=yes +else + eval $cachevar=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$ac_save_CXXFLAGS" +fi +eval ac_res=\$$cachevar + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test x\$$cachevar = xyes; then + CXXFLAGS="$CXXFLAGS $switch" + ac_success=yes + break + fi + done + fi - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname + if test x$ac_success = xno; then + for switch in -std=c++11 -std=c++0x; do + cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + typedef check> right_angle_brackets; -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared + int a; + decltype(a) b; -# Whether or not to build static libraries. -build_old_libs=$enable_static + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c); -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval $cachevar=yes +else + eval $cachevar=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$ac_save_CXXFLAGS" +fi +eval ac_res=\$$cachevar + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test x\$$cachevar = xyes; then + CXXFLAGS="$CXXFLAGS $switch" + ac_success=yes + break + fi + done + fi -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + if test x$ac_success = xno; then + as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5 + fi -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os +OTHER_LIBS= -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os -# An echo program that does not interpret backslashes. -echo=$lt_echo -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then : + withval=$with_zlib; with_zlib="$withval" +else + with_zlib="" +fi -# A C compiler. -LTCC=$lt_LTCC -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS +ac_save_CFLAGS="$CFLAGS" +ac_save_LIBS="$LIBS" +CFLAGS="$CFLAGS -I$with_zlib/include" +LIBS="$LIBS -L$with_zlib/lib" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5 +$as_echo_n "checking for inflate in -lz... " >&6; } +if ${ac_cv_lib_z_inflate+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $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 inflate (); +int +main () +{ +return inflate (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_z_inflate=yes +else + ac_cv_lib_z_inflate=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_z_inflate" >&5 +$as_echo "$ac_cv_lib_z_inflate" >&6; } +if test "x$ac_cv_lib_z_inflate" = xyes; then : -# A language-specific compiler. -CC=$lt_compiler_RC -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC +$as_echo "#define HAVE_LIBZ 1" >>confdefs.h -# An ERE matcher. -EGREP=$lt_EGREP + OTHER_LIBS="$OTHER_LIBS -lz" -# The linker used to build libraries. -LD=$lt_LD_RC +fi -# Whether we need hard or soft links. -LN_S=$lt_LN_S -# A BSD-compatible nm program. -NM=$lt_NM -# A symbol stripping program -STRIP=$lt_STRIP +ac_fn_cxx_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes; then : -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD +fi -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" -# Used on cygwin: assembler. -AS="$AS" +CFLAGS="$ac_save_CFLAGS" +LIBS="$ac_save_LIBS" -# The name of the directory that contains temporary libtool files. -objdir=$objdir -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC +# Check whether --with-bzlib was given. +if test "${with_bzlib+set}" = set; then : + withval=$with_bzlib; with_bzlib="$withval" +else + with_bzlib="" +fi -# Object file suffix (normally "o"). -objext="$ac_objext" -# Old archive suffix (normally "a"). -libext="$libext" +ac_save_CFLAGS="$CFLAGS" +ac_save_LIBS="$LIBS" +CFLAGS="$CFLAGS -I$with_bzlib/include" +LIBS="$LIBS -L$with_bzlib/lib" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzDecompressInit in -lbz2" >&5 +$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; } +if ${ac_cv_lib_bz2_BZ2_bzDecompressInit+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbz2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' +/* 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 BZ2_bzDecompressInit (); +int +main () +{ +return BZ2_bzDecompressInit (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_bz2_BZ2_bzDecompressInit=yes +else + ac_cv_lib_bz2_BZ2_bzDecompressInit=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_bz2_BZ2_bzDecompressInit" >&5 +$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; } +if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = xyes; then : -# Executable file suffix (normally ""). -exeext="$exeext" -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode +$as_echo "#define HAVE_LIBBZ2 1" >>confdefs.h -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + OTHER_LIBS="$OTHER_LIBS -lbz2" -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC +fi -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix +ac_fn_cxx_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default" +if test "x$ac_cv_header_bzlib_h" = xyes; then : -# Do we need a version for libraries? -need_version=$need_version +fi -# 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 +CFLAGS="$ac_save_CFLAGS" +LIBS="$ac_save_LIBS" -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC +SYSTEM_LIBS="$SYSTEM_LIBS -lm" +ATLAS_CFLAGS="" +ATLAS_LIB_SUFFIX="-0.6" +ATLAS_LIBS="-lAtlasObjects$ATLAS_LIB_SUFFIX -lAtlasNet$ATLAS_LIB_SUFFIX -lAtlas$ATLAS_LIB_SUFFIX -lAtlasCodecs$ATLAS_LIB_SUFFIX -lAtlasMessage$ATLAS_LIB_SUFFIX -lAtlas$ATLAS_LIB_SUFFIX" -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC -# Library versioning type. -version_type=$version_type -# Format of library name prefix. -libname_spec=$lt_libname_spec -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +ac_config_files="$ac_config_files Makefile Atlas/Makefile Atlas/Codecs/Makefile Atlas/Filters/Makefile Atlas/Funky/Makefile Atlas/Message/Makefile Atlas/Net/Makefile Atlas/Objects/Makefile tests/Makefile tests/Objects/Makefile tests/Codecs/Makefile tools/Makefile benchmark/Makefile tutorial/Makefile atlas-cpp.spec mingw32-atlas-cpp.spec atlascpp-0.6.pc" -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds +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. -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC +_ACEOF -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC +# 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 -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds + (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 -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib +DEFS=-DHAVE_CONFIG_H -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC +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 -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC +LTLIBOBJS=$ac_ltlibobjs -# 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 + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC +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__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 +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 -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC +: "${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. -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds +debug=false +ac_cs_recheck=false +ac_cs_silent=false -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## -# 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 +# 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 -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +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 -# This is the shared library runtime path variable. -runpath_var=$runpath_var +# 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 -# This is the shared library path variable. -shlibpath_var=$shlibpath_var -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath +# 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" -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC +# 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 -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs + ;; +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 -# 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_RC +# 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='+ ' -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# 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_RC +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +# 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 -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC +# 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 -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC +# 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 -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC +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 -# ### END LIBTOOL TAG CONFIG: $tagname +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'` -__EOF__ +# 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 - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" + 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 -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi +else + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -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" - - ;; +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ - *) - { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; + 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" - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" +} # 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 + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L else - rm -f "${ofile}T" - { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } + as_ls_L_option= fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi +as_executable_p=$as_test_x +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' +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 Atlas-C++ $as_me 0.6.3, which was +generated by GNU Autoconf 2.68. Invocation command line was -# Prevent multiple expansion + 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="`echo $ac_config_files`" +config_headers="`echo $ac_config_headers`" +config_commands="`echo $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 ." +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +Atlas-C++ config.status 0.6.3 +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" +Copyright (C) 2010 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 ;; -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:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + esac + shift done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:$LINENO: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +ac_configure_extra_args= - test -n "$CXX" && break - done +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" 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:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +_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 - test -n "$ac_ct_CXX" && break -done +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$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:$LINENO: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } +# 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 -{ $as_echo "$as_me:$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 test "${ac_cv_cxx_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +enable_static='`$ECHO "$enable_static" | $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_shared='`$ECHO "$enable_shared" | $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"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $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_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"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $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_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $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"`' +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $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_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_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' -int -main () +# A function that is used when there is no print builtin or printf. +func_fallback_echo () { -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' } -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no -fi +# Quote evaled strings. +for var in SHELL \ +ECHO \ +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_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +nm_file_list_spec \ +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_flag_spec_ld \ +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_flag_spec_ld_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\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu +# 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 \ +sys_lib_dlsearch_path_spec \ +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\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST fi -{ $as_echo "$as_me:$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:$LINENO: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "Atlas/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Makefile" ;; + "Atlas/Codecs/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Codecs/Makefile" ;; + "Atlas/Filters/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Filters/Makefile" ;; + "Atlas/Funky/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Funky/Makefile" ;; + "Atlas/Message/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Message/Makefile" ;; + "Atlas/Net/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Net/Makefile" ;; + "Atlas/Objects/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Objects/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Objects/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Objects/Makefile" ;; + "tests/Codecs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Codecs/Makefile" ;; + "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; + "benchmark/Makefile") CONFIG_FILES="$CONFIG_FILES benchmark/Makefile" ;; + "tutorial/Makefile") CONFIG_FILES="$CONFIG_FILES tutorial/Makefile" ;; + "atlas-cpp.spec") CONFIG_FILES="$CONFIG_FILES atlas-cpp.spec" ;; + "mingw32-atlas-cpp.spec") CONFIG_FILES="$CONFIG_FILES mingw32-atlas-cpp.spec" ;; + "atlascpp-0.6.pc") CONFIG_FILES="$CONFIG_FILES atlascpp-0.6.pc" ;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# 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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -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. -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag +{ + 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 -{ $as_echo "$as_me:$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 +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi + ac_cs_awk_cr=$ac_cr 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="$CXX" am_compiler_list= +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; 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'. - 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` +{ + 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 - 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 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf +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 +' >$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 + } - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 + print line +} - cd .. - rm -rf conftest.dir +_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 - am_cv_CXX_dependencies_compiler_type=none -fi + 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 -{ $as_echo "$as_me:$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 +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. -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then - enableval=$enable_debug; - if test "$enableval" = "yes"; then - CXXFLAGS="$CXXFLAGS -Wall -Werror -DDEBUG" - else - CXXFLAGS="$CXXFLAGS -Wall -Werror -DNDEBUG" - fi +# 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 -else +# 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. - CXXFLAGS="$CXXFLAGS -Wall -Werror -DNDEBUG" +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 +' >$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" -fi +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 -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 + 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 -OTHER_LIBS= + 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 -# Check whether --with-zlib was given. -if test "${with_zlib+set}" = set; then - withval=$with_zlib; with_zlib="$withval" -else - with_zlib="" -fi +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 -ac_save_CFLAGS="$CFLAGS" -ac_save_LIBS="$LIBS" -CFLAGS="$CFLAGS -I$with_zlib/include" -LIBS="$LIBS -L$with_zlib/lib" + case $ac_mode in + :F) + # + # CONFIG_FILE + # -{ $as_echo "$as_me:$LINENO: checking for inflate in -lz" >&5 -$as_echo_n "checking for inflate in -lz... " >&6; } -if test "${ac_cv_lib_z_inflate+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + 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 confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* 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 inflate (); -int -main () -{ -return inflate (); - ; - return 0; +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 -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;; +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 -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_z_inflate=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_z_inflate=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 -$as_echo "$ac_cv_lib_z_inflate" >&6; } -if test "x$ac_cv_lib_z_inflate" = x""yes; then - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBZ 1 _ACEOF - OTHER_LIBS="$OTHER_LIBS -lz" - -fi +# 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 -for ac_header in zlib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 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"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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) -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" - ac_header_preproc=no -fi + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, +# Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## --------------------------------------- ## -## Report this to alriddoch@googlemail.com ## -## --------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +# The names of the tagged configurations supported by this script. +available_tags="CXX " -fi +# ### BEGIN LIBTOOL CONFIG -done +# Whether or not to build static libraries. +build_old_libs=$enable_static +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision -CFLAGS="$ac_save_CFLAGS" -LIBS="$ac_save_LIBS" +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared +# What type of objects to build. +pic_mode=$pic_mode +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install -# Check whether --with-bzlib was given. -if test "${with_bzlib+set}" = set; then - withval=$with_bzlib; with_bzlib="$withval" -else - with_bzlib="" -fi +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL +# An echo program that protects backslashes. +ECHO=$lt_ECHO -ac_save_CFLAGS="$CFLAGS" -ac_save_LIBS="$LIBS" -CFLAGS="$CFLAGS -I$with_bzlib/include" -LIBS="$LIBS -L$with_bzlib/lib" +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os -{ $as_echo "$as_me:$LINENO: checking for BZ2_bzDecompressInit in -lbz2" >&5 -$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; } -if test "${ac_cv_lib_bz2_BZ2_bzDecompressInit+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbz2 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os -/* 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 BZ2_bzDecompressInit (); -int -main () -{ -return BZ2_bzDecompressInit (); - ; - return 0; -} -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_bz2_BZ2_bzDecompressInit=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# A sed program that does not truncate output. +SED=$lt_SED - ac_cv_lib_bz2_BZ2_bzDecompressInit=no -fi +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5 -$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; } -if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = x""yes; then +# A grep program that handles long lines. +GREP=$lt_GREP +# An ERE matcher. +EGREP=$lt_EGREP -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBBZ2 1 -_ACEOF +# A literal string matcher. +FGREP=$lt_FGREP - OTHER_LIBS="$OTHER_LIBS -lbz2" +# A BSD- or MS-compatible name lister. +NM=$lt_NM -fi +# 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 -for ac_header in bzlib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Executable file suffix (normally ""). +exeext=$exeext - ac_header_compiler=no -fi +# whether the shell understands "unset". +lt_unset=$lt_unset -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP - ac_header_preproc=no -fi +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## --------------------------------------- ## -## Report this to alriddoch@googlemail.com ## -## --------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method -fi +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd -done +# 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 -CFLAGS="$ac_save_CFLAGS" -LIBS="$ac_save_LIBS" +# DLL creation program. +DLLTOOL=$lt_DLLTOOL -SYSTEM_LIBS="$SYSTEM_LIBS -lm" -ATLAS_CFLAGS="" -ATLAS_LIB_SUFFIX="-0.6" -ATLAS_LIBS="-lAtlasObjects$ATLAS_LIB_SUFFIX -lAtlasNet$ATLAS_LIB_SUFFIX -lAtlas$ATLAS_LIB_SUFFIX -lAtlasCodecs$ATLAS_LIB_SUFFIX -lAtlasMessage$ATLAS_LIB_SUFFIX -lAtlas$ATLAS_LIB_SUFFIX" +# 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 -ac_config_files="$ac_config_files Makefile Atlas/Makefile Atlas/Codecs/Makefile Atlas/Filters/Makefile Atlas/Funky/Makefile Atlas/Message/Makefile Atlas/Net/Makefile Atlas/Objects/Makefile tests/Makefile tests/Objects/Makefile tools/Makefile benchmark/Makefile tutorial/Makefile atlas-cpp.spec mingw32-atlas-cpp.spec atlascpp-0.6.pc" +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS -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. +# 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 -_ACEOF +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# 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:$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= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done +# 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 - (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 - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache +# 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 -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec -DEFS=-DHAVE_CONFIG_H +# The root where to search for dependent libraries,and in which our libraries should be installed. +lt_sysroot=$lt_sysroot -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_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. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs +# The name of the directory that contains temporary libtool files. +objdir=$objdir -LTLIBOBJS=$ac_ltlibobjs +# 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 -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL -: ${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:$LINENO: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_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. +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO -# 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 +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL -fi +# 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 -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink -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 -if (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 +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix -# 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 +# Do we need a version for libraries? +need_version=$need_version -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi +# Library versioning type. +version_type=$version_type +# Shared library runtime path variable. +runpath_var=$runpath_var -# 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" +# Shared library path variable. +shlibpath_var=$shlibpath_var -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath - ;; -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); exit 1; } -fi +# Format of library name prefix. +libname_spec=$lt_libname_spec -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' +# 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 -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi +# 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 -# Name of the executable. -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'` +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds -# CDPATH. -$as_unset CDPATH +# 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 - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :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 - { (exit 1); exit 1; }; } +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - # 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 -} +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib -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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -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=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi +# The linker used to build libraries. +LD=$lt_LD -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds -# 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'" +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# A language specific compiler. +CC=$lt_compiler +# Is the compiler the GNU compiler? +with_gcc=$GCC -exec 6>&1 +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag -# 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 Atlas-C++ $as_me 0.6.2, which was -generated by GNU Autoconf 2.63. Invocation command line was +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static -_ACEOF +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac +# 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 -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" +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec -_ACEOF +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds -Usage: $0 [OPTION]... [FILE]... +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -h, --help print this help, then exit - -V, --version print version number and configuration settings, 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 +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds -Configuration files: -$config_files +# 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 -Configuration headers: -$config_headers +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld -Configuration commands: -$config_commands +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag -Report bugs to ." +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -Atlas-C++ config.status 0.6.2 -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +# 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 -Copyright (C) 2008 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator -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=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct - 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 ;; - --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"` ;; - esac - CONFIG_FILES="$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 - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --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=: ;; +# 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 - # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds - esac - shift -done +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms -ac_configure_extra_args= +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds -_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 +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds -_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 +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action -_ACEOF +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# 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 -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "Atlas/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Makefile" ;; - "Atlas/Codecs/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Codecs/Makefile" ;; - "Atlas/Filters/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Filters/Makefile" ;; - "Atlas/Funky/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Funky/Makefile" ;; - "Atlas/Message/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Message/Makefile" ;; - "Atlas/Net/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Net/Makefile" ;; - "Atlas/Objects/Makefile") CONFIG_FILES="$CONFIG_FILES Atlas/Objects/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/Objects/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Objects/Makefile" ;; - "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; - "benchmark/Makefile") CONFIG_FILES="$CONFIG_FILES benchmark/Makefile" ;; - "tutorial/Makefile") CONFIG_FILES="$CONFIG_FILES tutorial/Makefile" ;; - "atlas-cpp.spec") CONFIG_FILES="$CONFIG_FILES atlas-cpp.spec" ;; - "mingw32-atlas-cpp.spec") CONFIG_FILES="$CONFIG_FILES mingw32-atlas-cpp.spec" ;; - "atlascpp-0.6.pc") CONFIG_FILES="$CONFIG_FILES atlascpp-0.6.pc" ;; +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done +# ### END LIBTOOL CONFIG +_LT_EOF -# 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 + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES fi +_LT_EOF + ;; + esac -# 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= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +ltmain="$ac_aux_dir/ltmain.sh" -# 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 + # 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) -ac_cr=' ' -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /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 + if test x"$xsi_shell" = xyes; then + sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ +func_dirname ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_basename ()$/,/^} # func_basename /c\ +func_basename ()\ +{\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ +func_dirname_and_basename ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ +func_stripname ()\ +{\ +\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ +\ # positional parameters, so assign one to ordinary parameter first.\ +\ func_stripname_result=${3}\ +\ func_stripname_result=${func_stripname_result#"${1}"}\ +\ func_stripname_result=${func_stripname_result%"${2}"}\ +} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ +func_split_long_opt ()\ +{\ +\ func_split_long_opt_name=${1%%=*}\ +\ func_split_long_opt_arg=${1#*=}\ +} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ +func_split_short_opt ()\ +{\ +\ func_split_short_opt_arg=${1#??}\ +\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ +} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ +func_lo2o ()\ +{\ +\ case ${1} in\ +\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ +\ *) func_lo2o_result=${1} ;;\ +\ esac\ +} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_xform ()$/,/^} # func_xform /c\ +func_xform ()\ +{\ + func_xform_result=${1%.*}.lo\ +} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_arith ()$/,/^} # func_arith /c\ +func_arith ()\ +{\ + func_arith_result=$(( $* ))\ +} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_len ()$/,/^} # func_len /c\ +func_len ()\ +{\ + func_len_result=${#1}\ +} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + +fi + +if test x"$lt_shell_append" = xyes; then + sed -e '/^func_append ()$/,/^} # func_append /c\ +func_append ()\ +{\ + eval "${1}+=\\${2}"\ +} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ +func_append_quoted ()\ +{\ +\ func_quote_for_eval "${2}"\ +\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ +} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 +$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - 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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh + cat <<_LT_EOF >> "$ofile" -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$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 -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" +# ### BEGIN LIBTOOL TAG CONFIG: CXX -} -{ - 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 - } +# The linker used to build libraries. +LD=$lt_LD_CXX - print line -} +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX -_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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } -_ACEOF +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi +# 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 -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX -# 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 >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX -# 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. +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX -# 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_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX -# 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. +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX -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 -' >$CONFIG_STATUS || ac_write_fail=1 +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX -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_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } -fi # test -n "$CONFIG_HEADERS" +# 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 -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_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift +# 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 - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" - done +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX - # 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:$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 +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; - esac - ;; - esac +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX - 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" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - 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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. +# 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 -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 +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX -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 +# 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 - case $ac_mode in - :F) - # - # CONFIG_FILE - # +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX - 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 +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX -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= +# 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 -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:$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 +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX -# 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 "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$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;} +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } - 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 - ;; +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac +# 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 - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # 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"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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 - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - 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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done ;; esac done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -22025,10 +17973,10 @@ 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 || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $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 -Nru atlas-cpp-0.6.2/configure.ac atlas-cpp-0.6.3/configure.ac --- atlas-cpp-0.6.2/configure.ac 2009-11-13 15:23:38.000000000 +0000 +++ atlas-cpp-0.6.3/configure.ac 2013-08-23 21:13:58.000000000 +0000 @@ -1,9 +1,11 @@ dnl Initialise autoconf -AC_INIT([Atlas-C++],[0.6.2],[alriddoch@googlemail.com],[Atlas-C++]) +AC_INIT([Atlas-C++],[0.6.3],[erik@ogenvik.org],[Atlas-C++]) AC_CONFIG_SRCDIR([Atlas/Bridge.cpp]) AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([m4]) + dnl Detect the canonical host environment AC_CANONICAL_HOST @@ -14,7 +16,7 @@ dnl Initialise automake -ATLAS_CURRENT=1 +ATLAS_CURRENT=2 INTERFACE_VERSION="-version-info $ATLAS_CURRENT:0:0" AC_SUBST(ATLAS_CURRENT) @@ -44,6 +46,8 @@ AC_LANG(C++) +AX_CXX_COMPILE_STDCXX_11 + OTHER_LIBS= dnl Test for gzip compression library @@ -64,7 +68,7 @@ OTHER_LIBS="$OTHER_LIBS -lz" ]) -AC_CHECK_HEADERS(zlib.h) +AC_CHECK_HEADER(zlib.h) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" @@ -87,7 +91,7 @@ OTHER_LIBS="$OTHER_LIBS -lbz2" ]) -AC_CHECK_HEADERS(bzlib.h) +AC_CHECK_HEADER(bzlib.h) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" @@ -116,6 +120,7 @@ Atlas/Objects/Makefile tests/Makefile tests/Objects/Makefile + tests/Codecs/Makefile tools/Makefile benchmark/Makefile tutorial/Makefile diff -Nru atlas-cpp-0.6.2/debian/changelog atlas-cpp-0.6.3/debian/changelog --- atlas-cpp-0.6.2/debian/changelog 2015-08-18 20:25:43.000000000 +0000 +++ atlas-cpp-0.6.3/debian/changelog 2016-02-10 15:58:26.000000000 +0000 @@ -1,3 +1,36 @@ +atlas-cpp (0.6.3-2ubuntu1) xenial; urgency=medium + + * Mark additional symbols as optional, missing when built with -O3. + + -- Matthias Klose Wed, 10 Feb 2016 16:57:49 +0100 + +atlas-cpp (0.6.3-2) unstable; urgency=medium + + * Fix symbols file for multiple architectures (Closes: #800927) + * Declare Breaks+Replaces (Closes: #800925) + - Between old -dev and new -tools binary packages + + -- Olek Wojnar Sun, 04 Oct 2015 21:14:25 -0500 + +atlas-cpp (0.6.3-1) unstable; urgency=medium + + * New upstream version + * Incorporate and acknowledge NMU, thanks Tobias Frost + * Add myself as new uploader + - Remove Stephen Webb per his request + - Thanks for all the contributions, Stephen! + * Update lintian overrides + * d/copyright: update information + * d/control: remove pre-dependency on dpkg + * d/rules: enable parallel build + * d/rules: remove builddeb override since xz is now default + * d/watch: update file extensions + * d/control: tweaks and update standards to 3.9.6 (no changes) + * Bump SO-name + * Split tools package from dev package for Multi-Arch sanity + + -- Olek Wojnar Sun, 27 Sep 2015 01:19:00 -0500 + atlas-cpp (0.6.2-5) unstable; urgency=medium * Team upload. diff -Nru atlas-cpp-0.6.2/debian/control atlas-cpp-0.6.3/debian/control --- atlas-cpp-0.6.2/debian/control 2015-08-18 20:25:25.000000000 +0000 +++ atlas-cpp-0.6.3/debian/control 2015-10-05 05:55:27.000000000 +0000 @@ -1,6 +1,6 @@ Source: atlas-cpp Maintainer: Debian Games Team -Uploaders: Stephen M. Webb +Uploaders: Olek Wojnar Section: libs Priority: optional Build-Depends: debhelper (>= 9), @@ -8,33 +8,28 @@ libbz2-dev, zlib1g-dev Build-Depends-Indep: doxygen -Standards-Version: 3.9.4 +Standards-Version: 3.9.6 Homepage: http://www.worldforge.org/ Vcs-Git: git://anonscm.debian.org/pkg-games/atlas-cpp.git -Vcs-Browser: http://anonscm.debian.org/git/pkg-games/atlas-cpp.git +Vcs-Browser: http://anonscm.debian.org/cgit/pkg-games/atlas-cpp.git -Package: libatlas-cpp-0.6-1v5 +Package: libatlas-cpp-0.6-2 Architecture: any Multi-Arch: same -Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends} +Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} -Conflicts: libatlas-cpp-0.6-1 -Replaces: libatlas-cpp-0.6-1 Description: World Forge wire protocol library - runtime libs This library implements the Atlas protocol, for use in client-server game applications. It can be used in either clients or servers. . This is the runtime component of the Atlas-C++ toolkit. -Package: libatlas-cpp-0.6-1v5-dbg +Package: libatlas-cpp-0.6-2-dbg Architecture: any Multi-Arch: same Section: debug Priority: extra -Pre-Depends: dpkg (>= 1.15.6~) -Depends: libatlas-cpp-0.6-1v5 (= ${binary:Version}), ${misc:Depends} -Conflicts: libatlas-cpp-0.6-1-dbg -Replaces: libatlas-cpp-0.6-1-dbg +Depends: libatlas-cpp-0.6-2 (= ${binary:Version}), ${misc:Depends} Description: World Forge wire protocol library - debugging libs This library implements the Atlas protocol, for use in client-server game applications. It can be used in either clients or servers. @@ -45,7 +40,6 @@ Architecture: all Multi-Arch: foreign Section: doc -Pre-Depends: dpkg (>= 1.15.6~) Depends: ${misc:Depends} Suggests: libatlas-cpp-0.6-dev (>= ${source:Version}) Description: World Forge wire protocol library - documentation @@ -54,15 +48,35 @@ . This is the API documentation of the Atlas-C++ toolkit. +Package: libatlas-cpp-0.6-tools +Architecture: any +Multi-Arch: foreign +Section: games +Depends: libatlas-cpp-0.6-2 (= ${binary:Version}), + pkg-config, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libatlas-cpp-0.6-2-dbg (= ${binary:Version}), + libatlas-cpp-0.6-dev (= ${binary:Version}), + libatlas-cpp-doc (>= ${source:Version}) +Breaks: libatlas-cpp-0.6-dev (<< 0.6.3) +Replaces: libatlas-cpp-0.6-dev (<< 0.6.3) +Description: World Forge wire protocol library - tools + This library implements the Atlas protocol, for use in client-server + game applications. It can be used in either clients or servers. + . + This contains the tool that converts Atlas data files between formats. + Package: libatlas-cpp-0.6-dev Architecture: any +Multi-Arch: same Section: libdevel -Pre-Depends: dpkg (>= 1.15.6~) -Depends: libatlas-cpp-0.6-1v5 (= ${binary:Version}), +Depends: libatlas-cpp-0.6-2 (= ${binary:Version}), + libatlas-cpp-0.6-tools (= ${binary:Version}), pkg-config, ${misc:Depends}, ${shlibs:Depends} -Suggests: libatlas-cpp-0.6-1v5-dbg (= ${binary:Version}), +Suggests: libatlas-cpp-0.6-2-dbg (= ${binary:Version}), libatlas-cpp-doc (>= ${source:Version}) Conflicts: libatlas-cpp-0.6-0-dev Replaces: libatlas-cpp-0.6-0-dev diff -Nru atlas-cpp-0.6.2/debian/copyright atlas-cpp-0.6.3/debian/copyright --- atlas-cpp-0.6.2/debian/copyright 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/copyright 2015-10-05 05:55:08.000000000 +0000 @@ -14,7 +14,7 @@ modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - , + . This library 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 @@ -27,19 +27,30 @@ On Debian systems, the full text of the GNU Lesser General Public License version 2.1 can be found in the file `/usr/share/common-licenses/LGPL-2.1'. -Files: tutorial/examples/* +Files: tutorial/example/* Copyright: 2000 Stefanus Du Toit License: GFDL-NIV-1.0+ This file is covered by the GNU Free Documentation License. . - On Debian systems, the full text of the GNU Lesser General Public License + On Debian systems, the full text of the GNU Free Documentation License can be found in the file `/usr/share/common-licenses/GFDL'. Comment: No invariant sections, no front cover and no back cover texts are given. +Files: ltmain.sh +Copyright: 1996-2001, 2003-2010 Free Software Foundation, Inc. +License: GPL-2+ + +Files: tests/Codecs/codecs.cpp +Copyright: 2013 Erik Ogenvik +License: GPL-2+ + Files: debian/* Copyright: 2002 Michael Koch 2012 Stephen M. Webb + 2014-2015 Olek Wojnar +License: GPL-2+ + License: GPL-2+ 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 diff -Nru atlas-cpp-0.6.2/debian/docs atlas-cpp-0.6.3/debian/docs --- atlas-cpp-0.6.2/debian/docs 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/docs 2015-09-28 06:02:25.000000000 +0000 @@ -1,5 +1,3 @@ AUTHORS NEWS README -ROADMAP -TODO diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.install atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.install --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.install 2015-08-18 20:20:54.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/lib/*/lib*-0.6.so.1 -usr/lib/*/lib*-0.6.so.1.* diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.lintian-overrides atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.lintian-overrides --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.lintian-overrides 2015-08-18 20:21:46.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -# upstream provides a slew of smaller shared libraries -libatlas-cpp-0.6-1v5: package-name-doesnt-match-sonames diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.symbols atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.symbols --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-1v5.symbols 2015-08-18 20:20:54.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-1v5.symbols 1970-01-01 00:00:00.000000000 +0000 @@ -1,1240 +0,0 @@ -libAtlas-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - (c++)"Atlas::Codec::~Codec()@Base" 0.6.2 - (c++)"Atlas::Bridge::~Bridge()@Base" 0.6.2 - (c++)"Atlas::Filter::Filter(Atlas::Filter*)@Base" 0.6.2 - (c++)"Atlas::Filter::~Filter()@Base" 0.6.2 - (c++)"Atlas::Exception::~Exception()@Base" 0.6.2 - _ZN5Atlas9Formatter10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas9Formatter10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas9Formatter11listIntItemEl@Base 0.6.2 - _ZN5Atlas9Formatter11listMapItemEv@Base 0.6.2 - _ZN5Atlas9Formatter11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas9Formatter11streamBeginEv@Base 0.6.2 - _ZN5Atlas9Formatter12listListItemEv@Base 0.6.2 - _ZN5Atlas9Formatter12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas9Formatter13listFloatItemEd@Base 0.6.2 - _ZN5Atlas9Formatter13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_@Base 0.6.2 - _ZN5Atlas9Formatter13streamMessageEv@Base 0.6.2 - _ZN5Atlas9Formatter14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas9Formatter6mapEndEv@Base 0.6.2 - _ZN5Atlas9Formatter7listEndEv@Base 0.6.2 - _ZN5Atlas9Formatter9streamEndEv@Base 0.6.2 - _ZN5Atlas9FormatterC1ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas9FormatterC2ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas9FormatterD0Ev@Base 0.6.2 - _ZN5Atlas9FormatterD1Ev@Base 0.6.2 - _ZN5Atlas9FormatterD2Ev@Base 0.6.2 - _ZN5Atlas9NegotiateD0Ev@Base 0.6.2 - _ZN5Atlas9NegotiateD1Ev@Base 0.6.2 - _ZN5Atlas9NegotiateD2Ev@Base 0.6.2 - _ZN5Atlas9filterbuf4syncEv@Base 0.6.2 - _ZN5Atlas9filterbuf8overflowEi@Base 0.6.2 - _ZN5Atlas9filterbuf9underflowEv@Base 0.6.2 - _ZN5Atlas9filterbufD0Ev@Base 0.6.2 - _ZN5Atlas9filterbufD1Ev@Base 0.6.2 - _ZN5Atlas9filterbufD2Ev@Base 0.6.2 - _ZNK5Atlas9Exception4whatEv@Base 0.6.2 - _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 - _ZTIN5Atlas5CodecE@Base 0.6.2 - _ZTIN5Atlas6BridgeE@Base 0.6.2 - _ZTIN5Atlas6FilterE@Base 0.6.2 - _ZTIN5Atlas9ExceptionE@Base 0.6.2 - _ZTIN5Atlas9FormatterE@Base 0.6.2 - _ZTIN5Atlas9NegotiateE@Base 0.6.2 - _ZTIN5Atlas9filterbufE@Base 0.6.2 - _ZTSN5Atlas5CodecE@Base 0.6.2 - _ZTSN5Atlas6BridgeE@Base 0.6.2 - _ZTSN5Atlas6FilterE@Base 0.6.2 - _ZTSN5Atlas9ExceptionE@Base 0.6.2 - _ZTSN5Atlas9FormatterE@Base 0.6.2 - _ZTSN5Atlas9NegotiateE@Base 0.6.2 - _ZTSN5Atlas9filterbufE@Base 0.6.2 - _ZTVN5Atlas5CodecE@Base 0.6.2 - _ZTVN5Atlas6BridgeE@Base 0.6.2 - _ZTVN5Atlas6FilterE@Base 0.6.2 - _ZTVN5Atlas9ExceptionE@Base 0.6.2 - _ZTVN5Atlas9FormatterE@Base 0.6.2 - _ZTVN5Atlas9NegotiateE@Base 0.6.2 - _ZTVN5Atlas9filterbufE@Base 0.6.2 -libAtlasCodecs-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - _ZN5Atlas6Codecs19hexDecodeWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_@Base 0.6.2 - _ZN5Atlas6Codecs19hexEncodeWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_@Base 0.6.2 - _ZN5Atlas6Codecs3XML10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas6Codecs3XML10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs3XML11listIntItemEl@Base 0.6.2 - _ZN5Atlas6Codecs3XML11listMapItemEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs3XML11streamBeginEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML12listListItemEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas6Codecs3XML13listFloatItemEd@Base 0.6.2 - _ZN5Atlas6Codecs3XML13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas6Codecs3XML13streamMessageEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs3XML4pollEb@Base 0.6.2 - _ZN5Atlas6Codecs3XML6mapEndEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML7listEndEv@Base 0.6.2 - _ZN5Atlas6Codecs3XML9streamEndEv@Base 0.6.2 - _ZN5Atlas6Codecs3XMLC1ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs3XMLC2ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs3XMLD0Ev@Base 0.6.2 - _ZN5Atlas6Codecs3XMLD1Ev@Base 0.6.2 - _ZN5Atlas6Codecs3XMLD2Ev@Base 0.6.2 - _ZN5Atlas6Codecs4Bach10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas6Codecs4Bach10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs4Bach11listIntItemEl@Base 0.6.2 - _ZN5Atlas6Codecs4Bach11listMapItemEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs4Bach11streamBeginEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach12listListItemEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas6Codecs4Bach12writeIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas6Codecs4Bach13listFloatItemEd@Base 0.6.2 - _ZN5Atlas6Codecs4Bach13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas6Codecs4Bach13streamMessageEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs4Bach14writeFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas6Codecs4Bach15writeStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas6Codecs4Bach4pollEb@Base 0.6.2 - _ZN5Atlas6Codecs4Bach6mapEndEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach7listEndEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach9streamEndEv@Base 0.6.2 - _ZN5Atlas6Codecs4Bach9writeLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb@Base 0.6.2 - _ZN5Atlas6Codecs4BachC1ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs4BachC2ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs4BachD0Ev@Base 0.6.2 - _ZN5Atlas6Codecs4BachD1Ev@Base 0.6.2 - _ZN5Atlas6Codecs4BachD2Ev@Base 0.6.2 - _ZN5Atlas6Codecs6Packed10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas6Codecs6Packed10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs6Packed11listIntItemEl@Base 0.6.2 - _ZN5Atlas6Codecs6Packed11listMapItemEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs6Packed11streamBeginEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed12listListItemEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas6Codecs6Packed13listFloatItemEd@Base 0.6.2 - _ZN5Atlas6Codecs6Packed13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas6Codecs6Packed13streamMessageEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas6Codecs6Packed4pollEb@Base 0.6.2 - _ZN5Atlas6Codecs6Packed6mapEndEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed7listEndEv@Base 0.6.2 - _ZN5Atlas6Codecs6Packed9streamEndEv@Base 0.6.2 - _ZN5Atlas6Codecs6PackedC1ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs6PackedC2ERSdRNS_6BridgeE@Base 0.6.2 - _ZN5Atlas6Codecs6PackedD0Ev@Base 0.6.2 - _ZN5Atlas6Codecs6PackedD1Ev@Base 0.6.2 - _ZN5Atlas6Codecs6PackedD2Ev@Base 0.6.2 - _ZNK5Atlas6Codecs4Bach10stringmodeEv@Base 0.6.2 - _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 - (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 - (regex)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EED2Ev@Base 0.6.2 - (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EED2Ev@Base 0.6.2 - (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EED2Ev@Base 0.6.2 - (optional=inline)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 - (optional=inline)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 - (regex|optional=inline)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE17_M_reallocate_mapE[mj]b@Base 0.6.2 - (regex|optional=inline)_ZNSt5dequeIN5Atlas6Codecs4Bach5StateESaIS3_EE17_M_reallocate_mapE[mj]b@Base 0.6.2 - (regex|optional=inline)_ZNSt5dequeIN5Atlas6Codecs6Packed5StateESaIS3_EE17_M_reallocate_mapE[mj]b@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE15_M_pop_back_auxEv@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE16_M_push_back_auxERKS3_@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs4Bach5StateESaIS3_EE15_M_pop_back_auxEv@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs4Bach5StateESaIS3_EE16_M_push_back_auxERKS3_@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs6Packed5StateESaIS3_EE15_M_pop_back_auxEv@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas6Codecs6Packed5StateESaIS3_EE16_M_push_back_auxERKS3_@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxERKS5_@Base 0.6.2 - (regex|optional=inline)_ZNSt5dequeISsSaISsEE17_M_reallocate_mapE[mj]b@Base 0.6.2 - (optional=inline)_ZNSt5dequeISsSaISsEE19_M_destroy_data_auxESt15_Deque_iteratorISsRSsPSsES5_@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 - (optional=inline)_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPKcSsEEcET_S5_S5_RKT0_St26random_access_iterator_tag@Base 0.6.2 - (optional=inline)_ZSt8_DestroyISt15_Deque_iteratorISsRSsPSsEEvT_S4_@Base 0.6.2 - _ZTIN5Atlas6Codecs3XMLE@Base 0.6.2 - _ZTIN5Atlas6Codecs4BachE@Base 0.6.2 - _ZTIN5Atlas6Codecs6PackedE@Base 0.6.2 - _ZTSN5Atlas6Codecs3XMLE@Base 0.6.2 - _ZTSN5Atlas6Codecs4BachE@Base 0.6.2 - _ZTSN5Atlas6Codecs6PackedE@Base 0.6.2 - _ZTVN5Atlas6Codecs3XMLE@Base 0.6.2 - _ZTVN5Atlas6Codecs4BachE@Base 0.6.2 - _ZTVN5Atlas6Codecs6PackedE@Base 0.6.2 -libAtlasFilters-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - _ZN5Atlas7Filters4Gzip3endEv@Base 0.6.2 - _ZN5Atlas7Filters4Gzip5beginEv@Base 0.6.2 - _ZN5Atlas7Filters4Gzip6decodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Filters4Gzip6encodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Filters4GzipD0Ev@Base 0.6.2 - _ZN5Atlas7Filters4GzipD1Ev@Base 0.6.2 - _ZN5Atlas7Filters4GzipD2Ev@Base 0.6.2 - _ZN5Atlas7Filters5Bzip23endEv@Base 0.6.2 - _ZN5Atlas7Filters5Bzip25beginEv@Base 0.6.2 - _ZN5Atlas7Filters5Bzip26decodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Filters5Bzip26encodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Filters5Bzip2D0Ev@Base 0.6.2 - _ZN5Atlas7Filters5Bzip2D1Ev@Base 0.6.2 - _ZN5Atlas7Filters5Bzip2D2Ev@Base 0.6.2 - _ZTIN5Atlas7Filters4GzipE@Base 0.6.2 - _ZTIN5Atlas7Filters5Bzip2E@Base 0.6.2 - _ZTSN5Atlas7Filters4GzipE@Base 0.6.2 - _ZTSN5Atlas7Filters5Bzip2E@Base 0.6.2 - _ZTVN5Atlas7Filters4GzipE@Base 0.6.2 - _ZTVN5Atlas7Filters5Bzip2E@Base 0.6.2 -libAtlasFunky-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - _ZN5Atlas5Funky6Tokens10begin_listE@Base 0.6.2 - _ZN5Atlas5Funky6Tokens7end_mapE@Base 0.6.2 - _ZN5Atlas5Funky6Tokens8end_listE@Base 0.6.2 - _ZN5Atlas5Funky6Tokens9begin_mapE@Base 0.6.2 -libAtlasMessage-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - (c++|optional)"Atlas::Message::Element::~Element()@Base" 0.6.2 - _ZN5Atlas7Message11DecoderBase10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase11listIntItemEl@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase11listMapItemEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase11streamBeginEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase12listListItemEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase13listFloatItemEd@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase13streamMessageEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase6mapEndEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase7listEndEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBase9streamEndEv@Base 0.6.2 - _ZN5Atlas7Message11DecoderBaseC1Ev@Base 0.6.2 - _ZN5Atlas7Message11DecoderBaseC2Ev@Base 0.6.2 - _ZN5Atlas7Message11DecoderBaseD0Ev@Base 0.6.2 - _ZN5Atlas7Message11DecoderBaseD1Ev@Base 0.6.2 - _ZN5Atlas7Message11DecoderBaseD2Ev@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoderC1Ev@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoderC2Ev@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoderD0Ev@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoderD1Ev@Base 0.6.2 - _ZN5Atlas7Message13QueuedDecoderD2Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionC1Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionC2Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD0Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD1Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD2Ev@Base 0.6.2 - _ZN5Atlas7Message7Element5clearENS1_4TypeE@Base 0.6.2 - _ZN5Atlas7Message7Element8typeNameENS1_4TypeE@Base 0.6.2 - _ZN5Atlas7Message7ElementC1ERKS1_@Base 0.6.2 - _ZN5Atlas7Message7ElementC2ERKS1_@Base 0.6.2 - _ZN5Atlas7Message7ElementaSERKS1_@Base 0.6.2 - _ZN5Atlas7Message7Encoder14mapElementItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_7ElementE@Base 0.6.2 - _ZN5Atlas7Message7Encoder15listElementItemERKNS0_7ElementE@Base 0.6.2 - _ZN5Atlas7Message7Encoder17mapElementMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt3mapIS7_NS0_7ElementESt4lessIS7_ESaISt4pairIS8_SB_EEE@Base 0.6.2 - _ZN5Atlas7Message7Encoder18listElementMapItemERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 - _ZN5Atlas7Message7Encoder18mapElementListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorINS0_7ElementESaISB_EE@Base 0.6.2 - _ZN5Atlas7Message7Encoder19listElementListItemERKSt6vectorINS0_7ElementESaIS3_EE@Base 0.6.2 - _ZN5Atlas7Message7Encoder20streamMessageElementERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 - _ZN5Atlas7Message7EncoderC1ERNS_6BridgeE@Base 0.6.2 - _ZN5Atlas7Message7EncoderC2ERNS_6BridgeE@Base 0.6.2 - _ZN5Atlas7Message7EncoderD1Ev@Base 0.6.2 - _ZN5Atlas7Message7EncoderD2Ev@Base 0.6.2 - _ZNK5Atlas7Message7ElementeqERKS1_@Base 0.6.2 - _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 - (regex)_ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EED2Ev@Base 0.6.2 - (regex)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 - (optional=inline)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 - (optional=inline)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 - (regex)_ZNSt11_Deque_baseISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED2Ev@Base 0.6.2 - (regex)_ZNSt11_Deque_baseISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 - _ZNSt11_Deque_baseISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED1Ev@Base 0.6.2 - _ZNSt11_Deque_baseISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED2Ev@Base 0.6.2 - _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementEED1Ev@Base 0.6.2 - _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementEED2Ev@Base 0.6.2 - (optional=inline)_ZNSt5dequeIN5Atlas7Message11DecoderBase5StateESaIS3_EE16_M_push_back_auxERKS3_@Base 0.6.2 - (optional=inline)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_pop_back_auxEv@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxERKS5_@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 - _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 - _ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EE16_M_push_back_auxERKSG_@Base 0.6.2 - _ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED1Ev@Base 0.6.2 - _ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED2Ev@Base 0.6.2 - _ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EE16_M_push_back_auxERKS5_@Base 0.6.2 - _ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED1Ev@Base 0.6.2 - _ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED2Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED1Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED2Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EEaSERKS4_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.6.2 - _ZTIN5Atlas7Message11DecoderBaseE@Base 0.6.2 - _ZTIN5Atlas7Message13QueuedDecoderE@Base 0.6.2 - _ZTIN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 - _ZTSN5Atlas7Message11DecoderBaseE@Base 0.6.2 - _ZTSN5Atlas7Message13QueuedDecoderE@Base 0.6.2 - _ZTSN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 - _ZTVN5Atlas7Message11DecoderBaseE@Base 0.6.2 - _ZTVN5Atlas7Message13QueuedDecoderE@Base 0.6.2 - _ZTVN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 -libAtlasNet-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - _ZN5Atlas3Net10LoopBridge10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge11listIntItemEl@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge11listMapItemEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge11streamBeginEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge12listListItemEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge13listFloatItemEd@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge13streamMessageEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge6mapEndEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge7listEndEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridge9streamEndEv@Base 0.6.2 - _ZN5Atlas3Net10LoopBridgeD0Ev@Base 0.6.2 - _ZN5Atlas3Net10LoopBridgeD1Ev@Base 0.6.2 - _ZN5Atlas3Net10LoopBridgeD2Ev@Base 0.6.2 - _ZN5Atlas3Net12StreamAccept19processClientCodecsEv@Base 0.6.2 - _ZN5Atlas3Net12StreamAccept20processClientFiltersEv@Base 0.6.2 - _ZN5Atlas3Net12StreamAccept4pollEb@Base 0.6.2 - _ZN5Atlas3Net12StreamAccept8getCodecERNS_6BridgeE@Base 0.6.2 - _ZN5Atlas3Net12StreamAccept8getStateEv@Base 0.6.2 - _ZN5Atlas3Net12StreamAcceptC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 - _ZN5Atlas3Net12StreamAcceptC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 - _ZN5Atlas3Net12StreamAcceptD0Ev@Base 0.6.2 - _ZN5Atlas3Net12StreamAcceptD1Ev@Base 0.6.2 - _ZN5Atlas3Net12StreamAcceptD2Ev@Base 0.6.2 - _ZN5Atlas3Net13StreamConnect19processServerCodecsEv@Base 0.6.2 - _ZN5Atlas3Net13StreamConnect20processServerFiltersEv@Base 0.6.2 - _ZN5Atlas3Net13StreamConnect4pollEb@Base 0.6.2 - _ZN5Atlas3Net13StreamConnect8getCodecERNS_6BridgeE@Base 0.6.2 - _ZN5Atlas3Net13StreamConnect8getStateEv@Base 0.6.2 - _ZN5Atlas3Net13StreamConnectC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 - _ZN5Atlas3Net13StreamConnectC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 - _ZN5Atlas3Net13StreamConnectD0Ev@Base 0.6.2 - _ZN5Atlas3Net13StreamConnectD1Ev@Base 0.6.2 - _ZN5Atlas3Net13StreamConnectD2Ev@Base 0.6.2 - _ZN5Atlas3Net15NegotiateHelper3getERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_@Base 0.6.2 - _ZN5Atlas3Net15NegotiateHelper3putERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_@Base 0.6.2 - _ZN5Atlas3Net15NegotiateHelperC1ERNSt7__cxx114listINS2_12basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEE@Base 0.6.2 - _ZN5Atlas3Net15NegotiateHelperC2ERNSt7__cxx114listINS2_12basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEE@Base 0.6.2 - _ZN5Atlas3Net8loopbackEPNS_6BridgeES2_RS2_S3_@Base 0.6.2 - _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 - (regex|optional=inline)_ZNSt4listISsSaISsEED[12]Ev@Base 0.6.2 - (optional=inline)_ZNSt4listISsSaISsEED2Ev@Base 0.6.2 - (optional=inline)_ZNSt7__cxx1110_List_baseINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_clearEv@Base 0.6.2 - _ZTIN5Atlas3Net10LoopBridgeE@Base 0.6.2 - _ZTIN5Atlas3Net12StreamAcceptE@Base 0.6.2 - _ZTIN5Atlas3Net13StreamConnectE@Base 0.6.2 - _ZTSN5Atlas3Net10LoopBridgeE@Base 0.6.2 - _ZTSN5Atlas3Net12StreamAcceptE@Base 0.6.2 - _ZTSN5Atlas3Net13StreamConnectE@Base 0.6.2 - _ZTVN5Atlas3Net10LoopBridgeE@Base 0.6.2 - _ZTVN5Atlas3Net12StreamAcceptE@Base 0.6.2 - _ZTVN5Atlas3Net13StreamConnectE@Base 0.6.2 -libAtlasObjects-0.6.so.1 libatlas-cpp-0.6-1v5 #MINVER# - (c++|optional)Atlas::Message::Element::~Element()@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionC1Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionC2Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD0Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD1Ev@Base 0.6.2 - _ZN5Atlas7Message18WrongTypeExceptionD2Ev@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher13objectArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher14dispatchObjectERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher16objectGetArrivedERKNS0_8SmartPtrINS0_9Operation7GetDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher16objectSetArrivedERKNS0_8SmartPtrINS0_9Operation7SetDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher16objectUseArrivedERKNS0_8SmartPtrINS0_9Operation7UseDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectFeelArrivedERKNS0_8SmartPtrINS0_9Operation8FeelDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectGameArrivedERKNS0_8SmartPtrINS0_6Entity8GameDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectInfoArrivedERKNS0_8SmartPtrINS0_9Operation8InfoDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectLookArrivedERKNS0_8SmartPtrINS0_9Operation8LookDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectMoveArrivedERKNS0_8SmartPtrINS0_9Operation8MoveDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectRootArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher17objectTalkArrivedERKNS0_8SmartPtrINS0_9Operation8TalkDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectAdminArrivedERKNS0_8SmartPtrINS0_6Entity9AdminDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectErrorArrivedERKNS0_8SmartPtrINS0_9Operation9ErrorDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectLoginArrivedERKNS0_8SmartPtrINS0_9Operation9LoginDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectSightArrivedERKNS0_8SmartPtrINS0_9Operation9SightDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectSmellArrivedERKNS0_8SmartPtrINS0_9Operation9SmellDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectSniffArrivedERKNS0_8SmartPtrINS0_9Operation9SniffDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectSoundArrivedERKNS0_8SmartPtrINS0_9Operation9SoundDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectTouchArrivedERKNS0_8SmartPtrINS0_9Operation9TouchDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher18objectWieldArrivedERKNS0_8SmartPtrINS0_9Operation9WieldDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectActionArrivedERKNS0_8SmartPtrINS0_9Operation10ActionDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectAffectArrivedERKNS0_8SmartPtrINS0_9Operation10AffectDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectCreateArrivedERKNS0_8SmartPtrINS0_9Operation10CreateDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectDeleteArrivedERKNS0_8SmartPtrINS0_9Operation10DeleteDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectDivideArrivedERKNS0_8SmartPtrINS0_9Operation10DivideDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectListenArrivedERKNS0_8SmartPtrINS0_9Operation10ListenDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectLogoutArrivedERKNS0_8SmartPtrINS0_9Operation10LogoutDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher19objectPlayerArrivedERKNS0_8SmartPtrINS0_6Entity10PlayerDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher20objectAccountArrivedERKNS0_8SmartPtrINS0_6Entity11AccountDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher20objectCombineArrivedERKNS0_8SmartPtrINS0_9Operation11CombineDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher20objectGenericArrivedERKNS0_8SmartPtrINS0_9Operation11GenericDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher20unknownObjectArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher21objectPerceiveArrivedERKNS0_8SmartPtrINS0_9Operation12PerceiveDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher22objectAnonymousArrivedERKNS0_8SmartPtrINS0_6Entity13AnonymousDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher22objectImaginaryArrivedERKNS0_8SmartPtrINS0_9Operation13ImaginaryDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher23objectAppearanceArrivedERKNS0_8SmartPtrINS0_9Operation14AppearanceDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher23objectGameEntityArrivedERKNS0_8SmartPtrINS0_6Entity14GameEntityDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher23objectPerceptionArrivedERKNS0_8SmartPtrINS0_9Operation14PerceptionDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher23objectRootEntityArrivedERKNS0_8SmartPtrINS0_6Entity14RootEntityDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher24objectAdminEntityArrivedERKNS0_8SmartPtrINS0_6Entity15AdminEntityDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher24objectCommunicateArrivedERKNS0_8SmartPtrINS0_9Operation15CommunicateDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher26objectDisappearanceArrivedERKNS0_8SmartPtrINS0_9Operation17DisappearanceDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher26objectRootOperationArrivedERKNS0_8SmartPtrINS0_9Operation17RootOperationDataEEE@Base 0.6.2 - _ZN5Atlas7Objects10Dispatcher9addMethodEiMS1_FvRKNS0_8SmartPtrINS0_8RootDataEEEE@Base 0.6.2 - _ZN5Atlas7Objects10DispatcherD0Ev@Base 0.6.2 - _ZN5Atlas7Objects10DispatcherD1Ev@Base 0.6.2 - _ZN5Atlas7Objects10DispatcherD2Ev@Base 0.6.2 - _ZN5Atlas7Objects10STAMP_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects11addThemHereE@Base 0.6.2 - _ZN5Atlas7Objects12AddFactoriesC1Ev@Base 0.6.2 - _ZN5Atlas7Objects12AddFactoriesC2Ev@Base 0.6.2 - _ZN5Atlas7Objects12OBJTYPE_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects12PARENTS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects12loadDefaultsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData14const_iteratorC1ERKS1_i@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData14const_iteratorC2ERKS1_i@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData14const_iteratoraSERKS2_@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData14const_iteratorppEv@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData14removeAttrFlagEi@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData4findERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData8iteratorC1ERS1_i@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData8iteratorC2ERS1_i@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData8iteratoraSERKS2_@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectData8iteratorppEv@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectDataC1EPS1_@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectDataC2EPS1_@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects14BaseObjectDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoderC1EPNS0_9FactoriesE@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoderC2EPNS0_9FactoriesE@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoderD0Ev@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoderD1Ev@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsDecoderD2Ev@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsEncoderD1Ev@Base 0.6.2 - _ZN5Atlas7Objects14ObjectsEncoderD2Ev@Base 0.6.2 - _ZN5Atlas7Objects15generic_factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 - _ZN5Atlas7Objects17anonymous_factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 - _ZN5Atlas7Objects17objectDefinitionsB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoder12fillDefaultsEv@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoder13setAttributesERNS0_8SmartPtrINS0_8RootDataEEERKNS_7Message7ElementESt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessISG_ESaISG_EE@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoderC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoderC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoderD0Ev@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoderD1Ev@Base 0.6.2 - _ZN5Atlas7Objects19LoadDefaultsDecoderD2Ev@Base 0.6.2 - _ZN5Atlas7Objects19NoSuchAttrExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects19NoSuchAttrExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects19NoSuchAttrExceptionD0Ev@Base 0.6.2 - _ZN5Atlas7Objects19NoSuchAttrExceptionD1Ev@Base 0.6.2 - _ZN5Atlas7Objects19NoSuchAttrExceptionD2Ev@Base 0.6.2 - _ZN5Atlas7Objects22NoSuchFactoryExceptionD0Ev@Base 0.6.2 - _ZN5Atlas7Objects22NoSuchFactoryExceptionD1Ev@Base 0.6.2 - _ZN5Atlas7Objects22NoSuchFactoryExceptionD2Ev@Base 0.6.2 - _ZN5Atlas7Objects23DefaultLoadingExceptionD0Ev@Base 0.6.2 - _ZN5Atlas7Objects23DefaultLoadingExceptionD1Ev@Base 0.6.2 - _ZN5Atlas7Objects23DefaultLoadingExceptionD2Ev@Base 0.6.2 - _ZN5Atlas7Objects23NullSmartPtrDereferenceC1Ev@Base 0.6.2 - _ZN5Atlas7Objects23NullSmartPtrDereferenceC2Ev@Base 0.6.2 - _ZN5Atlas7Objects23NullSmartPtrDereferenceD0Ev@Base 0.6.2 - _ZN5Atlas7Objects23NullSmartPtrDereferenceD1Ev@Base 0.6.2 - _ZN5Atlas7Objects23NullSmartPtrDereferenceD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData16begin_PlayerDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData19defaults_PlayerDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity10PlayerDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData17begin_AccountDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData20defaults_AccountDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData22attr_flags_AccountDataB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity11AccountDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData19begin_AnonymousDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData22defaults_AnonymousDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousData7setTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity13AnonymousDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity13CONTAINS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity13PASSWORD_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity13USERNAME_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity13VELOCITY_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData20begin_GameEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData23defaults_GameEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity14GameEntityDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData20begin_RootEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData23defaults_RootEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData25attr_flags_RootEntityDataB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity14RootEntityDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData21begin_AdminEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData24defaults_AdminEntityDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity15AdminEntityDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity15CHARACTERS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity19STAMP_CONTAINS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData14begin_GameDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData17defaults_GameDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity8GameDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity8LOC_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity8POS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData15begin_AdminDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData18defaults_AdminDataE@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects6Entity9AdminDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects7ID_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects7enumMaxE@Base 0.6.2 - _ZN5Atlas7Objects8RootData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects8RootData14begin_RootDataE@Base 0.6.2 - _ZN5Atlas7Objects8RootData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects8RootData17defaults_RootDataE@Base 0.6.2 - _ZN5Atlas7Objects8RootData19attr_flags_RootDataB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects8RootData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects8RootData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects8RootData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects8RootData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 - _ZN5Atlas7Objects8RootDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects8RootDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects8RootDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects8SmartPtrINS0_8RootDataEEaSERKS3_@Base 0.6.2 - _ZN5Atlas7Objects9Factories10addFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPFNS0_8SmartPtrINS0_8RootDataEEES9_iE@Base 0.6.2 - _ZN5Atlas7Objects9Factories10addFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPFNS0_8SmartPtrINS0_8RootDataEEES9_iEi@Base 0.6.2 - _ZN5Atlas7Objects9Factories10hasFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects9Factories10m_instanceE@Base 0.6.2 - _ZN5Atlas7Objects9Factories12createObjectERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects9Factories12createObjectERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 - _ZN5Atlas7Objects9Factories7getKeysB5cxx11Ev@Base 0.6.2 - _ZN5Atlas7Objects9Factories8instanceEv@Base 0.6.2 - _ZN5Atlas7Objects9FactoriesC1ERKS1_@Base 0.6.2 - _ZN5Atlas7Objects9FactoriesC1Ev@Base 0.6.2 - _ZN5Atlas7Objects9FactoriesC2ERKS1_@Base 0.6.2 - _ZN5Atlas7Objects9FactoriesC2Ev@Base 0.6.2 - _ZN5Atlas7Objects9NAME_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData16begin_ActionDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData19defaults_ActionDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ActionDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData16begin_AffectDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData19defaults_AffectDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10AffectDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData16begin_CreateDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData19defaults_CreateDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10CreateDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData16begin_DeleteDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData19defaults_DeleteDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DeleteDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData16begin_DivideDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData19defaults_DivideDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10DivideDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData16begin_ListenDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData19defaults_ListenDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10ListenDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData16begin_LogoutDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData19defaults_LogoutDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10LogoutDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation10REFNO_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData17begin_CombineDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData20defaults_CombineDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation11CombineDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData17begin_GenericDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData20defaults_GenericDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericData7setTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation11GenericDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData18begin_PerceiveDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData21defaults_PerceiveDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation12PerceiveDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation12SECONDS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData19begin_ImaginaryDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData22defaults_ImaginaryDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation13ImaginaryDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation13SERIALNO_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData20begin_AppearanceDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData23defaults_AppearanceDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation14AppearanceDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData20begin_PerceptionDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData23defaults_PerceptionDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation14PerceptionDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData21begin_CommunicateDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData24defaults_CommunicateDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation15CommunicateDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData23begin_DisappearanceDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData26defaults_DisappearanceDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17DisappearanceDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData23begin_RootOperationDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData26defaults_RootOperationDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData28attr_flags_RootOperationDataB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation17RootOperationDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation19FUTURE_SECONDS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData13begin_GetDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData16defaults_GetDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7GetDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData13begin_SetDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData16defaults_SetDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7SetDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7TO_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData13begin_UseDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData16defaults_UseDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation7UseDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData14begin_FeelDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData17defaults_FeelDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8FeelDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData14begin_InfoDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData17defaults_InfoDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8InfoDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData14begin_LookDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData17defaults_LookDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8LookDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData14begin_MoveDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData17defaults_MoveDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8MoveDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData14begin_TalkDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData17defaults_TalkDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation8TalkDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ARGS_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData15begin_ErrorDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData18defaults_ErrorDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9ErrorDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9FROM_ATTRB5cxx11E@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData15begin_LoginDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData18defaults_LoginDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9LoginDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData15begin_SightDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData18defaults_SightDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SightDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData15begin_SmellDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData18defaults_SmellDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SmellDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData15begin_SniffDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData18defaults_SniffDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SniffDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData15begin_SoundDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData18defaults_SoundDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9SoundDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData15begin_TouchDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData18defaults_TouchDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9TouchDataD2Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData15begin_WieldDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData16getDefaultObjectEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData18defaults_WieldDataE@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData24getDefaultObjectInstanceEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData4freeEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldData5allocEv@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldDataD0Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldDataD1Ev@Base 0.6.2 - _ZN5Atlas7Objects9Operation9WieldDataD2Ev@Base 0.6.2 - (optional=inline)_ZN5Atlas9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - (optional=inline)_ZN5Atlas9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData11hasAttrFlagEi@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData12sendContentsERNS_6BridgeE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData14const_iterator13PsuedoElementcvNS_7Message7ElementEEv@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData14const_iteratoreqERKS2_@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData4findERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData7getAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData7hasAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData8iterator13PsuedoElementaSERKNS_7Message7ElementE@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData8iterator13PsuedoElementcvNS_7Message7ElementEEv@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData8iteratoreqERKS2_@Base 0.6.2 - _ZNK5Atlas7Objects14BaseObjectData9asMessageB5cxx11Ev@Base 0.6.2 - _ZNK5Atlas7Objects19LoadDefaultsDecoder17getMessageElementERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity10PlayerData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity10PlayerData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity10PlayerData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData12sendContentsERNS_6BridgeE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity11AccountData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity13AnonymousData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity13AnonymousData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity13AnonymousData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14GameEntityData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14GameEntityData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14GameEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData12sendContentsERNS_6BridgeE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity14RootEntityData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity15AdminEntityData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity15AdminEntityData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity15AdminEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity8GameData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity8GameData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity8GameData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects6Entity9AdminData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects6Entity9AdminData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects6Entity9AdminData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects8RootData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData12sendContentsERNS_6BridgeE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects8RootData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects8RootData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 - (optional=inline)_ZNK5Atlas7Objects8SmartPtrINS0_6Entity13AnonymousDataEE6decRefEv@Base 0.6.2 - (optional=inline)_ZNK5Atlas7Objects8SmartPtrINS0_8RootDataEE6decRefEv@Base 0.6.2 - (optional=inline)_ZNK5Atlas7Objects8SmartPtrINS0_9Operation11GenericDataEE6decRefEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ActionData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ActionData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ActionData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10AffectData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10AffectData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10AffectData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10CreateData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10CreateData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10CreateData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DeleteData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DeleteData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DeleteData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DivideData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DivideData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10DivideData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ListenData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ListenData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10ListenData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10LogoutData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10LogoutData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation10LogoutData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11CombineData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11CombineData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11CombineData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11GenericData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11GenericData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation11GenericData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation12PerceiveData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation12PerceiveData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation12PerceiveData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation13ImaginaryData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation13ImaginaryData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation13ImaginaryData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14AppearanceData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14AppearanceData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14AppearanceData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14PerceptionData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14PerceptionData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation14PerceptionData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation15CommunicateData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation15CommunicateData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation15CommunicateData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17DisappearanceData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17DisappearanceData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17DisappearanceData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData12sendContentsERNS_6BridgeE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation17RootOperationData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7GetData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7GetData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7GetData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7SetData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7SetData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7SetData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7UseData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7UseData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation7UseData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8FeelData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8FeelData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8FeelData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8InfoData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8InfoData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8InfoData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8LookData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8LookData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8LookData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8MoveData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8MoveData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8MoveData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8TalkData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8TalkData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation8TalkData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9ErrorData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9ErrorData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9ErrorData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9LoginData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9LoginData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9LoginData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SightData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SightData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SightData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SmellData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SmellData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SmellData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SniffData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SniffData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SniffData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SoundData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SoundData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9SoundData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9TouchData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9TouchData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9TouchData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9WieldData10instanceOfEi@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9WieldData4copyEv@Base 0.6.2 - _ZNK5Atlas7Objects9Operation9WieldData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 - (optional=inline)_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE4findERS7_@Base 0.6.2 - (optional=inline)_ZNSt10_List_baseISsSaISsEED1Ev@Base 0.6.2 - (optional=inline)_ZNSt10_List_baseISsSaISsEED2Ev@Base 0.6.2 - (optional=inline)_ZNSt10_List_baseISsSaISsEE8_M_clearEv@Base 0.6.2 - (optional=inline)_ZNSt12_Destroy_auxILb0EE9__destroyIPN5Atlas7Message7ElementEEEvT_S6_@Base 0.6.2 - (optional=inline)_ZNSt12_Vector_baseIN5Atlas7Message7ElementESaIS2_EED1Ev@Base 0.6.2 - (optional=inline)_ZNSt12_Vector_baseIN5Atlas7Message7ElementESaIS2_EED2Ev@Base 0.6.2 - _ZNSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Objects8SmartPtrINS8_8RootDataEEESt4lessIS6_ESaISt4pairIS6_SB_EEED1Ev@Base 0.6.2 - _ZNSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Objects8SmartPtrINS8_8RootDataEEESt4lessIS6_ESaISt4pairIS6_SB_EEED2Ev@Base 0.6.2 - (optional=inline)_ZNSt3mapISsN5Atlas7Message7ElementESt4lessISsESaISt4pairIKSsS2_EEED1Ev@Base 0.6.2 - (optional=inline)_ZNSt3mapISsN5Atlas7Message7ElementESt4lessISsESaISt4pairIKSsS2_EEED2Ev@Base 0.6.2 - (optional=inline)_ZNSt4listISsSaISsEED1Ev@Base 0.6.2 - (optional=inline)_ZNSt4listISsSaISsEED2Ev@Base 0.6.2 - _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementEED1Ev@Base 0.6.2 - _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementEED2Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED1Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED2Ev@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EEaSERKS4_@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_@Base 0.6.2 - (regex|optional=inline)_ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS4_S6_EE[jm]RKS4_@Base 0.6.2 - _ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EEaSERKS6_@Base 0.6.2 - _ZNSt6vectorIdSaIdEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPdS1_EERKd@Base 0.6.2 - (regex)_ZNSt6vectorIdSaIdEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPdS1_EE[mj]RKd@Base 0.6.2 - _ZNSt6vectorIdSaIdEEaSERKS1_@Base 0.6.2 - _ZNSt7__cxx1110_List_baseINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_clearEv@Base 0.6.2 - (regex)_ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeE[mj]S5_@Base 0.6.2 - _ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEaSERKS7_@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE24_M_get_insert_unique_posERS6_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISD_ERS6_@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE24_M_get_insert_unique_posESD_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISH_ESD_@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE4findESD_@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE7_M_copyINSN_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISH_EPKSR_SS_RT_@Base 0.6.2 - _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE7_M_copyINSB_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS5_EPKSF_SG_RT_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE11equal_rangeERS7_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE5eraseERS7_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.6.2 - _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EEaSERKSH_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 - (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 0.6.2 - _ZNSt8_Rb_treeIiSt4pairIKiMN5Atlas7Objects10DispatcherEFvRKNS3_8SmartPtrINS3_8RootDataEEEEESt10_Select1stISC_ESt4lessIiESaISC_EE8_M_eraseEPSt13_Rb_tree_nodeISC_E@Base 0.6.2 - (optional=inline)_ZSt8_DestroyIPN5Atlas7Message7ElementEEvT_S4_@Base 0.6.2 - (optional=inline)_ZSt9make_pairIiMN5Atlas7Objects10DispatcherEFvRKNS1_8SmartPtrINS1_8RootDataEEEEESt4pairIT_T0_ESB_SC_@Base 0.6.2 - _ZTIN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 - _ZTIN5Atlas7Objects10DispatcherE@Base 0.6.2 - _ZTIN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 - _ZTIN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 - _ZTIN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 - _ZTIN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 - _ZTIN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 - _ZTIN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 - _ZTIN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 - _ZTIN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 - _ZTIN5Atlas7Objects8RootDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 - _ZTIN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 - _ZTSN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 - _ZTSN5Atlas7Objects10DispatcherE@Base 0.6.2 - _ZTSN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 - _ZTSN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 - _ZTSN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 - _ZTSN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 - _ZTSN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 - _ZTSN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 - _ZTSN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 - _ZTSN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 - _ZTSN5Atlas7Objects8RootDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 - _ZTSN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 - _ZTVN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 - _ZTVN5Atlas7Objects10DispatcherE@Base 0.6.2 - _ZTVN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 - _ZTVN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 - _ZTVN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 - _ZTVN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 - _ZTVN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 - _ZTVN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 - _ZTVN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 - _ZTVN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 - _ZTVN5Atlas7Objects8RootDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 - _ZTVN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2-dbg.lintian-overrides atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2-dbg.lintian-overrides --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2-dbg.lintian-overrides 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1,2 @@ +# This file only contains a .debug_str section and no .debug_line section +libatlas-cpp-0.6-2-dbg: debug-file-with-no-debug-symbols diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.install atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.install --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.install 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.install 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1,2 @@ +usr/lib/*/lib*-0.6.so.2 +usr/lib/*/lib*-0.6.so.2.* diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.lintian-overrides atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.lintian-overrides --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.lintian-overrides 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1,2 @@ +# upstream provides a slew of smaller shared libraries +libatlas-cpp-0.6-2: package-name-doesnt-match-sonames diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.symbols atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.symbols --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-2.symbols 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-2.symbols 2016-02-10 16:00:28.000000000 +0000 @@ -0,0 +1,1241 @@ +# SymbolsHelper-Confirmed: 0.6.3 amd64 +libAtlas-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + (c++)"Atlas::Bridge::~Bridge()@Base" 0.6.2 + (c++)"Atlas::Codec::~Codec()@Base" 0.6.2 + (c++)"Atlas::Exception::~Exception()@Base" 0.6.2 + (c++)"Atlas::Filter::Filter(Atlas::Filter*)@Base" 0.6.2 + (c++)"Atlas::Filter::~Filter()@Base" 0.6.2 + _ZN5Atlas9Formatter10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas9Formatter10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas9Formatter11listIntItemEl@Base 0.6.2 + _ZN5Atlas9Formatter11listMapItemEv@Base 0.6.2 + _ZN5Atlas9Formatter11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas9Formatter11streamBeginEv@Base 0.6.2 + _ZN5Atlas9Formatter12listListItemEv@Base 0.6.2 + _ZN5Atlas9Formatter12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas9Formatter13listFloatItemEd@Base 0.6.2 + _ZN5Atlas9Formatter13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_@Base 0.6.2 + _ZN5Atlas9Formatter13streamMessageEv@Base 0.6.2 + _ZN5Atlas9Formatter14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas9Formatter6mapEndEv@Base 0.6.2 + _ZN5Atlas9Formatter7listEndEv@Base 0.6.2 + _ZN5Atlas9Formatter9streamEndEv@Base 0.6.2 + _ZN5Atlas9FormatterC1ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas9FormatterC2ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas9FormatterD0Ev@Base 0.6.2 + _ZN5Atlas9FormatterD1Ev@Base 0.6.2 + _ZN5Atlas9FormatterD2Ev@Base 0.6.2 + _ZN5Atlas9NegotiateD0Ev@Base 0.6.2 + _ZN5Atlas9NegotiateD1Ev@Base 0.6.2 + _ZN5Atlas9NegotiateD2Ev@Base 0.6.2 + _ZN5Atlas9filterbuf4syncEv@Base 0.6.2 + _ZN5Atlas9filterbuf8overflowEi@Base 0.6.2 + _ZN5Atlas9filterbuf9underflowEv@Base 0.6.2 + _ZN5Atlas9filterbufD0Ev@Base 0.6.2 + _ZN5Atlas9filterbufD1Ev@Base 0.6.2 + _ZN5Atlas9filterbufD2Ev@Base 0.6.2 + _ZNK5Atlas9Exception4whatEv@Base 0.6.2 + _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 + _ZTIN5Atlas5CodecE@Base 0.6.2 + _ZTIN5Atlas6BridgeE@Base 0.6.2 + _ZTIN5Atlas6FilterE@Base 0.6.2 + _ZTIN5Atlas9ExceptionE@Base 0.6.2 + _ZTIN5Atlas9FormatterE@Base 0.6.2 + _ZTIN5Atlas9NegotiateE@Base 0.6.2 + _ZTIN5Atlas9filterbufE@Base 0.6.2 + _ZTSN5Atlas5CodecE@Base 0.6.2 + _ZTSN5Atlas6BridgeE@Base 0.6.2 + _ZTSN5Atlas6FilterE@Base 0.6.2 + _ZTSN5Atlas9ExceptionE@Base 0.6.2 + _ZTSN5Atlas9FormatterE@Base 0.6.2 + _ZTSN5Atlas9NegotiateE@Base 0.6.2 + _ZTSN5Atlas9filterbufE@Base 0.6.2 + _ZTVN5Atlas5CodecE@Base 0.6.2 + _ZTVN5Atlas6BridgeE@Base 0.6.2 + _ZTVN5Atlas6FilterE@Base 0.6.2 + _ZTVN5Atlas9ExceptionE@Base 0.6.2 + _ZTVN5Atlas9FormatterE@Base 0.6.2 + _ZTVN5Atlas9NegotiateE@Base 0.6.2 + _ZTVN5Atlas9filterbufE@Base 0.6.2 +libAtlasCodecs-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + _ZN5Atlas6Codecs19hexDecodeWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_@Base 0.6.2 + _ZN5Atlas6Codecs19hexEncodeWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_@Base 0.6.2 + _ZN5Atlas6Codecs3XML10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas6Codecs3XML10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs3XML11listIntItemEl@Base 0.6.2 + _ZN5Atlas6Codecs3XML11listMapItemEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs3XML11streamBeginEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML12listListItemEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas6Codecs3XML13listFloatItemEd@Base 0.6.2 + _ZN5Atlas6Codecs3XML13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas6Codecs3XML13streamMessageEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs3XML4pollEb@Base 0.6.2 + _ZN5Atlas6Codecs3XML6escapeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.3 + _ZN5Atlas6Codecs3XML6mapEndEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML7listEndEv@Base 0.6.2 + _ZN5Atlas6Codecs3XML8unescapeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.3 + _ZN5Atlas6Codecs3XML9streamEndEv@Base 0.6.2 + _ZN5Atlas6Codecs3XMLC1ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs3XMLC2ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs3XMLD0Ev@Base 0.6.2 + _ZN5Atlas6Codecs3XMLD1Ev@Base 0.6.2 + _ZN5Atlas6Codecs3XMLD2Ev@Base 0.6.2 + _ZN5Atlas6Codecs4Bach10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas6Codecs4Bach10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs4Bach11listIntItemEl@Base 0.6.2 + _ZN5Atlas6Codecs4Bach11listMapItemEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs4Bach11streamBeginEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach12listListItemEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas6Codecs4Bach12writeIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas6Codecs4Bach13listFloatItemEd@Base 0.6.2 + _ZN5Atlas6Codecs4Bach13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas6Codecs4Bach13streamMessageEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs4Bach14writeFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas6Codecs4Bach15writeStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas6Codecs4Bach4pollEb@Base 0.6.2 + _ZN5Atlas6Codecs4Bach6mapEndEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach7listEndEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach9streamEndEv@Base 0.6.2 + _ZN5Atlas6Codecs4Bach9writeLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb@Base 0.6.2 + _ZN5Atlas6Codecs4BachC1ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs4BachC2ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs4BachD0Ev@Base 0.6.2 + _ZN5Atlas6Codecs4BachD1Ev@Base 0.6.2 + _ZN5Atlas6Codecs4BachD2Ev@Base 0.6.2 + _ZN5Atlas6Codecs6Packed10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas6Codecs6Packed10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs6Packed11listIntItemEl@Base 0.6.2 + _ZN5Atlas6Codecs6Packed11listMapItemEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs6Packed11streamBeginEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed12listListItemEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas6Codecs6Packed13listFloatItemEd@Base 0.6.2 + _ZN5Atlas6Codecs6Packed13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas6Codecs6Packed13streamMessageEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas6Codecs6Packed4pollEb@Base 0.6.2 + _ZN5Atlas6Codecs6Packed6mapEndEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed7listEndEv@Base 0.6.2 + _ZN5Atlas6Codecs6Packed9streamEndEv@Base 0.6.2 + _ZN5Atlas6Codecs6PackedC1ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs6PackedC2ERSdRNS_6BridgeE@Base 0.6.2 + _ZN5Atlas6Codecs6PackedD0Ev@Base 0.6.2 + _ZN5Atlas6Codecs6PackedD1Ev@Base 0.6.2 + _ZN5Atlas6Codecs6PackedD2Ev@Base 0.6.2 + _ZNK5Atlas6Codecs4Bach10stringmodeEv@Base 0.6.2 + _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 + (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EED1Ev@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs3XML5StateESaIS3_EED2Ev@Base 0.6.2 + (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EED1Ev@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs4Bach5StateESaIS3_EED2Ev@Base 0.6.2 + (regex)_ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EED1Ev@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas6Codecs6Packed5StateESaIS3_EED2Ev@Base 0.6.2 + (regex)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE12emplace_backIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE16_M_push_back_auxIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs3XML5StateESaIS3_EE16_M_push_back_auxIJS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs4Bach5StateESaIS3_EE12emplace_backIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs4Bach5StateESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs6Packed5StateESaIS3_EE12emplace_backIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas6Codecs6Packed5StateESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIIS5_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxIIS5_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxIJS5_EEEvDpOT_@Base 0.6.3 + _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 + _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 + _ZTIN5Atlas6Codecs3XMLE@Base 0.6.2 + _ZTIN5Atlas6Codecs4BachE@Base 0.6.2 + _ZTIN5Atlas6Codecs6PackedE@Base 0.6.2 + _ZTSN5Atlas6Codecs3XMLE@Base 0.6.2 + _ZTSN5Atlas6Codecs4BachE@Base 0.6.2 + _ZTSN5Atlas6Codecs6PackedE@Base 0.6.2 + _ZTVN5Atlas6Codecs3XMLE@Base 0.6.2 + _ZTVN5Atlas6Codecs4BachE@Base 0.6.2 + _ZTVN5Atlas6Codecs6PackedE@Base 0.6.2 +libAtlasFilters-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# +libAtlasFunky-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + _ZN5Atlas5Funky6Tokens10begin_listE@Base 0.6.2 + _ZN5Atlas5Funky6Tokens7end_mapE@Base 0.6.2 + _ZN5Atlas5Funky6Tokens8end_listE@Base 0.6.2 + _ZN5Atlas5Funky6Tokens9begin_mapE@Base 0.6.2 +libAtlasMessage-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + _ZN5Atlas11EncoderBaseD0Ev@Base 0.6.3 + _ZN5Atlas11EncoderBaseD1Ev@Base 0.6.3 + _ZN5Atlas11EncoderBaseD2Ev@Base 0.6.3 + _ZN5Atlas7Message11DecoderBase10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase11listIntItemEl@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase11listMapItemEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase11streamBeginEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase12listListItemEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase13listFloatItemEd@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase13streamMessageEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase6mapEndEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase7listEndEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBase9streamEndEv@Base 0.6.2 + _ZN5Atlas7Message11DecoderBaseC1Ev@Base 0.6.2 + _ZN5Atlas7Message11DecoderBaseC2Ev@Base 0.6.2 + _ZN5Atlas7Message11DecoderBaseD0Ev@Base 0.6.2 + _ZN5Atlas7Message11DecoderBaseD1Ev@Base 0.6.2 + _ZN5Atlas7Message11DecoderBaseD2Ev@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoderC1Ev@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoderC2Ev@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoderD0Ev@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoderD1Ev@Base 0.6.2 + _ZN5Atlas7Message13QueuedDecoderD2Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionC1Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionC2Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD0Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD1Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD2Ev@Base 0.6.2 + _ZN5Atlas7Message7Element5clearENS1_4TypeE@Base 0.6.2 + _ZN5Atlas7Message7Element8typeNameENS1_4TypeE@Base 0.6.2 + _ZN5Atlas7Message7ElementC1ERKS1_@Base 0.6.2 + _ZN5Atlas7Message7ElementC2ERKS1_@Base 0.6.2 + _ZN5Atlas7Message7ElementaSERKS1_@Base 0.6.2 + _ZN5Atlas7Message7Encoder14mapElementItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_7ElementE@Base 0.6.2 + _ZN5Atlas7Message7Encoder15listElementItemERKNS0_7ElementE@Base 0.6.2 + _ZN5Atlas7Message7Encoder17mapElementMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt3mapIS7_NS0_7ElementESt4lessIS7_ESaISt4pairIS8_SB_EEE@Base 0.6.2 + _ZN5Atlas7Message7Encoder18listElementMapItemERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 + _ZN5Atlas7Message7Encoder18mapElementListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorINS0_7ElementESaISB_EE@Base 0.6.2 + _ZN5Atlas7Message7Encoder19listElementListItemERKSt6vectorINS0_7ElementESaIS3_EE@Base 0.6.2 + _ZN5Atlas7Message7Encoder20streamMessageElementERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_7ElementESt4lessIS8_ESaISt4pairIKS8_S9_EEE@Base 0.6.2 + _ZN5Atlas7Message7EncoderC1ERNS_6BridgeE@Base 0.6.2 + _ZN5Atlas7Message7EncoderC2ERNS_6BridgeE@Base 0.6.2 + _ZN5Atlas7Message7EncoderD0Ev@Base 0.6.3 + _ZN5Atlas7Message7EncoderD1Ev@Base 0.6.2 + _ZN5Atlas7Message7EncoderD2Ev@Base 0.6.2 + _ZNK5Atlas7Message7ElementeqERKS1_@Base 0.6.2 + _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 + (regex)_ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EE17_M_initialize_mapE[mj]@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EED1Ev@Base 0.6.2 + _ZNSt11_Deque_baseIN5Atlas7Message11DecoderBase5StateESaIS3_EED2Ev@Base 0.6.2 + (regex)_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 + (regex)_ZNSt11_Deque_baseISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EE17_M_initialize_mapE[mj]@Base 0.6.2 + (regex)_ZNSt11_Deque_baseISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EE17_M_initialize_mapE[mj]@Base 0.6.2 + (optional=templinst)_ZNSt5dequeIN5Atlas7Message11DecoderBase5StateESaIS3_EE12emplace_backIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas7Message11DecoderBase5StateESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas7Message11DecoderBase5StateESaIS3_EE16_M_push_back_auxIIS3_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeIN5Atlas7Message11DecoderBase5StateESaIS3_EE16_M_push_back_auxIJS3_EEEvDpOT_@Base 0.6.3 + (optional=inline)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_pop_back_auxEv@Base 0.6.2 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxIIRKS5_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_push_back_auxIJRKS5_EEEvDpOT_@Base 0.6.3 + _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 0.6.2 + _ZNSt5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 0.6.2 + (optional=templinst)_ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EE16_M_push_back_auxIIRKSG_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EE16_M_push_back_auxIJRKSG_EEEvDpOT_@Base 0.6.3 + _ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED1Ev@Base 0.6.2 + _ZNSt5dequeISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Message7ElementESt4lessIS6_ESaISt4pairIKS6_S9_EEESaISG_EED2Ev@Base 0.6.2 + (optional=templinst)_ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EE16_M_push_back_auxIIRKS5_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EE16_M_push_back_auxIJRKS5_EEEvDpOT_@Base 0.6.3 + _ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED1Ev@Base 0.6.2 + _ZNSt5dequeISt6vectorIN5Atlas7Message7ElementESaIS3_EESaIS5_EED2Ev@Base 0.6.2 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE12emplace_backIIS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE13_M_insert_auxIIS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE13_M_insert_auxIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE19_M_emplace_back_auxIIS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_@Base 0.6.3 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED1Ev@Base 0.6.2 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED2Ev@Base 0.6.2 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EEaSERKS4_@Base 0.6.2 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS7_EESM_IIEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESM_IJEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.6.2 + _ZTIN5Atlas11EncoderBaseE@Base 0.6.3 + _ZTIN5Atlas7Message11DecoderBaseE@Base 0.6.2 + _ZTIN5Atlas7Message13QueuedDecoderE@Base 0.6.2 + _ZTIN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTIN5Atlas7Message7EncoderE@Base 0.6.3 + _ZTSN5Atlas11EncoderBaseE@Base 0.6.3 + _ZTSN5Atlas7Message11DecoderBaseE@Base 0.6.2 + _ZTSN5Atlas7Message13QueuedDecoderE@Base 0.6.2 + _ZTSN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTSN5Atlas7Message7EncoderE@Base 0.6.3 + _ZTVN5Atlas7Message11DecoderBaseE@Base 0.6.2 + _ZTVN5Atlas7Message13QueuedDecoderE@Base 0.6.2 + _ZTVN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTVN5Atlas7Message7EncoderE@Base 0.6.3 +libAtlasNet-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + _ZN5Atlas3Net10LoopBridge10mapIntItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEl@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge10mapMapItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge11listIntItemEl@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge11listMapItemEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge11mapListItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge11streamBeginEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge12listListItemEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge12mapFloatItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge13listFloatItemEd@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge13mapStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge13streamMessageEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge14listStringItemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge6mapEndEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge7listEndEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridge9streamEndEv@Base 0.6.2 + _ZN5Atlas3Net10LoopBridgeD0Ev@Base 0.6.2 + _ZN5Atlas3Net10LoopBridgeD1Ev@Base 0.6.2 + _ZN5Atlas3Net10LoopBridgeD2Ev@Base 0.6.2 + _ZN5Atlas3Net12StreamAccept19processClientCodecsEv@Base 0.6.2 + _ZN5Atlas3Net12StreamAccept20processClientFiltersEv@Base 0.6.2 + _ZN5Atlas3Net12StreamAccept4pollEb@Base 0.6.2 + _ZN5Atlas3Net12StreamAccept8getCodecERNS_6BridgeE@Base 0.6.2 + _ZN5Atlas3Net12StreamAccept8getStateEv@Base 0.6.2 + _ZN5Atlas3Net12StreamAcceptC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 + _ZN5Atlas3Net12StreamAcceptC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 + _ZN5Atlas3Net12StreamAcceptD0Ev@Base 0.6.2 + _ZN5Atlas3Net12StreamAcceptD1Ev@Base 0.6.2 + _ZN5Atlas3Net12StreamAcceptD2Ev@Base 0.6.2 + _ZN5Atlas3Net13StreamConnect19processServerCodecsEv@Base 0.6.2 + _ZN5Atlas3Net13StreamConnect20processServerFiltersEv@Base 0.6.2 + _ZN5Atlas3Net13StreamConnect4pollEb@Base 0.6.2 + _ZN5Atlas3Net13StreamConnect8getCodecERNS_6BridgeE@Base 0.6.2 + _ZN5Atlas3Net13StreamConnect8getStateEv@Base 0.6.2 + _ZN5Atlas3Net13StreamConnectC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 + _ZN5Atlas3Net13StreamConnectC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSd@Base 0.6.2 + _ZN5Atlas3Net13StreamConnectD0Ev@Base 0.6.2 + _ZN5Atlas3Net13StreamConnectD1Ev@Base 0.6.2 + _ZN5Atlas3Net13StreamConnectD2Ev@Base 0.6.2 + _ZN5Atlas3Net15NegotiateHelper3getERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_@Base 0.6.2 + _ZN5Atlas3Net15NegotiateHelper3putERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_@Base 0.6.2 + _ZN5Atlas3Net15NegotiateHelperC1ERNSt7__cxx114listINS2_12basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEE@Base 0.6.2 + _ZN5Atlas3Net15NegotiateHelperC2ERNSt7__cxx114listINS2_12basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEE@Base 0.6.2 + _ZN5Atlas3Net8loopbackEPNS_6BridgeES2_RS2_S3_@Base 0.6.2 + _ZNKSt5ctypeIcE8do_widenEc@Base 0.6.2 + (optional=inline)_ZNSt7__cxx1110_List_baseINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_clearEv@Base 0.6.2 + _ZTIN5Atlas3Net10LoopBridgeE@Base 0.6.2 + _ZTIN5Atlas3Net12StreamAcceptE@Base 0.6.2 + _ZTIN5Atlas3Net13StreamConnectE@Base 0.6.2 + _ZTSN5Atlas3Net10LoopBridgeE@Base 0.6.2 + _ZTSN5Atlas3Net12StreamAcceptE@Base 0.6.2 + _ZTSN5Atlas3Net13StreamConnectE@Base 0.6.2 + _ZTVN5Atlas3Net10LoopBridgeE@Base 0.6.2 + _ZTVN5Atlas3Net12StreamAcceptE@Base 0.6.2 + _ZTVN5Atlas3Net13StreamConnectE@Base 0.6.2 +libAtlasObjects-0.6.so.2 libatlas-cpp-0.6-2 #MINVER# + _ZN5Atlas11EncoderBaseD0Ev@Base 0.6.3 + _ZN5Atlas11EncoderBaseD1Ev@Base 0.6.3 + _ZN5Atlas11EncoderBaseD2Ev@Base 0.6.3 + _ZN5Atlas7Message18WrongTypeExceptionC1Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionC2Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD0Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD1Ev@Base 0.6.2 + _ZN5Atlas7Message18WrongTypeExceptionD2Ev@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher13objectArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher14dispatchObjectERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher16objectGetArrivedERKNS0_8SmartPtrINS0_9Operation7GetDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher16objectSetArrivedERKNS0_8SmartPtrINS0_9Operation7SetDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher16objectUseArrivedERKNS0_8SmartPtrINS0_9Operation7UseDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectFeelArrivedERKNS0_8SmartPtrINS0_9Operation8FeelDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectGameArrivedERKNS0_8SmartPtrINS0_6Entity8GameDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectInfoArrivedERKNS0_8SmartPtrINS0_9Operation8InfoDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectLookArrivedERKNS0_8SmartPtrINS0_9Operation8LookDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectMoveArrivedERKNS0_8SmartPtrINS0_9Operation8MoveDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectRootArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher17objectTalkArrivedERKNS0_8SmartPtrINS0_9Operation8TalkDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectAdminArrivedERKNS0_8SmartPtrINS0_6Entity9AdminDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectErrorArrivedERKNS0_8SmartPtrINS0_9Operation9ErrorDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectLoginArrivedERKNS0_8SmartPtrINS0_9Operation9LoginDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectSightArrivedERKNS0_8SmartPtrINS0_9Operation9SightDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectSmellArrivedERKNS0_8SmartPtrINS0_9Operation9SmellDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectSniffArrivedERKNS0_8SmartPtrINS0_9Operation9SniffDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectSoundArrivedERKNS0_8SmartPtrINS0_9Operation9SoundDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectTouchArrivedERKNS0_8SmartPtrINS0_9Operation9TouchDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher18objectWieldArrivedERKNS0_8SmartPtrINS0_9Operation9WieldDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectActionArrivedERKNS0_8SmartPtrINS0_9Operation10ActionDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectAffectArrivedERKNS0_8SmartPtrINS0_9Operation10AffectDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectCreateArrivedERKNS0_8SmartPtrINS0_9Operation10CreateDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectDeleteArrivedERKNS0_8SmartPtrINS0_9Operation10DeleteDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectDivideArrivedERKNS0_8SmartPtrINS0_9Operation10DivideDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectListenArrivedERKNS0_8SmartPtrINS0_9Operation10ListenDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectLogoutArrivedERKNS0_8SmartPtrINS0_9Operation10LogoutDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher19objectPlayerArrivedERKNS0_8SmartPtrINS0_6Entity10PlayerDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher20objectAccountArrivedERKNS0_8SmartPtrINS0_6Entity11AccountDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher20objectCombineArrivedERKNS0_8SmartPtrINS0_9Operation11CombineDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher20objectGenericArrivedERKNS0_8SmartPtrINS0_9Operation11GenericDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher20unknownObjectArrivedERKNS0_8SmartPtrINS0_8RootDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher21objectPerceiveArrivedERKNS0_8SmartPtrINS0_9Operation12PerceiveDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher22objectAnonymousArrivedERKNS0_8SmartPtrINS0_6Entity13AnonymousDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher22objectImaginaryArrivedERKNS0_8SmartPtrINS0_9Operation13ImaginaryDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher23objectAppearanceArrivedERKNS0_8SmartPtrINS0_9Operation14AppearanceDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher23objectGameEntityArrivedERKNS0_8SmartPtrINS0_6Entity14GameEntityDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher23objectPerceptionArrivedERKNS0_8SmartPtrINS0_9Operation14PerceptionDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher23objectRootEntityArrivedERKNS0_8SmartPtrINS0_6Entity14RootEntityDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher24objectAdminEntityArrivedERKNS0_8SmartPtrINS0_6Entity15AdminEntityDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher24objectCommunicateArrivedERKNS0_8SmartPtrINS0_9Operation15CommunicateDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher26objectDisappearanceArrivedERKNS0_8SmartPtrINS0_9Operation17DisappearanceDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher26objectRootOperationArrivedERKNS0_8SmartPtrINS0_9Operation17RootOperationDataEEE@Base 0.6.2 + _ZN5Atlas7Objects10Dispatcher9addMethodEiMS1_FvRKNS0_8SmartPtrINS0_8RootDataEEEE@Base 0.6.2 + _ZN5Atlas7Objects10DispatcherD0Ev@Base 0.6.2 + _ZN5Atlas7Objects10DispatcherD1Ev@Base 0.6.2 + _ZN5Atlas7Objects10DispatcherD2Ev@Base 0.6.2 + _ZN5Atlas7Objects10STAMP_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects11addThemHereE@Base 0.6.2 + _ZN5Atlas7Objects12AddFactoriesC1Ev@Base 0.6.2 + _ZN5Atlas7Objects12AddFactoriesC2Ev@Base 0.6.2 + _ZN5Atlas7Objects12OBJTYPE_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects12PARENTS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects12loadDefaultsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData14const_iteratorC1ERKS1_i@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData14const_iteratorC2ERKS1_i@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData14const_iteratoraSERKS2_@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData14const_iteratorppEv@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData14removeAttrFlagEi@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData4findERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData8iteratorC1ERS1_i@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData8iteratorC2ERS1_i@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData8iteratoraSERKS2_@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectData8iteratorppEv@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectDataC1EPS1_@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectDataC2EPS1_@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects14BaseObjectDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoderC1EPNS0_9FactoriesE@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoderC2EPNS0_9FactoriesE@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoderD0Ev@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoderD1Ev@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsDecoderD2Ev@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsEncoderD0Ev@Base 0.6.3 + _ZN5Atlas7Objects14ObjectsEncoderD1Ev@Base 0.6.2 + _ZN5Atlas7Objects14ObjectsEncoderD2Ev@Base 0.6.2 + _ZN5Atlas7Objects15generic_factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 + _ZN5Atlas7Objects17anonymous_factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 + _ZN5Atlas7Objects17objectDefinitionsB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoder12fillDefaultsEv@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoder13setAttributesERNS0_8SmartPtrINS0_8RootDataEEERKNS_7Message7ElementESt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessISG_ESaISG_EE@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoder14messageArrivedERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoderC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoderC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoderD0Ev@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoderD1Ev@Base 0.6.2 + _ZN5Atlas7Objects19LoadDefaultsDecoderD2Ev@Base 0.6.2 + _ZN5Atlas7Objects19NoSuchAttrExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects19NoSuchAttrExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects19NoSuchAttrExceptionD0Ev@Base 0.6.2 + _ZN5Atlas7Objects19NoSuchAttrExceptionD1Ev@Base 0.6.2 + _ZN5Atlas7Objects19NoSuchAttrExceptionD2Ev@Base 0.6.2 + _ZN5Atlas7Objects22NoSuchFactoryExceptionD0Ev@Base 0.6.2 + _ZN5Atlas7Objects22NoSuchFactoryExceptionD1Ev@Base 0.6.2 + _ZN5Atlas7Objects22NoSuchFactoryExceptionD2Ev@Base 0.6.2 + _ZN5Atlas7Objects23DefaultLoadingExceptionD0Ev@Base 0.6.2 + _ZN5Atlas7Objects23DefaultLoadingExceptionD1Ev@Base 0.6.2 + _ZN5Atlas7Objects23DefaultLoadingExceptionD2Ev@Base 0.6.2 + _ZN5Atlas7Objects23NullSmartPtrDereferenceC1Ev@Base 0.6.2 + _ZN5Atlas7Objects23NullSmartPtrDereferenceC2Ev@Base 0.6.2 + _ZN5Atlas7Objects23NullSmartPtrDereferenceD0Ev@Base 0.6.2 + _ZN5Atlas7Objects23NullSmartPtrDereferenceD1Ev@Base 0.6.2 + _ZN5Atlas7Objects23NullSmartPtrDereferenceD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData16begin_PlayerDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData19defaults_PlayerDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity10PlayerDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData17begin_AccountDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData20defaults_AccountDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData22attr_flags_AccountDataB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity11AccountDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData19begin_AnonymousDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData22defaults_AnonymousDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousData7setTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity13AnonymousDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity13CONTAINS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity13PASSWORD_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity13USERNAME_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity13VELOCITY_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData20begin_GameEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData23defaults_GameEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity14GameEntityDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData20begin_RootEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData23defaults_RootEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData25attr_flags_RootEntityDataB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity14RootEntityDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData21begin_AdminEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData24defaults_AdminEntityDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity15AdminEntityDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity15CHARACTERS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity19STAMP_CONTAINS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData14begin_GameDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData17defaults_GameDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity8GameDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity8LOC_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity8POS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData15begin_AdminDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData18defaults_AdminDataE@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects6Entity9AdminDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects7ID_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects7enumMaxE@Base 0.6.2 + _ZN5Atlas7Objects8RootData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects8RootData14begin_RootDataE@Base 0.6.2 + _ZN5Atlas7Objects8RootData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects8RootData17defaults_RootDataE@Base 0.6.2 + _ZN5Atlas7Objects8RootData19attr_flags_RootDataB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects8RootData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects8RootData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects8RootData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects8RootData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 + _ZN5Atlas7Objects8RootDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects8RootDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects8RootDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects8SmartPtrINS0_8RootDataEEaSERKS3_@Base 0.6.2 + _ZN5Atlas7Objects9Factories10addFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPFNS0_8SmartPtrINS0_8RootDataEEES9_iE@Base 0.6.2 + _ZN5Atlas7Objects9Factories10addFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPFNS0_8SmartPtrINS0_8RootDataEEES9_iEi@Base 0.6.2 + _ZN5Atlas7Objects9Factories10hasFactoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects9Factories10m_instanceE@Base 0.6.2 + _ZN5Atlas7Objects9Factories12createObjectERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects9Factories12createObjectERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 + _ZN5Atlas7Objects9Factories7getKeysB5cxx11Ev@Base 0.6.2 + _ZN5Atlas7Objects9Factories8instanceEv@Base 0.6.2 + _ZN5Atlas7Objects9FactoriesC1ERKS1_@Base 0.6.2 + _ZN5Atlas7Objects9FactoriesC1Ev@Base 0.6.2 + _ZN5Atlas7Objects9FactoriesC2ERKS1_@Base 0.6.2 + _ZN5Atlas7Objects9FactoriesC2Ev@Base 0.6.2 + _ZN5Atlas7Objects9NAME_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData16begin_ActionDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData19defaults_ActionDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ActionDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData16begin_AffectDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData19defaults_AffectDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10AffectDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData16begin_CreateDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData19defaults_CreateDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10CreateDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData16begin_DeleteDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData19defaults_DeleteDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DeleteDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData16begin_DivideDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData19defaults_DivideDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10DivideDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData16begin_ListenDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData19defaults_ListenDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10ListenDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData16begin_LogoutDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData19defaults_LogoutDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10LogoutDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation10REFNO_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData17begin_CombineDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData20defaults_CombineDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation11CombineDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData17begin_GenericDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData20defaults_GenericDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericData7setTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation11GenericDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData18begin_PerceiveDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData21defaults_PerceiveDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation12PerceiveDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation12SECONDS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData19begin_ImaginaryDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData22defaults_ImaginaryDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation13ImaginaryDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation13SERIALNO_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData20begin_AppearanceDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData23defaults_AppearanceDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation14AppearanceDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData20begin_PerceptionDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData23defaults_PerceptionDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation14PerceptionDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData21begin_CommunicateDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData24defaults_CommunicateDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation15CommunicateDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData23begin_DisappearanceDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData26defaults_DisappearanceDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17DisappearanceDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData10removeAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData23begin_RootOperationDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData26defaults_RootOperationDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData28attr_flags_RootOperationDataB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationData7setAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7Message7ElementE@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation17RootOperationDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation19FUTURE_SECONDS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData13begin_GetDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData16defaults_GetDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7GetDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData13begin_SetDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData16defaults_SetDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7SetDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7TO_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData13begin_UseDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData16defaults_UseDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation7UseDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData14begin_FeelDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData17defaults_FeelDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8FeelDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData14begin_InfoDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData17defaults_InfoDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8InfoDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData14begin_LookDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData17defaults_LookDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8LookDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData14begin_MoveDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData17defaults_MoveDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8MoveDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData14begin_TalkDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData17defaults_TalkDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation8TalkDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ARGS_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData15begin_ErrorDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData18defaults_ErrorDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9ErrorDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9FROM_ATTRB5cxx11E@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData15begin_LoginDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData18defaults_LoginDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9LoginDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData15begin_SightDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData18defaults_SightDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SightDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData15begin_SmellDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData18defaults_SmellDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SmellDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData15begin_SniffDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData18defaults_SniffDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SniffDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData15begin_SoundDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData18defaults_SoundDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9SoundDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData15begin_TouchDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData18defaults_TouchDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9TouchDataD2Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData15begin_WieldDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData16getDefaultObjectEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData18defaults_WieldDataE@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData24getDefaultObjectInstanceEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData4freeEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldData5allocEv@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldDataD0Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldDataD1Ev@Base 0.6.2 + _ZN5Atlas7Objects9Operation9WieldDataD2Ev@Base 0.6.2 + (optional=inline)_ZN5Atlas9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + (optional=inline)_ZN5Atlas9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData11hasAttrFlagEi@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData12sendContentsERNS_6BridgeE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData14const_iterator13PsuedoElementcvNS_7Message7ElementEEv@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData14const_iteratoreqERKS2_@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData4findERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData7getAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData7hasAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData8iterator13PsuedoElementaSERKNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData8iterator13PsuedoElementcvNS_7Message7ElementEEv@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData8iteratoreqERKS2_@Base 0.6.2 + _ZNK5Atlas7Objects14BaseObjectData9asMessageB5cxx11Ev@Base 0.6.2 + _ZNK5Atlas7Objects19LoadDefaultsDecoder17getMessageElementERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity10PlayerData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity10PlayerData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity10PlayerData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData12sendContentsERNS_6BridgeE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity11AccountData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity13AnonymousData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity13AnonymousData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity13AnonymousData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14GameEntityData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14GameEntityData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14GameEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData12sendContentsERNS_6BridgeE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity14RootEntityData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity15AdminEntityData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity15AdminEntityData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity15AdminEntityData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity8GameData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity8GameData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity8GameData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects6Entity9AdminData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects6Entity9AdminData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects6Entity9AdminData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects8RootData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS8_ESaISt4pairIKS8_SA_EEE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData12sendContentsERNS_6BridgeE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects8RootData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects8RootData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ActionData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ActionData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ActionData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10AffectData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10AffectData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10AffectData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10CreateData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10CreateData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10CreateData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DeleteData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DeleteData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DeleteData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DivideData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DivideData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10DivideData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ListenData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ListenData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10ListenData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10LogoutData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10LogoutData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation10LogoutData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11CombineData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11CombineData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11CombineData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11GenericData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11GenericData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation11GenericData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation12PerceiveData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation12PerceiveData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation12PerceiveData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation13ImaginaryData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation13ImaginaryData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation13ImaginaryData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14AppearanceData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14AppearanceData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14AppearanceData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14PerceptionData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14PerceptionData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation14PerceptionData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation15CommunicateData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation15CommunicateData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation15CommunicateData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17DisappearanceData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17DisappearanceData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17DisappearanceData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData11getAttrFlagERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData12addToMessageERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_7Message7ElementESt4lessIS9_ESaISt4pairIKS9_SB_EEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData12getAttrClassERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData12sendContentsERNS_6BridgeE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation17RootOperationData8copyAttrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7Message7ElementE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7GetData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7GetData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7GetData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7SetData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7SetData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7SetData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7UseData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7UseData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation7UseData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8FeelData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8FeelData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8FeelData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8InfoData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8InfoData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8InfoData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8LookData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8LookData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8LookData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8MoveData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8MoveData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8MoveData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8TalkData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8TalkData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation8TalkData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9ErrorData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9ErrorData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9ErrorData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9LoginData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9LoginData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9LoginData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SightData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SightData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SightData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SmellData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SmellData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SmellData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SniffData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SniffData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SniffData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SoundData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SoundData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9SoundData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9TouchData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9TouchData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9TouchData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9WieldData10instanceOfEi@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9WieldData4copyEv@Base 0.6.2 + _ZNK5Atlas7Objects9Operation9WieldData7iterateERiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 0.6.2 + (optional=inline)_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE4findERS7_@Base 0.6.2 + _ZNSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Objects8SmartPtrINS8_8RootDataEEESt4lessIS6_ESaISt4pairIS6_SB_EEED1Ev@Base 0.6.2 + _ZNSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5Atlas7Objects8SmartPtrINS8_8RootDataEEESt4lessIS6_ESaISt4pairIS6_SB_EEED2Ev@Base 0.6.2 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE12emplace_backIIS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE19_M_emplace_back_auxIIS2_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_@Base 0.6.3 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED1Ev@Base 0.6.2 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EED2Ev@Base 0.6.2 + _ZNSt6vectorIN5Atlas7Message7ElementESaIS2_EEaSERKS4_@Base 0.6.2 + (regex|optional=templinst)_ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EE17_M_default_appendE[mj]@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT_@Base 0.6.3 + _ZNSt6vectorIN5Atlas7Objects8SmartPtrINS1_8RootDataEEESaIS4_EEaSERKS6_@Base 0.6.2 + (optional=templinst)_ZNSt6vectorIdSaIdEE12emplace_backIIdEEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIdSaIdEE12emplace_backIJdEEEvDpOT_@Base 0.6.3 + (regex|optional=templinst)_ZNSt6vectorIdSaIdEE17_M_default_appendE[mj]@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIdSaIdEE19_M_emplace_back_auxIIdEEEvDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt6vectorIdSaIdEE19_M_emplace_back_auxIJdEEEvDpOT_@Base 0.6.3 + _ZNSt6vectorIdSaIdEEaSERKS1_@Base 0.6.2 + _ZNSt7__cxx1110_List_baseINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_clearEv@Base 0.6.2 + (regex|optional=templinst)_ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_default_appendE[mj]@Base 0.6.3 + (optional=templinst)_ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6insertISt20_List_const_iteratorIS5_EvEESt14_List_iteratorIS5_ESA_T_SD_@Base 0.6.3 + (regex|optional=templinst)_ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeE[mj]@Base 0.6.3 + (optional=inline)_ZNSt7__cxx114listINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEaSERKS7_@Base 0.6.2 + (optional=templinst)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS6_EESO_IIEEEEESt17_Rb_tree_iteratorISD_ESt23_Rb_tree_const_iteratorISD_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS6_EESO_IJEEEEESt17_Rb_tree_iteratorISD_ESt23_Rb_tree_const_iteratorISD_EDpOT_@Base 0.6.3 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE24_M_get_insert_unique_posERS6_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISD_ERS6_@Base 0.6.2 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_N5Atlas7Objects8SmartPtrINS9_8RootDataEEEESt10_Select1stISD_ESt4lessIS6_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E@Base 0.6.2 + (optional=templinst)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIISD_EESS_IIEEEEESt17_Rb_tree_iteratorISH_ESt23_Rb_tree_const_iteratorISH_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJSD_EESS_IJEEEEESt17_Rb_tree_iteratorISH_ESt23_Rb_tree_const_iteratorISH_EDpOT_@Base 0.6.3 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE24_M_get_insert_unique_posESD_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISH_ESD_@Base 0.6.2 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE4findESD_@Base 0.6.2 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE7_M_copyINSN_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISH_EPKSR_SS_RT_@Base 0.6.2 + _ZNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_S7_IPFN5Atlas7Objects8SmartPtrINS9_8RootDataEEERS6_iEiEESt10_Select1stISH_ESt4lessIS6_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE7_M_copyINSB_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS5_EPKSF_SG_RT_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE11equal_rangeERS7_@Base 0.6.2 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSJ_PSt13_Rb_tree_nodeISB_E@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIOS5_EESM_IIEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS7_EESM_IIEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS5_EESM_IJEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESM_IJEEEEESt17_Rb_tree_iteratorISB_ESt23_Rb_tree_const_iteratorISB_EDpOT_@Base 0.6.3 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE5eraseERS7_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE7_M_copyINSH_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISB_EPKSL_SM_RT_@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.6.2 + _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5Atlas7Message7ElementEESt10_Select1stISB_ESt4lessIS5_ESaISB_EEaSERKSH_@Base 0.6.2 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS7_EESJ_IIEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 0.6.3 + (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 0.6.3 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 0.6.2 + (optional=inline)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_@Base 0.6.2 + _ZNSt8_Rb_treeIiSt4pairIKiMN5Atlas7Objects10DispatcherEFvRKNS3_8SmartPtrINS3_8RootDataEEEEESt10_Select1stISC_ESt4lessIiESaISC_EE8_M_eraseEPSt13_Rb_tree_nodeISC_E@Base 0.6.2 + _ZTIN5Atlas11EncoderBaseE@Base 0.6.3 + _ZTIN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTIN5Atlas7Objects10DispatcherE@Base 0.6.2 + _ZTIN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 + _ZTIN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 + _ZTIN5Atlas7Objects14ObjectsEncoderE@Base 0.6.3 + _ZTIN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 + _ZTIN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 + _ZTIN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 + _ZTIN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 + _ZTIN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 + _ZTIN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 + _ZTIN5Atlas7Objects8RootDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 + _ZTIN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 + _ZTSN5Atlas11EncoderBaseE@Base 0.6.3 + _ZTSN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTSN5Atlas7Objects10DispatcherE@Base 0.6.2 + _ZTSN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 + _ZTSN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 + _ZTSN5Atlas7Objects14ObjectsEncoderE@Base 0.6.3 + _ZTSN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 + _ZTSN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 + _ZTSN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 + _ZTSN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 + _ZTSN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 + _ZTSN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 + _ZTSN5Atlas7Objects8RootDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 + _ZTSN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 + _ZTVN5Atlas7Message18WrongTypeExceptionE@Base 0.6.2 + _ZTVN5Atlas7Objects10DispatcherE@Base 0.6.2 + _ZTVN5Atlas7Objects14BaseObjectDataE@Base 0.6.2 + _ZTVN5Atlas7Objects14ObjectsDecoderE@Base 0.6.2 + _ZTVN5Atlas7Objects14ObjectsEncoderE@Base 0.6.3 + _ZTVN5Atlas7Objects19LoadDefaultsDecoderE@Base 0.6.2 + _ZTVN5Atlas7Objects19NoSuchAttrExceptionE@Base 0.6.2 + _ZTVN5Atlas7Objects22NoSuchFactoryExceptionE@Base 0.6.2 + _ZTVN5Atlas7Objects23DefaultLoadingExceptionE@Base 0.6.2 + _ZTVN5Atlas7Objects23NullSmartPtrDereferenceE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity10PlayerDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity11AccountDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity13AnonymousDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity14GameEntityDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity14RootEntityDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity15AdminEntityDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity8GameDataE@Base 0.6.2 + _ZTVN5Atlas7Objects6Entity9AdminDataE@Base 0.6.2 + _ZTVN5Atlas7Objects8RootDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10ActionDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10AffectDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10CreateDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10DeleteDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10DivideDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10ListenDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation10LogoutDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation11CombineDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation11GenericDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation12PerceiveDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation13ImaginaryDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation14AppearanceDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation14PerceptionDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation15CommunicateDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation17DisappearanceDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation17RootOperationDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation7GetDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation7SetDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation7UseDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation8FeelDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation8InfoDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation8LookDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation8MoveDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation8TalkDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9ErrorDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9LoginDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9SightDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9SmellDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9SniffDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9SoundDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9TouchDataE@Base 0.6.2 + _ZTVN5Atlas7Objects9Operation9WieldDataE@Base 0.6.2 diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-dev.install atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-dev.install --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-dev.install 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-dev.install 2015-09-28 06:02:25.000000000 +0000 @@ -1,4 +1,3 @@ -usr/bin usr/include/Atlas-C++-0.6/Atlas usr/lib/*/lib*-0.6.so usr/lib/*/pkgconfig diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-dev.manpages atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-dev.manpages --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-dev.manpages 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-dev.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/atlas_convert.1 diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.install atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.install --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.install 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.install 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1 @@ +usr/bin diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.lintian-overrides atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.lintian-overrides --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.lintian-overrides 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1,4 @@ +# The Debian Games team is split about whether or not to implement packages +# in this way. Fedora and most upstreams do not install into /usr/games. +# Not using /usr/games seems to be the direction for distro standardization. +libatlas-cpp-0.6-tools: package-section-games-but-contains-no-game diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.manpages atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.manpages --- atlas-cpp-0.6.2/debian/libatlas-cpp-0.6-tools.manpages 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-0.6-tools.manpages 2015-10-05 05:53:28.000000000 +0000 @@ -0,0 +1 @@ +debian/atlas_convert.1 diff -Nru atlas-cpp-0.6.2/debian/libatlas-cpp-doc.lintian-overrides atlas-cpp-0.6.3/debian/libatlas-cpp-doc.lintian-overrides --- atlas-cpp-0.6.2/debian/libatlas-cpp-doc.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/debian/libatlas-cpp-doc.lintian-overrides 2015-09-28 06:02:25.000000000 +0000 @@ -0,0 +1,3 @@ +# Necessary for Doxygen documentation. For more information see: +# http://sources.debian.net/src/doxygen/1.8.9.1-5/debian/README.jquery +libatlas-cpp-doc: embedded-javascript-library diff -Nru atlas-cpp-0.6.2/debian/patches/0003-add-protocol-xml-file.patch atlas-cpp-0.6.3/debian/patches/0003-add-protocol-xml-file.patch --- atlas-cpp-0.6.2/debian/patches/0003-add-protocol-xml-file.patch 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/patches/0003-add-protocol-xml-file.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,3798 +0,0 @@ -Description: adds a missing protocol specification definition file -Author: Stephen M. Webb -Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=664549 -Forwarded: yes - ---- /dev/null -+++ b/protocol/spec/atlas.xml -@@ -0,0 +1,3666 @@ -+ -+ -+ root -+ -+ root_entityroot_operationroot_typeroot_interface -+ 0.0 -+ 0.0 -+ meta -+ base_interface -+ -+ All objects inherit from this. -+ You can browse all definitions starting from here and -+descending into childrens. -+ atlas -+ -+ idparentschildrenstampstamp_inheritobjtypeinterfacenamedescriptionlong_descriptionspecification -+ root.def -+ 2 -+ -+ -+ -+ root_entity -+ root -+ admin_entitygame_entity -+ class -+ Starting point for entity hierarchy -+ Later in hierarchy tree objtype changes to 'object' when actual game objects are made. -+ -+ 0.00.00.0 -+ 0.00.00.0 -+ -+ 0.0 -+ -+ idparentschildrenobjtypedescriptionlong_descriptionlocposvelocitycontainsstamp_contains -+ entity.def -+ 2 -+ -+ -+ -+ admin_entity -+ root_entity -+ accountgame -+ All classes and objects used for adminitrativive purposes -+ -+ idparentschildrendescription -+ entity.def -+ 95 -+ -+ -+ -+ account -+ admin_entity -+ playeradmin -+ Base class for accounts -+ -+ -+ -+ -+ idparentschildrendescriptionusernamepasswordcharacters -+ entity.def -+ 100 -+ -+ -+ -+ player -+ account -+ -+ Player accounts -+ -+ idparentschildrendescription -+ entity.def -+ 108 -+ -+ -+ -+ admin -+ account -+ -+ Privileged accounts -+ -+ idparentschildrendescription -+ entity.def -+ 113 -+ -+ -+ -+ game -+ admin_entity -+ -+ Games this server hosts -+ -+ idparentschildrendescription -+ entity.def -+ 118 -+ -+ -+ -+ game_entity -+ root_entity -+ geometry -+ atlas_game -+ game_interface -+ All In Game classes and objects -+ -+ idparentschildrenspecificationinterfacedescription -+ entity.def -+ 123 -+ -+ -+ -+ root_operation -+ root -+ actioninfo -+ op_definition -+ 0 -+ 0 -+ Base operation for all operators -+ This is base operation for all other -+ operations and defines basic attributes. You can use this as -+ starting point for browsing whole operation hiearchy. refno refers -+ to operation this is reply for. In examples all attributes that -+ are just as examples (and thus world specific) are started with 'e_'. -+ -+ -+ 0.0 -+ 0.0 -+ -+ -+ -+ idparentschildrenobjtypeserialnorefnodescriptionlong_descriptionfromtosecondsfuture_secondstime_stringargs -+ operation.def -+ 2 -+ -+ -+ -+ action -+ root_operation -+ createdeletesetgetimaginaryuse -+ This is base operator for operations that might have effects. -+ -+ idparentschildrendescription -+ operation.def -+ 21 -+ -+ -+ -+ info -+ root_operation -+ perceptionerror -+ This is base operator for operations that tell you info about objects or events. -+ -+ -+ op -+ info -+ -+ -+ Here is some info -+ -+ e_msg -+ operation.def -+ 35 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 31 -+ -+ -+ -+ -+ idparentschildrendescriptionexample -+ operation.def -+ 26 -+ -+ -+ -+ create -+ action -+ combinedividecommunicate -+ Create new things from nothing using this operator. -+ Map editor is main user for this in client side. Server uses this inside "info" operation to tell client about new things. -+ entity describing object that is being created -+ -+ Creating axe instance -+ -+ op -+ create -+ map-editor -+ -+ -+ axe -+ Ordinary axe -+ 3 -+ -+ parentsnamee_attack -+ operation.def -+ 51 -+ -+ -+ -+ -+ objtypeparentsfromargs -+ operation.def -+ 46 -+ -+ -+ -+ -+ idparentschildrendescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 38 -+ -+ -+ -+ delete -+ action -+ -+ Delete something. -+ id of entity to be deleted -+ -+ -+ op -+ delete -+ -+ -+ foo_bar_344 -+ -+ id -+ operation.def -+ 66 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 62 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 56 -+ -+ -+ -+ set -+ action -+ affectmovewield -+ Sets attributes for existing entity. -+ -+ This one sets HP=50, height=1.8, width=0.3 for object "9899" -+ -+ op -+ set -+ -+ -+ 9899 -+ 50 -+ 1.8 -+ 0.3 -+ -+ ide_HPe_heighte_width -+ operation.def -+ 79 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 75 -+ -+ -+ -+ -+ idparentschildrendescriptionexample -+ operation.def -+ 69 -+ -+ -+ -+ affect -+ set -+ -+ -+ idparentschildren -+ operation.def -+ 85 -+ -+ -+ -+ get -+ action -+ perceivelogin -+ Generic operation for getting info about things. -+ id of target entity -+ -+ -+ op -+ get -+ -+ -+ elf_type_id_45 -+ -+ id -+ operation.def -+ 99 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 95 -+ -+ -+ <h4>Browsing operator hierarchy example:</h4> -+<p> -+First start from operator hierarchy root (root_operation): -+ -+ op -+ get -+ -+ -+ root_operation -+ -+ id -+ operation.def -+ 108 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 104 -+ -+ -+ Answer might be: -+ -+ op -+ info -+ -+ -+ root_operation -+ actioninfo -+ Base operator for all operatios -+ -+ idchildrendescription -+ operation.def -+ 115 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 111 -+ -+ -+ Then you can ask about action and info: -+ -+ op -+ get -+ -+ -+ action -+ -+ id -+ operation.def -+ 124 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 120 -+ -+ -+ -+ op -+ get -+ -+ -+ info -+ -+ id -+ operation.def -+ 130 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 126 -+ -+ -+ Etc... -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 89 -+ -+ -+ -+ perception -+ info -+ sightsoundsmellfeel -+ atlas_game -+ Character perceives something. -+ Base operator for all kind of perceptions -+ perceived thing -+ -+ Usually derived operations are used, general notes -+ on perceptions and actions: -+ <ul> -+ <li><b>action.from:</b> who made character to do something -+ (talk for example); usually character itself, but -+ not always, examples: -+ <ul> -+ <li>atlas_irc_gateway does puppet characters it -+ has created for each nick from irc side -+ <li>admin teaches NPCs by making them to talk -+ itself -+ <li>possession by spell -+ </ul> -+ -+ <li><b>action.to:</b> same as character always -+ -+ <li><b>perception.from:</b> who produced this perception: -+ always character itself (for example sound of talk) -+ (well... unless you are made to hallusinate ;-) -+ -+ <li><b>perception.to:</b> you (unless you are -+ server, then it's target to receive perception) -+ </ul> -+ -+ <b>conclusion:</b> should use perception.from instead of -+ inner action.from to decide who produced result -+ <br> -+ See <a href="#sound">sound</a> and -+ <a href="#sight">sight</a> -+ for actual examples -+ -+ -+ op -+ perception -+ -+ -+ tree_8374 -+ -+ id -+ operation.def -+ 177 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 173 -+ -+ -+ -+ -+ idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 134 -+ -+ -+ -+ error -+ info -+ -+ Something went wrong -+ objects describing what went wrong<br> -+First argument is error entity which describes error. -+Second argument is operation which is wrong (not given if not relevant). -+ -+ Client sent "foo" -operation which server rejects -+ -+ op -+ error -+ 123 -+ -+ -+ Uknown operation foo -+ -+ message -+ operation.def -+ 194 -+ -+ -+ -+ op -+ foo -+ 123 -+ -+ -+ do some foo thing by using bar -+ -+ e_bar -+ operation.def -+ 201 -+ -+ -+ -+ -+ objtypeparentsserialnoargs -+ operation.def -+ 196 -+ -+ -+ -+ -+ objtypeparentsrefnoargs -+ operation.def -+ 189 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 180 -+ -+ -+ -+ combine -+ create -+ -+ atlas_game -+ Combine existing objects into new objects. -+ This is how normal characters create objects. -+ first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material. -+ -+ Creating axe from wood and iron -+ -+ op -+ combine -+ -+ -+ axe -+ Bjorn's axe -+ -+ parentsname -+ operation.def -+ 217 -+ -+ -+ -+ Wood_8898 -+ -+ id -+ operation.def -+ 220 -+ -+ -+ -+ Iron_6578 -+ -+ id -+ operation.def -+ 222 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 213 -+ -+ -+ -+ -+ idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 204 -+ -+ -+ -+ divide -+ create -+ -+ atlas_game -+ Divide existing object into pieces. -+ One of the pieces might be original object modified. -+ id of original object and entities describing pieces. -+ -+ taking money from pile -+ -+ op -+ divide -+ -+ -+ money12345 -+ -+ id -+ operation.def -+ 238 -+ -+ -+ -+ money12345 -+ 10 -+ -+ ide_amount -+ operation.def -+ 240 -+ -+ -+ -+ 110 -+ -+ e_amount -+ operation.def -+ 243 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 234 -+ -+ -+ -+ -+ idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 225 -+ -+ -+ -+ communicate -+ create -+ talk -+ atlas_game -+ Base operator for all kind of communication. -+ communication entity -+ see talk -+ -+ idparentschildrenspecificationdescriptionargs_descriptionexample -+ operation.def -+ 246 -+ -+ -+ -+ move -+ set -+ -+ atlas_game -+ Change position -+ More about <a href="move.html">movement here</a> -+ entity with id and new position -+ -+ Movement conversation example: -+ -+ op -+ move -+ 123 -+ 9899 -+ -+ -+ 9899 -+ 11 -+ 12.33.00.0 -+ -+ idlocpos -+ operation.def -+ 270 -+ -+ -+ -+ -+ objtypeparentsserialnofromargs -+ operation.def -+ 264 -+ -+ -+ Reply from server -+ -+ op -+ infosight -+ 1231 -+ 123 -+ 9899 -+ 9899 -+ 19036033149.3 -+ 0612-01-05 10:59:09.3 -+ -+ -+ op -+ setmove -+ 1230 -+ 123 -+ 9899 -+ 19036033149.3 -+ 0612-01-05 10:59:09.3 -+ -+ -+ 9899 -+ 11 -+ 12.33.00.0 -+ -+ idlocpos -+ operation.def -+ 294 -+ -+ -+ -+ -+ objtypeparentsserialnorefnofromsecondstime_stringargs -+ operation.def -+ 285 -+ -+ -+ -+ -+ objtypeparentsserialnorefnofromtosecondstime_stringargs -+ operation.def -+ 275 -+ -+ -+ -+ -+ idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 255 -+ -+ -+ -+ perceive -+ get -+ looklistensnifftouch -+ atlas_game -+ Generic base operation for perceiving things by eyes, ears, etc... -+ object to be perceived -+ -+ -+ op -+ perceive -+ -+ -+ elf_3545 -+ -+ id -+ operation.def -+ 310 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 306 -+ -+ -+ -+ -+ idparentschildrenspecificationdescriptionargs_descriptionexample -+ operation.def -+ 299 -+ -+ -+ -+ login -+ get -+ logout -+ Operation for logging into server -+ For more about <a href="login.html">out of game atlas here</a> -+ entity with player name and password attribute -+ -+ -+ op -+ login -+ -+ -+ JoeBlatz -+ Rqv67.% -+ -+ idpassword -+ operation.def -+ 324 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 320 -+ -+ -+ Conversation examples:<br> When you connect to -+ server you either need to have account already or make -+ one. Here is "start by creating account" -example: -+ -+ op -+ create -+ 1 -+ -+ -+ player74 -+ player -+ player_password -+ -+ idparentspassword -+ operation.def -+ 335 -+ -+ -+ -+ -+ objtypeparentsserialnoargs -+ operation.def -+ 330 -+ -+ -+ What if you already had account by that name? Then -+ reply from server could be something like this (1 argument: -+ message, 2 argument: original operation): -+ -+ op -+ error -+ 4 -+ 1 -+ 19036033149.3 -+ 0612-01-05 10:59:09.3 -+ -+ -+ Account id already exist -+ -+ message -+ operation.def -+ 350 -+ -+ -+ -+ op -+ create -+ 1 -+ -+ -+ player74 -+ player -+ player_password -+ -+ idparentspassword -+ operation.def -+ 357 -+ -+ -+ -+ -+ objtypeparentsserialnoargs -+ operation.def -+ 352 -+ -+ -+ -+ -+ objtypeparentsserialnorefnosecondstime_stringargs -+ operation.def -+ 342 -+ -+ -+ For more about error operation see -+ <a href="#error">error operation definition</a>. -+ <br><br> -+ If account login went OK them you might receive something -+ like: -+ -+ op -+ info -+ 2 -+ 1 -+ 19036033149.3 -+ 0612-01-05 10:59:09.3 -+ -+ -+ player74 -+ player -+ player_password -+ Bjorn_1 -+ -+ idparentspasswordcharacters -+ operation.def -+ 374 -+ -+ -+ -+ -+ objtypeparentsserialnorefnosecondstime_stringargs -+ operation.def -+ 366 -+ -+ -+ If you do not have character, then you need to -+ create one. Creating character is similar to how you create -+ account. -+ -+ op -+ create -+ 2 -+ -+ -+ farmer -+ Nisuf -+ ordinary farmer -+ male -+ -+ parentsnamedescriptione_sex -+ operation.def -+ 387 -+ -+ -+ -+ -+ objtypeparentsserialnoargs -+ operation.def -+ 382 -+ -+ -+ Result of character creation is same as with account -+ creation, only resulting object differs. -+ -+ -+ idparentschildrendescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 313 -+ -+ -+ -+ logout -+ login -+ -+ Operation for logging out -+ entity with player name -+ -+ -+ op -+ logout -+ -+ -+ JoeBlatz -+ -+ id -+ operation.def -+ 405 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 401 -+ -+ -+ Most useful with server<->server communication -+ telling that certain connection is not anymore pertinent -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 395 -+ -+ -+ -+ sight -+ perception -+ appearancedisappearance -+ Character sees something -+ object or event character sees -+ -+ See <a href="#perception">perception</a> operation too<br> -+ Common example: -+ -+ op -+ sight -+ -+ -+ grass1 -+ 989.24 -+ -+ idstamp -+ operation.def -+ 422 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 418 -+ -+ -+ Reply for looking at 'grass1': -+ -+ op -+ sight -+ -+ -+ grass1 -+ terrain -+ path1tree1 -+ Grass plains -+ -+ 0.00.0 -+ 10.00.0 -+ 10.00.0 -+ 0.010.0 -+ 0.00.0 -+ -+ -+ idparentscontainsdescriptione_polygon -+ operation.def -+ 430 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 426 -+ -+ -+ Event example: -+ -+ op -+ sight -+ -+ -+ op -+ move -+ -+ -+ orc_23498 -+ grass1 -+ 0.53.00.0 -+ -+ idlocpos -+ operation.def -+ 450 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 446 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 442 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 410 -+ -+ -+ -+ sound -+ perception -+ -+ Character hears something -+ thing character heard -+ -+ See <a href="#perception">perception</a> operation too<br> -+ Example (every operation might have from, -+to and time tags, not only this operation): -+ -+ op -+ sound -+ sentry_34 -+ -+ -+ op -+ talk -+ -+ -+ What has happened there? -+ -+ say -+ operation.def -+ 473 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 469 -+ -+ -+ -+ -+ objtypeparentsfromargs -+ operation.def -+ 464 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 455 -+ -+ -+ -+ smell -+ perception -+ -+ Character smells something -+ thing character smells -+ -+ Example (every operation might have from, -+to and time tags, not only this operation): -+ -+ op -+ smell -+ flower_34 -+ -+ -+ sweet -+ -+ e_smell -+ operation.def -+ 650 -+ -+ -+ -+ -+ objtypeparentsfromargs -+ operation.def -+ 645 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 637 -+ -+ -+ -+ feel -+ perception -+ -+ Character feels something (with fingers usually) -+ thing character touches -+ -+ -+ op -+ feel -+ -+ -+ cloth_34 -+ rough -+ -+ ide_surface_type -+ operation.def -+ 663 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 659 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 653 -+ -+ -+ -+ imaginary -+ action -+ -+ When something is not yet implemented in server, then character can pretend to do something ;-) -+ event that is supposed to happen -+ -+ -+ op -+ imaginary -+ -+ -+ some_unimplemented_action -+ -+ id -+ operation.def -+ 677 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 673 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 667 -+ -+ -+ -+ talk -+ communicate -+ -+ used for talking -+ need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log -+ sentence(s) entity -+ -+ -+ op -+ talk -+ -+ -+ What has happened there? -+ -+ say -+ operation.def -+ 691 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 687 -+ -+ -+ Talking out of game is same, -+except you use player id instead of character id. -+ -+ -+ idparentschildrendescriptionlong_descriptionargs_descriptionexample -+ operation.def -+ 680 -+ -+ -+ -+ look -+ perceive -+ -+ Looking at something -+ target entity -+ -+ -+ op -+ look -+ -+ -+ elf_3545 -+ -+ id -+ operation.def -+ 707 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 703 -+ -+ -+ Conversation examples:<br> When you connect to -+ server you need to look to see things. Server sends all new -+ things that appear and all changes that you see (like -+ movement). But it is clients responsibility to make first -+ update of what it sees. Reason is that only client knows what -+ it has cached. -+ -+ <p>First look can have empty argument list: then server sends -+ appropriate top level object for current scheme. -+ -+ op -+ look -+ 5 -+ Bjorn_10 -+ -+ -+ objtypeparentsserialnofromargs -+ operation.def -+ 718 -+ -+ -+ Server reply: -+ -+ op -+ setsight -+ 100 -+ 5 -+ Bjorn_10 -+ Bjorn_10 -+ 19035667864.4 -+ 0612-01-01 05:31:04.4 -+ -+ -+ world_0 -+ world -+ tavern_2market_3home_4axe_5Nisuf_6Miyora_7home_8smithy_9Bjorn_10 -+ 19035660000.0 -+ 0.00.00.0 -+ -+ idparentscontainsstamppos -+ operation.def -+ 735 -+ -+ -+ -+ -+ objtypeparentsserialnorefnofromtosecondstime_stringargs -+ operation.def -+ 725 -+ -+ -+ Client looks at contains attribute of above object -+ and then looks for those objects in turn: -+ -+ op -+ look -+ 6 -+ Bjorn_10 -+ -+ -+ Nisuf_6 -+ -+ id -+ operation.def -+ 749 -+ -+ -+ -+ -+ objtypeparentsserialnofromargs -+ operation.def -+ 743 -+ -+ -+ And then server tells you more about it: -+ -+ op -+ setsight -+ 105 -+ 6 -+ Nisuf_6 -+ Bjorn_10 -+ 19035667864.4 -+ 0612-01-01 05:31:04.4 -+ -+ -+ Nisuf_6 -+ farmer -+ 0.0 -+ 19035650000.0 -+ world_0 -+ 20.050.0300.0 -+ ordinary farmer -+ Nisuf -+ 1.0 -+ -+ idparentse_drunknessstamplocposdescriptionnamee_status -+ operation.def -+ 762 -+ -+ -+ -+ -+ objtypeparentsserialnorefnofromtosecondstime_stringargs -+ operation.def -+ 752 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 697 -+ -+ -+ -+ listen -+ perceive -+ -+ Listen (something) -+ target entity -+ -+ -+ op -+ listen -+ -+ -+ elf_3545 -+ -+ id -+ operation.def -+ 783 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 779 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 773 -+ -+ -+ -+ sniff -+ perceive -+ -+ Sniff something -+ target entity -+ -+ -+ op -+ sniff -+ -+ -+ flower_3545 -+ -+ id -+ operation.def -+ 796 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 792 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 786 -+ -+ -+ -+ touch -+ perceive -+ -+ Touch something -+ target entity -+ -+ -+ op -+ touch -+ -+ -+ cloth_3545 -+ -+ id -+ operation.def -+ 809 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 805 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 799 -+ -+ -+ -+ appearance -+ sight -+ -+ Character sees something appearing: it literally appears or has it come in visible range -+ object or event character sees -+ -+ -+ op -+ appearance -+ -+ -+ grass1 -+ 989.24 -+ -+ idstamp -+ operation.def -+ 822 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 818 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 812 -+ -+ -+ -+ disappearance -+ sight -+ -+ Character sees something disappearing: it literally disappears or has it gone too far to be visible -+ object or event character sees -+ -+ -+ op -+ disappearance -+ -+ -+ grass1 -+ 989.24 -+ -+ idstamp -+ operation.def -+ 836 -+ -+ -+ -+ -+ objtypeparentsargs -+ operation.def -+ 832 -+ -+ -+ -+ -+ idparentschildrendescriptionargs_descriptionexample -+ operation.def -+ 826 -+ -+ -+ -+ wield -+ set -+ -+ Attach a tool to the character entity at a pre-defined location so that the character can use it. -+ Tool or item to be wielded -+ -+ idparentschildrendescriptionargs_description -+ operation.def -+ 840 -+ -+ -+ -+ use -+ action -+ -+ Use a currently wielded tool. -+ Target tool is used on, or operation chosen from those available for this tool, with target given as its argument. -+ -+ idparentschildrendescriptionargs_description -+ operation.def -+ 846 -+ -+ -+ -+ root_type -+ root -+ stringintfloatlistmap -+ meta -+ Type hierarchy starts from here. -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 2 -+ -+ -+ -+ string -+ root_type -+ uriobjtypespecificationnamemessagehtmlusernamepasswordtime_stringe_string -+ data_type -+ UTF-8 encoded string. -+ Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 8 -+ -+ -+ -+ int -+ root_type -+ list_lengthserialnoe_int -+ data_type -+ Integer. -+ C equivalent: 32bit int -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 15 -+ -+ -+ -+ float -+ root_type -+ stampsecondswidthheighte_float -+ data_type -+ Floating point number. -+ C equivalent roughly: double -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 22 -+ -+ -+ -+ uri -+ string -+ idmediafilenamee_uri -+ type -+ URI (URL) of object -+ C equivalent roughly: for storing id name: char *, as pointer: void *<br> -+URI is Uniform Resource Locator. -+For more about URI see -+<a href="http://www.ics.uci.edu/pub/ietf/uri/">http://www.ics.uci.edu/pub/ietf/uri/</a> -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 29 -+ -+ -+ -+ string_list -+ list -+ uri_list -+ type -+ string -+ List of strings -+ -+ idparentschildrenobjtypeelement_typedescription -+ type.def -+ 99 -+ -+ -+ -+ int_list -+ list -+ int_list_length -+ type -+ int -+ List of integers -+ C equivalent: int [] -+ -+ idparentschildrenobjtypeelement_typedescriptionlong_description -+ type.def -+ 106 -+ -+ -+ -+ float_list -+ list -+ float_list_length -+ type -+ float -+ List of floats -+ C equivalent: double [] -+ -+ idparentschildrenobjtypeelement_typedescriptionlong_description -+ type.def -+ 114 -+ -+ -+ -+ uri_list -+ string_list -+ id_listattribute_order -+ uri -+ URI list -+ C equivalent: char *[], void *[] -+ -+ idparentschildrenelement_typedescriptionlong_description -+ type.def -+ 122 -+ -+ -+ -+ list -+ root_type -+ string_listint_listfloat_listargsexamplegrid_dataline_datae_list -+ data_type -+ List of objects -+ C equivalent: void *[] -+ -+ -+ idparentschildrenobjtypedescriptionlong_descriptionadded_attributes -+ type.def -+ 129 -+ -+ -+ -+ map -+ mapping -+ root_type -+ specification_file -+ data_type -+ Mapping between string key and value object -+ C equivalent: struct map {char *;void *}; map* -+ -+ -+ idnameparentschildrenobjtypedescriptionlong_descriptionadded_attributes -+ type.def -+ 137 -+ -+ -+ -+ int_list_length -+ int_list -+ grid_size -+ meta -+ 0 -+ List of ints with constant length -+ Inherit required object from this and set length attribute to suitable value. -+ -+ idparentschildrenobjtypelist_lengthdescriptionlong_description -+ type.def -+ 146 -+ -+ -+ -+ float_list_length -+ float_list -+ posvelocitycell_size -+ meta -+ 0 -+ List of floats with constant length -+ Inherit required object from this and set length attribute to suitable value. -+ -+ idparentschildrenobjtypelist_lengthdescriptionlong_description -+ type.def -+ 154 -+ -+ -+ -+ pos -+ position -+ float_list_length -+ -+ type -+ 3 -+ Position coordinates, usually world is 3D -+ -+ idnameparentschildrenobjtypelist_lengthdescription -+ type.def -+ 162 -+ -+ -+ -+ velocity -+ float_list_length -+ -+ type -+ 3 -+ Velocity object is moving, usually world is 3D -+ -+ idparentschildrenobjtypelist_lengthdescription -+ type.def -+ 170 -+ -+ -+ -+ list_length -+ int -+ -+ type -+ Length for lists -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 177 -+ -+ -+ -+ element_type -+ id -+ -+ Element type for typed lists/mappings -+ -+ idparentschildrendescription -+ type.def -+ 183 -+ -+ -+ -+ id -+ uri -+ element_typeinterfacelocfromto -+ Id of object -+ C equivalent roughly: for storing id name: char *, as pointer: void * -+ -+ idparentschildrendescriptionlong_description -+ type.def -+ 188 -+ -+ -+ -+ id_list -+ uri_list -+ parentschildrencontainsoperations -+ List of ids -+ -+ idparentschildrendescription -+ type.def -+ 194 -+ -+ -+ -+ parents -+ id_list -+ -+ List of objects this inherits attributes from. -+ -+ idparentschildrendescription -+ type.def -+ 199 -+ -+ -+ -+ children -+ id_list -+ -+ List of objects that inherit from this object. -+ -+ idparentschildrendescription -+ type.def -+ 204 -+ -+ -+ -+ contains -+ id_list -+ added_attributescharacters -+ List of objects that use this object as reference system (usually same as what this object contains). -+ -+ idparentschildrendescription -+ type.def -+ 209 -+ -+ -+ -+ added_attributes -+ contains -+ -+ List of attributes that has been added to this object -+ -+ idparentschildrendescription -+ type.def -+ 214 -+ -+ -+ -+ characters -+ contains -+ -+ List of characters account can control -+ -+ idparentschildrendescription -+ type.def -+ 219 -+ -+ -+ -+ args -+ list -+ -+ type -+ List of arguments this operation has -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 224 -+ -+ -+ -+ operations -+ id_list -+ -+ List of alloved operations -+ Content ids can be either another interface or operation ids or both. -+ -+ idparentschildrendescriptionlong_description -+ type.def -+ 230 -+ -+ -+ -+ stamp -+ float -+ stamp_inheritstamp_contains -+ type -+ Last time this object was modified. -+ Value should be reflect when something was -+ changed in this object. Any scheme is ok as long as newer numbers -+ are bigger than older stamps. For example, seconds since Jan 1st, -+ 1970 or total game cycles would both be valid. -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 236 -+ -+ -+ -+ stamp_inherit -+ stamp -+ -+ type -+ Last time any object that inherits from this has been modified -+ Value should be reflect when something was changed in some object that inherits from this. -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 246 -+ -+ -+ -+ stamp_contains -+ stamp -+ -+ type -+ Last time any object that uses this as reference recursively has been modified -+ Value should be reflect when something was changed in some object that is contained by this object. -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 260 -+ -+ -+ -+ objtype -+ object type -+ string -+ -+ type -+ What kind of object this is. -+ Examples of values: "op", "class", "type". -+ -+ idnameparentschildrenobjtypedescriptionlong_description -+ type.def -+ 442 -+ -+ -+ -+ interface -+ id -+ -+ What kind of operations are legal for this object. -+ -+ idparentschildrendescription -+ type.def -+ 455 -+ -+ -+ -+ specification -+ string -+ -+ type -+ What specification this object is part of? -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 460 -+ -+ -+ -+ name -+ string -+ -+ type -+ Name of object. -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 466 -+ -+ -+ -+ message -+ string -+ say -+ type -+ Some message (for example error message) -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 472 -+ -+ -+ -+ say -+ message -+ -+ What something has said. -+ -+ idparentschildrendescription -+ type.def -+ 478 -+ -+ -+ -+ html -+ string -+ description -+ type -+ String that is actually html. -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 483 -+ -+ -+ -+ username -+ string -+ -+ type -+ Username for account usually -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 489 -+ -+ -+ -+ password -+ string -+ -+ type -+ Password for account usually -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 495 -+ -+ -+ -+ description -+ html -+ args_descriptionlong_description -+ This gives short description of object. -+ -+ idparentschildrendescription -+ type.def -+ 501 -+ -+ -+ -+ args_description -+ description -+ -+ This gives description about arguments. -+ -+ idparentschildrendescription -+ type.def -+ 506 -+ -+ -+ -+ long_description -+ description -+ -+ This gives long description of object. -+ -+ idparentschildrendescription -+ type.def -+ 511 -+ -+ -+ -+ loc -+ location -+ id -+ -+ type -+ Reference object for coordinates (location). -+ -+ idnameparentschildrenobjtypedescription -+ type.def -+ 516 -+ -+ -+ -+ serialno -+ int -+ refnolineno -+ type -+ Serial number. -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 523 -+ -+ -+ -+ refno -+ serialno -+ -+ Reference to serial number. -+ -+ idparentschildrendescription -+ type.def -+ 529 -+ -+ -+ -+ from -+ id -+ -+ Source of message/operation. -+ -+ idparentschildrendescription -+ type.def -+ 534 -+ -+ -+ -+ to -+ id -+ -+ Target of message/operation. -+ When client sends operation to it's character -+ in server, then you can omit this because server can assume -+ character can only control directly it's body. -+ -+ idparentschildrendescriptionlong_description -+ type.def -+ 539 -+ -+ -+ -+ seconds -+ float -+ future_seconds -+ type -+ Time in seconds -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 547 -+ -+ -+ -+ future_seconds -+ seconds -+ -+ Time in seconds to add current time -+ -+ idparentschildrendescription -+ type.def -+ 553 -+ -+ -+ -+ time_string -+ string -+ -+ type -+ Time in string format: YYYY-MM-DD HH:MM:SS.ss -+ There can be variation in length of different fields if using some weird calendar -+ -+ idparentschildrenobjtypedescriptionlong_description -+ type.def -+ 558 -+ -+ -+ -+ example -+ list -+ -+ type -+ Gives some examples usage -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 565 -+ -+ -+ -+ width -+ float -+ -+ type -+ width of something -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 572 -+ -+ -+ -+ grid_data -+ list -+ -+ type -+ grid data -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 578 -+ -+ -+ -+ grid_size -+ int_list_length -+ -+ type -+ 2 -+ size of grid area: width and height (and for space depth too) in grid units -+ -+ idparentschildrenobjtypelist_lengthdescription -+ type.def -+ 584 -+ -+ -+ -+ cell_size -+ float_list_length -+ -+ type -+ 2 -+ cell size of grid area -+ -+ idparentschildrenobjtypelist_lengthdescription -+ type.def -+ 591 -+ -+ -+ -+ height -+ float -+ -+ type -+ height of something -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 598 -+ -+ -+ -+ line_data -+ list -+ -+ type -+ line object -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 604 -+ -+ -+ -+ media -+ uri -+ -+ media id reference -+ -+ idparentschildrendescription -+ type.def -+ 610 -+ -+ -+ -+ specification_file -+ map -+ -+ type -+ various info about object and its specification file -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 616 -+ -+ -+ -+ filename -+ uri -+ -+ name of file (example: where object was specified) -+ -+ idparentschildrendescription -+ type.def -+ 622 -+ -+ -+ -+ lineno -+ serialno -+ -+ linenumber where something is -+ -+ idparentschildrendescription -+ type.def -+ 627 -+ -+ -+ -+ attribute_order -+ uri_list -+ -+ order attributes was specified -+ -+ idparentschildrendescription -+ type.def -+ 632 -+ -+ -+ -+ e_int -+ int -+ e_HPe_attacke_amount -+ type -+ Root type for all int type example attributes -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 638 -+ -+ -+ -+ e_float -+ float -+ e_heighte_widthe_drunknesse_status -+ type -+ Root type for all float type example attributes -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 644 -+ -+ -+ -+ e_string -+ string -+ e_msge_smelle_surface_typee_bare_sex -+ type -+ Root type for all string type example attributes -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 650 -+ -+ -+ -+ e_uri -+ uri -+ -+ Root type for all uri type example attributes -+ -+ idparentschildrendescription -+ type.def -+ 656 -+ -+ -+ -+ e_list -+ list -+ e_polygon -+ type -+ Root type for all list type example attributes -+ -+ idparentschildrenobjtypedescription -+ type.def -+ 661 -+ -+ -+ -+ e_HP -+ e_int -+ -+ -+ idparentschildren -+ type.def -+ 668 -+ -+ -+ -+ e_height -+ e_float -+ -+ -+ idparentschildren -+ type.def -+ 672 -+ -+ -+ -+ e_width -+ e_float -+ -+ -+ idparentschildren -+ type.def -+ 676 -+ -+ -+ -+ e_msg -+ e_string -+ -+ -+ idparentschildren -+ type.def -+ 680 -+ -+ -+ -+ e_polygon -+ e_list -+ -+ -+ idparentschildren -+ type.def -+ 684 -+ -+ -+ -+ e_attack -+ e_int -+ -+ -+ idparentschildren -+ type.def -+ 688 -+ -+ -+ -+ e_amount -+ e_int -+ -+ -+ idparentschildren -+ type.def -+ 692 -+ -+ -+ -+ e_smell -+ e_string -+ -+ -+ idparentschildren -+ type.def -+ 696 -+ -+ -+ -+ e_surface_type -+ e_string -+ -+ -+ idparentschildren -+ type.def -+ 700 -+ -+ -+ -+ e_bar -+ e_string -+ -+ -+ idparentschildren -+ type.def -+ 704 -+ -+ -+ -+ e_sex -+ e_string -+ -+ -+ idparentschildren -+ type.def -+ 708 -+ -+ -+ -+ e_drunkness -+ e_float -+ -+ -+ idparentschildren -+ type.def -+ 712 -+ -+ -+ -+ e_status -+ e_float -+ -+ -+ idparentschildren -+ type.def -+ 716 -+ -+ -+ -+ root_interface -+ root -+ base_interfacegame_interface -+ meta -+ starting point for interface browsing, not used otherwise -+ -+ -+ idparentschildrenobjtypedescriptionoperations -+ interface.def -+ 2 -+ -+ -+ -+ base_interface -+ root_interface -+ -+ interface -+ raw interface -+ admin can use this interface for setting -+ abstract hierarchy and actual game objects too -+ createdeletesetget -+ -+ idparentschildrenobjtypedescriptionlong_descriptionoperations -+ interface.def -+ 9 -+ -+ -+ -+ game_interface -+ root_interface -+ -+ atlas_game -+ interface -+ client interface for controlling character etc.. -+ createcombinedividecommunicatemoveperceivetalklooklistensnifftouch -+ -+ idparentschildrenspecificationobjtypedescriptionoperations -+ interface.def -+ 18 -+ -+ -+ -+ geometry -+ game_entity -+ arealine -+ Base for all geometry related map elements -+ -+ idparentschildrendescription -+ map.def -+ 2 -+ -+ -+ -+ area -+ geometry -+ 2D_gridagrilanagrilan_watersagrilan_lands -+ Some kind 2D area -+ -+ idparentschildrendescription -+ map.def -+ 7 -+ -+ -+ -+ line -+ geometry -+ riverroad_blockroad -+ Some kind line -+ 0.0 -+ -+ -+ -+ 123 -+ line -+ 0.1 -+ -+ 0.00.00.0 -+ 1.00.00.0 -+ 1.01.00.0 -+ -+ -+ idparentswidthline_data -+ map.def -+ 19 -+ -+ -+ -+ -+ idparentschildrendescriptionwidthline_dataexample -+ map.def -+ 12 -+ -+ -+ -+ 2D_grid -+ area -+ hillyplainlakeriverroad_block -+ some area -+ Basically container for "Terrain Exception Data in AMIS". -+ 1.01.0 -+ 11 -+ -+ Example usage: see agrilan_map.* -+ -+ idparentschildrennamedescriptioncell_sizegrid_sizegrid_dataexample -+ map.def -+ 28 -+ -+ -+ -+ agrilan -+ area -+ -+ example -+ This is whole agrilan map: at coords only hight is guessed -+ and because this is toplevel now, there is no ref attribute -+ in location -+ Hand made example map based on -+ http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg -+ No media id's here though, except few example... -+ -+ First ascii map: -+origin: -80,-40 -+<PRE> -+HHLHRPAP -+HLLRRRPA -+HHLHHRPA -+PPPPPRPA -+PPPPPPRA -+FFFPPAAA -+</PRE> -+Legend:<br> -+H=Hilly<br> -+L=Lake<br> -+R=River<br> -+A=roAd<br> -+P=Plains<br> -+F=Forest<br> -+ -+ 0.00.0300.0 -+ agrilan_landsagrilan_waters -+ refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg -+ -+ idparentschildrenspecificationdescriptionlong_descriptionposcontainsmedia -+ agrilan_map.def -+ 2 -+ -+ -+ -+ hilly -+ example -+ Hilly part around Eluryh lake -+ Defining hilly type first -+ (here could be for example movement_speed -+ attribute too for example) -+ 2D_grid -+ hilly1hilly2hilly3 -+ media id for generic hilly type -+ 40.040.0 -+ -+ idspecificationnamedescriptionparentschildrenmediacell_size -+ agrilan_map.def -+ 35 -+ -+ -+ -+ hilly1 -+ Specific hilly instances: note missing place -+ where there is lake -+ hilly -+ -+ agrilan_lands -+ -80.0-40.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 23 -+ -+ -+ 10.0 -+ special media id for this tile (not shown for all) -+ -+ heightmedia -+ agrilan_map.def -+ 58 -+ -+ -+ -+ 5.0 -+ -+ height -+ agrilan_map.def -+ 61 -+ -+ -+ -+ 4.0 -+ -+ height -+ agrilan_map.def -+ 63 -+ -+ -+ -+ 3.0 -+ -+ height -+ agrilan_map.def -+ 66 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 68 -+ -+ -+ -+ 2.0 -+ -+ height -+ agrilan_map.def -+ 69 -+ -+ -+ -+ -+ iddescriptionparentschildrenlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 46 -+ -+ -+ -+ hilly2 -+ hilly -+ -+ -+ agrilan_lands -+ 40.0-40.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 11 -+ -+ -+ 10.0 -+ -+ height -+ agrilan_map.def -+ 83 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 72 -+ -+ -+ -+ hilly3 -+ hilly -+ -+ -+ agrilan_lands -+ 40.040.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 21 -+ -+ -+ 10.0 -+ -+ height -+ agrilan_map.def -+ 97 -+ -+ -+ -+ 10.0 -+ -+ height -+ agrilan_map.def -+ 100 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 86 -+ -+ -+ -+ plain -+ example -+ Plains -+ Defining plain type -+ 2D_grid -+ plain1plain2plain3plain4 -+ media id for generic plain type -+ 40.040.0 -+ -+ idspecificationnamedescriptionparentschildrenmediacell_size -+ agrilan_map.def -+ 103 -+ -+ -+ -+ plain1 -+ plain -+ -+ Specific plains -+ agrilan_lands -+ -80.080.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 63 -+ -+ -+ 2.0 -+ -+ height -+ agrilan_map.def -+ 123 -+ -+ -+ -+ 2.2 -+ -+ height -+ agrilan_map.def -+ 125 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 127 -+ -+ -+ -+ 1.8 -+ -+ height -+ agrilan_map.def -+ 129 -+ -+ -+ -+ 2.0 -+ -+ height -+ agrilan_map.def -+ 131 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 133 -+ -+ -+ -+ 1.6 -+ -+ height -+ agrilan_map.def -+ 135 -+ -+ -+ -+ 1.8 -+ -+ height -+ agrilan_map.def -+ 137 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 139 -+ -+ -+ -+ 1.4 -+ -+ height -+ agrilan_map.def -+ 141 -+ -+ -+ -+ 1.6 -+ -+ height -+ agrilan_map.def -+ 143 -+ -+ -+ -+ 1.6 -+ -+ height -+ agrilan_map.def -+ 145 -+ -+ -+ -+ 1.2 -+ -+ height -+ agrilan_map.def -+ 148 -+ -+ -+ -+ 1.4 -+ -+ height -+ agrilan_map.def -+ 150 -+ -+ -+ -+ 1.4 -+ -+ height -+ agrilan_map.def -+ 152 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 155 -+ -+ -+ -+ 1.2 -+ -+ height -+ agrilan_map.def -+ 156 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 158 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 112 -+ -+ -+ -+ plain2 -+ plain -+ -+ -+ agrilan_lands -+ 120.080.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 11 -+ -+ -+ 1.3 -+ -+ height -+ agrilan_map.def -+ 171 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 160 -+ -+ -+ -+ plain3 -+ plain -+ -+ -+ agrilan_lands -+ 200.080.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 11 -+ -+ -+ 1.3 -+ -+ height -+ agrilan_map.def -+ 185 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 174 -+ -+ -+ -+ plain4 -+ plain -+ -+ -+ agrilan_lands -+ 160.080.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 14 -+ -+ -+ 1.25 -+ -+ height -+ agrilan_map.def -+ 199 -+ -+ -+ -+ 1.2 -+ -+ height -+ agrilan_map.def -+ 202 -+ -+ -+ -+ 1.15 -+ -+ height -+ agrilan_map.def -+ 205 -+ -+ -+ -+ 1.1 -+ -+ height -+ agrilan_map.def -+ 208 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 188 -+ -+ -+ -+ lake -+ example -+ Lake -+ Defining lake type -+ 2D_grid -+ lake1 -+ media id for generic lake type -+ 40.040.0 -+ -+ idspecificationnamedescriptionparentschildrenmediacell_size -+ agrilan_map.def -+ 211 -+ -+ -+ -+ lake1 -+ Eluryh -+ One lake -+ lake -+ -+ agrilan_waters -+ -80.080.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 23 -+ -+ -+ -+ -+ agrilan_map.def -+ 232 -+ -+ -+ -+ 1.15 -+ -+ height -+ agrilan_map.def -+ 233 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 235 -+ -+ -+ -+ 1.15 -+ -+ height -+ agrilan_map.def -+ 237 -+ -+ -+ -+ 1.15 -+ -+ height -+ agrilan_map.def -+ 239 -+ -+ -+ -+ 1.15 -+ -+ height -+ agrilan_map.def -+ 241 -+ -+ -+ -+ -+ idnamedescriptionparentschildrenlocposmediagrid_sizegrid_data -+ agrilan_map.def -+ 220 -+ -+ -+ -+ river -+ example -+ River -+ Defining river type -+ 2D_gridline -+ river1river2 -+ media id for generic river type -+ 40.040.0 -+ -+ idspecificationnamedescriptionparentschildrenmediacell_size -+ agrilan_map.def -+ 244 -+ -+ -+ -+ river1 -+ Hardonar river -+ Few rivers -+ river -+ -+ agrilan_waters -+ 80.0-40.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 25.0 -+ -+ 100.0-40.01.1 -+ 140.020.01.08 -+ 140.0100.01.05 -+ 160.0140.01.03 -+ 160.0200.01.0 -+ -+ 36 -+ -+ -+ 1.09 -+ -+ height -+ agrilan_map.def -+ 272 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 274 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 275 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 276 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 277 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 278 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 279 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 281 -+ -+ -+ -+ 1.08 -+ -+ height -+ agrilan_map.def -+ 282 -+ -+ -+ -+ 1.07 -+ -+ height -+ agrilan_map.def -+ 284 -+ -+ -+ -+ 1.06 -+ -+ height -+ agrilan_map.def -+ 286 -+ -+ -+ -+ 1.05 -+ -+ height -+ agrilan_map.def -+ 288 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 290 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 291 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 293 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 294 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 295 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 296 -+ -+ -+ -+ -+ -+ agrilan_map.def -+ 297 -+ -+ -+ -+ 1.03 -+ -+ height -+ agrilan_map.def -+ 298 -+ -+ -+ -+ 1.01 -+ -+ height -+ agrilan_map.def -+ 300 -+ -+ -+ -+ -+ idnamedescriptionparentschildrenlocposmediawidthline_datagrid_sizegrid_data -+ agrilan_map.def -+ 253 -+ -+ -+ -+ river2 -+ river -+ -+ connects to lake -+ agrilan_waters -+ 40.00.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ 5.0 -+ -+ 140.020.01.08 -+ 40.020.01.15 -+ -+ 21 -+ -+ -+ 1.13 -+ -+ height -+ agrilan_map.def -+ 318 -+ -+ -+ -+ 1.1 -+ -+ height -+ agrilan_map.def -+ 321 -+ -+ -+ -+ -+ idparentschildrendescriptionlocposmediawidthline_datagrid_sizegrid_data -+ agrilan_map.def -+ 303 -+ -+ -+ -+ agrilan_waters -+ example -+ All Agrilan waters container -+ area -+ -+ agrilan -+ 0.00.00.0 -+ lake1river1river2 -+ -+ idspecificationdescriptionparentschildrenlocposcontains -+ agrilan_map.def -+ 324 -+ -+ -+ -+ road_block -+ example -+ Road block -+ Defining road types -+ 2D_gridline -+ bridgeroad1road2road3 -+ media id for generic road type -+ 40.040.0 -+ 5.0 -+ -+ idspecificationnamedescriptionparentschildrenmediacell_sizewidth -+ agrilan_map.def -+ 333 -+ -+ -+ -+ bridge -+ Bridge -+ Defining bridge type -+ road_block -+ bridge1 -+ media id for generic bridge type -+ 40.040.0 -+ -+ idnamedescriptionparentschildrenmediacell_size -+ agrilan_map.def -+ 343 -+ -+ -+ -+ road -+ example -+ Road -+ Collection of road blocks -+ line -+ murray_r1 -+ media id for generic road type -+ -+ idspecificationnamedescriptionparentschildrenmedia -+ agrilan_map.def -+ 351 -+ -+ -+ -+ road1 -+ Actual road -+ road_block -+ -+ murray_r1 -+ 160.0-40.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ -+ 180.0-40.01.4 -+ 220.00.01.4 -+ -+ 11 -+ -+ -+ 1.4 -+ -+ height -+ agrilan_map.def -+ 373 -+ -+ -+ -+ -+ iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_data -+ agrilan_map.def -+ 359 -+ -+ -+ -+ road2 -+ Actual road -+ road_block -+ -+ murray_r1 -+ 200.00.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ -+ 220.00.01.4 -+ 220.0180.01.3 -+ -+ 15 -+ -+ -+ 1.38 -+ -+ height -+ agrilan_map.def -+ 390 -+ -+ -+ -+ 1.36 -+ -+ height -+ agrilan_map.def -+ 393 -+ -+ -+ -+ 1.34 -+ -+ height -+ agrilan_map.def -+ 396 -+ -+ -+ -+ 1.32 -+ -+ height -+ agrilan_map.def -+ 399 -+ -+ -+ -+ 1.3 -+ -+ height -+ agrilan_map.def -+ 402 -+ -+ -+ -+ -+ iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_data -+ agrilan_map.def -+ 376 -+ -+ -+ -+ bridge1 -+ Actual bridge -+ bridge -+ -+ Murray bridge -+ murray_r1 -+ 160.0160.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ -+ 220.0180.01.3 -+ 140.0180.01.3 -+ -+ 11 -+ -+ -+ 2.0 -+ -+ height -+ agrilan_map.def -+ 420 -+ -+ -+ -+ -+ iddescriptionparentschildrennamelocposmedialine_datagrid_sizegrid_data -+ agrilan_map.def -+ 405 -+ -+ -+ -+ road3 -+ Actual road -+ road_block -+ -+ murray_r1 -+ 120.0160.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ -+ 140.0180.01.3 -+ 100.0180.01.2 -+ -+ 11 -+ -+ -+ 1.3 -+ -+ height -+ agrilan_map.def -+ 437 -+ -+ -+ -+ Murdar road -+ -+ iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_dataname -+ agrilan_map.def -+ 423 -+ -+ -+ -+ murray_r1 -+ Murray Road -+ This brings all roads blocks together -+ (line data more generic than on lower levels) -+ road -+ -+ agrilan_lands -+ 0.00.00.0 -+ media id for whole area (text media may want to use it or -+ overview 2D media too) -+ road1road2bridge1road3 -+ -+ 180.0-40.01.4 -+ 220.0180.01.3 -+ 100.0180.01.2 -+ -+ -+ idnamedescriptionparentschildrenlocposmediacontainsline_data -+ agrilan_map.def -+ 441 -+ -+ -+ -+ agrilan_lands -+ example -+ All agrilan lands -+ area -+ -+ 0.00.00.0 -+ hilly1hilly2hilly3plain1plain2plain3plain4murray_r1 -+ -+ idspecificationdescriptionparentschildrenposcontains -+ agrilan_map.def -+ 457 -+ -+ -+ ---- a/tests/Objects/objects2.cpp -+++ b/tests/Objects/objects2.cpp -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - #if USE_XML - #define USE_FILE 0 -@@ -118,7 +119,14 @@ - TestDecoder bridge; - #if USE_FILE - fstream stream; -- stream.open("../../../../protocols/atlas/spec/atlas.xml", std::ios::in); -+ std::string atlas_xml_path; -+ char * srcdir_env = getenv("srcdir"); -+ if (srcdir_env != 0) { -+ atlas_xml_path = srcdir_env; -+ atlas_xml_path += "/"; -+ } -+ atlas_xml_path += "../../protocol/spec/atlas.xml"; -+ stream.open(atlas_xml_path, std::ios::in); - assert(!!stream); - #else - std::stringstream stream; -@@ -429,8 +437,15 @@ - - int main() - { -+ std::string atlas_xml_path; -+ char * srcdir_env = getenv("srcdir"); -+ if (srcdir_env != 0) { -+ atlas_xml_path = srcdir_env; -+ atlas_xml_path += "/"; -+ } -+ atlas_xml_path += "../../protocol/spec/atlas.xml"; - try { -- Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); -+ Atlas::Objects::loadDefaults(atlas_xml_path); - } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " - << e.getDescription() << std::endl; ---- a/tests/Objects/decoder1.cpp -+++ b/tests/Objects/decoder1.cpp -@@ -2,6 +2,7 @@ - #include - - #include -+#include - - bool root_arrived = false; - bool look_arrived = false; -@@ -40,8 +41,15 @@ - - int main(int argc, char** argv) - { -+ std::string atlas_xml_path; -+ char * srcdir_env = getenv("srcdir"); -+ if (srcdir_env != 0) { -+ atlas_xml_path = srcdir_env; -+ atlas_xml_path += "/"; -+ } -+ atlas_xml_path += "../../protocol/spec/atlas.xml"; - try { -- Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); -+ Atlas::Objects::loadDefaults(atlas_xml_path); - } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " - << e.getDescription() << std::endl; ---- a/tests/Objects/encoder1.cpp -+++ b/tests/Objects/encoder1.cpp -@@ -6,6 +6,7 @@ - - #include - #include -+#include - - class RootDecoder : public Atlas::Message::DecoderBase - { -@@ -21,8 +22,15 @@ - - int main(int argc, char** argv) - { -+ std::string atlas_xml_path; -+ char * srcdir_env = getenv("srcdir"); -+ if (srcdir_env != 0) { -+ atlas_xml_path = srcdir_env; -+ atlas_xml_path += "/"; -+ } -+ atlas_xml_path += "../../protocol/spec/atlas.xml"; - try { -- Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); -+ Atlas::Objects::loadDefaults(atlas_xml_path); - } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " - << e.getDescription() << std::endl; ---- a/tests/Objects/objects1.cpp -+++ b/tests/Objects/objects1.cpp -@@ -3,6 +3,7 @@ - #include - - #include -+#include - #include - - using Atlas::Objects::Root; -@@ -13,8 +14,15 @@ - - int main(int argc, char** argv) - { -+ std::string atlas_xml_path; -+ char * srcdir_env = getenv("srcdir"); -+ if (srcdir_env != 0) { -+ atlas_xml_path = srcdir_env; -+ atlas_xml_path += "/"; -+ } -+ atlas_xml_path += "../../protocol/spec/atlas.xml"; - try { -- Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); -+ Atlas::Objects::loadDefaults(atlas_xml_path); - } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " - << e.getDescription() << std::endl; diff -Nru atlas-cpp-0.6.2/debian/patches/series atlas-cpp-0.6.3/debian/patches/series --- atlas-cpp-0.6.2/debian/patches/series 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/patches/series 2015-09-28 06:02:25.000000000 +0000 @@ -1,3 +1,2 @@ 0001-remove-werror.patch 0002-xfail-test-object1.patch -0003-add-protocol-xml-file.patch diff -Nru atlas-cpp-0.6.2/debian/rules atlas-cpp-0.6.3/debian/rules --- atlas-cpp-0.6.2/debian/rules 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/rules 2015-09-28 06:02:25.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/make -f %: - dh $@ --with autoreconf + dh $@ --parallel --with autoreconf override_dh_install: dh_install --fail-missing -X.la -X.a @@ -21,7 +21,3 @@ dh_strip -p$${pkg} --dbg-package=$${pkg}-dbg; \ done dh_strip -s --remaining-packages - -override_dh_builddeb: - dh_builddeb -- -Zxz - diff -Nru atlas-cpp-0.6.2/debian/watch atlas-cpp-0.6.3/debian/watch --- atlas-cpp-0.6.2/debian/watch 2015-08-18 20:20:35.000000000 +0000 +++ atlas-cpp-0.6.3/debian/watch 2015-09-28 06:02:25.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -http://sf.net/worldforge/Atlas-C\+\+-([\d+\.]+|\d+)\.tar\.bz2 debian +http://sf.net/worldforge/Atlas-C\+\+-([\d+\.]+|\d+)\.(?:tar\.(?:gz|bz2|xz)) debian uupdate diff -Nru atlas-cpp-0.6.2/depcomp atlas-cpp-0.6.3/depcomp --- atlas-cpp-0.6.2/depcomp 2009-10-25 23:18:46.000000000 +0000 +++ atlas-cpp-0.6.3/depcomp 2011-11-20 14:39:21.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2007-03-29.01 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software -# Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free +# Software Foundation, Inc. # 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 @@ -17,9 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -87,6 +85,15 @@ depmode=dashmstdout fi +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u="sed s,\\\\\\\\,/,g" + depmode=msvisualcpp +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -192,14 +199,14 @@ ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' -' ' ' >> $depfile - echo >> $depfile +' ' ' >> "$depfile" + echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile + >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -328,7 +335,12 @@ if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. - sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi @@ -404,7 +416,7 @@ # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift @@ -455,32 +467,39 @@ "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift - cleared=no - for arg in "$@"; do + cleared=no eat=no + for arg + do case $cleared in no) set ""; shift cleared=yes ;; esac + if test $eat = yes; then + eat=no + continue + fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done - obj_suffix="`echo $object | sed 's/^.*\././'`" + obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" @@ -500,7 +519,7 @@ # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift @@ -538,13 +557,27 @@ msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. + # always write the preprocessed file to stdout. "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + IFS=" " for arg do case "$arg" in + -o) + shift + ;; + $object) + shift + ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift @@ -557,16 +590,23 @@ ;; esac done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + none) exec "$@" ;; @@ -585,5 +625,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff -Nru atlas-cpp-0.6.2/install-sh atlas-cpp-0.6.3/install-sh --- atlas-cpp-0.6.2/install-sh 2009-10-25 23:18:46.000000000 +0000 +++ atlas-cpp-0.6.3/install-sh 2011-11-20 14:39:21.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2006-12-25.00 +scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -515,5 +515,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff -Nru atlas-cpp-0.6.2/ltmain.sh atlas-cpp-0.6.3/ltmain.sh --- atlas-cpp-0.6.2/ltmain.sh 2008-01-30 20:26:55.000000000 +0000 +++ atlas-cpp-0.6.3/ltmain.sh 2012-12-20 08:59:59.000000000 +0000 @@ -1,52 +1,92 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# + +# libtool (GNU libtool) 2.4 +# Written by Gordon Matzigkeit , 1996 + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify +# 2007, 2008, 2009, 2010 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 the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, but +# 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --no-quiet, --no-silent +# print informational messages (default) +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print more informational messages than default +# --no-verbose don't print the extra informational messages +# --version print version information +# -h, --help, --help-all print short, long, or detailed help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. When passed as first option, +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.4 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . +# GNU libtool home page: . +# General help using GNU software: . -PROGRAM=ltmain.sh +PROGRAM=libtool PACKAGE=libtool -VERSION=1.5.24 -TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" +VERSION=2.4 +TIMESTAMP="" +package_revision=1.3293 -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +# define SED for historic ltconfig's generated by Libtool 1.3 +test -z "$SED" && SED=sed + +# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: @@ -60,98 +100,462 @@ BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} # func_dirname may be replaced by extended shell implementation + + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "${1}" | $SED "$basename"` +} # func_basename may be replaced by extended shell implementation + + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` +} # func_dirname_and_basename may be replaced by extended shell implementation + + +# func_stripname 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). +# func_strip_suffix prefix name +func_stripname () +{ + 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 may be replaced by extended shell implementation + + +# These SED scripts presuppose an absolute path with a trailing slash. +pathcar='s,^/\([^/]*\).*$,\1,' +pathcdr='s,^/[^/]*,,' +removedotparts=':dotsl + s@/\./@/@g + t dotsl + s,/\.$,/,' +collapseslashes='s@/\{1,\}@/@g' +finalslash='s,/*$,/,' + +# func_normal_abspath PATH +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +# value returned in "$func_normal_abspath_result" +func_normal_abspath () +{ + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` + while :; do + # Processed it all yet? + if test "$func_normal_abspath_tpath" = / ; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result" ; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + +# func_relative_path SRCDIR DSTDIR +# generates a relative path from SRCDIR to DSTDIR, with a trailing +# slash if non-empty, suitable for immediately appending a filename +# without needing to append a separator. +# value returned in "$func_relative_path_result" +func_relative_path () +{ + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=${func_dirname_result} + if test "x$func_relative_path_tlibdir" = x ; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test "x$func_stripname_result" != x ; then + func_relative_path_result=${func_relative_path_result}/${func_stripname_result} + fi + + # Normalisation. If bindir is libdir, return empty string, + # else relative path ending with a slash; either way, target + # file name can be directly appended. + if test ! -z "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result/" + func_relative_path_result=$func_stripname_result + fi +} + +# The name of this program: +func_dirname_and_basename "$progpath" +progname=$func_basename_result + +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=: + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' + +# Sed substitution that converts a w32 file name or path +# which contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }$*" +} + +# func_verbose arg... +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $opt_verbose && func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +# func_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 + + # bash bug again: + : +} + +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 -##################################### -# Shell function definitions: -# This seems to be the best place for them +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` + done + my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} + # func_mktempdir [string] # Make a temporary directory that won't clash with other running @@ -161,7 +565,7 @@ { my_template="${TMPDIR-/tmp}/${1-$progname}" - if test "$run" = ":"; then + if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else @@ -170,6338 +574,8876 @@ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi - $echo "X$my_tmpdir" | $Xsed + $ECHO "$my_tmpdir" } -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () { - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + esac +} + + +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "$1" | $SED \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + *) + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" +} + + +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi fi +} + + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + +# func_tr_sh +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac + * ) + func_tr_sh_result=$1 ;; esac - $echo $win32_libid_type } -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () +# func_version +# Echo version message to standard output and exit. +func_version () { - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case "$@ " in - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} + $opt_debug + $SED -n '/(C)/!b go + :more + /\./!{ + N + s/\n# / / + b more + } + :go + /^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? +} -# func_extract_an_archive dir oldlib -func_extract_an_archive () +# func_usage +# Echo short help message to standard output and exit. +func_usage () { - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" + $opt_debug - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi + $SED -n '/^# Usage:/,/^# *.*--help/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + echo + $ECHO "run \`$progname --help | more' for full usage" + exit $? } -# func_extract_archives gentop oldlib ... -func_extract_archives () +# func_help [NOEXIT] +# Echo long help message to standard output and exit, +# unless 'noexit' is passed as argument. +func_help () { - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" + $opt_debug - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status + $SED -n '/^# Usage:/,/# Report bugs to/ { + :print + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + d + } + /^# .* home page:/b print + /^# General help using/b print + ' < "$progpath" + ret=$? + if test -z "$1"; then + exit $ret fi +} - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $opt_debug - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" + func_error "missing argument for $1." + exit_cmd=exit } -# End of Shell function definitions -##################################### -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" -disable_libs=no +# func_split_short_opt shortopt +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +func_split_short_opt () +{ + my_sed_short_opt='1s/^\(..\).*$/\1/;q' + my_sed_short_rest='1s/^..\(.*\)$/\1/;q' -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift + func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` + func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` +} # func_split_short_opt may be replaced by extended shell implementation - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac +# func_split_long_opt longopt +# Set func_split_long_opt_name and func_split_long_opt_arg shell +# variables after splitting LONGOPT at the `=' sign. +func_split_long_opt () +{ + my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' + my_sed_long_arg='1s/^--[^=]*=//' + + func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` + func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` +} # func_split_long_opt may be replaced by extended shell implementation + +exit_cmd=: - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - prev= - prevopt= - continue - fi - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath +magic="%%%MAGIC variable%%%" +magic_exe="%%%MAGIC EXE variable%%%" + +# Global variables. +nonopt= +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "${1}=\$${1}\${2}" +} # func_append may be replaced by extended shell implementation + +# func_append_quoted var value +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +func_append_quoted () +{ + func_quote_for_eval "${2}" + eval "${1}=\$${1}\\ \$func_quote_for_eval_result" +} # func_append_quoted may be replaced by extended shell implementation + + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "${@}"` +} # func_arith may be replaced by extended shell implementation + + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` +} # func_len may be replaced by extended shell implementation + + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` +} # func_lo2o may be replaced by extended shell implementation + + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` +} # func_xform may be replaced by extended shell implementation + + +# func_fatal_configuration arg... +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_error ${1+"$@"} + func_error "See the $PACKAGE documentation for more information." + func_fatal_error "Fatal configuration error." +} + + +# func_config +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + # Now print the configurations for the tags. for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - --dry-run | -n) - run=: - ;; + exit $? +} - --features) - $echo "host: $host" +# func_features +# Display the features supported by this script. +func_features () +{ + echo "host: $host" if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" + echo "enable shared libraries" else - $echo "disable shared libraries" + echo "disable shared libraries" fi if test "$build_old_libs" = yes; then - $echo "enable static libraries" + echo "enable static libraries" else - $echo "disable static libraries" + echo "disable static libraries" fi - exit $? - ;; - - --finish) mode="finish" ;; - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; + exit $? +} - --preserve-dup-deps) duplicate_deps="yes" ;; +# func_enable_tag tagname +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname="$1" - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf="/$re_begincf/,/$re_endcf/p" + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi - *) - nonopt="$arg" - break - ;; - esac -done + exit $EXIT_MISMATCH + fi +} -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi -case $disable_libs in -no) +# Shorthand for --mode=foo, only valid as the first argument +case $1 in +clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; +compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; +execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; +finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift ;; -shared) - build_libtool_libs=no - build_old_libs=yes +install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; +uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= -if test -z "$show_help"; then - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute +# Option defaults: +opt_debug=: +opt_dry_run=false +opt_config=false +opt_preserve_dup_deps=false +opt_features=false +opt_finish=false +opt_help=false +opt_help_all=false +opt_silent=: +opt_verbose=: +opt_silent=false +opt_verbose=false - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi +# Parse options once, thoroughly. This comes as soon as possible in the +# script to make things like `--version' happen as quickly as we can. +{ + # this just eases exit handling + while test $# -gt 0; do + opt="$1" + shift + case $opt in + --debug|-x) opt_debug='set -x' + func_echo "enabling shell trace mode" + $opt_debug + ;; + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + --config) + opt_config=: +func_config + ;; + --dlopen|-dlopen) + optarg="$1" + opt_dlopen="${opt_dlopen+$opt_dlopen +}$optarg" + shift + ;; + --preserve-dup-deps) + opt_preserve_dup_deps=: + ;; + --features) + opt_features=: +func_features + ;; + --finish) + opt_finish=: +set dummy --mode finish ${1+"$@"}; shift + ;; + --help) + opt_help=: + ;; + --help-all) + opt_help_all=: +opt_help=': help-all' + ;; + --mode) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_mode="$optarg" +case $optarg in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; +esac + shift + ;; + --no-silent|--no-quiet) + opt_silent=false +func_append preserve_args " $opt" + ;; + --no-verbose) + opt_verbose=false +func_append preserve_args " $opt" + ;; + --silent|--quiet) + opt_silent=: +func_append preserve_args " $opt" + opt_verbose=false + ;; + --verbose|-v) + opt_verbose=: +func_append preserve_args " $opt" +opt_silent=false + ;; + --tag) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_tag="$optarg" +func_append preserve_args " $opt $optarg" +func_enable_tag "$optarg" + shift + ;; - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= + -\?|-h) func_usage ;; + --help) func_help ;; + --version) func_version ;; + + # Separate optargs to long options: + --*=*) + func_split_long_opt "$opt" + set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} + shift + ;; - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; + # Separate non-argument short options: + -\?*|-h*|-n*|-v*) + func_split_short_opt "$opt" + set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; - target ) - libobj="$arg" - arg_mode=normal - continue - ;; + --) break ;; + -*) func_fatal_help "unrecognized option \`$opt'" ;; + *) set dummy "$opt" ${1+"$@"}; shift; break ;; + esac + done - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; + # Validate options: - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; + # save first non-option argument + if test "$#" -gt 0; then + nonopt="$opt" + shift + fi - -no-suppress) - suppress_opt=no - continue - ;; + # preserve --debug + test "$opt_debug" = : || func_append preserve_args " --debug" - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. + case $host in + *cygwin* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" + $opt_help || { + # Sanity checks first: + func_check_version_match - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" + fi - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test "$opt_mode" != execute; then + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$progname --help --mode=$opt_mode' for more information." + } - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - base_compile="$base_compile $lastarg" - done # for arg + # Bail if the options were screwed + $exit_cmd $EXIT_FAILURE +} - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; +## ----------- ## +## Main. ## +## ----------- ## + +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} - func_infer_tag $base_compile +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" +} - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} - -prefer-pic) - pic_mode=yes - continue - ;; - -prefer-non-pic) - pic_mode=no - continue - ;; - esac +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" done + IFS=$save_ifs +} - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case "$lt_sysroot:$1" in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result="=$func_stripname_result" + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac fi +} - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none fi - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T <${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$lt_sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 - if test ! -d "${xdir}$objdir"; then - $show "$mkdir ${xdir}$objdir" - $run $mkdir ${xdir}$objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then - exit $exit_status - fi - fi - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $opt_debug + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result="" + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result" ; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 - $run $rm "$lobj" "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist - exit $EXIT_FAILURE - fi +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $opt_debug + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" + fi +} +#end: func_cygpath - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` -but it should contain: -$srcfile +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $opt_debug + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - $run $rm $removelist - exit $EXIT_FAILURE - fi +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $opt_debug + if test -z "$2" && test -n "$1" ; then + func_error "Could not determine host file name corresponding to" + func_error " \`$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result="$1" + fi +} +# end func_convert_file_check - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $opt_debug + $to_host_file_cmd "$1" +} +# end func_to_host_file -but it should contain: -$srcfile -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $opt_debug + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file - $run $rm $removelist - exit $EXIT_FAILURE - fi - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result="$1" +} +# end func_convert_file_noop - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via `$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $opt_debug + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd="func_convert_path_${func_stripname_result}" + fi +} - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $opt_debug + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result="$1" +} +# end func_convert_path_noop - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_msys_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_mode_compile arg... +func_mode_compile () +{ + $opt_debug + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify \`-o' more than once" + arg_mode=target continue ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" continue ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" continue ;; - shrext) - shrext_cmds="$arg" - prev= + + -no-suppress) + suppress_opt=no continue ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + func_append_quoted lastarg "$arg" + done + IFS="$save_ifs" + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" continue ;; + *) - eval "$prev=\"\$arg\"" - prev= - continue + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue + esac # case $arg ;; + esac # case $arg_mode - -avoid-version) - avoid_version=yes - continue - ;; + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg - -dlopen) - prev=dlfiles - continue - ;; + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with \`-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj="$func_basename_result" + } + ;; + esac - -dlpreopen) - prev=dlprefiles - continue - ;; + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac - -export-dynamic) - export_dynamic=yes - continue - ;; + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from \`$libobj'" + ;; + esac - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; + func_infer_tag $base_compile - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" + for arg in $later; do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no continue ;; - -inst-prefix-dir) - prev=inst_prefix + -static) + build_libtool_libs=no + build_old_libs=yes continue ;; - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac + -prefer-pic) + pic_mode=yes continue ;; - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac + -prefer-non-pic) + pic_mode=no continue ;; + esac + done - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" + lobj=${xdir}$objdir/$objname - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi - -module) - module=yes - continue - ;; + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + else + output_obj= + need_locks=no + lockfile= + fi - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` - -shrext) - prev=shrext - continue - ;; +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." - -no-fast-install) - fast_install=no - continue - ;; + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result - -no-undefined) - allow_undefined=no - continue - ;; + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile - -objectlist) - prev=objectlist - continue - ;; + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi - -o) prev=output ;; + func_mkdir_p "$xdir$objdir" - -precious-files-regex) - prev=precious_regex - continue - ;; + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi - -release) - prev=release - continue - ;; + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - -rpath) - prev=rpath - continue - ;; + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` - -R) - prev=xrpath - continue - ;; +but it should contain: +$srcfile - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi - -thread-safe) - thread_safe=yes - continue - ;; + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + fi - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + func_append command " -o $obj" + fi - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - -Xcompiler) - prev=xcompiler - continue - ;; + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` - -Xlinker) - prev=xlinker - continue - ;; +but it should contain: +$srcfile - -XCClinker) - prev=xcclinker - continue - ;; +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi - *.$objext) - # A standard object. - objs="$objs $arg" - ;; + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi - *.lo) - # A libtool-controlled object. + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + removelist=$lockfile + $RM "$lockfile" + fi + } - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac + exit $EXIT_SUCCESS +} - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi +$opt_help || { + test "$opt_mode" = compile && func_mode_compile ${1+"$@"} +} - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi +Remove files from the build directory. - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. +Compile a source file into a libtool library object. - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi +This mode accepts the following additional options: - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. - *.la) - # A libtool-controlled library. +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg +Automatically set library path, then run a program. - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop +This mode accepts the following additional options: - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + -dlopen FILE add the directory containing FILE to the library path - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi +This mode sets the library path environment variable according to \`-dlopen' +flags. - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" +Then, COMMAND is executed, with ARGS as arguments." + ;; - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac +Complete the installation of libtool libraries. - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode \`$opt_mode'" + ;; esac - specialdeplibs= - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done + echo + $ECHO "Try \`$progname --help' for more information about other modes." +} - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test "$opt_help" = :; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | sed -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + sed '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir="$func_dirname_result" + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" ;; - *) passes="conv" + + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + continue ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." +test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libs= + libdirs= + admincmds= - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "\`$opt' is not a valid libtool archive" fi - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv + else + func_fatal_error "invalid argument \`$opt'" + fi + done + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and \`=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" fi + done + fi - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi + echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` +test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test "x$prev" = x-m && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false fi + prev= + else + dest=$arg continue fi + ;; + esac + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac + library_names= + old_library= + relink_command= + func_source "$file" - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi + func_dirname "$file" "/" "" + dir="$func_dirname_result" + func_append dir "$objdir" - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' fi - fi # link shared/static library? - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done - dependency_libs="$temp_deplibs" fi - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" else - vars="compile_deplibs finalize_deplibs" + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" + fi + ;; + esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi + func_source "$wrapper" - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" fi ;; esac + done - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi + # Set up the ranlib parameters. + oldlib="$destdir/$name" - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $oldlib" 'exit $?' + fi - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi +test "$opt_mode" = install && func_mode_install ${1+"$@"} - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; +#ifdef __cplusplus +extern \"C\" { +#endif - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; +#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_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 - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; +/* External symbol declarations for the compiler. */\ +" - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - major=`expr $current - $age` - else - major=`expr $current - $age + 1` - fi - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename="" + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname" ; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename="$func_basename_result" + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename" ; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac + echo >> "$output_objdir/$my_dlsyms" "\ - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) - verstring="0.0" + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" + fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; esac done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $opt_debug + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $opt_debug + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive which possess that section. Heuristic: eliminate + # all those which have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $opt_debug + if func_cygming_gnu_implib_p "$1" ; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1" ; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result="" + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + if test "$lock_old_archive_extraction" = yes; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test "$lock_old_archive_extraction" = yes; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ which is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options which match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +/* declarations of non-ANSI functions */ +#if defined(__MINGW32__) +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined(__CYGWIN__) +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined (other platforms) ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined(_MSC_VER) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +# ifndef _INTPTR_T_DEFINED +# define _INTPTR_T_DEFINED +# define intptr_t int +# endif +#elif defined(__MINGW32__) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined(__CYGWIN__) +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined (other platforms) ... */ +#endif + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#if defined(LT_DEBUGWRAPPER) +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + int len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + int orig_value_len = strlen (orig_value); + int add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + int len = strlen (new_value); + while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[len-1] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' + + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $opt_debug + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir="$arg" + prev= + continue + ;; + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" fi - fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; esac - done + continue + ;; - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between \`-L' and \`$1'" + else + func_fatal_error "need path for \`-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; esac - done + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype + test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi + test "X$arg" = "X-lc" && continue ;; esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac fi + func_append deplibs " $arg" + continue + ;; - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save + continue + ;; + + -multi_module) + single_module="${wl}-multi_module" + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + -no-install) case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no ;; + *) no_install=yes ;; esac + continue + ;; - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." + -no-undefined) + allow_undefined=no + continue + ;; - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi + -objectlist) + prev=objectlist + continue + ;; + -o) prev=output ;; - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac + func_fatal_error "only absolute run-paths are allowed" ;; esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= + continue + ;; - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi + -shrext) + prev=shrext + continue + ;; - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi + -thread-safe) + thread_safe=yes + continue + ;; - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done + -version-info) + prev=vinfo + continue + ;; - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi + -weak) + prev=weak + continue + ;; - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" done - deplibs="$tmp_deplibs" + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + -Xcompiler) + prev=xcompiler + continue + ;; - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi + -Xlinker) + prev=xlinker + continue + ;; - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi + -XCClinker) + prev=xcclinker + continue + ;; - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-flto*|-fwhopr*|-fuse-linker-plugin) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` + *.$objext) + # A standard object. + func_append objs " $arg" + ;; - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + *.lo) + # A libtool-controlled object. - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= - $echo "creating a temporary reloadable object file: $output" + # Read the .lo file + func_source "$arg" - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi - libobjs=$output - # Restore the value of output. - output=$save_output + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= fi - exit $lt_exit - } - done - IFS="$save_ifs" + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi + ;; - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi + *.la) + # A libtool-controlled library. - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE + func_resolve_sysroot "$arg" + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` + continue ;; + + # Some other compiler argument. *) - libobj= - obj="$output" + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" ;; - esac + esac # arg - # Delete the old objects. - $run $rm $obj $libobj + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= + if test "$module" = yes ; then + # [Mandriva] dropping ld option "--no-undefined" which is wrong for plugins + linker_flags=`$ECHO "X $linker_flags" | $Xsed -e 's/ --no-undefined//'` + compiler_flags=`$ECHO "X $compiler_flags" | $Xsed -e 's/ -Wl,--no-undefined//'` + fi - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi + specialdeplibs= - exit $EXIT_SUCCESS + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps ; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac fi + func_append libs " $deplib" + done - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop fi + pre_post_deps= + fi - exit $EXIT_SUCCESS - ;; + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" fi - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= fi - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac + deplibs="$deplib $deplibs" + continue ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + pass_all) + valid_a_lib=yes ;; esac + if test "$valid_a_lib" != yes; then + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + else + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" + if test "$found" = yes || test -f "$lib"; then : else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi - fi - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" + func_dirname "$lib" "" "." + ladir="$func_dirname_result" - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ -#ifdef __cplusplus -extern \"C\" { -#endif + # Read the .la file + func_source "$lib" -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi -/* External symbol declarations for the compiler. */\ -" + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + continue + fi # $pass = conv - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test "$prefer_static_libs" = yes || + test "$prefer_static_libs,$installed" = "built,no"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib="$l" + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$lt_sysroot$libdir" + absdir="$lt_sysroot$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + case "$host" in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass fi + continue + fi - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi + if test "$linkmode" = prog && test "$pass" != link; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" fi + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac ;; esac + fi # $linkmode,$pass = prog,link... - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" fi - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no ;; *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" + if test "$installed" = no; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi ;; esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi + # This is a shared library - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + echo + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$opt_mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" + if test "$linkmode" = prog || test "$opt_mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system can not link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif + func_append newlib_search_path " $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + fi -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi -const char *program_name = NULL; + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" - return p; -} + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} + install_libdir="$1" -const char * -base_name (const char *name) -{ - const char *base; + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else -int -check_executable(const char * path) -{ - struct stat st; + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|qnx|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; - assert(str != NULL); - assert(pat != NULL); + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; - len = strlen(str); - patlen = strlen(pat); + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" - if (exit_status >= 0) - exit (exit_status); -} + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; - $echo > $output "\ -#! $SHELL + linux) + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + # Make executables depend on our current version. + func_append verstring ":${current}.0" + ;; -# 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 + qnx) + major=".$current" + versuffix=".$current" + ;; -relink_command=\"$relink_command\" + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" + fi - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" + func_generate_dlsyms "$libname" "$libname" "yes" + func_append libobjs " $symfileobj" + test "X$libobjs" = "X " && libobjs= - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then + if test "$opt_mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi - file=\"\$\$-\$program\" + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + func_append oldlibs " $output_objdir/$libname.$libext" - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` + fi - $echo >> $output "\ + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi fi - fi - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done - $echo >> $output "\ + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done - if test -f \"\$progdir/\$program\"; then" + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + func_append deplibs " -lc" + fi + ;; + esac + fi - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac - export $shlibpath_var -" - fi + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" + if test "$allow_undefined" = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; + esac + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac ;; esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs="$new_libs" - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_apped perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi - addlibs="$old_convenience" - fi - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + shlibpath="$finalize_shlibpath" + test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" else - $echo "copying selected object files to avoid basename conflicts..." + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + lib="$output_objdir/$realname" + linknames= + for link + do + func_append linknames " $link" + done - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes fi fi + ;; + esac - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd1 in $cmds; do + IFS="$save_ifs" + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test "$try_normal_branch" = yes \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=${output_objdir}/${output_la}.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : + tmp_deplibs= + inst_prefix_arg= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + if test -n "$inst_prefix_dir" && test "$inst_prefix_dir" != "/" && (echo "$test_deplib" | grep -- "$inst_prefix_dir" >/dev/null); then + func_append inst_prefix_arg " $test_deplib" else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= + func_append tmp_deplibs " $test_deplib" fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" + ;; + esac + done + deplibs="$tmp_deplibs" + if test -n "$inst_prefix_arg"; then + deplibs="$inst_prefix_arg $deplibs" + fi + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= fi fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" + # Make a backup of the uninstalled library when relinking + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\${concat_cmds}$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE + func_append delfiles " $output" + + else + output= + fi + + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi - newdlprefiles="$newdlprefiles $libdir/$name" + fi + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } done - dlprefiles="$newdlprefiles" + IFS="$save_ifs" + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. + fi -# The name that we can dlopen(3). -dlname='$tdlname' + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi -# Names of this library. -library_names='$library_names' + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" -# The name of the static archive. -old_library='$old_library' + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? -# Version information for $libname. -current=$current -age=$age -revision=$revision + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi -# Is this an already installed library? -installed=$installed + exit $lt_exit + } + done + IFS="$save_ifs" -# Should we warn about portability when linking against -modules? -shouldnotlink=$module + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done - fi - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi ;; - esac - exit $EXIT_SUCCESS - ;; - # libtool install mode - install) - modename="$modename: install" + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" + fi - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result ;; *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi + libobj= + obj="$output" ;; esac - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + func_append generated " $gentop" - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + # If we're not building shared, we need to use non_pic_objs + test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS ;; - esac - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; + esac - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " ${wl}-bind_at_load" + func_append finalize_command " ${wl}-bind_at_load" + ;; + esac fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; esac - fi + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs="$new_libs" - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi + wrappers_required=yes + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=no + ;; + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' - exit $lt_exit - } - done - IFS="$save_ifs" + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' fi - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + fi - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; + exit $exit_status + fi - *.lo) - # Install (i.e. copy) a libtool object. + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi + fi - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' fi + exit $EXIT_SUCCESS - ;; + fi - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" fi + fi - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done + func_show_eval "$link_command" 'exit $?' - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + # Now create the wrapper script. + func_verbose "creating $output" - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - # Set up the ranlib parameters. - oldlib="$destdir/$name" + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + func_append oldobjs " $symfileobj" + fi + fi + addlibs="$old_convenience" fi - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS + eval cmds=\"$old_archive_cmds\" - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - # libtool execute mode - execute) - modename="$modename: execute" + test -n "$generated" && \ + func_show_eval "${RM}r$generated" - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi - # Read the libtool library. - dlname= - library_names= + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test "x$bindir" != x ; + then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac +# The name that we can dlopen(3). +dlname='$tdlname' - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi +# Names of this library. +library_names='$library_names' - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. +# The name of the static archive. +old_library='$old_library' - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" +# Version information for $libname. +current=$current +age=$age +revision=$revision - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done +# Is this an already installed library? +installed=$installed - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" +# Should we warn about portability when linking against -modules? +shouldnotlink=$module - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - fi" - done +{ test "$opt_mode" = link || test "$opt_mode" = relink; } && + func_mode_link ${1+"$@"} - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" files= rmforce= exit_status=0 @@ -6513,44 +9455,41 @@ for arg do case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; + -f) func_append RM " $arg"; rmforce=yes ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; esac done - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" rmdirs= - origobjdir="$objdir" for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + odir="$objdir" else - objdir="$dir/$origobjdir" + odir="$dir/$objdir" fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" + func_basename "$file" + name="$func_basename_result" + test "$opt_mode" = uninstall && odir="$dir" - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then + # Remember odir for removal later, being careful to avoid duplicates + if test "$opt_mode" = clean; then case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then : elif test -d "$file"; then exit_status=1 @@ -6564,55 +9503,32 @@ case $name in *.la) # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name + if func_lalib_p "$file"; then + func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" + func_append rmfiles " $odir/$n" done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + test -n "$old_library" && func_append rmfiles " $odir/$old_library" - case "$mode" in + case "$opt_mode" in clean) - case " $library_names " in - # " " in the beginning catches empty $dlname + case " $library_names " in *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; @@ -6622,288 +9538,95 @@ *.lo) # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if func_lalib_p "$file"; then # Read the .lo file - . $dir/$name + func_source $dir/$name # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" + if test -n "$pic_object" && + test "$pic_object" != none; then + func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then + func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) - if test "$mode" = clean ; then + if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe - rmfiles="$rmfiles $file" + func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" + func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" + func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 + func_show_eval "$RM $rmfiles" 'exit_status=1' done - objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 + func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status - ;; +} - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac +{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && + func_mode_uninstall ${1+"$@"} - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" +test -z "$opt_mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then - eval exec $exec_cmd + eval exec "$exec_cmd" exit $EXIT_FAILURE fi -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... +exit $exit_status -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting @@ -6917,14 +9640,17 @@ # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared +build_libtool_libs=no +build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: +# vi:sw=2 + diff -Nru atlas-cpp-0.6.2/m4/libtool.m4 atlas-cpp-0.6.3/m4/libtool.m4 --- atlas-cpp-0.6.2/m4/libtool.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/libtool.m4 2012-12-20 08:59:59.000000000 +0000 @@ -0,0 +1,7858 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, +# Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, +# Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 57 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# 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], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _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: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# `#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test $lt_write_fail = 0 && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_REPLACE_SHELLFNS + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script which will find a shell with a builtin +# printf (which we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case "$ECHO" in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[ --with-sysroot[=DIR] Search for dependent libraries within DIR + (or the compiler's sysroot if not specified).], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and in which our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + ;; + esac + fi + rm -rf conftest* + ;; + esac + + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_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* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@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 AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-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_flag_spec_ld, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS="$save_LDFLAGS"]) + if test "$lt_cv_irix_exported_symbol" = yes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], + [[If ld is used when linking, flag to hardcode $libdir into a binary + during linking. This must work even if $libdir does not exist]]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" + CFLAGS="$lt_save_CFLAGS" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# 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]) + +ac_compile='$CC -c $GCJFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD' +ac_link='$CC -o conftest$ac_exeext --main=conftest $GCJFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&AS_MESSAGE_LOG_FD' + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# 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 + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) +# ------------------------------------------------------ +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. +m4_defun([_LT_PROG_FUNCTION_REPLACE], +[dnl { +sed -e '/^$1 ()$/,/^} # $1 /c\ +$1 ()\ +{\ +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: +]) + + +# _LT_PROG_REPLACE_SHELLFNS +# ------------------------- +# Replace existing portable implementations of several shell functions with +# equivalent extended shell implementations where those features are available.. +m4_defun([_LT_PROG_REPLACE_SHELLFNS], +[if test x"$xsi_shell" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl + func_split_long_opt_name=${1%%=*} + func_split_long_opt_arg=${1#*=}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) + + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) + + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) + + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) +fi + +if test x"$lt_shell_append" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) + + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl + func_quote_for_eval "${2}" +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) +fi +]) + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine which file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff -Nru atlas-cpp-0.6.2/m4/lt~obsolete.m4 atlas-cpp-0.6.3/m4/lt~obsolete.m4 --- atlas-cpp-0.6.2/m4/lt~obsolete.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/lt~obsolete.m4 2012-12-20 09:00:00.000000000 +0000 @@ -0,0 +1,98 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff -Nru atlas-cpp-0.6.2/m4/ltoptions.m4 atlas-cpp-0.6.3/m4/ltoptions.m4 --- atlas-cpp-0.6.2/m4/ltoptions.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/ltoptions.m4 2012-12-20 08:59:59.000000000 +0000 @@ -0,0 +1,369 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 7 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +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])]) diff -Nru atlas-cpp-0.6.2/m4/ltsugar.m4 atlas-cpp-0.6.3/m4/ltsugar.m4 --- atlas-cpp-0.6.2/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/ltsugar.m4 2012-12-20 09:00:00.000000000 +0000 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff -Nru atlas-cpp-0.6.2/m4/ltversion.m4 atlas-cpp-0.6.3/m4/ltversion.m4 --- atlas-cpp-0.6.2/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/ltversion.m4 2012-12-20 09:00:00.000000000 +0000 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 3293 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4]) +m4_define([LT_PACKAGE_REVISION], [1.3293]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4' +macro_revision='1.3293' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff -Nru atlas-cpp-0.6.2/m4/m4_ax_cxx_compile_stdcxx_11.m4 atlas-cpp-0.6.3/m4/m4_ax_cxx_compile_stdcxx_11.m4 --- atlas-cpp-0.6.2/m4/m4_ax_cxx_compile_stdcxx_11.m4 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/m4/m4_ax_cxx_compile_stdcxx_11.m4 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,107 @@ +# ============================================================================ +# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_11([ext|noext]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++11 +# standard; if necessary, add switches to CXXFLAGS to enable support. +# Errors out if no mode that supports C++11 baseline syntax can be found. +# The argument, if specified, indicates whether you insist on an extended +# mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -std=c++11). +# If neither is specified, you get whatever works, with preference for an +# extended mode. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + +m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [ + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c); +]) + +AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl + m4_if([$1], [], [], + [$1], [ext], [], + [$1], [noext], [], + [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl + AC_LANG_ASSERT([C++])dnl + ac_success=no + AC_CACHE_CHECK(whether $CXX supports C++11 features by default, + ax_cv_cxx_compile_cxx11, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], + [ax_cv_cxx_compile_cxx11=yes], + [ax_cv_cxx_compile_cxx11=no])]) + if test x$ax_cv_cxx_compile_cxx11 = xyes; then + ac_success=yes + fi + + m4_if([$1], [noext], [], [dnl + if test x$ac_success = xno; then + for switch in -std=gnu++11 -std=gnu++0x; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, + $cachevar, + [ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXXFLAGS="$ac_save_CXXFLAGS"]) + if eval test x\$$cachevar = xyes; then + CXXFLAGS="$CXXFLAGS $switch" + ac_success=yes + break + fi + done + fi]) + + m4_if([$1], [ext], [], [dnl + if test x$ac_success = xno; then + for switch in -std=c++11 -std=c++0x; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, + $cachevar, + [ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXXFLAGS="$ac_save_CXXFLAGS"]) + if eval test x\$$cachevar = xyes; then + CXXFLAGS="$CXXFLAGS $switch" + ac_success=yes + break + fi + done + fi]) + + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.]) + fi +]) diff -Nru atlas-cpp-0.6.2/Makefile.am atlas-cpp-0.6.3/Makefile.am --- atlas-cpp-0.6.2/Makefile.am 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/Makefile.am 2013-08-23 21:13:58.000000000 +0000 @@ -1,12 +1,17 @@ +ACLOCAL_AMFLAGS = -I m4 SUBDIRS = Atlas tests tools tutorial benchmark pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = atlascpp-0.6.pc -EXTRA_DIST = HACKING ROADMAP Doxyfile footer.html index.dox +EXTRA_DIST = HACKING ROADMAP Doxyfile footer.html index.dox protocol support/ChangeLog-CVS support/generate-ChangeLog.sh docs: @echo "running doxygen..." @doxygen Doxyfile @echo "documentation is in doc/." + +dist-hook: + sh $(top_srcdir)/support/generate-ChangeLog.sh $(top_srcdir) $(distdir) 8bd480b053190ffde2afe33af66f484953036f5a + \ No newline at end of file diff -Nru atlas-cpp-0.6.2/Makefile.in atlas-cpp-0.6.3/Makefile.in --- atlas-cpp-0.6.2/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,9 +16,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -40,7 +59,11 @@ AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ config.guess config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -49,6 +72,7 @@ CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = atlas-cpp.spec mingw32-atlas-cpp.spec \ atlascpp-0.6.pc +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -58,17 +82,45 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(pkgconfigdir)" -pkgconfigDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -76,12 +128,41 @@ distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + 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 $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -106,14 +187,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -121,21 +203,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -149,9 +240,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -197,29 +289,30 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ +ACLOCAL_AMFLAGS = -I m4 SUBDIRS = Atlas tests tools tutorial benchmark pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = atlascpp-0.6.pc -EXTRA_DIST = HACKING ROADMAP Doxyfile footer.html index.dox +EXTRA_DIST = HACKING ROADMAP Doxyfile footer.html index.dox protocol support/ChangeLog-CVS support/generate-ChangeLog.sh all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -am--refresh: +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) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -235,21 +328,20 @@ $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) + $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -269,24 +361,28 @@ -rm -rf .libs _libs distclean-libtool: - -rm -f libtool + -rm -f libtool config.lt install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" - @list='$(pkgconfig_DATA)'; for p in $$list; do \ + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ + $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)' || exit 1; \ + fi; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ - $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ - done + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -295,7 +391,7 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -312,7 +408,7 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -320,7 +416,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -346,16 +442,16 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -363,14 +459,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -382,7 +478,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ @@ -391,29 +487,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -426,7 +527,7 @@ exit 1;; \ esac $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) + test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -442,49 +543,74 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + $(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="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -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) + || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__remove_distdir) + dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) @@ -500,7 +626,7 @@ dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then @@ -509,15 +635,19 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ - unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac @@ -525,10 +655,13 @@ mkdir $(distdir)/_build mkdir $(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-$$$$/" \ - && cd $(distdir)/_build \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -549,14 +682,24 @@ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 $(am__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: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -590,16 +733,22 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -620,6 +769,8 @@ html: html-recursive +html-am: + info: info-recursive info-am: @@ -628,18 +779,28 @@ 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 @@ -662,31 +823,35 @@ uninstall-am: uninstall-pkgconfigDATA -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ - distclean distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - 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-pkgconfigDATA 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-recursive uninstall uninstall-am \ - uninstall-pkgconfigDATA + dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-libtool distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am 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-pkgconfigDATA \ + 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-recursive \ + uninstall uninstall-am uninstall-pkgconfigDATA docs: @echo "running doxygen..." @doxygen Doxyfile @echo "documentation is in doc/." + +dist-hook: + sh $(top_srcdir)/support/generate-ChangeLog.sh $(top_srcdir) $(distdir) 8bd480b053190ffde2afe33af66f484953036f5a + # 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 -Nru atlas-cpp-0.6.2/missing atlas-cpp-0.6.3/missing --- atlas-cpp-0.6.2/missing 2009-10-25 23:18:46.000000000 +0000 +++ atlas-cpp-0.6.3/missing 2011-11-20 14:39:21.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2006-05-10.23 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -18,9 +18,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -89,6 +87,9 @@ tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + Send bug reports to ." exit $? ;; @@ -106,15 +107,22 @@ esac +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect -# the program). +# the program). This is about non-GNU programs, so use $1 not +# $program. case $1 in - lex|yacc) + lex*|yacc*) # Not GNU programs, they don't have --version. ;; - tar) + tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 @@ -138,7 +146,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case $1 in +case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -148,7 +156,7 @@ touch aclocal.m4 ;; - autoconf) + autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -157,7 +165,7 @@ touch configure ;; - autoheader) + autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -187,7 +195,7 @@ while read f; do touch "$f"; done ;; - autom4te) + autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -210,7 +218,7 @@ fi ;; - bison|yacc) + bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package @@ -240,7 +248,7 @@ fi ;; - lex|flex) + lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package @@ -263,7 +271,7 @@ fi ;; - help2man) + help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the @@ -277,11 +285,11 @@ else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" - exit 1 + exit $? fi ;; - makeinfo) + makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file @@ -310,7 +318,7 @@ touch $file ;; - tar) + tar*) shift # We have already tried tar in the generic part. @@ -363,5 +371,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff -Nru atlas-cpp-0.6.2/NEWS atlas-cpp-0.6.3/NEWS --- atlas-cpp-0.6.2/NEWS 2009-11-13 15:54:11.000000000 +0000 +++ atlas-cpp-0.6.3/NEWS 2013-08-26 14:21:29.000000000 +0000 @@ -1,3 +1,7 @@ +2013-08-26 Erik Ogenvik + + * Atlas-C++ 0.6.3 released. + 2009-11-13 Al Riddoch * Atlas-C++ 0.6.2 released. diff -Nru atlas-cpp-0.6.2/protocol/spec/ACHAT.txt atlas-cpp-0.6.3/protocol/spec/ACHAT.txt --- atlas-cpp-0.6.2/protocol/spec/ACHAT.txt 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/ACHAT.txt 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,41 @@ +Aloril, ZW, and myself had a descussion the other evening about +negotiating an atlas connection. + +I have an object oriented code base that lets me enforce some specific +layers to the protocol. I believe what needs negotiated is the +serialization method (examples: XML, BIN-1, PACKED-ASCII), any filters +(examples: GZCompress, ROT13, RC5-48, HUFFMAN), and the filter order. +Filters allow compresion, encryption, or any other operation on the raw +data stream. + +I believe that data shouldn't even get to the atlas serialization layer +until the connection is negotiated. I propose a very simple negotiation +method for now, unrelated to any of the serialization methods. + +I think the most easily parsable messages are plaintext, and that they +can be ended with a double return like http headers. + +When a client connects, the server should send a response. Something +like : +BOB-SERVER 1.0 + +Very simple. The client should then send a list of what it can do: +CLIENT 4.5 +ICAN COMPRESS 1.0.0 +ICAN ROT-13 1.0.0 +ICAN X-CRY 3.4.0 +ICAN XML 2.2.0 +ICAN JBIN 0.1.0 + +The server throws out every one it doesn't understand, and decides what +the client should do. The order is such that the first thing listed is +the first thing done when sending data. +IWILL XML 2.2.0 +IWILL COMPRESS 1.0.0 + +After the double return, both sides start the data stream. +As a note, any unregistered filters/serializers should start with X-. +Somewhere we will need a list of registered serializers, filters, and +maintainers. + +Jamie diff -Nru atlas-cpp-0.6.2/protocol/spec/agrilan_map.def atlas-cpp-0.6.3/protocol/spec/agrilan_map.def --- atlas-cpp-0.6.2/protocol/spec/agrilan_map.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/agrilan_map.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,542 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"agrilan" + parents:["area"] + specification:"example" + description:"""This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location""" + long_description:"""Hand made example map based on + http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg + No media id's here though, except few example... + + First ascii map: +origin: -80,-40 +
+HHLHRPAP
+HLLRRRPA
+HHLHHRPA
+PPPPPRPA 
+PPPPPPRA
+FFFPPAAA
+
+Legend:
+H=Hilly
+L=Lake
+R=River
+A=roAd
+P=Plains
+F=Forest
+ """ + pos:[0.0,0.0,300.0] + contains:["agrilan_lands", "agrilan_waters"] + media:"refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg" + +:map: + id:"hilly" + specification:"example" + name:"Hilly part around Eluryh lake" + description:"""Defining hilly type first + (here could be for example movement_speed + attribute too for example)""" + parents:["2D_grid"] + media:"""media id for generic hilly type""" + cell_size:[40.0, 40.0] + +:map: + id:"hilly1" + description:"""Specific hilly instances: note missing place + where there is lake""" + parents:["hilly"] + loc:"agrilan_lands" + pos:[-80.0, -40.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[2, 3] + grid_data: + :list: + :map: + height:10.0 + media:"special media id for this tile (not shown for all)" + :map: + height:5.0 + :map: + height:4.0 + :list: + :map: + height:3.0 + :map: + :map: + height:2.0 + +:map: + id:"hilly2" + parents:["hilly"] + description:"" + loc:"agrilan_lands" + pos:[40.0, -40.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[1, 1] + grid_data: + :list: + :map: + height:10.0 + +:map: + id:"hilly3" + parents:["hilly"] + description:"" + loc:"agrilan_lands" + pos:[40.0, 40.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[2, 1] + grid_data: + :list: + :map: + height:10.0 + :list: + :map: + height:10.0 + +:map: + id:"plain" + specification:"example" + name:"Plains" + description:"""Defining plain type""" + parents:["2D_grid"] + media:"""media id for generic plain type""" + cell_size:[40.0, 40.0] + +:map: + id:"plain1" + parents:["plain"] + description:"""Specific plains""" + loc:"agrilan_lands" + pos:[-80.0, 80.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[6, 3] + grid_data: + :list: + :map: + height:2.0 + :map: + height:2.2 + :map: + :list: + :map: + height:1.8 + :map: + height:2.0 + :map: + :list: + :map: + height:1.6 + :map: + height:1.8 + :map: + :list: + :map: + height:1.4 + :map: + height:1.6 + :map: + height:1.6 + :list: + :map: + height:1.2 + :map: + height:1.4 + :map: + height:1.4 + :list: + :map: + :map: + height:1.2 + :map: + +:map: + id:"plain2" + parents:["plain"] + description:"" + loc:"agrilan_lands" + pos:[120.0, 80.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[1, 1] + grid_data: + :list: + :map: + height:1.3 + +:map: + id:"plain3" + parents:["plain"] + description:"" + loc:"agrilan_lands" + pos:[200.0, 80.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[1, 1] + grid_data: + :list: + :map: + height:1.3 + +:map: + id:"plain4" + parents:["plain"] + description:"" + loc:"agrilan_lands" + pos:[160.0, 80.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[1, 4] + grid_data: + :list: + :map: + height:1.25 + :list: + :map: + height:1.20 + :list: + :map: + height:1.15 + :list: + :map: + height:1.1 + +:map: + id:"lake" + specification:"example" + name:"Lake" + description:"""Defining lake type""" + parents:["2D_grid"] + media:"""media id for generic lake type""" + cell_size:[40.0, 40.0] + +:map: + id:"lake1" + name:"Eluryh" + description:"""One lake""" + parents:["lake"] + loc:"agrilan_waters" + pos:[-80.0, 80.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + grid_size:[2, 3] + grid_data: + :list: + :map: + :map: + height:1.15 + :map: + :list: + :map: + height:1.15 + :map: + height:1.15 + :map: + height:1.15 + +:map: + id:"river" + specification:"example" + name:"River" + description:"""Defining river type""" + parents:["2D_grid","line"] + media:"""media id for generic river type""" + cell_size:[40.0, 40.0] + +:map: + id:"river1" + name:"Hardonar river" + description:"""Few rivers""" + parents:["river"] + loc:"agrilan_waters" + pos:[80.0, -40.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + width:25.0 + line_data: + :list:[100.0, -40.0, 1.1] + :list:[140.0, 20.0, 1.08] + :list:[140.0, 100.0, 1.05] + :list:[160.0, 140.0, 1.03] + :list:[160.0, 200.0, 1.00] + grid_size:[3, 6] + grid_data: + :list: + :map: + height:1.09 + :map: + :map: + :map: + :map: + :map: + :map: + :list: + :map: + :map: + height:1.08 + :map: + height:1.07 + :map: + height:1.06 + :map: + height:1.05 + :map: + :map: + :list: + :map: + :map: + :map: + :map: + :map: + :map: + height:1.03 + :map: + height:1.01 + +:map: + id:"river2" + parents:["river"] + description:"""connects to lake""" + loc:"agrilan_waters" + pos:[40.0, 0.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + width:5.0 + line_data: + :list:[140.0, 20.0, 1.08] + :list:[40.0, 20.0, 1.15] + grid_size:[2, 1] + grid_data: + :list: + :map: + height:1.13 + :list: + :map: + height:1.10 + +:map: + id:"agrilan_waters" + specification:"example" + description:"All Agrilan waters container" + parents:["area"] + loc:"agrilan" + pos:[0.0,0.0,0.0] + contains:["lake1", "river1", "river2"] + +:map: + id:"road_block" + specification:"example" + name:"Road block" + description:"""Defining road types""" + parents:["2D_grid","line"] + media:"""media id for generic road type""" + cell_size:[40.0, 40.0] + width:5.0 + +:map: + id:"bridge" + name:"Bridge" + description:"""Defining bridge type""" + parents:["road_block"] + media:"""media id for generic bridge type""" + cell_size:[40.0, 40.0] + +:map: + id:"road" + specification:"example" + name:"Road" + description::"Collection of road blocks" + parents:["line"] + media:"""media id for generic road type""" + +:map: + id:"road1" + description:"""Actual road""" + parents:["road_block"] + loc:"murray_r1" + pos:[160.0, -40.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + line_data: + :list:[180.0, -40.0, 1.4] + :list:[220.0, 0.0, 1.4] + grid_size:[1, 1] + grid_data: + :list: + :map: + height:1.4 + +:map: + id:"road2" + description:"""Actual road""" + parents:["road_block"] + loc:"murray_r1" + pos:[200.0, 0.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + line_data: + :list:[220.0, 0.0, 1.4] + :list:[220.0, 180.0, 1.3] + grid_size:[1, 5] + grid_data: + :list: + :map: + height:1.38 + :list: + :map: + height:1.36 + :list: + :map: + height:1.34 + :list: + :map: + height:1.32 + :list: + :map: + height:1.30 + +:map: + id:"bridge1" + description:"""Actual bridge""" + parents:["bridge"] + name:"Murray bridge" + loc:"murray_r1" + pos:[160.0, 160.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + line_data: + :list:[220.0, 180.0, 1.3] + :list:[140.0, 180.0, 1.3] + grid_size:[1, 1] + grid_data: + :list: + :map: + height:2.0 + +:map: + id:"road3" + description:"""Actual road""" + parents:["road_block"] + loc:"murray_r1" + pos:[120.0, 160.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + line_data: + :list:[140.0, 180.0, 1.3] + :list:[100.0, 180.0, 1.2] + grid_size:[1, 1] + grid_data: + :list: + :map: + height:1.3 + name:"Murdar road" + +:map: + id:"murray_r1" + name:"Murray Road" + description:"""This brings all roads blocks together + (line data more generic than on lower levels)""" + parents:["road"] + loc:"agrilan_lands" + pos:[0.0, 0.0, 0.0] + media:"""media id for whole area (text media may want to use it or + overview 2D media too)""" + contains:["road1","road2","bridge1","road3"] + line_data: + :list:[180.0, -40.0, 1.4] + :list:[220.0, 180.0, 1.3] + :list:[100.0, 180.0, 1.2] + +:map: + id:"agrilan_lands" + specification:"example" + description:"All agrilan lands" + parents:["area"] + pos:[0.0,0.0,0.0] + contains:["hilly1", "hilly2", "hilly3", "plain1", "plain2", "plain3", "plain4", "murray_r1"] + +## Subject: Inheritance and dual nature objects + +## (Using '.def format') +## (note area is very coarse and small in this example ;-) + +## Dual inheritance in *one* combined object: +## ========================================== + +## Inheritance: +## ------------ +## parent: ["2D_grid", "line"] + +## Common fields: +## -------------- +## id: "road1" +## name: "Murray Road" +## description: "Road from Summerset to Agrilan" +## media: "media id for this road" +## loc: "agrilan" +## pos: [160.0, -40.0, 0.0] + +## Fields inherited from "line": +## ----------------------------- +## width: 5.0 +## line_data: +## :list: [180.0, -40.0, 1.4] +## :list: [220.0, 0.0, 1.4] + +## Fields inherited from "2D_grid": +## -------------------------------- +## cell_size: [40.0, 40.0] +## grid_size: [1, 1] +## grid_data: +## :list: +## :map: +## height: 1.4 + + +## Having *several* objects for each different 'faces' of object: +## ============================================================== + +## Road object: +## ------------ +## parent: ["road"] +## id: "road1" +## name: "Murray Road" +## description: "Road from Summerset to Agrilan" +## media: "media id for this road" +## loc: "agrilan" +## pos: [160.0, -40.0, 0.0] +## isa: +## line: "line1" +## 2D_grid: "grid1" + +## Line object: +## ------------ +## parent: ["line"] +## id: "line1" +## width: 5.0 +## line_data: +## :list: [180.0, -40.0, 1.4] +## :list: [220.0, 0.0, 1.4] + +## 2D_grid object: +## --------------- +## parent: ["2D_grid"] +## id: "grid1" +## cell_size: [40.0, 40.0] +## grid_size: [1, 1] +## grid_data: +## :list: +## :map: +## height: 1.4 + +##### addition +## Hmm... maybe road as line would be parent container to road area +## segments and thus it would be different from either of above options. + diff -Nru atlas-cpp-0.6.2/protocol/spec/agrilan_map.html atlas-cpp-0.6.3/protocol/spec/agrilan_map.html --- atlas-cpp-0.6.2/protocol/spec/agrilan_map.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/agrilan_map.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,119 @@ + + + + + Very coarse Agrilan map example + + + +

Very coarse Agrilan map example

+ +

Example tree

+ +
    +
  • agrilan: This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location +
+ + +

agrilan

+ Attribute list: +
    +
  • id (encoding:string): Value: agrilan Id of object +
  • parents (encoding:list): Value: ['area'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • description (encoding:string): Value:
    +This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location
    +
    This gives short description of object. +
  • long_description (encoding:string): Value:
    +Hand made example map based on + http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg + No media id's here though, except few example... + + First ascii map: +origin: -80,-40 +
    +HHLHRPAP
    +HLLRRRPA
    +HHLHHRPA
    +PPPPPRPA 
    +PPPPPPRA
    +FFFPPAAA
    +
    +Legend:
    +H=Hilly
    +L=Lake
    +R=River
    +A=roAd
    +P=Plains
    +F=Forest
    +
    +
    This gives long description of object. +
  • pos (encoding:list): Value: [0.0, 0.0, 300.0] Position coordinates, usually world is 3D +
  • contains (encoding:list): Value: ['agrilan_lands', 'agrilan_waters'] List of objects that use this object as reference system (usually same as what this object contains). +
  • media (encoding:string): Value: refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg media id reference +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'specification', 'description', 'long_description', 'pos', 'contains', 'media'], lineno = 2) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">agrilan</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<string name="specification">example</string>
+	<string name="description">This is whole agrilan map: at coords only hight is guessed
+                   and because this is toplevel now, there is no ref attribute 
+                   in location</string>
+	<string name="long_description">Hand made example map based on 
+           http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg
+           No media id's here though, except few example...
+
+           First ascii map:
+origin: -80,-40
+&lt;PRE&gt;
+HHLHRPAP
+HLLRRRPA
+HHLHHRPA
+PPPPPRPA 
+PPPPPPRA
+FFFPPAAA
+&lt;/PRE&gt;
+Legend:&lt;br&gt;
+H=Hilly&lt;br&gt;
+L=Lake&lt;br&gt;
+R=River&lt;br&gt;
+A=roAd&lt;br&gt;
+P=Plains&lt;br&gt;
+F=Forest&lt;br&gt;
+                </string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>300.0</float></list>
+	<list name="contains"><string>agrilan_lands</string><string>agrilan_waters</string></list>
+	<string name="media">refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>pos</string><string>contains</string><string>media</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+    
+ +
+
Aloril
+ + +Last modified: Wed Feb 9 07:39:12 EET 2000 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/agrilan_map_in.html atlas-cpp-0.6.3/protocol/spec/agrilan_map_in.html --- atlas-cpp-0.6.2/protocol/spec/agrilan_map_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/agrilan_map_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,23 @@ + + + + Very coarse Agrilan map example + + + +

Very coarse Agrilan map example

+ +

Example tree

+ + + + + +
+
Aloril
+ + +Last modified: Wed Feb 9 07:39:12 EET 2000 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/atlas-to-def.pl atlas-cpp-0.6.3/protocol/spec/atlas-to-def.pl --- atlas-cpp-0.6.2/protocol/spec/atlas-to-def.pl 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/atlas-to-def.pl 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,191 @@ +#!/usr/bin/perl -w + +use strict; + +#sub log_err {warn @_;} +sub log_err {} + +# read in the .atlas header + +die "No ATLAS line\n" unless =~ /^ATLAS/; +die "No IWILL line\n" unless =~ /^IWILL/; + +# spit out the .def header + +print("#Modeline for XEmacs: -*-Python-*-\n"); + +# main parse loop + +# a stack to keep track of whether we're inside an array, map, or whatever +my @parse_type; + +# don't put brackets around multi-line arrays +my @multi_line_array; +my $started_multi_line_array; + +# call when you finish an element +sub push_done_type { + return if(!@parse_type); + if ($parse_type[-1] eq "map_have_key") { + pop @parse_type; + } elsif ($parse_type[-1] ne "in_array") { + die "In invalid state $parse_type[-1] at end of element\n"; + } + push @parse_type, "need_sep"; + log_err "Parse type stack is now:"; + foreach(@parse_type) {log_err " $_";} + log_err "\n"; + + $started_multi_line_array = 0; +}; + +sub indent { my $space = (@parse_type - (shift or 0)) - @multi_line_array; print " " while $space--; }; + +sub valid_parse_type {return @parse_type ? $parse_type[-1] : "none";} + +# Allow repeated passes through the loop for a single line, for cases +# like '{ foo:[""], bar:0 }, {' +LINE: while(my $line = ) { + + # ignore comments + next LINE if $line =~ /^#/; + + while($line) { + # remove leading whitespace + $line =~ s/^\s+//gm if !@parse_type or $parse_type[-1] ne "in_string"; + next LINE if !$line; + + if(!@parse_type or $parse_type[-1] eq "map_have_key" or $parse_type[-1] eq "in_array") { + log_err "Starting new element\n"; + # start new element + $line =~ s/^(.)//; + my $char = $1; + if($char eq "{") { # starting a map + log_err "Staring a map\n"; + # We print a \n at the beginning of a multi-line array, so don't here + print "\n" unless @multi_line_array and $multi_line_array[-1] == @parse_type - 1 and $started_multi_line_array; + push @parse_type, "in_map"; + indent(1); + print ":map:\n"; + } elsif ($char eq "[") { # starting an array + log_err "Staring a array\n"; + if (!$line or $line =~ /^[{\n]/) { + # multi_line_array + my $place = @parse_type; # scalar cast + log_err "Starting multi line array at depth $place\n"; + push @multi_line_array, $place; + print "\n"; + $started_multi_line_array = 1; + } else { + print "["; + } + push @parse_type, "in_array"; + } elsif ($char eq "]") { # finished an array, either a trailing comma or empty + log_err "Finished an array\n"; + pop @parse_type; + if(@multi_line_array and @parse_type == $multi_line_array[-1]) { + log_err "Finished multi line array at depth $multi_line_array[-1]\n"; + pop @multi_line_array; + } elsif(@multi_line_array and @parse_type < $multi_line_array[-1]) { + die "Ending array at depth @parse_type, deepest multi line array is at $multi_line_array[-1]\n"; + } else { + print "]"; + } + push_done_type(); + } elsif ($char eq "\"") { # starting a string + log_err "Staring a string\n"; + indent() if @multi_line_array and $multi_line_array[-1] == @parse_type - 1; + push @parse_type, "in_string"; + print "\""; + } + elsif ($char =~ /[0-9]/) { # starting a number + log_err "Staring a number\n"; + indent() if @multi_line_array and $multi_line_array[-1] == @parse_type - 1; + # print the digits + $line =~ s/^([0-9.]*)//; + print "$char$1"; + push_done_type(); + } + else { + # $line still has a trailing \n, don't add one to 'die' statement + die "Invalid element $1$line"; + } + } elsif ($parse_type[-1] eq "in_map") { + if($line =~ /^\}/) { # finished a map, either a trailing comma or empty + $line =~ s/^.//; + pop @parse_type; # remove "in_map" + push_done_type(); + } else { + die "Couldn't find key string in map" + unless $line =~ s/([A-Za-z_]+:)//; + log_err "Got key $1\n"; + indent(); + # some keys had name changes + if($1 eq "summary:") { + print "description:"; + } elsif($1 eq "description:") { + print "long_description:"; + } elsif($1 eq "arg_description:") { + print "args_description:"; + } elsif($1 eq "arg:") { + print "args:"; + } else { print $1; } + push @parse_type, "map_have_key"; + } + } elsif ($parse_type[-1] eq "need_sep") { + pop @parse_type; # remove "need_sep" + $line =~ s/^(.)//; + log_err "Printed separator $1 leaving parse type " . valid_parse_type() ."\n"; + if($1 eq "]") { + log_err "Got a ]\n"; + die "Ended map with ]" unless $parse_type[-1] eq "in_array"; + pop @parse_type; # remove "in_array" + if(@multi_line_array and @parse_type == $multi_line_array[-1]) { + log_err "Finished multi line array at depth $multi_line_array[-1]\n"; + pop @multi_line_array; + } elsif(@multi_line_array and @parse_type < $multi_line_array[-1]) { + die "Ending array at depth @parse_type, deepest multi line array is at $multi_line_array[-1]\n"; + } else { + print "]"; + } + push_done_type(); + } elsif($1 eq "}") { + log_err "Got a }\n"; + die "Ended array with }" unless $parse_type[-1] eq "in_map"; + pop @parse_type; # remove "in_map" + push_done_type(); + } elsif ($1 eq ",") { + if (@parse_type == 1 || $parse_type[-1] eq "in_map") { + print "\n"; # toplevel array, maps + } else { + print ", "; # deeper array levels + } + } else { + die "Invalid array continuation $1$line"; + } + log_err "After checking separator, parse type is " . valid_parse_type() . "\n"; + } elsif(@parse_type and $parse_type[-1] eq "in_string") { + print $1 while $line =~ s/([^\"]\\\")//; + if($line =~ /([^\"]*\")(.*)/) { + log_err "Printing string \"$1, remainder of line is \"$2\"\n"; + # handle a changed opname, hopefully this won't mess up anything else + my $out = $1 eq "communication\"" ? "communicate\"" : $1; + print $out; + $line = $2; + pop @parse_type; + push_done_type(); + log_err "After printing string, parse type is " . valid_parse_type() . "\n"; + } else { + print $line; + $line = ""; + } + } else { + die "Invalid parse type $parse_type[-1]\n"; + } + } +} + +# fix no-newline-at-end-of-file +print "\n"; + +die "Still in state $parse_type[-1], unmatched brackets\n" if @parse_type; diff -Nru atlas-cpp-0.6.2/protocol/spec/atlas.xml atlas-cpp-0.6.3/protocol/spec/atlas.xml --- atlas-cpp-0.6.2/protocol/spec/atlas.xml 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/atlas.xml 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,3666 @@ + + + root + + root_entityroot_operationroot_typeroot_interface + 0.0 + 0.0 + meta + base_interface + + All objects inherit from this. + You can browse all definitions starting from here and +descending into childrens. + atlas + + idparentschildrenstampstamp_inheritobjtypeinterfacenamedescriptionlong_descriptionspecification + root.def + 2 + + + + root_entity + root + admin_entitygame_entity + class + Starting point for entity hierarchy + Later in hierarchy tree objtype changes to 'object' when actual game objects are made. + + 0.00.00.0 + 0.00.00.0 + + 0.0 + + idparentschildrenobjtypedescriptionlong_descriptionlocposvelocitycontainsstamp_contains + entity.def + 2 + + + + admin_entity + root_entity + accountgame + All classes and objects used for adminitrativive purposes + + idparentschildrendescription + entity.def + 95 + + + + account + admin_entity + playeradmin + Base class for accounts + + + + + idparentschildrendescriptionusernamepasswordcharacters + entity.def + 100 + + + + player + account + + Player accounts + + idparentschildrendescription + entity.def + 108 + + + + admin + account + + Privileged accounts + + idparentschildrendescription + entity.def + 113 + + + + game + admin_entity + + Games this server hosts + + idparentschildrendescription + entity.def + 118 + + + + game_entity + root_entity + geometry + atlas_game + game_interface + All In Game classes and objects + + idparentschildrenspecificationinterfacedescription + entity.def + 123 + + + + root_operation + root + actioninfo + op_definition + 0 + 0 + Base operation for all operators + This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'. + + + 0.0 + 0.0 + + + + idparentschildrenobjtypeserialnorefnodescriptionlong_descriptionfromtosecondsfuture_secondstime_stringargs + operation.def + 2 + + + + action + root_operation + createdeletesetgetimaginaryuse + This is base operator for operations that might have effects. + + idparentschildrendescription + operation.def + 21 + + + + info + root_operation + perceptionerror + This is base operator for operations that tell you info about objects or events. + + + op + info + + + Here is some info + + e_msg + operation.def + 35 + + + + + objtypeparentsargs + operation.def + 31 + + + + + idparentschildrendescriptionexample + operation.def + 26 + + + + create + action + combinedividecommunicate + Create new things from nothing using this operator. + Map editor is main user for this in client side. Server uses this inside "info" operation to tell client about new things. + entity describing object that is being created + + Creating axe instance + + op + create + map-editor + + + axe + Ordinary axe + 3 + + parentsnamee_attack + operation.def + 51 + + + + + objtypeparentsfromargs + operation.def + 46 + + + + + idparentschildrendescriptionlong_descriptionargs_descriptionexample + operation.def + 38 + + + + delete + action + + Delete something. + id of entity to be deleted + + + op + delete + + + foo_bar_344 + + id + operation.def + 66 + + + + + objtypeparentsargs + operation.def + 62 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 56 + + + + set + action + affectmovewield + Sets attributes for existing entity. + + This one sets HP=50, height=1.8, width=0.3 for object "9899" + + op + set + + + 9899 + 50 + 1.8 + 0.3 + + ide_HPe_heighte_width + operation.def + 79 + + + + + objtypeparentsargs + operation.def + 75 + + + + + idparentschildrendescriptionexample + operation.def + 69 + + + + affect + set + + + idparentschildren + operation.def + 85 + + + + get + action + perceivelogin + Generic operation for getting info about things. + id of target entity + + + op + get + + + elf_type_id_45 + + id + operation.def + 99 + + + + + objtypeparentsargs + operation.def + 95 + + + <h4>Browsing operator hierarchy example:</h4> +<p> +First start from operator hierarchy root (root_operation): + + op + get + + + root_operation + + id + operation.def + 108 + + + + + objtypeparentsargs + operation.def + 104 + + + Answer might be: + + op + info + + + root_operation + actioninfo + Base operator for all operatios + + idchildrendescription + operation.def + 115 + + + + + objtypeparentsargs + operation.def + 111 + + + Then you can ask about action and info: + + op + get + + + action + + id + operation.def + 124 + + + + + objtypeparentsargs + operation.def + 120 + + + + op + get + + + info + + id + operation.def + 130 + + + + + objtypeparentsargs + operation.def + 126 + + + Etc... + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 89 + + + + perception + info + sightsoundsmellfeel + atlas_game + Character perceives something. + Base operator for all kind of perceptions + perceived thing + + Usually derived operations are used, general notes + on perceptions and actions: + <ul> + <li><b>action.from:</b> who made character to do something + (talk for example); usually character itself, but + not always, examples: + <ul> + <li>atlas_irc_gateway does puppet characters it + has created for each nick from irc side + <li>admin teaches NPCs by making them to talk + itself + <li>possession by spell + </ul> + + <li><b>action.to:</b> same as character always + + <li><b>perception.from:</b> who produced this perception: + always character itself (for example sound of talk) + (well... unless you are made to hallusinate ;-) + + <li><b>perception.to:</b> you (unless you are + server, then it's target to receive perception) + </ul> + + <b>conclusion:</b> should use perception.from instead of + inner action.from to decide who produced result + <br> + See <a href="#sound">sound</a> and + <a href="#sight">sight</a> + for actual examples + + + op + perception + + + tree_8374 + + id + operation.def + 177 + + + + + objtypeparentsargs + operation.def + 173 + + + + + idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample + operation.def + 134 + + + + error + info + + Something went wrong + objects describing what went wrong<br> +First argument is error entity which describes error. +Second argument is operation which is wrong (not given if not relevant). + + Client sent "foo" -operation which server rejects + + op + error + 123 + + + Uknown operation foo + + message + operation.def + 194 + + + + op + foo + 123 + + + do some foo thing by using bar + + e_bar + operation.def + 201 + + + + + objtypeparentsserialnoargs + operation.def + 196 + + + + + objtypeparentsrefnoargs + operation.def + 189 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 180 + + + + combine + create + + atlas_game + Combine existing objects into new objects. + This is how normal characters create objects. + first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material. + + Creating axe from wood and iron + + op + combine + + + axe + Bjorn's axe + + parentsname + operation.def + 217 + + + + Wood_8898 + + id + operation.def + 220 + + + + Iron_6578 + + id + operation.def + 222 + + + + + objtypeparentsargs + operation.def + 213 + + + + + idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample + operation.def + 204 + + + + divide + create + + atlas_game + Divide existing object into pieces. + One of the pieces might be original object modified. + id of original object and entities describing pieces. + + taking money from pile + + op + divide + + + money12345 + + id + operation.def + 238 + + + + money12345 + 10 + + ide_amount + operation.def + 240 + + + + 110 + + e_amount + operation.def + 243 + + + + + objtypeparentsargs + operation.def + 234 + + + + + idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample + operation.def + 225 + + + + communicate + create + talk + atlas_game + Base operator for all kind of communication. + communication entity + see talk + + idparentschildrenspecificationdescriptionargs_descriptionexample + operation.def + 246 + + + + move + set + + atlas_game + Change position + More about <a href="move.html">movement here</a> + entity with id and new position + + Movement conversation example: + + op + move + 123 + 9899 + + + 9899 + 11 + 12.33.00.0 + + idlocpos + operation.def + 270 + + + + + objtypeparentsserialnofromargs + operation.def + 264 + + + Reply from server + + op + infosight + 1231 + 123 + 9899 + 9899 + 19036033149.3 + 0612-01-05 10:59:09.3 + + + op + setmove + 1230 + 123 + 9899 + 19036033149.3 + 0612-01-05 10:59:09.3 + + + 9899 + 11 + 12.33.00.0 + + idlocpos + operation.def + 294 + + + + + objtypeparentsserialnorefnofromsecondstime_stringargs + operation.def + 285 + + + + + objtypeparentsserialnorefnofromtosecondstime_stringargs + operation.def + 275 + + + + + idparentschildrenspecificationdescriptionlong_descriptionargs_descriptionexample + operation.def + 255 + + + + perceive + get + looklistensnifftouch + atlas_game + Generic base operation for perceiving things by eyes, ears, etc... + object to be perceived + + + op + perceive + + + elf_3545 + + id + operation.def + 310 + + + + + objtypeparentsargs + operation.def + 306 + + + + + idparentschildrenspecificationdescriptionargs_descriptionexample + operation.def + 299 + + + + login + get + logout + Operation for logging into server + For more about <a href="login.html">out of game atlas here</a> + entity with player name and password attribute + + + op + login + + + JoeBlatz + Rqv67.% + + idpassword + operation.def + 324 + + + + + objtypeparentsargs + operation.def + 320 + + + Conversation examples:<br> When you connect to + server you either need to have account already or make + one. Here is "start by creating account" -example: + + op + create + 1 + + + player74 + player + player_password + + idparentspassword + operation.def + 335 + + + + + objtypeparentsserialnoargs + operation.def + 330 + + + What if you already had account by that name? Then + reply from server could be something like this (1 argument: + message, 2 argument: original operation): + + op + error + 4 + 1 + 19036033149.3 + 0612-01-05 10:59:09.3 + + + Account id already exist + + message + operation.def + 350 + + + + op + create + 1 + + + player74 + player + player_password + + idparentspassword + operation.def + 357 + + + + + objtypeparentsserialnoargs + operation.def + 352 + + + + + objtypeparentsserialnorefnosecondstime_stringargs + operation.def + 342 + + + For more about error operation see + <a href="#error">error operation definition</a>. + <br><br> + If account login went OK them you might receive something + like: + + op + info + 2 + 1 + 19036033149.3 + 0612-01-05 10:59:09.3 + + + player74 + player + player_password + Bjorn_1 + + idparentspasswordcharacters + operation.def + 374 + + + + + objtypeparentsserialnorefnosecondstime_stringargs + operation.def + 366 + + + If you do not have character, then you need to + create one. Creating character is similar to how you create + account. + + op + create + 2 + + + farmer + Nisuf + ordinary farmer + male + + parentsnamedescriptione_sex + operation.def + 387 + + + + + objtypeparentsserialnoargs + operation.def + 382 + + + Result of character creation is same as with account + creation, only resulting object differs. + + + idparentschildrendescriptionlong_descriptionargs_descriptionexample + operation.def + 313 + + + + logout + login + + Operation for logging out + entity with player name + + + op + logout + + + JoeBlatz + + id + operation.def + 405 + + + + + objtypeparentsargs + operation.def + 401 + + + Most useful with server<->server communication + telling that certain connection is not anymore pertinent + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 395 + + + + sight + perception + appearancedisappearance + Character sees something + object or event character sees + + See <a href="#perception">perception</a> operation too<br> + Common example: + + op + sight + + + grass1 + 989.24 + + idstamp + operation.def + 422 + + + + + objtypeparentsargs + operation.def + 418 + + + Reply for looking at 'grass1': + + op + sight + + + grass1 + terrain + path1tree1 + Grass plains + + 0.00.0 + 10.00.0 + 10.00.0 + 0.010.0 + 0.00.0 + + + idparentscontainsdescriptione_polygon + operation.def + 430 + + + + + objtypeparentsargs + operation.def + 426 + + + Event example: + + op + sight + + + op + move + + + orc_23498 + grass1 + 0.53.00.0 + + idlocpos + operation.def + 450 + + + + + objtypeparentsargs + operation.def + 446 + + + + + objtypeparentsargs + operation.def + 442 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 410 + + + + sound + perception + + Character hears something + thing character heard + + See <a href="#perception">perception</a> operation too<br> + Example (every operation might have from, +to and time tags, not only this operation): + + op + sound + sentry_34 + + + op + talk + + + What has happened there? + + say + operation.def + 473 + + + + + objtypeparentsargs + operation.def + 469 + + + + + objtypeparentsfromargs + operation.def + 464 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 455 + + + + smell + perception + + Character smells something + thing character smells + + Example (every operation might have from, +to and time tags, not only this operation): + + op + smell + flower_34 + + + sweet + + e_smell + operation.def + 650 + + + + + objtypeparentsfromargs + operation.def + 645 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 637 + + + + feel + perception + + Character feels something (with fingers usually) + thing character touches + + + op + feel + + + cloth_34 + rough + + ide_surface_type + operation.def + 663 + + + + + objtypeparentsargs + operation.def + 659 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 653 + + + + imaginary + action + + When something is not yet implemented in server, then character can pretend to do something ;-) + event that is supposed to happen + + + op + imaginary + + + some_unimplemented_action + + id + operation.def + 677 + + + + + objtypeparentsargs + operation.def + 673 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 667 + + + + talk + communicate + + used for talking + need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log + sentence(s) entity + + + op + talk + + + What has happened there? + + say + operation.def + 691 + + + + + objtypeparentsargs + operation.def + 687 + + + Talking out of game is same, +except you use player id instead of character id. + + + idparentschildrendescriptionlong_descriptionargs_descriptionexample + operation.def + 680 + + + + look + perceive + + Looking at something + target entity + + + op + look + + + elf_3545 + + id + operation.def + 707 + + + + + objtypeparentsargs + operation.def + 703 + + + Conversation examples:<br> When you connect to + server you need to look to see things. Server sends all new + things that appear and all changes that you see (like + movement). But it is clients responsibility to make first + update of what it sees. Reason is that only client knows what + it has cached. + + <p>First look can have empty argument list: then server sends + appropriate top level object for current scheme. + + op + look + 5 + Bjorn_10 + + + objtypeparentsserialnofromargs + operation.def + 718 + + + Server reply: + + op + setsight + 100 + 5 + Bjorn_10 + Bjorn_10 + 19035667864.4 + 0612-01-01 05:31:04.4 + + + world_0 + world + tavern_2market_3home_4axe_5Nisuf_6Miyora_7home_8smithy_9Bjorn_10 + 19035660000.0 + 0.00.00.0 + + idparentscontainsstamppos + operation.def + 735 + + + + + objtypeparentsserialnorefnofromtosecondstime_stringargs + operation.def + 725 + + + Client looks at contains attribute of above object + and then looks for those objects in turn: + + op + look + 6 + Bjorn_10 + + + Nisuf_6 + + id + operation.def + 749 + + + + + objtypeparentsserialnofromargs + operation.def + 743 + + + And then server tells you more about it: + + op + setsight + 105 + 6 + Nisuf_6 + Bjorn_10 + 19035667864.4 + 0612-01-01 05:31:04.4 + + + Nisuf_6 + farmer + 0.0 + 19035650000.0 + world_0 + 20.050.0300.0 + ordinary farmer + Nisuf + 1.0 + + idparentse_drunknessstamplocposdescriptionnamee_status + operation.def + 762 + + + + + objtypeparentsserialnorefnofromtosecondstime_stringargs + operation.def + 752 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 697 + + + + listen + perceive + + Listen (something) + target entity + + + op + listen + + + elf_3545 + + id + operation.def + 783 + + + + + objtypeparentsargs + operation.def + 779 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 773 + + + + sniff + perceive + + Sniff something + target entity + + + op + sniff + + + flower_3545 + + id + operation.def + 796 + + + + + objtypeparentsargs + operation.def + 792 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 786 + + + + touch + perceive + + Touch something + target entity + + + op + touch + + + cloth_3545 + + id + operation.def + 809 + + + + + objtypeparentsargs + operation.def + 805 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 799 + + + + appearance + sight + + Character sees something appearing: it literally appears or has it come in visible range + object or event character sees + + + op + appearance + + + grass1 + 989.24 + + idstamp + operation.def + 822 + + + + + objtypeparentsargs + operation.def + 818 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 812 + + + + disappearance + sight + + Character sees something disappearing: it literally disappears or has it gone too far to be visible + object or event character sees + + + op + disappearance + + + grass1 + 989.24 + + idstamp + operation.def + 836 + + + + + objtypeparentsargs + operation.def + 832 + + + + + idparentschildrendescriptionargs_descriptionexample + operation.def + 826 + + + + wield + set + + Attach a tool to the character entity at a pre-defined location so that the character can use it. + Tool or item to be wielded + + idparentschildrendescriptionargs_description + operation.def + 840 + + + + use + action + + Use a currently wielded tool. + Target tool is used on, or operation chosen from those available for this tool, with target given as its argument. + + idparentschildrendescriptionargs_description + operation.def + 846 + + + + root_type + root + stringintfloatlistmap + meta + Type hierarchy starts from here. + + idparentschildrenobjtypedescription + type.def + 2 + + + + string + root_type + uriobjtypespecificationnamemessagehtmlusernamepasswordtime_stringe_string + data_type + UTF-8 encoded string. + Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string + + idparentschildrenobjtypedescriptionlong_description + type.def + 8 + + + + int + root_type + list_lengthserialnoe_int + data_type + Integer. + C equivalent: 32bit int + + idparentschildrenobjtypedescriptionlong_description + type.def + 15 + + + + float + root_type + stampsecondswidthheighte_float + data_type + Floating point number. + C equivalent roughly: double + + idparentschildrenobjtypedescriptionlong_description + type.def + 22 + + + + uri + string + idmediafilenamee_uri + type + URI (URL) of object + C equivalent roughly: for storing id name: char *, as pointer: void *<br> +URI is Uniform Resource Locator. +For more about URI see +<a href="http://www.ics.uci.edu/pub/ietf/uri/">http://www.ics.uci.edu/pub/ietf/uri/</a> + + idparentschildrenobjtypedescriptionlong_description + type.def + 29 + + + + string_list + list + uri_list + type + string + List of strings + + idparentschildrenobjtypeelement_typedescription + type.def + 99 + + + + int_list + list + int_list_length + type + int + List of integers + C equivalent: int [] + + idparentschildrenobjtypeelement_typedescriptionlong_description + type.def + 106 + + + + float_list + list + float_list_length + type + float + List of floats + C equivalent: double [] + + idparentschildrenobjtypeelement_typedescriptionlong_description + type.def + 114 + + + + uri_list + string_list + id_listattribute_order + uri + URI list + C equivalent: char *[], void *[] + + idparentschildrenelement_typedescriptionlong_description + type.def + 122 + + + + list + root_type + string_listint_listfloat_listargsexamplegrid_dataline_datae_list + data_type + List of objects + C equivalent: void *[] + + + idparentschildrenobjtypedescriptionlong_descriptionadded_attributes + type.def + 129 + + + + map + mapping + root_type + specification_file + data_type + Mapping between string key and value object + C equivalent: struct map {char *;void *}; map* + + + idnameparentschildrenobjtypedescriptionlong_descriptionadded_attributes + type.def + 137 + + + + int_list_length + int_list + grid_size + meta + 0 + List of ints with constant length + Inherit required object from this and set length attribute to suitable value. + + idparentschildrenobjtypelist_lengthdescriptionlong_description + type.def + 146 + + + + float_list_length + float_list + posvelocitycell_size + meta + 0 + List of floats with constant length + Inherit required object from this and set length attribute to suitable value. + + idparentschildrenobjtypelist_lengthdescriptionlong_description + type.def + 154 + + + + pos + position + float_list_length + + type + 3 + Position coordinates, usually world is 3D + + idnameparentschildrenobjtypelist_lengthdescription + type.def + 162 + + + + velocity + float_list_length + + type + 3 + Velocity object is moving, usually world is 3D + + idparentschildrenobjtypelist_lengthdescription + type.def + 170 + + + + list_length + int + + type + Length for lists + + idparentschildrenobjtypedescription + type.def + 177 + + + + element_type + id + + Element type for typed lists/mappings + + idparentschildrendescription + type.def + 183 + + + + id + uri + element_typeinterfacelocfromto + Id of object + C equivalent roughly: for storing id name: char *, as pointer: void * + + idparentschildrendescriptionlong_description + type.def + 188 + + + + id_list + uri_list + parentschildrencontainsoperations + List of ids + + idparentschildrendescription + type.def + 194 + + + + parents + id_list + + List of objects this inherits attributes from. + + idparentschildrendescription + type.def + 199 + + + + children + id_list + + List of objects that inherit from this object. + + idparentschildrendescription + type.def + 204 + + + + contains + id_list + added_attributescharacters + List of objects that use this object as reference system (usually same as what this object contains). + + idparentschildrendescription + type.def + 209 + + + + added_attributes + contains + + List of attributes that has been added to this object + + idparentschildrendescription + type.def + 214 + + + + characters + contains + + List of characters account can control + + idparentschildrendescription + type.def + 219 + + + + args + list + + type + List of arguments this operation has + + idparentschildrenobjtypedescription + type.def + 224 + + + + operations + id_list + + List of alloved operations + Content ids can be either another interface or operation ids or both. + + idparentschildrendescriptionlong_description + type.def + 230 + + + + stamp + float + stamp_inheritstamp_contains + type + Last time this object was modified. + Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. + + idparentschildrenobjtypedescriptionlong_description + type.def + 236 + + + + stamp_inherit + stamp + + type + Last time any object that inherits from this has been modified + Value should be reflect when something was changed in some object that inherits from this. + + idparentschildrenobjtypedescriptionlong_description + type.def + 246 + + + + stamp_contains + stamp + + type + Last time any object that uses this as reference recursively has been modified + Value should be reflect when something was changed in some object that is contained by this object. + + idparentschildrenobjtypedescriptionlong_description + type.def + 260 + + + + objtype + object type + string + + type + What kind of object this is. + Examples of values: "op", "class", "type". + + idnameparentschildrenobjtypedescriptionlong_description + type.def + 442 + + + + interface + id + + What kind of operations are legal for this object. + + idparentschildrendescription + type.def + 455 + + + + specification + string + + type + What specification this object is part of? + + idparentschildrenobjtypedescription + type.def + 460 + + + + name + string + + type + Name of object. + + idparentschildrenobjtypedescription + type.def + 466 + + + + message + string + say + type + Some message (for example error message) + + idparentschildrenobjtypedescription + type.def + 472 + + + + say + message + + What something has said. + + idparentschildrendescription + type.def + 478 + + + + html + string + description + type + String that is actually html. + + idparentschildrenobjtypedescription + type.def + 483 + + + + username + string + + type + Username for account usually + + idparentschildrenobjtypedescription + type.def + 489 + + + + password + string + + type + Password for account usually + + idparentschildrenobjtypedescription + type.def + 495 + + + + description + html + args_descriptionlong_description + This gives short description of object. + + idparentschildrendescription + type.def + 501 + + + + args_description + description + + This gives description about arguments. + + idparentschildrendescription + type.def + 506 + + + + long_description + description + + This gives long description of object. + + idparentschildrendescription + type.def + 511 + + + + loc + location + id + + type + Reference object for coordinates (location). + + idnameparentschildrenobjtypedescription + type.def + 516 + + + + serialno + int + refnolineno + type + Serial number. + + idparentschildrenobjtypedescription + type.def + 523 + + + + refno + serialno + + Reference to serial number. + + idparentschildrendescription + type.def + 529 + + + + from + id + + Source of message/operation. + + idparentschildrendescription + type.def + 534 + + + + to + id + + Target of message/operation. + When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. + + idparentschildrendescriptionlong_description + type.def + 539 + + + + seconds + float + future_seconds + type + Time in seconds + + idparentschildrenobjtypedescription + type.def + 547 + + + + future_seconds + seconds + + Time in seconds to add current time + + idparentschildrendescription + type.def + 553 + + + + time_string + string + + type + Time in string format: YYYY-MM-DD HH:MM:SS.ss + There can be variation in length of different fields if using some weird calendar + + idparentschildrenobjtypedescriptionlong_description + type.def + 558 + + + + example + list + + type + Gives some examples usage + + idparentschildrenobjtypedescription + type.def + 565 + + + + width + float + + type + width of something + + idparentschildrenobjtypedescription + type.def + 572 + + + + grid_data + list + + type + grid data + + idparentschildrenobjtypedescription + type.def + 578 + + + + grid_size + int_list_length + + type + 2 + size of grid area: width and height (and for space depth too) in grid units + + idparentschildrenobjtypelist_lengthdescription + type.def + 584 + + + + cell_size + float_list_length + + type + 2 + cell size of grid area + + idparentschildrenobjtypelist_lengthdescription + type.def + 591 + + + + height + float + + type + height of something + + idparentschildrenobjtypedescription + type.def + 598 + + + + line_data + list + + type + line object + + idparentschildrenobjtypedescription + type.def + 604 + + + + media + uri + + media id reference + + idparentschildrendescription + type.def + 610 + + + + specification_file + map + + type + various info about object and its specification file + + idparentschildrenobjtypedescription + type.def + 616 + + + + filename + uri + + name of file (example: where object was specified) + + idparentschildrendescription + type.def + 622 + + + + lineno + serialno + + linenumber where something is + + idparentschildrendescription + type.def + 627 + + + + attribute_order + uri_list + + order attributes was specified + + idparentschildrendescription + type.def + 632 + + + + e_int + int + e_HPe_attacke_amount + type + Root type for all int type example attributes + + idparentschildrenobjtypedescription + type.def + 638 + + + + e_float + float + e_heighte_widthe_drunknesse_status + type + Root type for all float type example attributes + + idparentschildrenobjtypedescription + type.def + 644 + + + + e_string + string + e_msge_smelle_surface_typee_bare_sex + type + Root type for all string type example attributes + + idparentschildrenobjtypedescription + type.def + 650 + + + + e_uri + uri + + Root type for all uri type example attributes + + idparentschildrendescription + type.def + 656 + + + + e_list + list + e_polygon + type + Root type for all list type example attributes + + idparentschildrenobjtypedescription + type.def + 661 + + + + e_HP + e_int + + + idparentschildren + type.def + 668 + + + + e_height + e_float + + + idparentschildren + type.def + 672 + + + + e_width + e_float + + + idparentschildren + type.def + 676 + + + + e_msg + e_string + + + idparentschildren + type.def + 680 + + + + e_polygon + e_list + + + idparentschildren + type.def + 684 + + + + e_attack + e_int + + + idparentschildren + type.def + 688 + + + + e_amount + e_int + + + idparentschildren + type.def + 692 + + + + e_smell + e_string + + + idparentschildren + type.def + 696 + + + + e_surface_type + e_string + + + idparentschildren + type.def + 700 + + + + e_bar + e_string + + + idparentschildren + type.def + 704 + + + + e_sex + e_string + + + idparentschildren + type.def + 708 + + + + e_drunkness + e_float + + + idparentschildren + type.def + 712 + + + + e_status + e_float + + + idparentschildren + type.def + 716 + + + + root_interface + root + base_interfacegame_interface + meta + starting point for interface browsing, not used otherwise + + + idparentschildrenobjtypedescriptionoperations + interface.def + 2 + + + + base_interface + root_interface + + interface + raw interface + admin can use this interface for setting + abstract hierarchy and actual game objects too + createdeletesetget + + idparentschildrenobjtypedescriptionlong_descriptionoperations + interface.def + 9 + + + + game_interface + root_interface + + atlas_game + interface + client interface for controlling character etc.. + createcombinedividecommunicatemoveperceivetalklooklistensnifftouch + + idparentschildrenspecificationobjtypedescriptionoperations + interface.def + 18 + + + + geometry + game_entity + arealine + Base for all geometry related map elements + + idparentschildrendescription + map.def + 2 + + + + area + geometry + 2D_gridagrilanagrilan_watersagrilan_lands + Some kind 2D area + + idparentschildrendescription + map.def + 7 + + + + line + geometry + riverroad_blockroad + Some kind line + 0.0 + + + + 123 + line + 0.1 + + 0.00.00.0 + 1.00.00.0 + 1.01.00.0 + + + idparentswidthline_data + map.def + 19 + + + + + idparentschildrendescriptionwidthline_dataexample + map.def + 12 + + + + 2D_grid + area + hillyplainlakeriverroad_block + some area + Basically container for "Terrain Exception Data in AMIS". + 1.01.0 + 11 + + Example usage: see agrilan_map.* + + idparentschildrennamedescriptioncell_sizegrid_sizegrid_dataexample + map.def + 28 + + + + agrilan + area + + example + This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location + Hand made example map based on + http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg + No media id's here though, except few example... + + First ascii map: +origin: -80,-40 +<PRE> +HHLHRPAP +HLLRRRPA +HHLHHRPA +PPPPPRPA +PPPPPPRA +FFFPPAAA +</PRE> +Legend:<br> +H=Hilly<br> +L=Lake<br> +R=River<br> +A=roAd<br> +P=Plains<br> +F=Forest<br> + + 0.00.0300.0 + agrilan_landsagrilan_waters + refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg + + idparentschildrenspecificationdescriptionlong_descriptionposcontainsmedia + agrilan_map.def + 2 + + + + hilly + example + Hilly part around Eluryh lake + Defining hilly type first + (here could be for example movement_speed + attribute too for example) + 2D_grid + hilly1hilly2hilly3 + media id for generic hilly type + 40.040.0 + + idspecificationnamedescriptionparentschildrenmediacell_size + agrilan_map.def + 35 + + + + hilly1 + Specific hilly instances: note missing place + where there is lake + hilly + + agrilan_lands + -80.0-40.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 23 + + + 10.0 + special media id for this tile (not shown for all) + + heightmedia + agrilan_map.def + 58 + + + + 5.0 + + height + agrilan_map.def + 61 + + + + 4.0 + + height + agrilan_map.def + 63 + + + + 3.0 + + height + agrilan_map.def + 66 + + + + + + agrilan_map.def + 68 + + + + 2.0 + + height + agrilan_map.def + 69 + + + + + iddescriptionparentschildrenlocposmediagrid_sizegrid_data + agrilan_map.def + 46 + + + + hilly2 + hilly + + + agrilan_lands + 40.0-40.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 11 + + + 10.0 + + height + agrilan_map.def + 83 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 72 + + + + hilly3 + hilly + + + agrilan_lands + 40.040.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 21 + + + 10.0 + + height + agrilan_map.def + 97 + + + + 10.0 + + height + agrilan_map.def + 100 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 86 + + + + plain + example + Plains + Defining plain type + 2D_grid + plain1plain2plain3plain4 + media id for generic plain type + 40.040.0 + + idspecificationnamedescriptionparentschildrenmediacell_size + agrilan_map.def + 103 + + + + plain1 + plain + + Specific plains + agrilan_lands + -80.080.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 63 + + + 2.0 + + height + agrilan_map.def + 123 + + + + 2.2 + + height + agrilan_map.def + 125 + + + + + + agrilan_map.def + 127 + + + + 1.8 + + height + agrilan_map.def + 129 + + + + 2.0 + + height + agrilan_map.def + 131 + + + + + + agrilan_map.def + 133 + + + + 1.6 + + height + agrilan_map.def + 135 + + + + 1.8 + + height + agrilan_map.def + 137 + + + + + + agrilan_map.def + 139 + + + + 1.4 + + height + agrilan_map.def + 141 + + + + 1.6 + + height + agrilan_map.def + 143 + + + + 1.6 + + height + agrilan_map.def + 145 + + + + 1.2 + + height + agrilan_map.def + 148 + + + + 1.4 + + height + agrilan_map.def + 150 + + + + 1.4 + + height + agrilan_map.def + 152 + + + + + + agrilan_map.def + 155 + + + + 1.2 + + height + agrilan_map.def + 156 + + + + + + agrilan_map.def + 158 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 112 + + + + plain2 + plain + + + agrilan_lands + 120.080.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 11 + + + 1.3 + + height + agrilan_map.def + 171 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 160 + + + + plain3 + plain + + + agrilan_lands + 200.080.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 11 + + + 1.3 + + height + agrilan_map.def + 185 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 174 + + + + plain4 + plain + + + agrilan_lands + 160.080.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 14 + + + 1.25 + + height + agrilan_map.def + 199 + + + + 1.2 + + height + agrilan_map.def + 202 + + + + 1.15 + + height + agrilan_map.def + 205 + + + + 1.1 + + height + agrilan_map.def + 208 + + + + + idparentschildrendescriptionlocposmediagrid_sizegrid_data + agrilan_map.def + 188 + + + + lake + example + Lake + Defining lake type + 2D_grid + lake1 + media id for generic lake type + 40.040.0 + + idspecificationnamedescriptionparentschildrenmediacell_size + agrilan_map.def + 211 + + + + lake1 + Eluryh + One lake + lake + + agrilan_waters + -80.080.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 23 + + + + + agrilan_map.def + 232 + + + + 1.15 + + height + agrilan_map.def + 233 + + + + + + agrilan_map.def + 235 + + + + 1.15 + + height + agrilan_map.def + 237 + + + + 1.15 + + height + agrilan_map.def + 239 + + + + 1.15 + + height + agrilan_map.def + 241 + + + + + idnamedescriptionparentschildrenlocposmediagrid_sizegrid_data + agrilan_map.def + 220 + + + + river + example + River + Defining river type + 2D_gridline + river1river2 + media id for generic river type + 40.040.0 + + idspecificationnamedescriptionparentschildrenmediacell_size + agrilan_map.def + 244 + + + + river1 + Hardonar river + Few rivers + river + + agrilan_waters + 80.0-40.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 25.0 + + 100.0-40.01.1 + 140.020.01.08 + 140.0100.01.05 + 160.0140.01.03 + 160.0200.01.0 + + 36 + + + 1.09 + + height + agrilan_map.def + 272 + + + + + + agrilan_map.def + 274 + + + + + + agrilan_map.def + 275 + + + + + + agrilan_map.def + 276 + + + + + + agrilan_map.def + 277 + + + + + + agrilan_map.def + 278 + + + + + + agrilan_map.def + 279 + + + + + + agrilan_map.def + 281 + + + + 1.08 + + height + agrilan_map.def + 282 + + + + 1.07 + + height + agrilan_map.def + 284 + + + + 1.06 + + height + agrilan_map.def + 286 + + + + 1.05 + + height + agrilan_map.def + 288 + + + + + + agrilan_map.def + 290 + + + + + + agrilan_map.def + 291 + + + + + + agrilan_map.def + 293 + + + + + + agrilan_map.def + 294 + + + + + + agrilan_map.def + 295 + + + + + + agrilan_map.def + 296 + + + + + + agrilan_map.def + 297 + + + + 1.03 + + height + agrilan_map.def + 298 + + + + 1.01 + + height + agrilan_map.def + 300 + + + + + idnamedescriptionparentschildrenlocposmediawidthline_datagrid_sizegrid_data + agrilan_map.def + 253 + + + + river2 + river + + connects to lake + agrilan_waters + 40.00.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + 5.0 + + 140.020.01.08 + 40.020.01.15 + + 21 + + + 1.13 + + height + agrilan_map.def + 318 + + + + 1.1 + + height + agrilan_map.def + 321 + + + + + idparentschildrendescriptionlocposmediawidthline_datagrid_sizegrid_data + agrilan_map.def + 303 + + + + agrilan_waters + example + All Agrilan waters container + area + + agrilan + 0.00.00.0 + lake1river1river2 + + idspecificationdescriptionparentschildrenlocposcontains + agrilan_map.def + 324 + + + + road_block + example + Road block + Defining road types + 2D_gridline + bridgeroad1road2road3 + media id for generic road type + 40.040.0 + 5.0 + + idspecificationnamedescriptionparentschildrenmediacell_sizewidth + agrilan_map.def + 333 + + + + bridge + Bridge + Defining bridge type + road_block + bridge1 + media id for generic bridge type + 40.040.0 + + idnamedescriptionparentschildrenmediacell_size + agrilan_map.def + 343 + + + + road + example + Road + Collection of road blocks + line + murray_r1 + media id for generic road type + + idspecificationnamedescriptionparentschildrenmedia + agrilan_map.def + 351 + + + + road1 + Actual road + road_block + + murray_r1 + 160.0-40.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + + 180.0-40.01.4 + 220.00.01.4 + + 11 + + + 1.4 + + height + agrilan_map.def + 373 + + + + + iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_data + agrilan_map.def + 359 + + + + road2 + Actual road + road_block + + murray_r1 + 200.00.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + + 220.00.01.4 + 220.0180.01.3 + + 15 + + + 1.38 + + height + agrilan_map.def + 390 + + + + 1.36 + + height + agrilan_map.def + 393 + + + + 1.34 + + height + agrilan_map.def + 396 + + + + 1.32 + + height + agrilan_map.def + 399 + + + + 1.3 + + height + agrilan_map.def + 402 + + + + + iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_data + agrilan_map.def + 376 + + + + bridge1 + Actual bridge + bridge + + Murray bridge + murray_r1 + 160.0160.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + + 220.0180.01.3 + 140.0180.01.3 + + 11 + + + 2.0 + + height + agrilan_map.def + 420 + + + + + iddescriptionparentschildrennamelocposmedialine_datagrid_sizegrid_data + agrilan_map.def + 405 + + + + road3 + Actual road + road_block + + murray_r1 + 120.0160.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + + 140.0180.01.3 + 100.0180.01.2 + + 11 + + + 1.3 + + height + agrilan_map.def + 437 + + + + Murdar road + + iddescriptionparentschildrenlocposmedialine_datagrid_sizegrid_dataname + agrilan_map.def + 423 + + + + murray_r1 + Murray Road + This brings all roads blocks together + (line data more generic than on lower levels) + road + + agrilan_lands + 0.00.00.0 + media id for whole area (text media may want to use it or + overview 2D media too) + road1road2bridge1road3 + + 180.0-40.01.4 + 220.0180.01.3 + 100.0180.01.2 + + + idnamedescriptionparentschildrenlocposmediacontainsline_data + agrilan_map.def + 441 + + + + agrilan_lands + example + All agrilan lands + area + + 0.00.00.0 + hilly1hilly2hilly3plain1plain2plain3plain4murray_r1 + + idspecificationdescriptionparentschildrenposcontains + agrilan_map.def + 457 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/atlas-xml.css atlas-cpp-0.6.3/protocol/spec/atlas-xml.css --- atlas-cpp-0.6.2/protocol/spec/atlas-xml.css 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/atlas-xml.css 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,109 @@ +/* CSS stylesheet + * Put this at the top of an atlas xml file to use this stylesheet: + * + * + */ + +atlas:before { + color: black; + content: "ATLAS bach output"; + font-size: 14pt; +} + +atlas { + display: block; + color: black; + margin: 0.5em; + background-color: white; + font-size: 12pt; + font-family: helvetica; +} + +map:before { + content: "{"; +} + +map { + display: block; + margin: 0.5em; +} + +map:after { + content: "}"; +} + +map > int:before { + content: attr(name) ": "; + margin: 0.5em; +} + +map > int { + display: block; + margin: 0.5em; +} + +map > float:before { + content: attr(name) ": "; + margin: 0.5em; +} + +map > float { + display: block; + margin: 0.5em; +} + +float:after { + content: "f"; +} + +map > string:before { + content: attr(name) ": \""; +} + +map > string { + display: block; + margin: 0.5em; +} + +map > list:before { + content: attr(name) ": ["; +} + +map > list { + display: block; + margin: 0.5em; +} + +list:after { + content: "]"; +} + +list > int { + margin: 0.5em; +} + +list > float { + margin: 0.5em; +} + +string:after { + content: "\""; +} + +list > string:before { + content: "\""; +} + +list > string { + margin: 0.5em; +} + +list > list:before { + content: "["; + margin: 0.5em; +} + +list > list { + display: block; + margin: 0.5em; +} diff -Nru atlas-cpp-0.6.2/protocol/spec/atlas-xml.dtd atlas-cpp-0.6.3/protocol/spec/atlas-xml.dtd --- atlas-cpp-0.6.2/protocol/spec/atlas-xml.dtd 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/atlas-xml.dtd 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/bach_syntax.html atlas-cpp-0.6.3/protocol/spec/bach_syntax.html --- atlas-cpp-0.6.2/protocol/spec/bach_syntax.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/bach_syntax.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,58 @@ + + + + Bach syntax + + + +

Bach syntax

+ +Current negotiation identifier is Bach_beta2. Final will be Bach. +

+Elements in mapping and lists are separated with ,. +

+Mapping is surrounded with {}. Elements in mapping are encoded as +name:value. Name is encoded without quotes if it consists of digits or +uppercase or lowercase letter (a-z) or _. Name must not start with a +number. Quoted name can contain anything, see strings. Value can be +anything. +

+List is surrounded with []. Values can be anything. Top level +object in streams is a list. So stream starts with [ and ends +with ] (same as <atlas> and </atlas> in XML). +

+Integer can start with +- (optional) and digits. +

+Float numbers consist of mantissa and exponent (optional). Mantissa can contain +one .. Otherwise they are encoded as integers and are separated with +e or E (in case there is an exponent). +

+String is surrounded with " and " is quoted as \" +and \ is quoted as \\. (in future may allow octals and +special characters like \n). +

+# is comment character: all character from this to end of line is comment. +(Might be some day decoded as "comment" -attribute or something equivalent) +

+Whitespace is allowed outside values and names (Regular expression \s +or any of \t \n\r\f\v). +

+Example: +

+{
+   parents: ["info"], 
+   arg: {
+     name: "Joe", 
+     pos: [4.5, 6.7, 2.3], 
+     meaning_of_life: 42
+   }
+}
+
+
+
Aloril
+ + +Last modified: Mon Jul 8 05:02:40 EEST 2002 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/binary1_beta.html atlas-cpp-0.6.3/protocol/spec/binary1_beta.html --- atlas-cpp-0.6.2/protocol/spec/binary1_beta.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/binary1_beta.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,178 @@ + + + + + HTML documentation - Atlas binary1_beta2 codec specification + + +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Atlas binary1_beta2 codec specification

+

The Atlas binary1_beta2 codec is a binary codec for the Atlas protocol. + It defines type flags and specific binary encoding methods for each supported type. + This particular version includes all basic Atlas primitives, but does not provide + support for advanced features such as sized numeric types, user defined types, arrays, tunneling self + encoded byte streams, or secondary transport layer connections such as UDP. +

+
+

+ A. Atlas types +

+
+

+ Atlas types are encoded as integers. Bit 6 is not anymore + reserved for possible future use as an array type flag. Array + types will be defined by user in binary2. The current type + values and descriptions are as follows: +

+
+ Value + + Description +
0Possible future flag for user defined types
1Positive Integer
2Negative Integer
3Floating point encoded as two integers a and b where value = a * 2^b
4Floating point encoded as two integers a and b where value = a * 2^-b
5Floating point encoded as two integers a and b where value = -a * 2^b
6Floating point encoded as two integers a and b where value = -a * 2^-b
7Special floating point values encoded as an integer where 0 = NaN, 1 = +Inf, 2 = -Inf
8String with fixed length
9List with fixed length
10Map with fixed length
11String with unknown length
12List with unknown length
13Map with unknown length
+

+ B. Specific Encodings +

+
+

+ Most Atlas primitives are encoded as 'type' followed by 'value'. + The Atlas 'type' is encoded as a positive integer. + Specific encoding methods are as follows: +

+
+
    +
  1. Integer encoding - bit 7 is used as a flag to indicate the presence of additional bytes, + Thus each byte represents a magnitude of 0-127 and each subsequent byte position has a + multiplier of 128 * the previous byte position's multiplier. Of course the first byte + has a multiplier of 0. This allows for integers of any size. +
  2. +
  3. Normal Floats are encoded as mantissa exponent pairs with both the mantissa and exponent represented + as integers. Special floats have a single integer value, 0 = NaN, + 1 = +Infinity, 2 = -Infinity. +
  4. +
  5. Strings are encoded as a length integer followed by a sequence of length bytes
  6. +
  7. Lists are encoded as a size integer followed by size * ( type, value ) pairs
  8. +
  9. Maps are encoded as a size integer followed by size * (type, name, value ) triplets where + name is encoded as a string value.
  10. +
  11. Unknown length strings/lists/maps are encoded just like normal, + except that after this sequence follows either another unknown length sequence or + known length sequence (fixed length string/list/map). + String/list/map started with unknown length type + always end with fixed length sequence of same type.
  12. +
+


+
+ Credits for Binary1_beta by using cvs log message: +
+date: 2001/03/01 00:35:32;  author: blprice;  state: Exp;
+binary1_beta.html added to forge/protocols/atlas/spec - based on irc discussion with Aloril
+
+ + + \ No newline at end of file diff -Nru atlas-cpp-0.6.2/protocol/spec/ChangeLog atlas-cpp-0.6.3/protocol/spec/ChangeLog --- atlas-cpp-0.6.2/protocol/spec/ChangeLog 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/ChangeLog 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,371 @@ +2005-08-21 Al Riddoch + + * operation.def: Add an Affect abstract op definition, used as a + base class for high level ops which modify their target. + + * atlas.xml: Generated spec updated for above changes. + +2005-05-28 Al Riddoch + + * operation.def: Remove some single quotes from comments, as they + mess up syntax highlighting. Add Use and Wield operation definitions. + + * atlas.xml: Generated new spec with the above definition changes. + +2004-04-29 Al Riddoch + + * entity.def: Put username and characters attributes on account. + +2003-05-30 Aloril + + * entity.atlas: autonomous_entity by Al Riddoch + +2002-10-03 AIR-IX SUUNNITTELU/Ahiplan Oy + + * simple_core.html: added attribute objtype:"op" to operations + +2002-10-03 AIR-IX SUUNNITTELU/Ahiplan Oy + + * type.atlas: text attribute added + + * added TODO: things to do listed in priority order + +2002-09-20 AIR-IX SUUNNITTELU/Ahiplan Oy + + * entity.atlas, type.atlas: glue_entity and glue_ids: used in + cases implicit glueing by listing object ids doesn't work + +2002-08-07 AIR-IX SUUNNITTELU/Ahiplan Oy + + * entity.atlas, type.atlas: removed "game" object and added "world" object + + * *.atlas: name->name, description->summary (usually about 1 + line), long_description->description: few lines to few pages; + suggestion for new attribute names by markt at #lounge + +2002-07-08 Aloril + + * bach_syntax.html: mentioned stream start/end + +2002-07-06 AIR-IX SUUNNITTELU/Ahiplan Oy + + * entity.atlas: server class added + +2002-06-25 Aloril + + * bach_syntax.html: description of Bach codec + +2002-05-31 AIR-IX SUUNNITTELU/Ahiplan Oy + + * operation.atlas, type.atlas: args->arg and related changes + + * gen_html.py: generated html now uses Bach codec instead of XML: + much easier to read + +2002-05-29 AIR-IX SUUNNITTELU/Ahiplan Oy + + * entity.atlas, type.atlas: added geometry attributes + +2002-05-28 AIR-IX SUUNNITTELU/Ahiplan Oy + + * converted most .def files to .atlas files (bach encoding) + + * gen_atlas.py: generate atlas.atlas from *.atlas files + +2002-02-08 Aloril + + * added id_path.html, credits.html, revision_history.html + + * added simple_core.html: simple get/set/create/delete/info + operations defined, kinda like short Atlas tutorial + +2001-09-01 Aloril + + * binary1_beta.html: added unknown length lists/strings/maps and + changed identity into binary1_beta2 + +2000-11-15 Aloril + + * added some docs and bug fix + + * parent for imaginary changed from perception to action + +2000-08-12 Aloril + + * v0.2.4 released + +2000-08-02 Aloril + + * packed_index.html by Mike added to index.html and some other small changes + +2000-07-11 Aloril + + * gen_html.py: example attribute 'outputs' value directly, not as string + + * parse_def.py didn't parse correctly ":list:[0.0,0.0,0.0]" -lines + +2000-06-28 Aloril + + * all attributes included (uups) and mapping attribute types now + are shown properly also + + * regenerated with attributes listed in original order + +2000-06-27 Aloril + + * moved parse_def.py into libs/Atlas-Python + + * fixed some things that new stricter parse_def.py notices + + * added some attributes for debugging purposes + + * rewrited ParseDef.py into parse_def.py (old one will remain as + long as gen_cc.py uses it) + +2000-06-26 Aloril + + * specification strings: s/-/_/ + + * changes to gen_html.py to use modified atlas.py + +2000-06-24 Aloril + + * removed old gen_xml.py (new one is at libs/Atlas-Python) + +2000-06-23 Aloril + + * added element_type and made some renamings for XX_list_lengths: + for C/C++ optimization purposes + + * grid_data type changed: map->list + + * gen_html.py rewritten using new forge/libs/Atlas-Python + (more clear now) + +2000-06-21 Aloril + + * added "ignore unknown commands" at negotiation requirement + + * one bugfix to old gen_xml.py: forgot to remove "" -tag from + spec generator (it was removed from libAtlasPy) + +2000-06-16 Aloril + + * attribute renamings: + s/parent/parents/ + s/instance/children/ + +2000-06-08 Aloril + + * added negotiation docs (including list of official codecs) + +2000-05-23 Aloril + + * updated index.html and s/map/mapping/ in documentation (no + change in encoding) + +2000-05-04 Aloril + + * abstract_type -> objtype + + * loc.ref -> loc + + * loc.coords -> pos + + * loc.velocity -> velocity + + * time.seconds -> seconds + + * time.future_seconds -> future_seconds + + * time.time_string -> time_string + + * objtype: "operation" -> "op" + + * objtype: "operation_definition" -> "op_definition" + +2000-02-19 Aloril + + * move.html updated and added new sections to it + +2000-02-09 Aloril + + * map completed and it's now made part of "example" specification + and is at agrilan_map.def file + +2000-02-07 Aloril + + * basic encoding types removed + + * map.def, map_in.html and map.html added + +1999-12-10 Aloril + + * v0.2.3 released + + * xml_syntax.html updated to reflect changes + + * *.py: takes into account map -addition and gen_xml.py generates + new syntax + + * *.def: splitted obj_list to list and map and removed obj + physical type + +1999-12-08 Aloril + + * added game_interface + + * added movement example + + * added look conversation examples + +1999-12-06 Aloril + + * Actual operation instances should have this attribute defined: + abstract_type="operation": examples changed to reflect change + + * root_operation.abstract_type changed to "operation_definition" + and thus every other operation definition inherits that too + +1999-12-04 Aloril + + * added conversation example to login.example and more IRC logs as + .def file comments + + * some IRC logs added: those need to be trimmed 'compressed' into + actual docs + +1999-12-02 Aloril + + * v0.2.2 released + + * added stamp_inherit and stamp_contains + + * operation.def: all operations have now some example(s) + +1999-12-01 Aloril + + * more examples added to operation* files + +1999-11-29 Aloril + + * ParseDef.py: need both "id" and "parent" attribute before adds + "instance" attribute + + * type.def: attributes that examples need added + + * operation.def: added some examples + + * gen_xml.py: modified output to less verbose whitespace + + * gen_html.py: example attribute supported + + * ParseDef.py: multiline """ string added + +1999-11-26 Aloril + + * v0.2.1 released + + * Credits fixed + +1999-11-25 Aloril + + * some small changes in type.def + + * xml_syntax.html: s/id/uri/ + +1999-11-24 Aloril + + * changed args attribute to inherit from obj_list + +1999-11-23 Aloril + + * changed id date_type to uri and made id to inherit from it, same + for id_list: -> uri_list + +1999-11-20 Aloril + + * added XML version of all objects + +1999-11-15 Aloril + + * operation_in.html: added short blurb about how operations are used + + * index.html: added links to {move,login}.html + + * type.def: changed log,time inheritance back to obj_list + + * type.def: renamed attributes to added_attributes and changed loc,time inheritance + + * type.def: renamed contains for attribute list to attributes + + * operation.def: renamed parameter_description to args_description, added args + +1999-11-13 Aloril + + * changed some operation names per Zachariah Baum suggestions and changed credits + + * added specification attribute + + * rest of operation.html translated to operation.def + + * operation.def: part of it written + +1999-11-09 Aloril + + * interface.def, entity.def: old *.html info moved here + + * type.def: old type.html info moved here + + * gen_html.py: objindex and objtree tags added + + * *.py: now shows inheritance too + +1999-11-08 Aloril + + * added gen_html.py, type_in.html and modified others somewhat + + * added *.def, ParseDef.py and some modifications to xml_syntax.html + +1999-11-06 Aloril + + * changes in xml_syntax.html + +1999-11-05 Aloril + + * list->obj_list and id_list DTD changed + + * changed physical_type to data_type + + * xml_syntax.html: DTD defined + + * type.html added + +1999-11-04 Aloril + + * miscellanous edits + + * requirements.html added + +1999-11-03 Aloril + + * move.html: copied from old + + * operation.html: copied descriptions from v0.1.4 + + * xml_syntax.html added + + * operation.html: added more stuff + +1999-11-01 Aloril + + * operation.html: added more stuff + + * added base_action -interface + + * added C comparison + + * binary topic added and C example added + + * Seed for v0.2.0 + diff -Nru atlas-cpp-0.6.2/protocol/spec/credits.html atlas-cpp-0.6.3/protocol/spec/credits.html --- atlas-cpp-0.6.2/protocol/spec/credits.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/credits.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,61 @@ + + + + Credits + + + +

Credits

+ + If you see some omissions, please tell me and I'll include them. + + New things in v0.3.0: +
    +
  • Cartography based on input by James Turner +
  • blprice helped with binary codecs +
  • Id path usage in operations changed after UncleFluffy + prodded with Occams Razor. +
  • Grimicus helped with semantic_maps paper. +
  • autonomous_entity by Al Riddoch +
+ +

+ v0.2.4 is result of all following work: + Aloril, John R Sheets: + Old Cyphesis based Atlas+ + RavenDusk proposal -> + v0.1.X
+ + James Best (jamie): Wds
+ ACHAT negotiation
+ Michael Day (Mike): New <obj> syntax
+ parent->parents and instance->children renaming
+ packed syntax docs
+ Lavoie Philippe: Homeworks and good suggestions
+ Richard Kunze: Interface suggestion
+ Sal for MIM and several other good suggestions, especially timestamp
+ Michael Day (Mike), + Bryce Harrington and + Fex + for "protocol requirements" document
+ Zachariah Baum: + changed "appear" to "appearance" and "disappear" + to "disappearance" and "sense" to "feel".
+ John Barrett (ZW): + Suggested map as basic type and new XML syntax (v0.2.2 -> v0.2.3)
+ Removing of typed lists and uri as encoding types
+ AMIS which map definition is based on
+ PASCII (packed) encoding
+ Recommendation for flattening structures
+ Michael Day (Mike) and + Stefanus Du Toit + for refining PASCII encoding + +


+
Aloril
+ + +Last modified: Fri May 30 16:56:04 EEST 2003 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/.cvsignore atlas-cpp-0.6.3/protocol/spec/.cvsignore --- atlas-cpp-0.6.2/protocol/spec/.cvsignore 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/.cvsignore 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,3 @@ +atlas.atlas +*.pyc +janus.def diff -Nru atlas-cpp-0.6.2/protocol/spec/def2xml.py atlas-cpp-0.6.3/protocol/spec/def2xml.py --- atlas-cpp-0.6.2/protocol/spec/def2xml.py 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/def2xml.py 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,17 @@ +# This file may be redistributed and modified only under the terms of +#the GNU Lesser General Public License (See COPYING for details). +#Copyright Aloril 2000 + +import init +from atlas.codecs.parse_def import read_all_defs +from atlas.codecs.gen_xml import gen_xml + +if __name__=="__main__": + filelist = ["root","entity","operation","type","interface","map","agrilan_map"] + defs = read_all_defs(map(lambda file:file+".def", filelist)) + fp = open("atlas.xml","w") + fp.write("\n") + for obj in defs.objects: + fp.write(gen_xml(obj)+"\n") + fp.write("\n") + fp.close() diff -Nru atlas-cpp-0.6.2/protocol/spec/.directory atlas-cpp-0.6.3/protocol/spec/.directory --- atlas-cpp-0.6.2/protocol/spec/.directory 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/.directory 2013-05-09 10:30:12.000000000 +0000 @@ -0,0 +1,5 @@ +[Dolphin] +AdditionalInfoV2=Details_Size,Details_Date,CustomizedDetails +Timestamp=2013,5,9,12,30,12 +Version=2 +ViewMode=1 diff -Nru atlas-cpp-0.6.2/protocol/spec/entity.atlas atlas-cpp-0.6.3/protocol/spec/entity.atlas --- atlas-cpp-0.6.2/protocol/spec/entity.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/entity.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,189 @@ +ATLAS entity definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +{ + id:"root_entity", + parents:["root"], + objtype:"class", + summary:"Starting point for entity hierarchy", + description:"Later in hierarchy tree objtype changes to 'object' when actual game objects are made.", + +## hi jamie! +## Hello! +## about differences between WDS and atlas operations: +## is wds like: move(x,y,z) ? +## wds doesn't care. It is only the center two levels of communication +## (atlas is like: move({id:"qw12",coords:{1,2,3}}) +## wds actually: move(id,x,y,z) ? +## Well, wds is almost move(id:"qw12",int:1,int:2,int:3) +## As types are passed with each variable +## ahh... but order of argument is important? +## It depends on the link layer and the api. If the link layer sinks them up then it is, but that is transparent. The api has two ways to do an action, one way is not order sensitive the other is, but the order can be defined by the code +## I use varargs, for example, to do something like send_command(player,"move",1,2,3) in my code. It sees player as who to send it to, move as the command, and what to do. The order here is dependant on definition order, but it makes the code much cleaner +## yes... but adding something like accel (float_list), etc... becomes harder ? +## *** Lachlann has quit (xchat exiting..) +## how would you do this forge("jewel_sword","jevels","iron") ... +## +## +## jsword_123 +## 1.2 +## +## +## I'm not sure if I understand... I have two other calling convetions as well. send_command_args as (player,commands, arglist) where arglist is a linked list of types, names, and values, and also send_command_f(player,"move id x y z",player,1,2,3) +## jevels123 +## +## +## iron_213 +## +## +## This is just in my source... How it is sent is similer, it just serializes it +## hmm... s/jsword_123/Nice jeweled sword/ +## hmm... well what did you mean by your operation criticism in ML ? +## in atlas v0.2.1 every argument when *sending* is entitity or operation (no ids or floatlist or ...) +## It depends on how Atlas is used. From the documentation there is nothing that states that it is compleatly operation based, meaning it can be compleatly coded with functions and callbacks +## Ahh, but what entities? +## I only have class definitions and operations being able to be sent, no real world objects can be there outside of an operation +## entity is just 'map' between attributes names and their values +## entity is not real world object, but it can describe one or part of it +## So, that sword in your inventory is put there by an operation, or the the one defining the sack it's in, not by it's self +## Bah. +## you define new location for sword: +## Apartment hunting sucks :( +## Try trapping. Or poaching +## But to define the sword it's self... it's creation +## put(ent(id:sword_42, loc:{ref:sack_24})) +## no it's not creation, only changing loc attribute +## 'id' is not changed +## No, I mean the whole process... so it is created first, then put in the sack? +## hmm.. it's not created if world already has it.. +## above put assumes sword_42 and sack_24 already exist +## So how is it defined to the client in the first place? +## set(ent(id:sword_42,length:1.2,type:jeweled_sword)) +## entity is just a way to encapsulate all object related attributes to one place +## So the first time an attribute is set on an object it is created? +## ahh.. hmm.. +## how does server now whether client has purged it's cache? +## so "set" is equivalent of "creation" if client doesn't already have it or had purged it's cache +## create would be used when it's created in server side.. hmm.. you do bring point.. hmm... +## And client requests a compleate description of the object if it recieves a "Set" and does not have it local? +## yes +## or if stamp is outdated +## What stamps does the client compair to see if it is outdated? The set will always come with a new stamp no matter what +## well if client hasn't cleared cache, then it can compare new sight and what it has cached +## (example when it awakes) +## example: makes easy to see that only thing changes is new cup in board is only change in house +## example: sight(ent(id:board_12,stamp:123.0)) and client has it with stamp:100.0 +## Yes, but on a set, does every set also update the stamp on an object? +## then it can get(ent(id:board_12,stamp:100.0)) and server can only send what has changed between (or everything) +## yes if set contains stamp attribute +## *** Chord has quit (Ping timeout) +## Well, every time an object changes it's stamp would change also +## it should....otherwise stamp is useless +## * aloril nods +## if you wan't to support it ;-) +## So a set has a manditory "stamp" that is required +## well if server doesn't use stamping then just assume it 0.0... +## *nods* +## but practically speaking it's manditory... +## ie client newer set stamp except for it's own objects +## *nods* +## (for example some client setting that server might be interested or if it happens to be another server) +}, +{ + id:"admin_entity", + parents:["root_entity"], + summary:"All classes and objects used for adminitrativive purposes" +}, +{ + id:"account", + parents:["admin_entity"], + summary:"Base class for accounts", + password:"" +}, +{ + id:"player", + parents:["account"], + summary:"Player accounts", + characters:[] +}, +{ + id:"admin", + parents:["account"], + summary:"Privileged accounts" +}, +{ + id:"server", + parents:["admin_entity"], + summary:"Info about server" +}, +{ + id:"root_geometry", + parents:["root_entity"], + summary:"Classes/objects with geometry", + description:"All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info.", + loc:"", + pos:[0.0,0.0,0.0], + velocity:[0.0,0.0,0.0], + rotation:[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] + polyline:[], + area:[], + volume:[], + glue:[], + contains:[], + detailed_contents:0, + stamp_contains:0.0 +}, +{ + id:"glue_entity", + parents:["root_entity"], + summary:"Classes/objects that glue objects to each other by using ids", + description:"When to objects that should be clued together use + different reference coordinate system with different absolute + position in reference coordinate systems, then can't use same ids + for shared points. In that case point directly to shared + points. For example: glue_ids:[[\"pond2.area.1.2\", \"brook1.polyline.1\"]] + Each list is id_list listing ids on that particular point.", + glue_ids:[], +}, +{ + id:"game_entity", + parents:["root_geometry"], + specification:"atlas_game", + interface:"game_interface", + summary:"All In Game classes and objects" + +#About MIM (Media Independant Map) -format +## jamie, MIM will be added after documentation update to game_entity tree something like this: +## object type 0==point_object (means we use only xyz (and rotation, etc...) for specifying it +## object type 1==area_object +## and probably something like line_object ... (even when they are polygons..., but are semantically just line with certain width) +## and then add those abstract and actual definitions there somewhere... +## *** pug has quit (Leaving) +## id doesn't change actual MIM but adds more semantic information and changes syntax +## Humn +## ie all tags are changes to parent:["original tag maybe changed"] +## and of course ramp, etc.. are done like this: +## ramp: inherit from area_object, in add attribute: "slope" +## ***Drew (drewnumber@user-2ivfjv8.dialup.mindspring.com) has joined #forge +## hi Drew +## I think mim files should be "cached" as well. In fact, the client should be able to download a media set from a web server and install it before they even play, this is to have all of the graphics and a snapshot of the maps so their first login won't be slow from all the media downloads +## so very dump client would just display it as flat area... yeah it would be funny.. but... it demonstrates how to add things without breaking too much ;-) +## *nods* +## jamie, yes.. they are just normal objects and easily cacheacable(sp?) +}, +{ + id:"autonomous_entity" + parents:["game_entity"] + summary:"All In Game classes and objects which act autonomously", +}, +{ + id:"world", + parents:["game_entity"], + summary:"Info about world", + root_object:"root", + media_roots:["root_media_info"] +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/entity.def atlas-cpp-0.6.3/protocol/spec/entity.def --- atlas-cpp-0.6.2/protocol/spec/entity.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/entity.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,147 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"root_entity" + parents:["root"] + objtype:"class" + description:"Starting point for entity hierarchy" + long_description:"Later in hierarchy tree objtype changes to 'object' when actual game objects are made." + loc:"" + pos:[0.0,0.0,0.0] + velocity:[0.0,0.0,0.0] + contains:[] + stamp_contains:0.0 + +## hi jamie! +## Hello! +## about differences between WDS and atlas operations: +## is wds like: move(x,y,z) ? +## wds doesn't care. It is only the center two levels of communication +## (atlas is like: move({id:"qw12",coords:{1,2,3}}) +## wds actually: move(id,x,y,z) ? +## Well, wds is almost move(id:"qw12",int:1,int:2,int:3) +## As types are passed with each variable +## ahh... but order of argument is important? +## It depends on the link layer and the api. If the link layer sinks them up then it is, but that is transparent. The api has two ways to do an action, one way is not order sensitive the other is, but the order can be defined by the code +## I use varargs, for example, to do something like send_command(player,"move",1,2,3) in my code. It sees player as who to send it to, move as the command, and what to do. The order here is dependant on definition order, but it makes the code much cleaner +## yes... but adding something like accel (float_list), etc... becomes harder ? +## *** Lachlann has quit (xchat exiting..) +## how would you do this forge("jewel_sword","jevels","iron") ... +## +## +## jsword_123 +## 1.2 +## +## +## I'm not sure if I understand... I have two other calling convetions as well. send_command_args as (player,commands, arglist) where arglist is a linked list of types, names, and values, and also send_command_f(player,"move id x y z",player,1,2,3) +## jevels123 +## +## +## iron_213 +## +## +## This is just in my source... How it is sent is similer, it just serializes it +## hmm... s/jsword_123/Nice jeweled sword/ +## hmm... well what did you mean by your operation criticism in ML ? +## in atlas v0.2.1 every argument when *sending* is entitity or operation (no ids or floatlist or ...) +## It depends on how Atlas is used. From the documentation there is nothing that states that it is compleatly operation based, meaning it can be compleatly coded with functions and callbacks +## Ahh, but what entities? +## I only have class definitions and operations being able to be sent, no real world objects can be there outside of an operation +## entity is just 'map' between attributes names and their values +## entity is not real world object, but it can describe one or part of it +## So, that sword in your inventory is put there by an operation, or the the one defining the sack it's in, not by it's self +## Bah. +## you define new location for sword: +## Apartment hunting sucks :( +## Try trapping. Or poaching +## But to define the sword it's self... it's creation +## put(ent(id:sword_42, loc:{ref:sack_24})) +## no it's not creation, only changing loc attribute +## 'id' is not changed +## No, I mean the whole process... so it is created first, then put in the sack? +## hmm.. it's not created if world already has it.. +## above put assumes sword_42 and sack_24 already exist +## So how is it defined to the client in the first place? +## set(ent(id:sword_42,length:1.2,type:jeweled_sword)) +## entity is just a way to encapsulate all object related attributes to one place +## So the first time an attribute is set on an object it is created? +## ahh.. hmm.. +## how does server now whether client has purged it's cache? +## so "set" is equivalent of "creation" if client doesn't already have it or had purged it's cache +## create would be used when it's created in server side.. hmm.. you do bring point.. hmm... +## And client requests a compleate description of the object if it recieves a "Set" and does not have it local? +## yes +## or if stamp is outdated +## What stamps does the client compair to see if it is outdated? The set will always come with a new stamp no matter what +## well if client hasn't cleared cache, then it can compare new sight and what it has cached +## (example when it awakes) +## example: makes easy to see that only thing changes is new cup in board is only change in house +## example: sight(ent(id:board_12,stamp:123.0)) and client has it with stamp:100.0 +## Yes, but on a set, does every set also update the stamp on an object? +## then it can get(ent(id:board_12,stamp:100.0)) and server can only send what has changed between (or everything) +## yes if set contains stamp attribute +## *** Chord has quit (Ping timeout) +## Well, every time an object changes it's stamp would change also +## it should....otherwise stamp is useless +## * aloril nods +## if you wan't to support it ;-) +## So a set has a manditory "stamp" that is required +## well if server doesn't use stamping then just assume it 0.0... +## *nods* +## but practically speaking it's manditory... +## ie client newer set stamp except for it's own objects +## *nods* +## (for example some client setting that server might be interested or if it happens to be another server) + +:map: + id:"admin_entity" + parents:["root_entity"] + description:"All classes and objects used for adminitrativive purposes" + +:map: + id:"account" + parents:["admin_entity"] + description:"Base class for accounts" + username:"" + password:"" + characters:[] + +:map: + id:"player" + parents:["account"] + description:"Player accounts" + +:map: + id:"admin" + parents:["account"] + description:"Privileged accounts" + +:map: + id:"game" + parents:["admin_entity"] + description:"Games this server hosts" + +:map: + id:"game_entity" + parents:["root_entity"] + specification:"atlas_game" + interface:"game_interface" + description:"All In Game classes and objects" + +#About MIM (Media Independant Map) -format +## jamie, MIM will be added after documentation update to game_entity tree something like this: +## object type 0==point_object (means we use only xyz (and rotation, etc...) for specifying it +## object type 1==area_object +## and probably something like line_object ... (even when they are polygons..., but are semantically just line with certain width) +## and then add those abstract and actual definitions there somewhere... +## *** pug has quit (Leaving) +## id doesn't change actual MIM but adds more semantic information and changes syntax +## Humn +## ie all tags are changes to parent:["original tag maybe changed"] +## and of course ramp, etc.. are done like this: +## ramp: inherit from area_object, in add attribute: "slope" +## ***Drew (drewnumber@user-2ivfjv8.dialup.mindspring.com) has joined #forge +## hi Drew +## I think mim files should be "cached" as well. In fact, the client should be able to download a media set from a web server and install it before they even play, this is to have all of the graphics and a snapshot of the maps so their first login won't be slow from all the media downloads +## so very dump client would just display it as flat area... yeah it would be funny.. but... it demonstrates how to add things without breaking too much ;-) +## *nods* +## jamie, yes.. they are just normal objects and easily cacheacable(sp?) diff -Nru atlas-cpp-0.6.2/protocol/spec/entity.html atlas-cpp-0.6.3/protocol/spec/entity.html --- atlas-cpp-0.6.2/protocol/spec/entity.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/entity.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,524 @@ + + + + + Entity class tree + + + +

Entities

+ Entity class tree specifies class hierarchy. Leaves of tree are + class instances ie. actual game objects, player accounts, etc... + +

Entity class tree

+ +
    +
  • root_entity: Later in hierarchy tree objtype changes to 'object' when actual game objects are made. +
      +
    • admin_entity: -"- + +
    • root_geometry: All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info. + +
    • glue_entity: When to objects that should be clued together use + different reference coordinate system with different absolute + position in reference coordinate systems, then can't use same ids + for shared points. In that case point directly to shared + points. For example: glue_ids:[["pond2.area.1.2", "brook1.polyline.1"]] + Each list is id_list listing ids on that particular point. +
    +
+ + +

root_entity

+ Attribute list: +
    +
  • children (encoding:list): Value: ['admin_entity', 'root_geometry', 'glue_entity'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: root_entity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Starting point for entity hierarchy
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["admin_entity", "root_geometry", "glue_entity"],
+	description: "Later in hierarchy tree objtype changes to 'object' when actual game objects are made.",
+	id: "root_entity",
+	objtype: "class",
+	parents: ["root"],
+	summary: "Starting point for entity hierarchy"
+}
+
+    

admin_entity

+ Attribute list: +
    +
  • children (encoding:list): Value: ['account', 'server'] C equivalent: char *[], void *[] +
  • description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: admin_entity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_entity'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +All classes and objects used for adminitrativive purposes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["account", "server"],
+	id: "admin_entity",
+	parents: ["root_entity"],
+	summary: "All classes and objects used for adminitrativive purposes"
+}
+
+    

account

+ Attribute list: +
    +
  • children (encoding:list): Value: ['player', 'admin'] C equivalent: char *[], void *[] +
  • description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: account C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['admin_entity'] C equivalent: char *[], void *[] +
  • password (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Base class for accounts
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["player", "admin"],
+	id: "account",
+	parents: ["admin_entity"],
+	password: "",
+	summary: "Base class for accounts"
+}
+
+    

player

+ Attribute list: +
    +
  • characters (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: player C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['account'] C equivalent: char *[], void *[] +
  • password (inherited from account) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Player accounts
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	characters: [],
+	children: [],
+	id: "player",
+	parents: ["account"],
+	summary: "Player accounts"
+}
+
+    

admin

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: admin C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['account'] C equivalent: char *[], void *[] +
  • password (inherited from account) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Privileged accounts
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "admin",
+	parents: ["account"],
+	summary: "Privileged accounts"
+}
+
+    

server

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: server C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['admin_entity'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Info about server
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "server",
+	parents: ["admin_entity"],
+	summary: "Info about server"
+}
+
+    

root_geometry

+ Attribute list: +
    +
  • area (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • children (encoding:list): Value: ['game_entity'] C equivalent: char *[], void *[] +
  • contains (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • detailed_contents (encoding:int): Value: 0 C equivalent: 32bit int +
  • glue (encoding:list): Value: [] **not written yet** +
  • id (encoding:string): Value: root_geometry C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • loc (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_entity'] C equivalent: char *[], void *[] +
  • polyline (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • pos (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • rotation (encoding:list): Value: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

    +A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. + +

  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_contains (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that is contained by this object. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Classes/objects with geometry
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • velocity (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • volume (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
+ Bach version:
+
+{
+	area: [],
+	children: ["game_entity"],
+	contains: [],
+	description: "All classes and objects that have geometry and
+    can be positioned and contain things and/or are contained by something.
+    See maps/semantic_maps.pdf for more info.",
+	detailed_contents: 0,
+	glue: [],
+	id: "root_geometry",
+	loc: "",
+	parents: ["root_entity"],
+	polyline: [],
+	pos: [0.0, 0.0, 0.0],
+	rotation: [
+		[1.0, 0.0, 0.0],
+		[0.0, 1.0, 0.0],
+		[0.0, 0.0, 1.0]
+	],
+	stamp_contains: 0.0,
+	summary: "Classes/objects with geometry",
+	velocity: [0.0, 0.0, 0.0],
+	volume: []
+}
+
+    

game_entity

+ Attribute list: +
    +
  • area (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • children (encoding:list): Value: ['autonomous_entity', 'world'] C equivalent: char *[], void *[] +
  • contains (inherited from root_geometry) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_geometry) (encoding:string): Value:
    +All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • detailed_contents (inherited from root_geometry) (encoding:int): Value: 0 C equivalent: 32bit int +
  • glue (inherited from root_geometry) (encoding:list): Value: [] **not written yet** +
  • id (encoding:string): Value: game_entity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (encoding:string): Value: game_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • loc (inherited from root_geometry) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_geometry'] C equivalent: char *[], void *[] +
  • polyline (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • pos (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • rotation (inherited from root_geometry) (encoding:list): Value: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

    +A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. + +

  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_contains (inherited from root_geometry) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that is contained by this object. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +All In Game classes and objects
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • velocity (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • volume (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
+ Bach version:
+
+{
+	children: ["autonomous_entity", "world"],
+	id: "game_entity",
+	interface: "game_interface",
+	parents: ["root_geometry"],
+	specification: "atlas_game",
+	summary: "All In Game classes and objects"
+}
+
+    

autonomous_entity

+ Attribute list: +
    +
  • area (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • contains (inherited from root_geometry) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_geometry) (encoding:string): Value:
    +All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • detailed_contents (inherited from root_geometry) (encoding:int): Value: 0 C equivalent: 32bit int +
  • glue (inherited from root_geometry) (encoding:list): Value: [] **not written yet** +
  • id (encoding:string): Value: autonomous_entity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • loc (inherited from root_geometry) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['game_entity'] C equivalent: char *[], void *[] +
  • polyline (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • pos (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • rotation (inherited from root_geometry) (encoding:list): Value: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

    +A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. + +

  • specification (inherited from game_entity) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_contains (inherited from root_geometry) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that is contained by this object. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +All In Game classes and objects which act autonomously
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • velocity (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • volume (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
+ Bach version:
+
+{
+	children: [],
+	id: "autonomous_entity",
+	parents: ["game_entity"],
+	summary: "All In Game classes and objects which act autonomously"
+}
+
+    

world

+ Attribute list: +
    +
  • area (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • contains (inherited from root_geometry) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_geometry) (encoding:string): Value:
    +All classes and objects that have geometry and + can be positioned and contain things and/or are contained by something. + See maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • detailed_contents (inherited from root_geometry) (encoding:int): Value: 0 C equivalent: 32bit int +
  • glue (inherited from root_geometry) (encoding:list): Value: [] **not written yet** +
  • id (encoding:string): Value: world C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • loc (inherited from root_geometry) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • media_roots (encoding:list): Value: ['root_media_info'] List ids of root_media_info: can be on same server or at different server: + see root_object attribute definition for more info +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['game_entity'] C equivalent: char *[], void *[] +
  • polyline (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
  • pos (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • root_object (encoding:string): Value: root This usually has value "root", but can also have something like: "world45/root" + or even "atlas://other.server.org/world5/root" +
  • rotation (inherited from root_geometry) (encoding:list): Value: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

    +A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. + +

  • specification (inherited from game_entity) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_contains (inherited from root_geometry) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that is contained by this object. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Info about world
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • velocity (inherited from root_geometry) (encoding:list): Value: [0.0, 0.0, 0.0] Used in 3D world for various things +
  • volume (inherited from root_geometry) (encoding:list): Value: [] see maps/semantic_maps.pdf for more info. +
+ Bach version:
+
+{
+	children: [],
+	id: "world",
+	media_roots: ["root_media_info"],
+	parents: ["game_entity"],
+	root_object: "root",
+	summary: "Info about world"
+}
+
+    

glue_entity

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +When to objects that should be clued together use + different reference coordinate system with different absolute + position in reference coordinate systems, then can't use same ids + for shared points. In that case point directly to shared + points. For example: glue_ids:[["pond2.area.1.2", "brook1.polyline.1"]] + Each list is id_list listing ids on that particular point.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • glue_ids (encoding:list): Value: [] See glue_geometry for more info +
  • id (encoding:string): Value: glue_entity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_entity'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Classes/objects that glue objects to each other by using ids
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "When to objects that should be clued together use
+    different reference coordinate system with different absolute
+    position in reference coordinate systems, then can't use same ids
+    for shared points. In that case point directly to shared
+    points. For example: glue_ids:[[\"pond2.area.1.2\", \"brook1.polyline.1\"]]
+    Each list is id_list listing ids on that particular point.",
+	glue_ids: [],
+	id: "glue_entity",
+	parents: ["root_entity"],
+	summary: "Classes/objects that glue objects to each other by using ids"
+}
+
+    
+ +
+
Aloril
+ + +Last modified: Sat Nov 13 15:46:39 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/entity_in.html atlas-cpp-0.6.3/protocol/spec/entity_in.html --- atlas-cpp-0.6.2/protocol/spec/entity_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/entity_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,25 @@ + + + + Entity class tree + + + +

Entities

+ Entity class tree specifies class hierarchy. Leaves of tree are + class instances ie. actual game objects, player accounts, etc... + +

Entity class tree

+ + + + + +
+
Aloril
+ + +Last modified: Sat Nov 13 15:46:39 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/gen_atlas.py atlas-cpp-0.6.3/protocol/spec/gen_atlas.py --- atlas-cpp-0.6.2/protocol/spec/gen_atlas.py 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/gen_atlas.py 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,31 @@ +#generate atlas.al from source files + +#Copyright (C) 2000 Aloril +#Copyright (C) 2002 by AIR-IX SUUNNITTELU/Ahiplan Oy + +#This library 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 2.1 of the License, or (at your option) any later version. + +#This library 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 library; if not, write to the Free Software +#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +import init +import operator +from atlas.analyse import fill_attributes +from atlas.transport.file import read_file, write_file + +if __name__=="__main__": + filelist = ["root", "entity", "operation", "type", "interface"] + filelist = map(lambda file:file+".atlas", filelist) + objects = reduce(operator.add, map(read_file, filelist)) + fill_attributes(objects) + write_file(objects, "atlas.atlas") diff -Nru atlas-cpp-0.6.2/protocol/spec/gen_html.py atlas-cpp-0.6.3/protocol/spec/gen_html.py --- atlas-cpp-0.6.2/protocol/spec/gen_html.py 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/gen_html.py 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,147 @@ +#generate *.html pages from atlas.atlas + +#Copyright (C) 2000 Aloril +#Copyright (C) 2002 by AIR-IX SUUNNITTELU/Ahiplan Oy + +#This library 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 2.1 of the License, or (at your option) any later version. + +#This library 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 library; if not, write to the Free Software +#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +import init + +from atlas import * +from atlas.typemap import * +from htmlPARSER.parserlib import baseParser +from atlas.transport.file import read_file_as_dict + + +class atlas_spec_parser(baseParser): + def __init__(self, objects): + baseParser.__init__(self) + self.objects=objects + + def text2html(self, text): + sl=[] + sl.append("
")
+        text=string.replace(text,"&","&")
+        sl.append(string.replace(text,"<","<"))
+        sl.append("    
") + return string.join(sl,"\n") + + def parse(self, input, output): + self.output=open(output,"w") + self.output.write('\n') + baseParser.parse(self,input) + self.output.close() + + def out(self,s): + """ custom output function (can be overridden) + output is only done when "no" is inside + self.outAllowed. + """ + if not "no" in self.outAllowed.values(): + self.output.write(s) + + def do_obj(self,attrs): + for name,value in attrs: + if name=="id": + obj=self.objects.get(value) + if not obj: + raise SyntaxError,"id "+value+" not defined!" + self.output_obj(obj) + + def do_objindex(self, attrs): + for name,value in attrs: + if name=="id": + self.output_objindex([value]) + + def do_objtree(self, attrs): + for name,value in attrs: + if name=="id": + self.output_objtree([value]) + + def output_obj(self, obj): + lines=[] + add_line = lines.append + add_line('

%s

' % (obj.id, obj.id)) + add_line(' Attribute list:') + add_line('
    ') + for (name, value) in obj.items(all=1): + s='
  • %s ' % (name, name) + attribute_def_obj = obj.attribute_definition(name) + if attribute_def_obj!=obj: + s=s+'(inherited from %s) ' % attribute_def_obj.id + if has_parent(name, "html", self.objects): + value='
    \n'+value+'
    \n' + elif name=="example": + value_list=["
    "] + for example_obj in value: + if get_atlas_type(example_obj)=="string": + value_list.append(example_obj) + else: + bach=str(example_obj) + value_list.append("
    ")
    +                        value_list.append(self.text2html(bach))
    +                        value_list.append("
    ") + value_list.append("
    ") + value=string.join(value_list,"\n") + elif get_atlas_type(value)=="map": + value = `value` + s=s+'(encoding:%s):
    Value: %s ' % \ + (get_atlas_type(value), get_atlas_type(value), value) + s = s + self.objects[name].description + add_line(s) + add_line('
') + add_line('') + self.out(string.join(lines,"\n")) + self.out(" Bach version:
\n") + bach=str(obj) + self.out(self.text2html(bach)) + + def output_objindex(self, id_list, indent=' '): + self.out(indent+"
    \n") + for id in id_list: + obj=self.objects.get(id) + if not obj: + raise SyntaxError,'id "'+id+'" not defined!' + desc = obj.description + if desc: + if not obj.has_key('description'): + desc='-"-' + spec=obj.specification + if spec=="example": + desc='' + desc + '' + self.out(indent+'
  • %s: %s\n' % (id,id,desc)) + children = obj.get_plain_attribute("children") + if children: + self.output_objindex(children, indent+' ') + self.out(indent+"
\n") + def output_objtree(self, id_list): + for id in id_list: + obj=self.objects.get(id) + if not obj: + raise SyntaxError,"id "+id+" not defined!" + self.output_obj(obj) + children = obj.get_plain_attribute("children") + if children: + self.output_objtree(children) + + +if __name__=="__main__": + filelist=["root","entity","operation","type","interface"] + objects = read_file_as_dict("atlas.atlas") + find_parents_children_objects(objects) + p=atlas_spec_parser(objects) + for file in filelist: + p.parse(file+"_in.html",file+".html") diff -Nru atlas-cpp-0.6.2/protocol/spec/html2wiki.pl atlas-cpp-0.6.3/protocol/spec/html2wiki.pl --- atlas-cpp-0.6.2/protocol/spec/html2wiki.pl 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/html2wiki.pl 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,7 @@ +#!/usr/bin/perl -w +$wikiFlag=0; +while(<>) { + if(/<\/body/i) {$wikiFlag=0;} + if($wikiFlag) {print;} + if(/ + + + Id path + + + +

Id path

+ + Full id looks like atlas://servername.org/id_of_object.attribute.subattribute . +

+ Examples: +

Creating

+ Creating object with +
{parents:["create"], objtype:"op", arg:{id:"a", b:{r:2, c:{d:54}}}}
+ results at object: +
{id:"a", b:{r:2, c:{d:54}}}
+ +

Refering

+ + When leaving atlas://servername.org out content is accessed + following way:
+ a refers to whole object.
+ a.b refers to {r:2, c:{d:54}}.
+ a.b.r refers to number 2.
+ a.b.c refers to {d:54}.
+ a.b.c.d refers to number 54. +

+ + Id type attributes in one object can refer to anything in any + other object, even across servers if supported by server. Also can + refer to list elements by using zero based index as 'attribute + name'. For example if we have following objects: + +

{id:"data45", points:[ [x0,y0,z0], [x1,y1,z1], [x2,y2,z2]}
+{id:"road45", parents:["road", polyline:["data45.points.1", "atlas://server2.org/78.points.100"]}
+ then data45.points.1 refers to + [x1,y1,z1] element in + data45.points object.
+ atlas://server2.org/78.points.100 refers to + point in server2.org. Seems that + server2.org is also using integer ids for objects. + +

Setting

+ + In operation argument if id refers to a sub-attribute, + then rest of argument applies to that particular sub-attribute + content. For example after applying operation +
{parents:["set"], objtype:"op", arg:{id:"a.b", r:42}
+ to earlier object it looks like object: +
{id:"a", b:{r:42, c:{d:54}}}
+ + Example2: after applying +
{parents:["set"], objtype:"op", arg:{id:"a", b:{r:42}}
+ operation object looks like +
{id:"a", b:{r:42}}
+ +

Deleting

+ + Delete operation deletes given object or sub-attribute given in + id -attribute. For example after +
{parents:["delete"], objtype:"op", arg:{id:"a.b.r"}}
+ operation object looks like +
{id:"a", b:{c:{}}}
+ +
+
Aloril
+ + +Last modified: Fri Feb 8 08:50:54 EET 2002 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/index.html atlas-cpp-0.6.3/protocol/spec/index.html --- atlas-cpp-0.6.2/protocol/spec/index.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/index.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,121 @@ + + + + RFC: Atlas specification v0.3.0-working + + + +

RFC: Atlas specification v0.3.0-working

+ +

Credits

+ +

Revision history

+ +

Requirements document

+ + revision #8 + +

Basic semantics

+ + Everything in Atlas is expressed as object. Object has optional + name and nonoptional type and value. + +

Object definition

+ + Object consist of : +
    +
  • name: optional string (should probably be something all + programming languages can deal with and be URI compatible) + Each named object is called attribute. +
  • physical type: value +
+ + If object looks like: +
    + object name:character, value:list: +
      +
    • object name:HP, value:int:10 +
    • object name:location, value:list: +
        +
      • object name:parent, value:id:"" +
      • object name:coords, value:floatlist:1.0,2.0,-3.5 +
      +
    +
+ + C equivalent could be something like this:
+
    +
    +struct character {
    +  int HP;
    +  struct location_st {
    +    void *parent;
    +    double coords[3];
    +  } location;
    +} foo_character = {10,{NULL,{1.0,2.0,-3.5}}};
    +        
    +
+ + Syntax that is used here for objects with predefined attributes: +
    + character: +
      +
    • HP:10 +
    • location: +
        +
      • parent:"" +
      • coords:1.0,2.0,-3.5 +
      +
    +
+ + So "object name:" and "value:" parts are stripped away. Thus
+ object name:, value:int:10
+ after stripping looks like:
+ :10 + +

Object tree

+ + Objects in tree branches inherit attributes from their parents. + Note that what following defines is default and implementations + can change values or add new attributes as needed. However if you + change too much existing ones entities, then new clients might + become confused. + + + +

Codec negotiation (achat)

+ +

Bach Syntax

+ +

XML Syntax

+ +

Packed Syntax

+ +

Binary1 beta2 Syntax

+ + Binary2 to be written. + +

Links that are linked from operation page

+ + More about movement
+ More about OOG Atlas + +
+
Aloril
+ + +Last modified: Tue Jul 2 09:09:03 EEST 2002 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/init.py atlas-cpp-0.6.3/protocol/spec/init.py --- atlas-cpp-0.6.2/protocol/spec/init.py 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/init.py 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,3 @@ +import sys, os +sys.path.append(os.getcwd() + "/../../../tools/html") +sys.path.append(os.getcwd() + "/../../../libs/Atlas-Python") diff -Nru atlas-cpp-0.6.2/protocol/spec/interface.atlas atlas-cpp-0.6.3/protocol/spec/interface.atlas --- atlas-cpp-0.6.2/protocol/spec/interface.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/interface.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,29 @@ +ATLAS interface definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +{ + id:"root_interface", + parents:["root"], + objtype:"meta", + summary:"starting point for interface browsing, not used otherwise", + operations:[] +}, +{ + id:"base_interface", + parents:["root_interface"], + objtype:"interface", + summary:"raw interface", + description:"admin can use this interface for setting, + abstract hierarchy and actual game objects too", + operations:["create", "delete", "set", "get"] +}, +{ + id:"game_interface", + parents:["root_interface"], + specification:"atlas_game", + objtype:"interface", + summary:"client interface for controlling character etc..", + operations:["create","combine","divide","communicate","move","perceive","talk","look","listen","sniff","touch"] +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/interface.def atlas-cpp-0.6.3/protocol/spec/interface.def --- atlas-cpp-0.6.2/protocol/spec/interface.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/interface.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,25 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"root_interface" + parents:["root"] + objtype:"meta" + description:"starting point for interface browsing, not used otherwise" + operations:[] + +:map: + id:"base_interface" + parents:["root_interface"] + objtype:"interface" + description:"raw interface" + long_description:"""admin can use this interface for setting + abstract hierarchy and actual game objects too""" + operations:["create", "delete", "set", "get"] + +:map: + id:"game_interface" + parents:["root_interface"] + specification:"atlas_game" + objtype:"interface" + description:"""client interface for controlling character etc..""" + operations:["create","combine","divide","communicate","move","perceive","talk","look","listen","sniff","touch"] + diff -Nru atlas-cpp-0.6.2/protocol/spec/interface.html atlas-cpp-0.6.3/protocol/spec/interface.html --- atlas-cpp-0.6.2/protocol/spec/interface.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/interface.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,138 @@ + + + + + Interfaces + + + +

Interfaces

+ + + +

root_interface

+ Attribute list: +
    +
  • children (encoding:list): Value: ['base_interface', 'game_interface'] C equivalent: char *[], void *[] +
  • description (inherited from root) (encoding:string): Value:
    +You can browse all definitions starting from here and +descending into childrens.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: root_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • operations (encoding:list): Value: [] Content ids can be either another interface or operation ids or both. +
  • parents (encoding:list): Value: ['root'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +starting point for interface browsing, not used otherwise
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["base_interface", "game_interface"],
+	id: "root_interface",
+	objtype: "meta",
+	operations: [],
+	parents: ["root"],
+	summary: "starting point for interface browsing, not used otherwise"
+}
+
+    

base_interface

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +admin can use this interface for setting, + abstract hierarchy and actual game objects too
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: interface Examples of values: "op", "class", "type". +
  • operations (encoding:list): Value: ['create', 'delete', 'set', 'get'] Content ids can be either another interface or operation ids or both. +
  • parents (encoding:list): Value: ['root_interface'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +raw interface
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "admin can use this interface for setting,
+    abstract hierarchy and actual game objects too",
+	id: "base_interface",
+	objtype: "interface",
+	operations: ["create", "delete", "set", "get"],
+	parents: ["root_interface"],
+	summary: "raw interface"
+}
+
+    

game_interface

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root) (encoding:string): Value:
    +You can browse all definitions starting from here and +descending into childrens.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: game_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: interface Examples of values: "op", "class", "type". +
  • operations (encoding:list): Value: ['create', 'combine', 'divide', 'communicate', 'move', 'perceive', 'talk', 'look', 'listen', 'sniff', 'touch'] Content ids can be either another interface or operation ids or both. +
  • parents (encoding:list): Value: ['root_interface'] C equivalent: char *[], void *[] +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +client interface for controlling character etc..
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "game_interface",
+	objtype: "interface",
+	operations: ["create", "combine", "divide", "communicate", "move", "perceive", "talk", "look", "listen", "sniff", "touch"],
+	parents: ["root_interface"],
+	specification: "atlas_game",
+	summary: "client interface for controlling character etc.."
+}
+
+    
+ + +
+
Aloril
+ + +Last modified: Tue Nov 9 17:37:55 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/interface_in.html atlas-cpp-0.6.3/protocol/spec/interface_in.html --- atlas-cpp-0.6.2/protocol/spec/interface_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/interface_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,21 @@ + + + + Interfaces + + + +

Interfaces

+ + + + + +
+
Aloril
+ + +Last modified: Tue Nov 9 17:37:55 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/login.html atlas-cpp-0.6.3/protocol/spec/login.html --- atlas-cpp-0.6.2/protocol/spec/login.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/login.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,221 @@ + + + + Out of game (OG) Atlas + + + +

Out of game (OG) Atlas

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IntroHow does OG Atlas compares to IG Atlas?
+ Connection and disconnectionInitializing and closing connection
+
+ Browsing serverWhat games there are?
+ Creating player account and loginHow player is authorized to play
+ Creating character and using itPlayer and non player characters: characters controlled + outside server
+ +

Intro

+ + Server is just some kind of meta world with meta characters (player + accounts) and 'gateways' to real worlds. So it's handled in many ways + similar than actual world. +

+ Server differentiates messages meant to meta world from messages + meant to actual game from id: messages from player id or if id + is not specified are meant to meta world. Messages from + character id are for actual game world. +

+


+ +

Connection and disconnection

+ + When you connect, standard xml starting tags and opening atlas tag + with version attribute. +

+ Binary note: in binary this is more or less different! (Either + binary="yes" or completely different) +

+ Example: +

+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE atlas protocol "atlas.dtd">
+<atlas version="0.2">
+    
+ In future there will be additional tags for setting binary and/or + compression flags. +

+ When you disconnect, send closing atlas tag. +

+ Binary note: in binary this is more or less different! And + participants needs to handle gracefully abrupt disconnection too + (somebody unplugged connection). +

+ Example: +

+</atlas>
+    
+ +
+ +

Browsing server

+ + You can get list of games by sending this to server: + +
    +
  • : +
      +
    • id:"get" +
    • object: +
        +
      • id:"games" +
      +
    +
+ + Server tells what games it contains: + +
    +
  • : +
      +
    • id:"games" +
    • contains: +
        +
      • id:"Medieval fantasy game" +
      • id:"Warcraft clone +
      +
    +
+ + Further request might require that you are logged in. Especially + getting list of players likely requires account with 'admin' + privileges. Creating characters too likely requires player + account. +

+


+ +

Creating player account and login

+ + If you don't have account, you need to create one. If you already + have account, then creating new one might be against server + policy. So usually there should only be one player account per + real human. +

+ Creating account (this is likely to change somewhat, one + modification might be to require mail address where password is + then sent): + +

    +
  • : +
      +
    • id:"create" +
    • : +
        +
      • name:"JoeBlatz" +
      • password:"Rqv67.%" +
      +
    +
+ + In response server sends 'info' or 'error' operation back (with + includes player account id (might be same as account name). refno + -attribute helps you to spot right answer. +

+ If you already have account then you log in using it: +

    +
  • : +
      +
    • id:"login" +
    • : +
        +
      • name:"JoeBlatz" +
      • password:"Rqv67.%" +
      +
    +
+ +
+ +

Creating character and using it

+ + Usually new accounts might be allowed to create only one character + (part of time it might be controlled by player and other time it + might be controlled by AI script). Trusted accounts might be + allowed to create several characters (usually controlled by NPC AI + script). +

+ Creating character: + +

    +
  • : +
      +
    • no:3 +
    • from:"JoeBlatz" +
    • id:"create" +
    • : +
        +
      • type:"evoker" +
      • name:"Evoker the magnificent" +
      • INT:15 +
      +
    +
+ + Server sends back character entity with id and additional + attributes like location, etc... or error message telling what is + wrong (like too big value for some attribute). Server might + assign other values for attributes than client has + specified. refno -attribute helps you to spot right answer. +

+ If you have already created character then you just continue + playing where you left. In both cases it might be goo idea to + use look operation without arguments as starting point: + +

    +
  • : +
      +
    • from:"character_id_23" +
    • id:"look" +
    +
+ +
+
Aloril
+ + +Last modified: Fri Dec 10 16:57:00 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/Makefile atlas-cpp-0.6.3/protocol/spec/Makefile --- atlas-cpp-0.6.2/protocol/spec/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/Makefile 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,19 @@ +CODE=gen_html.py ParseDef.py def2xml.py gen_atlas.py +DEFS=root.atlas entity.atlas operation.atlas type.atlas interface.atlas +OLD_DEFS=root.def entity.def operation.def type.def interface.def map.def agrilan_map.def +INPUT=root_in.html entity_in.html operation_in.html type_in.html \ + interface_in.html +HTML_OUTPUT=root.html entity.html operation.html type.html interface.html \ + map.html agrilan_map.html + +all: atlas.atlas atlas.xml ${HTML_OUTPUT} + +atlas.atlas: ${CODE} ${INPUT} ${DEFS} + python gen_atlas.py + +atlas.xml: ${CODE} ${INPUT} ${OLD_DEFS} + python def2xml.py + +${HTML_OUTPUT}: atlas.atlas ${CODE} ${INPUT} ${DEFS} + python gen_html.py + diff -Nru atlas-cpp-0.6.2/protocol/spec/map.def atlas-cpp-0.6.3/protocol/spec/map.def --- atlas-cpp-0.6.2/protocol/spec/map.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/map.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,107 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"geometry" + parents:["game_entity"] + description:"Base for all geometry related map elements" + +:map: + id:"area" + parents:["geometry"] + description:"Some kind 2D area" + +:map: + id:"line" + parents:["geometry"] + description:"Some kind line" + width:0.0 + line_data: + example: + :map: + id:"123" + parents:["line"] + width:0.1 + line_data: + :list:[0.0,0.0,0.0] + :list:[1.0,0.0,0.0] + :list:[1.0,1.0,0.0] + +:map: + id:"2D_grid" + parents:["area"] + name:"some area" + description:"""Basically container for "Terrain Exception Data in AMIS".""" + cell_size:[1.0,1.0] + grid_size:[1,1] + grid_data: + example: + :string:"Example usage: see agrilan_map.*" + + +#Intro: +#------ +# +#This is somewhat different to http://www.iplay.net/worldforge/amis.htm +#because it's intended to go over wire too with already existing Atlas +#operations and there are other reasons too. +# +#I have read above docs, discussed at IRC and read editor meeting log +#at http://www.worldforge.org/website/media/meetings/editor-20000229.html +#(and somewhat based on MIM too) and here is my initial proposal: +# +#Goal is to be able to send map in small parts and have more semantic +#info too than maps usually have. +# +#See ftp://ftp.worldforge.org/worldforge/users/aloril/atlas/devel/map.html +#for a *very* coarse Agrilan map example. +# +#Example: +#In map editor road could be defined as line with width and once user +#draws 'road line': +#Map editor creates all tiles and area objects and line objects. +#Or in short: save both result and creation parameters. +# +#Why dual area/line nature and all info about types? +#---------------------------------------------------- +# +#1) When next editor loads map, editor still knows it's line too and +#not only area (vector vs pixel pushing). Road could be build templates +#and those templates too would be transmitted. So instead of editing +#result, you can change original parameters map was created with and +#edit at same level than original editor did. +# +#2) Roads having line information is useful for AI path finding +# +#2) Useful for client side scripting (move my character from here to there) +# +#4) Useful for text clients creating description +# +# +#Why containers? +#--------------- +# +#1) Can have different coordinate system for each container if needed +# a) only need to change container position and all things that use it +# as reference system change too (ship/character moving) +# b) Can have one generic floating point system and still full +# accuracy at detailed levels (example one system for galaxies and +# start from 0.0,0.0,0.0 for planets) +# +#2) Need to transmit only things client see and only need one mechanism +#for all of it. +# +#3) Can have different data at different zoom levels +# a) for things that are far away send container info, but not what +# they contain at bottom level +# (like looking from mountain to far away lands or standing near +# *big* cliff) +# b) you can view overview map for travel etc.. purposes +# c) can make big/generic changes more easily +# +#4) Way to logically/geographically group things. +# +# +#Hmm.. event (=logical in AMIS) containers are missing still in +#example: either make some existing containers as event containers or +#add new container that are only event containers and have no other +#function at same time (some bigger container then would contain them +#separately) diff -Nru atlas-cpp-0.6.2/protocol/spec/map.html atlas-cpp-0.6.3/protocol/spec/map.html --- atlas-cpp-0.6.2/protocol/spec/map.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/map.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,3010 @@ + + + + + Basic map classes defined + + + +

Basic map classes defined

+ + This defines geographical things. It includes very coarse Agrilan + map example. Examples are in green in the index. +

+ It is partially based on AMIS, + though auto generated map is not yet here. It's more intended to + be transmitted over wire and then translated into AMIS at other + side (and store all required info somewhere so it can be + reconstructed for sending to client) +

+ + + +

Map class tree

+ +
    +
  • geometry: Base for all geometry related map elements +
      +
    • area: Some kind 2D area +
        +
      • 2D_grid: Basically container for "Terrain Exception Data in AMIS". +
          +
        • hilly: Defining hilly type first + (here could be for example movement_speed + attribute too for example) +
            +
          • hilly1: Specific hilly instances: note missing place + where there is lake +
          • hilly2: +
          • hilly3: +
          +
        • plain: Defining plain type + +
        • lake: Defining lake type + +
        • river: Defining river type + +
        • road_block: Defining road types + +
        +
      • agrilan: This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location +
      • agrilan_waters: All Agrilan waters container +
      • agrilan_lands: All agrilan lands +
      +
    • line: Some kind line +
        +
      • river: Defining river type + +
      • road_block: Defining road types + +
      • road: Collection of road blocks +
          +
        • murray_r1: This brings all roads blocks together + (line data more generic than on lower levels) +
        +
      +
    +
+ + +

geometry

+ Attribute list: +
    +
  • id (encoding:string): Value: geometry Id of object +
  • parents (encoding:list): Value: ['game_entity'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['area', 'line'] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +Base for all geometry related map elements
    +
    This gives short description of object. +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from game_entity) (encoding:string): Value: atlas_game What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'map.def', attribute_order = ['id', 'parents', 'children', 'description'], lineno = 2) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">geometry</string>
+	<list name="parents"><string>game_entity</string></list>
+	<list name="children"><string>area</string><string>line</string></list>
+	<string name="description">Base for all geometry related map elements</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+    

area

+ Attribute list: +
    +
  • id (encoding:string): Value: area Id of object +
  • parents (encoding:list): Value: ['geometry'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['2D_grid', 'agrilan', 'agrilan_waters', 'agrilan_lands'] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +Some kind 2D area
    +
    This gives short description of object. +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from game_entity) (encoding:string): Value: atlas_game What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'map.def', attribute_order = ['id', 'parents', 'children', 'description'], lineno = 7) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">area</string>
+	<list name="parents"><string>geometry</string></list>
+	<list name="children"><string>2D_grid</string><string>agrilan</string><string>agrilan_waters</string><string>agrilan_lands</string></list>
+	<string name="description">Some kind 2D area</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">7</int>
+	</map>
+</map>
+    

2D_grid

+ Attribute list: +
    +
  • id (encoding:string): Value: 2D_grid Id of object +
  • parents (encoding:list): Value: ['area'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['hilly', 'plain', 'lake', 'river', 'road_block'] List of objects that inherit from this object. +
  • name (encoding:string): Value: some area Name of object. +
  • description (encoding:string): Value:
    +Basically container for "Terrain Exception Data in AMIS".
    +
    This gives short description of object. +
  • cell_size (encoding:list): Value: [1.0, 1.0] cell size of grid area +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [] grid data +
  • example (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from game_entity) (encoding:string): Value: atlas_game What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'map.def', attribute_order = ['id', 'parents', 'children', 'name', 'description', 'cell_size', 'grid_size', 'grid_data', 'example'], lineno = 28) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">2D_grid</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"><string>hilly</string><string>plain</string><string>lake</string><string>river</string><string>road_block</string></list>
+	<string name="name">some area</string>
+	<string name="description">Basically container for "Terrain Exception Data in AMIS".</string>
+	<list name="cell_size"><float>1.0</float><float>1.0</float></list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data"></list>
+	<list name="example"><string>Example usage: see agrilan_map.*</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>name</string><string>description</string><string>cell_size</string><string>grid_size</string><string>grid_data</string><string>example</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">28</int>
+	</map>
+</map>
+    

hilly

+ Attribute list: +
    +
  • id (encoding:string): Value: hilly Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Hilly part around Eluryh lake Name of object. +
  • description (encoding:string): Value:
    +Defining hilly type first + (here could be for example movement_speed + attribute too for example)
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['hilly1', 'hilly2', 'hilly3'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic hilly type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 35) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">hilly</string>
+	<string name="specification">example</string>
+	<string name="name">Hilly part around Eluryh lake</string>
+	<string name="description">Defining hilly type first 
+                   (here could be for example movement_speed 
+                    attribute too for example)</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>hilly1</string><string>hilly2</string><string>hilly3</string></list>
+	<string name="media">media id for generic hilly type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">35</int>
+	</map>
+</map>
+    

hilly1

+ Attribute list: +
    +
  • id (encoding:string): Value: hilly1 Id of object +
  • description (encoding:string): Value:
    +Specific hilly instances: note missing place + where there is lake
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['hilly'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [-80.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [2, 3] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 10.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height', 'media'], lineno = 58), media = 'special media id for this tile (not shown for all)'), Object(height = 5.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 61)), Object(height = 4.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 63))], [Object(height = 3.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 66)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 68)), Object(height = 2.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 69))]] grid data +
  • cell_size (inherited from hilly) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from hilly) (encoding:string): Value: Hilly part around Eluryh lake Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from hilly) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 46) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">hilly1</string>
+	<string name="description">Specific hilly instances: note missing place
+                   where there is lake</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>-80.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<string name="media">special media id for this tile (not shown for all)</string>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string><string>media</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">58</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">5.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">61</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">4.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">63</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">3.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">66</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">68</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">69</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">46</int>
+	</map>
+</map>
+    

hilly2

+ Attribute list: +
    +
  • id (encoding:string): Value: hilly2 Id of object +
  • parents (encoding:list): Value: ['hilly'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [40.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 10.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 83))]] grid data +
  • cell_size (inherited from hilly) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from hilly) (encoding:string): Value: Hilly part around Eluryh lake Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from hilly) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 72) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">hilly2</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>40.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">83</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">72</int>
+	</map>
+</map>
+    

hilly3

+ Attribute list: +
    +
  • id (encoding:string): Value: hilly3 Id of object +
  • parents (encoding:list): Value: ['hilly'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [40.0, 40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [2, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 10.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 97))], [Object(height = 10.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 100))]] grid data +
  • cell_size (inherited from hilly) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from hilly) (encoding:string): Value: Hilly part around Eluryh lake Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from hilly) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 86) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">hilly3</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>40.0</float><float>40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">97</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">100</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">86</int>
+	</map>
+</map>
+    

plain

+ Attribute list: +
    +
  • id (encoding:string): Value: plain Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Plains Name of object. +
  • description (encoding:string): Value:
    +Defining plain type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['plain1', 'plain2', 'plain3', 'plain4'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic plain type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 103) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">plain</string>
+	<string name="specification">example</string>
+	<string name="name">Plains</string>
+	<string name="description">Defining plain type</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>plain1</string><string>plain2</string><string>plain3</string><string>plain4</string></list>
+	<string name="media">media id for generic plain type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">103</int>
+	</map>
+</map>
+    

plain1

+ Attribute list: +
    +
  • id (encoding:string): Value: plain1 Id of object +
  • parents (encoding:list): Value: ['plain'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +Specific plains
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [-80.0, 80.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [6, 3] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 2.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 123)), Object(height = 2.2, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 125)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 127))], [Object(height = 1.8, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 129)), Object(height = 2.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 131)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 133))], [Object(height = 1.6, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 135)), Object(height = 1.8, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 137)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 139))], [Object(height = 1.4, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 141)), Object(height = 1.6, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 143)), Object(height = 1.6, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 145))], [Object(height = 1.2, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 148)), Object(height = 1.4, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 150)), Object(height = 1.4, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 152))], [Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 155)), Object(height = 1.2, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 156)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 158))]] grid data +
  • cell_size (inherited from plain) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from plain) (encoding:string): Value: Plains Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from plain) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 112) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">plain1</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description">Specific plains</string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>-80.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>6</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">123</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">125</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">127</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.8</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">129</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">131</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">133</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">135</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.8</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">137</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">139</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">141</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">143</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">145</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">148</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">150</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">152</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">155</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">156</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">158</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">112</int>
+	</map>
+</map>
+    

plain2

+ Attribute list: +
    +
  • id (encoding:string): Value: plain2 Id of object +
  • parents (encoding:list): Value: ['plain'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [120.0, 80.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 171))]] grid data +
  • cell_size (inherited from plain) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from plain) (encoding:string): Value: Plains Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from plain) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 160) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">plain2</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>120.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">171</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">160</int>
+	</map>
+</map>
+    

plain3

+ Attribute list: +
    +
  • id (encoding:string): Value: plain3 Id of object +
  • parents (encoding:list): Value: ['plain'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [200.0, 80.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 185))]] grid data +
  • cell_size (inherited from plain) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from plain) (encoding:string): Value: Plains Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from plain) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 174) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">plain3</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>200.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">185</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">174</int>
+	</map>
+</map>
+    

plain4

+ Attribute list: +
    +
  • id (encoding:string): Value: plain4 Id of object +
  • parents (encoding:list): Value: ['plain'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [160.0, 80.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [1, 4] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.25, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 199))], [Object(height = 1.2, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 202))], [Object(height = 1.15, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 205))], [Object(height = 1.1, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 208))]] grid data +
  • cell_size (inherited from plain) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from plain) (encoding:string): Value: Plains Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from plain) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 188) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">plain4</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>160.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>4</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.25</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">199</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">202</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">205</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.1</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">208</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">188</int>
+	</map>
+</map>
+    

lake

+ Attribute list: +
    +
  • id (encoding:string): Value: lake Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Lake Name of object. +
  • description (encoding:string): Value:
    +Defining lake type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['lake1'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic lake type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 211) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">lake</string>
+	<string name="specification">example</string>
+	<string name="name">Lake</string>
+	<string name="description">Defining lake type</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>lake1</string></list>
+	<string name="media">media id for generic lake type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">211</int>
+	</map>
+</map>
+    

lake1

+ Attribute list: +
    +
  • id (encoding:string): Value: lake1 Id of object +
  • name (encoding:string): Value: Eluryh Name of object. +
  • description (encoding:string): Value:
    +One lake
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['lake'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan_waters Reference object for coordinates (location). +
  • pos (encoding:list): Value: [-80.0, 80.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • grid_size (encoding:list): Value: [2, 3] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 232)), Object(height = 1.15, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 233)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 235))], [Object(height = 1.15, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 237)), Object(height = 1.15, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 239)), Object(height = 1.15, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 241))]] grid data +
  • cell_size (inherited from lake) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from lake) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'grid_size', 'grid_data'], lineno = 220) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">lake1</string>
+	<string name="name">Eluryh</string>
+	<string name="description">One lake</string>
+	<list name="parents"><string>lake</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>-80.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">232</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">233</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">235</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">237</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">239</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">241</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">220</int>
+	</map>
+</map>
+    

river

+ Attribute list: +
    +
  • id (encoding:string): Value: river Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: River Name of object. +
  • description (encoding:string): Value:
    +Defining river type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid', 'line'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['river1', 'river2'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic river type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from line) (encoding:float): Value: 0.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 244) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river</string>
+	<string name="specification">example</string>
+	<string name="name">River</string>
+	<string name="description">Defining river type</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>river1</string><string>river2</string></list>
+	<string name="media">media id for generic river type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">244</int>
+	</map>
+</map>
+    

river1

+ Attribute list: +
    +
  • id (encoding:string): Value: river1 Id of object +
  • name (encoding:string): Value: Hardonar river Name of object. +
  • description (encoding:string): Value:
    +Few rivers
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['river'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan_waters Reference object for coordinates (location). +
  • pos (encoding:list): Value: [80.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • width (encoding:float): Value: 25.0 width of something +
  • line_data (encoding:list): Value: [[100.0, -40.0, 1.1], [140.0, 20.0, 1.08], [140.0, 100.0, 1.05], [160.0, 140.0, 1.03], [160.0, 200.0, 1.0]] line object +
  • grid_size (encoding:list): Value: [3, 6] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.09, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 272)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 274)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 275)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 276)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 277)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 278)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 279))], [Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 281)), Object(height = 1.08, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 282)), Object(height = 1.07, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 284)), Object(height = 1.06, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 286)), Object(height = 1.05, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 288)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 290)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 291))], [Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 293)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 294)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 295)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 296)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 297)), Object(height = 1.03, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 298)), Object(height = 1.01, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 300))]] grid data +
  • cell_size (inherited from river) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from river) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'width', 'line_data', 'grid_size', 'grid_data'], lineno = 253) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river1</string>
+	<string name="name">Hardonar river</string>
+	<string name="description">Few rivers</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>80.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<float name="width">25.0</float>
+	<list name="line_data">
+		<list><float>100.0</float><float>-40.0</float><float>1.1</float></list>
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>140.0</float><float>100.0</float><float>1.05</float></list>
+		<list><float>160.0</float><float>140.0</float><float>1.03</float></list>
+		<list><float>160.0</float><float>200.0</float><float>1.0</float></list>
+	</list>
+	<list name="grid_size"><int>3</int><int>6</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.09</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">272</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">274</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">275</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">276</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">277</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">278</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">279</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">281</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.08</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">282</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.07</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">284</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.06</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">286</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.05</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">288</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">290</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">291</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">293</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">294</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">295</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">296</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">297</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.03</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">298</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.01</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">300</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">253</int>
+	</map>
+</map>
+    

river2

+ Attribute list: +
    +
  • id (encoding:string): Value: river2 Id of object +
  • parents (encoding:list): Value: ['river'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +connects to lake
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_waters Reference object for coordinates (location). +
  • pos (encoding:list): Value: [40.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • width (encoding:float): Value: 5.0 width of something +
  • line_data (encoding:list): Value: [[140.0, 20.0, 1.08], [40.0, 20.0, 1.15]] line object +
  • grid_size (encoding:list): Value: [2, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.13, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 318))], [Object(height = 1.1, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 321))]] grid data +
  • cell_size (inherited from river) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from river) (encoding:string): Value: River Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from river) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'width', 'line_data', 'grid_size', 'grid_data'], lineno = 303) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river2</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="description">connects to lake</string>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>40.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<float name="width">5.0</float>
+	<list name="line_data">
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>40.0</float><float>20.0</float><float>1.15</float></list>
+	</list>
+	<list name="grid_size"><int>2</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.13</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">318</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.1</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">321</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">303</int>
+	</map>
+</map>
+    

road_block

+ Attribute list: +
    +
  • id (encoding:string): Value: road_block Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Road block Name of object. +
  • description (encoding:string): Value:
    +Defining road types
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid', 'line'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['bridge', 'road1', 'road2', 'road3'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic road type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • width (encoding:float): Value: 5.0 width of something +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size', 'width'], lineno = 333) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road_block</string>
+	<string name="specification">example</string>
+	<string name="name">Road block</string>
+	<string name="description">Defining road types</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>bridge</string><string>road1</string><string>road2</string><string>road3</string></list>
+	<string name="media">media id for generic road type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<float name="width">5.0</float>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string><string>width</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">333</int>
+	</map>
+</map>
+    

bridge

+ Attribute list: +
    +
  • id (encoding:string): Value: bridge Id of object +
  • name (encoding:string): Value: Bridge Name of object. +
  • description (encoding:string): Value:
    +Defining bridge type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['bridge1'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic bridge type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 343) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">bridge</string>
+	<string name="name">Bridge</string>
+	<string name="description">Defining bridge type</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"><string>bridge1</string></list>
+	<string name="media">media id for generic bridge type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">343</int>
+	</map>
+</map>
+    

bridge1

+ Attribute list: +
    +
  • id (encoding:string): Value: bridge1 Id of object +
  • description (encoding:string): Value:
    +Actual bridge
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['bridge'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • name (encoding:string): Value: Murray bridge Name of object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [160.0, 160.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[220.0, 180.0, 1.3], [140.0, 180.0, 1.3]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 2.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 420))]] grid data +
  • cell_size (inherited from bridge) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'name', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 405) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">bridge1</string>
+	<string name="description">Actual bridge</string>
+	<list name="parents"><string>bridge</string></list>
+	<list name="children"></list>
+	<string name="name">Murray bridge</string>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">420</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>name</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">405</int>
+	</map>
+</map>
+    

road1

+ Attribute list: +
    +
  • id (encoding:string): Value: road1 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [160.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[180.0, -40.0, 1.4], [220.0, 0.0, 1.4]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.4, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 373))]] grid data +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from road_block) (encoding:string): Value: Road block Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 359) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road1</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>180.0</float><float>-40.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">373</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">359</int>
+	</map>
+</map>
+    

road2

+ Attribute list: +
    +
  • id (encoding:string): Value: road2 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [200.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[220.0, 0.0, 1.4], [220.0, 180.0, 1.3]] line object +
  • grid_size (encoding:list): Value: [1, 5] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.38, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 390))], [Object(height = 1.36, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 393))], [Object(height = 1.34, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 396))], [Object(height = 1.32, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 399))], [Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 402))]] grid data +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from road_block) (encoding:string): Value: Road block Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 376) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road2</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>200.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>5</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.38</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">390</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.36</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">393</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.34</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">396</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.32</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">399</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">402</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">376</int>
+	</map>
+</map>
+    

road3

+ Attribute list: +
    +
  • id (encoding:string): Value: road3 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [120.0, 160.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[140.0, 180.0, 1.3], [100.0, 180.0, 1.2]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 437))]] grid data +
  • name (encoding:string): Value: Murdar road Name of object. +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data', 'name'], lineno = 423) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road3</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>120.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>100.0</float><float>180.0</float><float>1.2</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">437</int>
+				</map>
+			</map></list>
+	</list>
+	<string name="name">Murdar road</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string><string>name</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">423</int>
+	</map>
+</map>
+    

agrilan

+ Attribute list: +
    +
  • id (encoding:string): Value: agrilan Id of object +
  • parents (encoding:list): Value: ['area'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • description (encoding:string): Value:
    +This is whole agrilan map: at coords only hight is guessed + and because this is toplevel now, there is no ref attribute + in location
    +
    This gives short description of object. +
  • long_description (encoding:string): Value:
    +Hand made example map based on + http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg + No media id's here though, except few example... + + First ascii map: +origin: -80,-40 +
    +HHLHRPAP
    +HLLRRRPA
    +HHLHHRPA
    +PPPPPRPA 
    +PPPPPPRA
    +FFFPPAAA
    +
    +Legend:
    +H=Hilly
    +L=Lake
    +R=River
    +A=roAd
    +P=Plains
    +F=Forest
    +
    +
    This gives long description of object. +
  • pos (encoding:list): Value: [0.0, 0.0, 300.0] Position coordinates, usually world is 3D +
  • contains (encoding:list): Value: ['agrilan_lands', 'agrilan_waters'] List of objects that use this object as reference system (usually same as what this object contains). +
  • media (encoding:string): Value: refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg media id reference +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'specification', 'description', 'long_description', 'pos', 'contains', 'media'], lineno = 2) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">agrilan</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<string name="specification">example</string>
+	<string name="description">This is whole agrilan map: at coords only hight is guessed
+                   and because this is toplevel now, there is no ref attribute 
+                   in location</string>
+	<string name="long_description">Hand made example map based on 
+           http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg
+           No media id's here though, except few example...
+
+           First ascii map:
+origin: -80,-40
+&lt;PRE&gt;
+HHLHRPAP
+HLLRRRPA
+HHLHHRPA
+PPPPPRPA 
+PPPPPPRA
+FFFPPAAA
+&lt;/PRE&gt;
+Legend:&lt;br&gt;
+H=Hilly&lt;br&gt;
+L=Lake&lt;br&gt;
+R=River&lt;br&gt;
+A=roAd&lt;br&gt;
+P=Plains&lt;br&gt;
+F=Forest&lt;br&gt;
+                </string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>300.0</float></list>
+	<list name="contains"><string>agrilan_lands</string><string>agrilan_waters</string></list>
+	<string name="media">refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>pos</string><string>contains</string><string>media</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+    

agrilan_waters

+ Attribute list: +
    +
  • id (encoding:string): Value: agrilan_waters Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • description (encoding:string): Value:
    +All Agrilan waters container
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['area'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan Reference object for coordinates (location). +
  • pos (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • contains (encoding:list): Value: ['lake1', 'river1', 'river2'] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'description', 'parents', 'children', 'loc', 'pos', 'contains'], lineno = 324) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">agrilan_waters</string>
+	<string name="specification">example</string>
+	<string name="description">All Agrilan waters container</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan</string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="contains"><string>lake1</string><string>river1</string><string>river2</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>contains</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">324</int>
+	</map>
+</map>
+    

agrilan_lands

+ Attribute list: +
    +
  • id (encoding:string): Value: agrilan_lands Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • description (encoding:string): Value:
    +All agrilan lands
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['area'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • pos (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • contains (encoding:list): Value: ['hilly1', 'hilly2', 'hilly3', 'plain1', 'plain2', 'plain3', 'plain4', 'murray_r1'] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'description', 'parents', 'children', 'pos', 'contains'], lineno = 457) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">agrilan_lands</string>
+	<string name="specification">example</string>
+	<string name="description">All agrilan lands</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="contains"><string>hilly1</string><string>hilly2</string><string>hilly3</string><string>plain1</string><string>plain2</string><string>plain3</string><string>plain4</string><string>murray_r1</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>description</string><string>parents</string><string>children</string><string>pos</string><string>contains</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">457</int>
+	</map>
+</map>
+    

line

+ Attribute list: +
    +
  • id (encoding:string): Value: line Id of object +
  • parents (encoding:list): Value: ['geometry'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['river', 'road_block', 'road'] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +Some kind line
    +
    This gives short description of object. +
  • width (encoding:float): Value: 0.0 width of something +
  • line_data (encoding:list): Value: [] line object +
  • example (encoding:string): Value:
    +
    +    
    +<map>
    +	<string name="id">123</string>
    +	<list name="parents"><string>line</string></list>
    +	<float name="width">0.1</float>
    +	<list name="line_data">
    +		<list><float>0.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>1.0</float><float>0.0</float></list>
    +	</list>
    +	<map name="specification_file">
    +		<list name="attribute_order"><string>id</string><string>parents</string><string>width</string><string>line_data</string></list>
    +		<string name="filename">map.def</string>
    +		<int name="lineno">19</int>
    +	</map>
    +</map>
    +    
    +
    +
    Gives some examples usage +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from root) (encoding:string): Value: Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from game_entity) (encoding:string): Value: atlas_game What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'map.def', attribute_order = ['id', 'parents', 'children', 'description', 'width', 'line_data', 'example'], lineno = 12) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">line</string>
+	<list name="parents"><string>geometry</string></list>
+	<list name="children"><string>river</string><string>road_block</string><string>road</string></list>
+	<string name="description">Some kind line</string>
+	<float name="width">0.0</float>
+	<list name="line_data"></list>
+	<list name="example">
+		<map>
+			<string name="id">123</string>
+			<list name="parents"><string>line</string></list>
+			<float name="width">0.1</float>
+			<list name="line_data">
+				<list><float>0.0</float><float>0.0</float><float>0.0</float></list>
+				<list><float>1.0</float><float>0.0</float><float>0.0</float></list>
+				<list><float>1.0</float><float>1.0</float><float>0.0</float></list>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>id</string><string>parents</string><string>width</string><string>line_data</string></list>
+				<string name="filename">map.def</string>
+				<int name="lineno">19</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>width</string><string>line_data</string><string>example</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">12</int>
+	</map>
+</map>
+    

river

+ Attribute list: +
    +
  • id (encoding:string): Value: river Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: River Name of object. +
  • description (encoding:string): Value:
    +Defining river type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid', 'line'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['river1', 'river2'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic river type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from line) (encoding:float): Value: 0.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 244) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river</string>
+	<string name="specification">example</string>
+	<string name="name">River</string>
+	<string name="description">Defining river type</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>river1</string><string>river2</string></list>
+	<string name="media">media id for generic river type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">244</int>
+	</map>
+</map>
+    

river1

+ Attribute list: +
    +
  • id (encoding:string): Value: river1 Id of object +
  • name (encoding:string): Value: Hardonar river Name of object. +
  • description (encoding:string): Value:
    +Few rivers
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['river'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan_waters Reference object for coordinates (location). +
  • pos (encoding:list): Value: [80.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • width (encoding:float): Value: 25.0 width of something +
  • line_data (encoding:list): Value: [[100.0, -40.0, 1.1], [140.0, 20.0, 1.08], [140.0, 100.0, 1.05], [160.0, 140.0, 1.03], [160.0, 200.0, 1.0]] line object +
  • grid_size (encoding:list): Value: [3, 6] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.09, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 272)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 274)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 275)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 276)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 277)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 278)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 279))], [Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 281)), Object(height = 1.08, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 282)), Object(height = 1.07, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 284)), Object(height = 1.06, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 286)), Object(height = 1.05, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 288)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 290)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 291))], [Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 293)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 294)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 295)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 296)), Object(specification_file = Object(filename = 'agrilan_map.def', attribute_order = [], lineno = 297)), Object(height = 1.03, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 298)), Object(height = 1.01, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 300))]] grid data +
  • cell_size (inherited from river) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from river) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'width', 'line_data', 'grid_size', 'grid_data'], lineno = 253) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river1</string>
+	<string name="name">Hardonar river</string>
+	<string name="description">Few rivers</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>80.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<float name="width">25.0</float>
+	<list name="line_data">
+		<list><float>100.0</float><float>-40.0</float><float>1.1</float></list>
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>140.0</float><float>100.0</float><float>1.05</float></list>
+		<list><float>160.0</float><float>140.0</float><float>1.03</float></list>
+		<list><float>160.0</float><float>200.0</float><float>1.0</float></list>
+	</list>
+	<list name="grid_size"><int>3</int><int>6</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.09</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">272</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">274</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">275</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">276</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">277</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">278</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">279</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">281</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.08</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">282</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.07</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">284</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.06</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">286</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.05</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">288</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">290</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">291</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">293</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">294</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">295</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">296</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">297</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.03</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">298</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.01</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">300</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">253</int>
+	</map>
+</map>
+    

river2

+ Attribute list: +
    +
  • id (encoding:string): Value: river2 Id of object +
  • parents (encoding:list): Value: ['river'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • description (encoding:string): Value:
    +connects to lake
    +
    This gives short description of object. +
  • loc (encoding:string): Value: agrilan_waters Reference object for coordinates (location). +
  • pos (encoding:list): Value: [40.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • width (encoding:float): Value: 5.0 width of something +
  • line_data (encoding:list): Value: [[140.0, 20.0, 1.08], [40.0, 20.0, 1.15]] line object +
  • grid_size (encoding:list): Value: [2, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.13, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 318))], [Object(height = 1.1, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 321))]] grid data +
  • cell_size (inherited from river) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from river) (encoding:string): Value: River Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from river) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'parents', 'children', 'description', 'loc', 'pos', 'media', 'width', 'line_data', 'grid_size', 'grid_data'], lineno = 303) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">river2</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="description">connects to lake</string>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>40.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<float name="width">5.0</float>
+	<list name="line_data">
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>40.0</float><float>20.0</float><float>1.15</float></list>
+	</list>
+	<list name="grid_size"><int>2</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.13</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">318</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.1</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">321</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">303</int>
+	</map>
+</map>
+    

road_block

+ Attribute list: +
    +
  • id (encoding:string): Value: road_block Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Road block Name of object. +
  • description (encoding:string): Value:
    +Defining road types
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['2D_grid', 'line'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['bridge', 'road1', 'road2', 'road3'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic road type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • width (encoding:float): Value: 5.0 width of something +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media', 'cell_size', 'width'], lineno = 333) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road_block</string>
+	<string name="specification">example</string>
+	<string name="name">Road block</string>
+	<string name="description">Defining road types</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>bridge</string><string>road1</string><string>road2</string><string>road3</string></list>
+	<string name="media">media id for generic road type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<float name="width">5.0</float>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string><string>width</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">333</int>
+	</map>
+</map>
+    

bridge

+ Attribute list: +
    +
  • id (encoding:string): Value: bridge Id of object +
  • name (encoding:string): Value: Bridge Name of object. +
  • description (encoding:string): Value:
    +Defining bridge type
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['bridge1'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic bridge type media id reference +
  • cell_size (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • grid_data (inherited from 2D_grid) (encoding:list): Value: [] grid data +
  • grid_size (inherited from 2D_grid) (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'media', 'cell_size'], lineno = 343) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">bridge</string>
+	<string name="name">Bridge</string>
+	<string name="description">Defining bridge type</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"><string>bridge1</string></list>
+	<string name="media">media id for generic bridge type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">343</int>
+	</map>
+</map>
+    

bridge1

+ Attribute list: +
    +
  • id (encoding:string): Value: bridge1 Id of object +
  • description (encoding:string): Value:
    +Actual bridge
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['bridge'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • name (encoding:string): Value: Murray bridge Name of object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [160.0, 160.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[220.0, 180.0, 1.3], [140.0, 180.0, 1.3]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 2.0, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 420))]] grid data +
  • cell_size (inherited from bridge) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'name', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 405) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">bridge1</string>
+	<string name="description">Actual bridge</string>
+	<list name="parents"><string>bridge</string></list>
+	<list name="children"></list>
+	<string name="name">Murray bridge</string>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">420</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>name</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">405</int>
+	</map>
+</map>
+    

road1

+ Attribute list: +
    +
  • id (encoding:string): Value: road1 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [160.0, -40.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[180.0, -40.0, 1.4], [220.0, 0.0, 1.4]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.4, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 373))]] grid data +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from road_block) (encoding:string): Value: Road block Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 359) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road1</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>180.0</float><float>-40.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">373</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">359</int>
+	</map>
+</map>
+    

road2

+ Attribute list: +
    +
  • id (encoding:string): Value: road2 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [200.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[220.0, 0.0, 1.4], [220.0, 180.0, 1.3]] line object +
  • grid_size (encoding:list): Value: [1, 5] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.38, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 390))], [Object(height = 1.36, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 393))], [Object(height = 1.34, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 396))], [Object(height = 1.32, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 399))], [Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 402))]] grid data +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • name (inherited from road_block) (encoding:string): Value: Road block Name of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data'], lineno = 376) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road2</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>200.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>5</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.38</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">390</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.36</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">393</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.34</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">396</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.32</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">399</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">402</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">376</int>
+	</map>
+</map>
+    

road3

+ Attribute list: +
    +
  • id (encoding:string): Value: road3 Id of object +
  • description (encoding:string): Value:
    +Actual road
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road_block'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: murray_r1 Reference object for coordinates (location). +
  • pos (encoding:list): Value: [120.0, 160.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • line_data (encoding:list): Value: [[140.0, 180.0, 1.3], [100.0, 180.0, 1.2]] line object +
  • grid_size (encoding:list): Value: [1, 1] size of grid area: width and height (and for space depth too) in grid units +
  • grid_data (encoding:list): Value: [[Object(height = 1.3, specification_file = Object(filename = 'agrilan_map.def', attribute_order = ['height'], lineno = 437))]] grid data +
  • name (encoding:string): Value: Murdar road Name of object. +
  • cell_size (inherited from road_block) (encoding:list): Value: [40.0, 40.0] cell size of grid area +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from 2D_grid) (encoding:string): Value:
    +Example usage: see agrilan_map.* +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road_block) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from road_block) (encoding:float): Value: 5.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'line_data', 'grid_size', 'grid_data', 'name'], lineno = 423) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road3</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>120.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>100.0</float><float>180.0</float><float>1.2</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">437</int>
+				</map>
+			</map></list>
+	</list>
+	<string name="name">Murdar road</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string><string>name</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">423</int>
+	</map>
+</map>
+    

road

+ Attribute list: +
    +
  • id (encoding:string): Value: road Id of object +
  • specification (encoding:string): Value: example What specification this object is part of? +
  • name (encoding:string): Value: Road Name of object. +
  • description (encoding:string): Value:
    +Collection of road blocks
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['line'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: ['murray_r1'] List of objects that inherit from this object. +
  • media (encoding:string): Value: media id for generic road type media id reference +
  • contains (inherited from root_entity) (encoding:list): Value: [] List of objects that use this object as reference system (usually same as what this object contains). +
  • example (inherited from line) (encoding:string): Value:
    +
    +    
    +<map>
    +	<string name="id">123</string>
    +	<list name="parents"><string>line</string></list>
    +	<float name="width">0.1</float>
    +	<list name="line_data">
    +		<list><float>0.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>1.0</float><float>0.0</float></list>
    +	</list>
    +	<map name="specification_file">
    +		<list name="attribute_order"><string>id</string><string>parents</string><string>width</string><string>line_data</string></list>
    +		<string name="filename">map.def</string>
    +		<int name="lineno">19</int>
    +	</map>
    +</map>
    +    
    +
    +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • line_data (inherited from line) (encoding:list): Value: [] line object +
  • loc (inherited from root_entity) (encoding:string): Value: Reference object for coordinates (location). +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • pos (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from line) (encoding:float): Value: 0.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'specification', 'name', 'description', 'parents', 'children', 'media'], lineno = 351) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">road</string>
+	<string name="specification">example</string>
+	<string name="name">Road</string>
+	<string name="description">Collection of road blocks</string>
+	<list name="parents"><string>line</string></list>
+	<list name="children"><string>murray_r1</string></list>
+	<string name="media">media id for generic road type</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">351</int>
+	</map>
+</map>
+    

murray_r1

+ Attribute list: +
    +
  • id (encoding:string): Value: murray_r1 Id of object +
  • name (encoding:string): Value: Murray Road Name of object. +
  • description (encoding:string): Value:
    +This brings all roads blocks together + (line data more generic than on lower levels)
    +
    This gives short description of object. +
  • parents (encoding:list): Value: ['road'] List of objects this inherits attributes from. +
  • children (encoding:list): Value: [] List of objects that inherit from this object. +
  • loc (encoding:string): Value: agrilan_lands Reference object for coordinates (location). +
  • pos (encoding:list): Value: [0.0, 0.0, 0.0] Position coordinates, usually world is 3D +
  • media (encoding:string): Value: media id for whole area (text media may want to use it or + overview 2D media too) media id reference +
  • contains (encoding:list): Value: ['road1', 'road2', 'bridge1', 'road3'] List of objects that use this object as reference system (usually same as what this object contains). +
  • line_data (encoding:list): Value: [[180.0, -40.0, 1.4], [220.0, 180.0, 1.3], [100.0, 180.0, 1.2]] line object +
  • example (inherited from line) (encoding:string): Value:
    +
    +    
    +<map>
    +	<string name="id">123</string>
    +	<list name="parents"><string>line</string></list>
    +	<float name="width">0.1</float>
    +	<list name="line_data">
    +		<list><float>0.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>0.0</float><float>0.0</float></list>
    +		<list><float>1.0</float><float>1.0</float><float>0.0</float></list>
    +	</list>
    +	<map name="specification_file">
    +		<list name="attribute_order"><string>id</string><string>parents</string><string>width</string><string>line_data</string></list>
    +		<string name="filename">map.def</string>
    +		<int name="lineno">19</int>
    +	</map>
    +</map>
    +    
    +
    +
    Gives some examples usage +
  • interface (inherited from game_entity) (encoding:string): Value: game_interface What kind of operations are legal for this object. +
  • long_description (inherited from root_entity) (encoding:string): Value:
    +Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
    +
    This gives long description of object. +
  • objtype (inherited from root_entity) (encoding:string): Value: class What kind of object this is. +
  • specification (inherited from road) (encoding:string): Value: example What specification this object is part of? +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Last time this object was modified. +
  • stamp_contains (inherited from root_entity) (encoding:float): Value: 0.0 Last time any object that uses this as reference recursively has been modified +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Last time any object that inherits from this has been modified +
  • velocity (inherited from root_entity) (encoding:list): Value: [0.0, 0.0, 0.0] Velocity object is moving, usually world is 3D +
  • width (inherited from line) (encoding:float): Value: 0.0 width of something +
  • specification_file (encoding:string): Value: Object(filename = 'agrilan_map.def', attribute_order = ['id', 'name', 'description', 'parents', 'children', 'loc', 'pos', 'media', 'contains', 'line_data'], lineno = 441) various info about object and its specification file +
+ XML version:
+
+<map>
+	<string name="id">murray_r1</string>
+	<string name="name">Murray Road</string>
+	<string name="description">This brings all roads blocks together 
+                   (line data more generic than on lower levels)</string>
+	<list name="parents"><string>road</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or 
+             overview 2D media too)</string>
+	<list name="contains"><string>road1</string><string>road2</string><string>bridge1</string><string>road3</string></list>
+	<list name="line_data">
+		<list><float>180.0</float><float>-40.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>100.0</float><float>180.0</float><float>1.2</float></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>contains</string><string>line_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">441</int>
+	</map>
+</map>
+    
+ +
+
Aloril
+ + +Last modified: Wed Feb 9 10:35:06 EET 2000 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/map_in.html atlas-cpp-0.6.3/protocol/spec/map_in.html --- atlas-cpp-0.6.2/protocol/spec/map_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/map_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,35 @@ + + + + Basic map classes defined + + + +

Basic map classes defined

+ + This defines geographical things. It includes very coarse Agrilan + map example. Examples are in green in the index. +

+ It is partially based on AMIS, + though auto generated map is not yet here. It's more intended to + be transmitted over wire and then translated into AMIS at other + side (and store all required info somewhere so it can be + reconstructed for sending to client) +

+ + + +

Map class tree

+ + + + + +
+
Aloril
+ + +Last modified: Wed Feb 9 10:35:06 EET 2000 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/maps/atlas.sty atlas-cpp-0.6.3/protocol/spec/maps/atlas.sty --- atlas-cpp-0.6.2/protocol/spec/maps/atlas.sty 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/maps/atlas.sty 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,34 @@ +%Useful macros for atlas objects +\ProvidesPackage{atlas} + +%Atlas obiect (mapping) table +\newenvironment{Amap} + {\begin{tabular}{|ll|}\hline} + {\hline\end{tabular}} + +%Atlas object figure(s): one or more Atlas objects +\newenvironment{Aobjectfigure} + {\begin{figure}[!hbt]\begin{center}} + {\end{center}\end{figure}} + +%attribute in Amap table +\newcommand{\Attr}[2]{\textbf{#1} & #2\\} + +%list of 3 float numbers, braces are at right side even with bignumbers (4.5e45, etc..) +\newcommand{\floatthree}[3]{\left(#1,#2,#3\right)} +%"pos" -attribute +\newcommand{\Apos}[3]{\Attr{pos}{\(\floatthree{#1}{#2}{#3}\)}} +\newcommand{\Avelocity}[3]{\Attr{velocity}{\(\floatthree{#1}{#2}{#3}\)}} +%bignumber (example: 4.5e45) +\newcommand{\bn}[2]{#1\,10^{#2}} + +%For contributors: name, nick, email +\newcommand{\contrib}[3]{#1 (#2)\quad\texttt{<#3>}\\} + +%activate hyperlinks when using pdf output +\ifx\pdfoutput\undefined % We're not running pdftex +\newcommand{\link}[1]{\texttt{#1}} +\else +\RequirePackage[colorlinks,hyperindex,plainpages=false]{hyperref} +\newcommand{\link}[1]{\href{#1}{#1}} +\fi diff -Nru atlas-cpp-0.6.2/protocol/spec/maps/Makefile atlas-cpp-0.6.3/protocol/spec/maps/Makefile --- atlas-cpp-0.6.2/protocol/spec/maps/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/maps/Makefile 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,10 @@ +all: semantic_maps.pdf semantic_maps.html + +semantic_maps.pdf: semantic_maps.toc semantic_maps.aux + pdflatex semantic_maps.tex + +semantic_maps.toc semantic_maps.aux: semantic_maps.tex atlas.sty + pdflatex semantic_maps.tex + +semantic_maps.html: semantic_maps.tex atlas.sty + latex2html semantic_maps.tex diff -Nru atlas-cpp-0.6.2/protocol/spec/maps/README atlas-cpp-0.6.3/protocol/spec/maps/README --- atlas-cpp-0.6.2/protocol/spec/maps/README 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/maps/README 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,6 @@ +Making 'hardcopy': + +pdflatex semantic_maps.tex + +Type above twice to produce index also correctly. +(only needed twice at first time and when new sections addded) diff -Nru atlas-cpp-0.6.2/protocol/spec/maps/semantic_maps.tex atlas-cpp-0.6.3/protocol/spec/maps/semantic_maps.tex --- atlas-cpp-0.6.2/protocol/spec/maps/semantic_maps.tex 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/maps/semantic_maps.tex 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,827 @@ +%\documentclass{article} +\documentclass{report} +\title{Atlas Semantic GeoMaps} +\author{Aloril} +\date{2002-02-21} +\usepackage{atlas} +\def\OOG{OOG} +\def\smile{;-)} + +\begin{document} + \maketitle + \tableofcontents + + \newpage + + \section{Thanks} + + Some editing and comments by \contrib{Dan Tomalesky}{Grimicus}{grim@xynesis.com} + and by \contrib{Bryce Harrington}{bryce}{bryce@neptune.net} + Bryce also has written ``Discussion with bryce about containers'' -section\\ + + Comments and suggestions for this whitepaper by (in order of time):\\ + \contrib{Thierry Mallard}{shaman}{thierry@mallard.com} + \contrib{Adam Wendt}{adam}{billyjoeray@netzero.net} + \contrib{Sami M\"akel\"a}{smkl}{sajuma@utu.fi} + \contrib{James Best}{jamie}{jbest@magnacom.net} + \contrib{Anubis}{anubis}{anubis@worldforge.org} + \contrib{Rakshasa}{rakshasa}{rakshasa@start.no} + \contrib{Miguel Guzmán}{Aglanor}{aglanor@teleline.es} + \contrib{Christian Reitwiesser}{KCN}{christian@reitwiessner.de} + \contrib{James Turner}{James}{jmtn@blueyonder.co.uk} + \contrib{Sal Ferro}{Sal}{sferro@wojo.com} + \contrib{Jonathan Giszczak}{Dragon Master}{dragonm@assault.nexuslabs.com} + \contrib{}{tbp}{tbp@tbp.dyndns.org} + \contrib{Mike Taylor}{bear}{bear@code-bear.dyndns.org} + \contrib{Malcolm Walker}{malcolm}{malcolm@worldforge.org} + \contrib{Jorrit Tyberghein}{Jorrit}{Jorrit.Tyberghein@uz.kuleuven.ac.be} +\\ + + Ideas are based on countless other people commenting at mail and + IRC. + + Discussion logs:\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200012300743.irc}\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200012301148.irc}\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200012301607.irc}\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200101040947.irc}\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200101111430.irc}\\ + \link{http://http://brenda.worldforge.org:8080/logs/info.php3?file=forge200101201220.irc}\\ + \link{http://brenda.worldforge.org:8080/logs/info.php?file=coders200201311235.irc}\\ + \link{http://brenda.worldforge.org:8080/logs/info.php?file=forge200202061527.irc}\\ + \link{http://brenda.worldforge.org:8080/logs/info.php?file=coders200202181345.irc}\\ + \link{http://brenda.worldforge.org:8080/logs/info.php?file=coders200202200025.irc}\\ + Comments by mail:\\ + \link{http://mail.worldforge.org/archive/protocols/2000-December/000110.html} + +% Home of this whitepaper:\\ +% \link{http://www.worldforge.net/aloril/atlas/whitepapers/semantic_maps.pdf} + + \newpage + + \section{Introduction} + + \subsection{Atlas} + + Atlas is the standard worldforge protocol for client/server interaction. For more + about Atlas see \link{http://www.worldforge.org/dev/eng/protocols/}. + + In order to avoid confusing the concepts of a geographical map and how Atlas currently + defines a map, this paper will call the former {\em GeoMaps}. + The purpose of paper is to raise discussion about what should be in the + Atlas specification about geomaps and how it will relate to media. + + \subsection{Semantic GeoMaps} + + Semantic geomaps contain the information needed by a world server + to model a game or other worlds. It provides a comprehensive + listing of what objects are located in a given portion of the + world, attributes of those objects, and their positions. Those + attributes should give meaning to their objects. For example, a + road object is used instead of line object ~(can this be + elaborated? is a road object a line object with special attributes + or just a change of attribute?). Clients use an object class and + its attributes to find the appropriate graphical media. Different + clients will use different media (2D, 3D, text, aural, etc.) to + represent the same object. This effectively separates the data, + semantic geomaps, from the representation the client assigns it. + + In this way, Atlas semantic geomaps resemble object-oriented + GIS\footnote{Geographic Information System + \link{http://www.usgs.gov/research/gis/title.html}} systems (such + as Smallworld or LAMPS) rather than the more traditional vector + oriented GIS systems, such as MapInfo and ArcView. An Atlas geomap's primary + difference from OO GIS is that it defines a certain standard set of object + types and attributes, whereas in OOGIS, objects are constantly redefined from + geomap to geomap. This is much like how in C++ anyone can create a class, + but STL defines a standard set of classes for everyone to use, rather than + creating their own personalized versions. In addition, Atlas defines a + default set of values for the standard attributes for each type. This + further allows a consistant way of defining GeoMaps. + + AI in NPCs and user scripts can use semantic information defined in these + objects to follow a road or to decide how to react to other objects. + Also, they enable smarter tools than pure geographic info would + allow. Some example tools might: find the shortest route between two + places, select all roads, water, mountains, etc\ldots, + or apply erosion to river drainage basins. + From an interface point of view, a two-dimensional, isometric client might + represent the game world's geomaps as a set of tiles laid out in a grid, + with animated sprites moving around on top, whereas the three-dimensional + client might use a collection of textured meshes to describe the + same geomaps. A text client might provide only descriptions of the + entities in the game, in a MUD\footnote{MultiUser Dungeon + \link{http://www.mudconnect.com/mudfaq/mudfaq-p1.html}} style of layout. These + examples are not the limits. A client could have multiple types + of media to display a specific geomap. + + Beyond this separation of media and object, identification--a trait of + semantic geomaps that distinguishes them from ordinary geomaps--allows + an object to contain more than just position and related geographical + information. ~(decide whether to make this example of attribute or what...) + + \section{Object model overview} + + Here we will attempt to explain the format for Atlas Objects. There are five + basic types of attributes that an atlas object can have: + \begin{description} + \item[Integer] A number without decimal precision + \item[Double] A number with decimal precision + \item[String] A ordered collection of characters. + \item[List] An ordered collection of any altas type defined here. Members of + a list are not necessarily indexed, but can be. This index is + typically an integer. + \item[Map] An unordered collection of atlas types defined here, where each + member of the collection is indexed by a string (called a {\em key}) + \end{description} + Altas objects are made up in various combinations of the above types. The + following examples will further explain how Atlas defines objects and their + classes. + + \subsection{Oak object example} + + This example shows a typical use of an Atlas Object. + %using oak tree in 2 places + \def\OakTree{ + \begin{Amap} + \Attr{id}{``oak1234''} + \Attr{name}{``The Giant Oldie''} + \Attr{objtype}{``obj''} + \Attr{parents}{(``oak'')} + \Apos{12.5}{100.5}{0.5} + \Avelocity{0.0}{0.0}{0.0} + \Attr{loc}{``forest123''} + \Attr{contains}{(``human234'')} + \end{Amap}} + \begin{Aobjectfigure} + \OakTree + \caption{Oak object example} + \end{Aobjectfigure} + \\ + Here's an explanation of the above attributes: + \begin{description} + \item[Id] -- The unique identifier for the object. + \item[Name] -- The name of object. The name doesn't need to be unique + in the world. + \item[Objtype] -- The kind of Atlas object. + An ``obj'' is an instance of its parent(see below). + These types can specify ``in game'' or ``out of game'' objects. + Ex. Character object(in) v. Player object(out) + Other possible Objtype values are ``op'', ``class'', or + ``op\_definition''. ``op'' is the same as ``obj'' except + that it pertains to an operation instance as opposed to object + instance. ``class'' and ``op\_definition'' will be explained + below. + \item[Parents] -- The inheritence structure of the object. + Objects inherit attributes from a parent class. Classes may + inherit attributes from one or many parent classes. In the case + of an instance object, its parent is its class object's id + (``oak'' in this example). + \item[Pos] -- The position of object in relation to its container + Usually the position is given as list of x, y and z. + Direction of x, y and z are mathematical ones: x is from + left to right or west to east, y is south to north and z is + from down to up. + \footnote{Worlds with more than three dimensions are possible, + but are rare. Also, some games servers might want to use + different method to specify position. For example sim games set + in the Earth/Moon space, where the position is specified by six + parameters, may want to use different way to specify position. + In this case server should by default use the $pos$ attribute. + If the client supports an alternative system, then the server + can use that instead: for example $orbit\_pos$.} + \item[Velocity] -- The velocity vector of object in relation to + the container. + \footnote{An object's pos and velocity should be in reference + to their container.} + \item[Loc] -- The id of the object that contains this object. The object's container. + \item[Contains] -- An id list specifying which objects are contained by this one. + \end{description} + + \subsection{Oak class definition example} + + This is the definition of the oak class that the above object is an instance of: + \label{example:oakclass} + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``oak''} + \Attr{name}{``Quercus''} + \Attr{objtype}{``class''} + \Attr{parents}{(``tree'')} + \end{Amap} + \caption{Oak class definition example} + \end{Aobjectfigure} + + There are no new attributes in the oak class definition example + compared to oak trees instances in the world. Despite this, The descriptions of + each are some what different: + \begin{description} + \item[Id] is the unique class name. + \item[Name] This field is typically just a placeholder without real significance + to the class. In this case, the Latin name is used. Usually, it is + identical to id attribute. It was made intentionally different + here to show it is possible \smile. + \item[Objtype] The value ``class'' specifies a new object type. These objects + are out of game. The purpose of these definitions is to provide + the layout of the class for any instances, and also to store default + values for the object type. A benefit of this might be to allow the + server to pass any new definitions to the client via atlas. + (if that functionality is implemented). ``op\_definition'' + defines a new operation type. It is basically the class definition + for operations--much like ``class''. + \item[Parents] All superclasses of this class definition are placed in this list. + \end{description} + + \section{Containers} + %\begin{enumerate} + Containers are the organization of objects in geomaps. Each geomap has two + attributes, {\em loc} and {\em contains}, that are used to designate + containment. Containers provide many convenient benefits. + + %\item Can have different coordinate system for each container if + % needed. + % \begin{itemize} + % \item Only need to change the container position and all things + % that use it as a reference system change too (for example + % ship/character moving). + % \item Can have one generic floating point system and still have + % full accuracy at detailed levels. For example one system for + % the galaxies and start from 0.0,0.0,0.0 for the planets. + % \end{itemize} + Since a container is independent from any other, each may have its own + coordinate system to designate the position of objects within it. This + allows the ability to change the container's position without + actually having to modify the position of those objects contained + within it. + Second, the coordinate system can be one generic floating point system, + while still providing accurate positioning at detailed levels. Though each container + uses the same system, the depth of containment would specify the actual scale + between two containers. See the examples later for further explanation. + ~(I assume this is further explained in examples below) + + %\item Need to transmit only things client see and only need one + % mechanism for all of it. + % \begin{itemize} + % \item Don't need to show what the box contains. + % \item No need to show what a neighbor forest contains. + % \item Also solar system movements or the planet characters are + % playing on don't need to be visible to characters that are + % living it in medieval world. + % \end{itemize} + %\item Can have different data at different zoom levels. + % \begin{itemize} + % \item For things that are far away send container info, but not + % what they contain at bottom level (like looking from a mountain + % to far away lands or standing near {\em big} a cliff). + % \item You can view overview the geomap for travel etc.. purposes + % \item Can make big/generic changes more easily. + % \end{itemize} + Another benefit of containers is scope. With certain actions, such as sight + or collision detection(CD), containers provide a way to limit which objects + need to interact. For example, there is no need to display what items a box + might contain or to show objects in a neighboring forest. Scope also can limit + the detail of information in the same way. For instance, someone standing on + a mountain looking out would see other mountains, forests, and perhaps cities, + but would not know what was contained within them. + + %\item It is a way to group things logically/geographically. This is + % handy if one wishes to distribute sections of the world onto + % different game servers and/or assemble a realm from ``canned'' + % realms. + Lastly, containers provide a way to logically group objects. This + can be a useful + way to define sections of a game world, so in can be distributed to several game + servers, or they could be ``canned'' into a packaged realm. + + %\end{enumerate} + + \subsection{Container examples} + + Only attributes related to ``containership'' are included. Note + that orientation is not included in these examples\ldots yet. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``galaxy1''} + \Attr{name}{Milkway} + \Attr{contains}{(``ss2'', ``ss3'', ``ss4)} + \end{Amap} + + \begin{Amap} + \Attr{id}{``ss2''} + \Attr{name}{``Solar system''} + \Attr{loc}{``galaxy1''} + \Apos{\bn{2.6}{20}}{\bn{-1.5}{19}}{\bn{1.5}{19}} + \Attr{contains}{(``venus5'', ``earth6'', ``mars7'', ``jupiter8'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``earth6''} + \Attr{name}{``Planet Earth''} + \Attr{loc}{``ss2''} + \Apos{\bn{1.5}{11}}{0.0}{0.0} + \Attr{contains}{(``dural9'', ``trans10'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``dural9''} + \Attr{name}{``Dural world''} + \Attr{loc}{``earth6''} + \Apos{\bn{5.0}{3}}{\bn{4.5}{6}}{\bn{4.5}{6}} + \Attr{contains}{(``cambria11'', ``moraf12'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``cambria11''} + \Attr{name}{``Cambria''} + \Attr{loc}{``dural9''} + \Apos{\bn{8.0}{4}}{\bn{-1.6}{4}}{200.0} + \Attr{contains}{(``agrilan13'', ``summerset14'')} + \end{Amap} + + \caption{Containers examples, part 1} + \end{Aobjectfigure} + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``agrilan13''} + \Attr{name}{``Agrilan''} + \Attr{loc}{``cambria11''} + \Apos{\bn{-3.2}{4}}{\bn{2.0}{4}}{100.0} + \Attr{contains}{(``forest123'', ``marketplace321'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``forest123''} + \Attr{name}{`Haretone forest''} + \Attr{loc}{``agrilan13''} + \Apos{-100.0}{-200.0}{10.0} + \Attr{contains}{(``oak1234'', ``34555'', ``34556'', ``34557'')} + \end{Amap} + + \OakTree + + \begin{Amap} + \Attr{id}{``human234''} + \Attr{name}{``Twaine Danylsen Junior''} + \Apos{10.0}{3.5}{30.0} + \Attr{loc}{``oak1234''} + \Attr{contains}{(``backpack6788'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``backpack6788''} + \Apos{0.0}{0.1}{1.0} + \Attr{loc}{``human234''} + \Attr{contains}{(``apple11111'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``apple11111''} + \Attr{loc}{``backpack6788''} + \end{Amap} + + \caption{Containers examples, part 2} + \end{Aobjectfigure} + + \begin{itemize} + \item The galaxy inherits default $pos=\floatthree{0.0}{0.0}{0.0}$ + from ``game\_entity'' class definition. + \item Before space travel is implemented, server will omit $loc$ + and $pos$ attributes from ``dural9'' object and thus `pretend' + it's topmost level object for clients. + \item When looking from far away at the Earth, the $contains$ attribute + will be shown as empty and only filled when the spaceship is + near enough to see ``dural9''. Similarly if Shewla Danylsen is + too far from ``oak123'' tree, she won't see her son. Also unless + ``backpack6788'' is open, the backpack's content is not visible. + \item Note that ``apple11111'' does not have $pos$ attribute. It's + position inside ``backpack6788'' is undetermined. + \item In the example, ``backpack6788'' is defined using numerical + coordinates. Another possibility might be to set it's $loc$ + attribute to ``human234\#back''. Another possibility might be to + use something like $symbolic\_pos$ with ``back'' as value. + \end{itemize} + + \newpage + + \subsection{Example on how to calculate ``absolute'' position} + + This example uses python syntax. + + \begin{verbatim} +def get_xyz(self): + """get location: if relative to location (container), + add our position to actual container location""" + if self.loc: + return self.loc.get_xyz() + self.pos + else: + return self.pos + \end{verbatim} + + Your actual implementation can certainly optimize beyond the above + code. It can, for example, also store an $absolutePosition$ + attribute. You'd calculate that for every object and when the object + moves, update both $pos$ and $absolutePosition$ attributes. When + object changes containers, you'd calculate it's new $absolutePosition$ + using the formula $loc.absolutePosition + pos$. + + \subsection{Alternative: containers as separate objects} + + $loc$, $pos$ and $contains$ attributes could be made into separate + objects. This object would also have separate class hierarchy. + + + Discussion with bryce about containers: + + ``In the real world, every item contained within another item has a + specific position and identity. However, in some situations it is + immaterial where the item is, exactly, and in others we don't care + too much about the specificality of the item. Knowing that we don't + care, we can then throw that information away and compress our data + down by a great deal. + + For example, consider a bag full of apples, pears, and bananas. + Certainly in real life, each of these items has a specific position + within the bag, however within a game server if we had to go to the + work of calculating exact positions of each piece of fruit, taking + into account physical shape, smooshiness, etc. it'd be a waste of + cycles. Instead, all we really, truly need to know is that within + the bag there are 4 apples, 2 pears, and 7 bananas. We don't care + about the position. This not only saves us the processing work of + positioning the items, but also allows us to skip keeping track of + the positions of the items. + + Alternatively, consider an orchard's 300m x 300m field of apple + trees. The field consists of rows 3 meters apart, with each tree + within a row spaced 3 meter apart. In a generic container, we'd need + to describe the area by sending data on 10,000 entities to the + client, but because every tree is identical, and because they're + spaced in a deterministic grid, this is extremely wasteful. Instead, + what we want to do is tell the client, ``Put 10,000 Apple Trees in a + grid according to this formula...'' + + As you can surmise, there are probably other different styles of + containers beyond 'bags' and 'fields', so we generalize the notion of + a ``container'', separately from an ``entity''. An entity could + contain other entities in different ways, depending on how we want to + store things within it. For example, consider if we cut down all the + apple trees and pile them up in a jumble along with bits of broken + stone and some dead bodies. In this case we may want to treat the + field just like a bag - a random collection of specific items. On + the other hand, if we cleared the field and two groups of brigands + faced off across it, engaged in battle, we'd suddenly care about both + the exact positions and exact natures of everything on the field. + + Thus, we want to allow a given entity to be able to change its type + of container, as needed. This is modelled by saying that ``an entity + has a container'' instead of ``entity is a container''. + + Here are some kinds of containers: + + Map - Items have a specific identity and a specific position. + + Pile - Items do not have specific positions and are assumed to be + randomly distributed within the container. The quantity of items of + each specific type is given. + + List - Items are ordered and have a specific identity, but are not + geospacially positioned. This can be thought of as a queue or + stack. + + Set - Rather than using 3D coordinates, this uses abstract named + ``locations'' within the container. For example, within a spacecraft + we could identify crew positions as ``Pilot'', ``Gunner 1'', ``Gunner + 2'', ``Engineer'', etc. In such circumstances it is assumed that the + ``role'' is much more important for the game to know than the + coordinate location. In a ship-to-ship space combat game, + coordinates within a ship may be irrelevant (unless it's being + boarded) than it is to know who's in which chair. In a roleplaying + game, this style of container would be used for a character's + possessions - he'd have named locations ``neck'', ``torso'', ``left + foot'', and ``top of head''. An article of clothing (or weapon or + armor) could be placed in each of these named locations. + + + In container info inside object model above might be modeled by + having special object and/or special attributes. + + \newpage + + \section{Cartography/Geometry at different zoom levels} + + \begin{itemize} + \item Object can be a point. Usually characters, trees, etc\ldots + are like this. + \item Object can be a line. Usually roads, fences, etc\ldots are + like this. + \item Object can be an area. Usually fields, forests, etc\ldots are + like this. + \item Object can be a volume. Usually caves, houses, etc\ldots + are like this. + \end{itemize} + + One object can be different kind of geometry type at different zoom + levels. For example you are far away from some star. You see a star + as point object. When you get near the star you see it as volume + object. Then get even nearer and see river as line object in planet + that orbits the star. You ascend toward the river. You see the big + river as an area object. You dive into it and see it as volume + object. \footnote{If server is using 2 coordinates and client is + using 3 coordinates, then client should add/remove element + as needed: $Server:(x,y)$ becomes $Client:(x,y,0.0)$, + $Client:(x,y,z)$ becomes $Server:(x,y)$. Similarly also if + server has 4 or more coordinates and client is using 3 + coordinates, client should add/remove elements as needed.} + + More detailed object(s) should be referred in $contains$ attribute. + + \subsection{Point (0D) objects} + + This and following cartography subsections are based largely on + discussion with James Turner, Anubis, DragonM, tbp, bear, malcolm + and Jorrit (in order of time). + + Point objects have only position. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``human234''} + \Attr{name}{``Twaine Danylsen Junior''} + \Apos{10.0}{3.5}{30.0} + \Attr{loc}{``oak1234''} + \Attr{contains}{(``backpack6788'')} + \end{Amap} + \caption{Human point object} + \end{Aobjectfigure} + + Also there can be ``point data'' objects which have coordinates for + many positions. These objects are referred by line, area and volume + objects. \footnote{Using $p$ in point data objects instead of + $points$ because it will be referred more than any other + attribute: in binary2 encoding length doesn't matter but for + every other encoding it does matter.} + + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``center1''} + \Attr{p}{$((10.0, 2.0, 2.0), (5.0, -1.0, 1.0), (0.0, 0.0, 0.0))$} + \end{Amap} + \begin{Amap} + \Attr{id}{``outline1''} + \Attr{p}{$((10.0, 2.5, 2.0), (10.0, 1.5, 2.0),$} + \Attr{}{$\ (7.0, -0.7, 1.6), (5.0, -1.5, 1.0), (5.0, -0.5, 1.0))$} + \end{Amap} + \begin{Amap} + \Attr{id}{``bottom1''} + \Attr{p}{$((10.0, 2.0, 1.8), (5.0, -1.0, 0.8))$} + \end{Amap} + \caption{Point data objects for river, all points could be in one + object if wanted} + \end{Aobjectfigure} + + \subsection{Line (1D) objects} + + Line objects refer to point objects in polyline attribute. Format + is $object\_id.attribute\_name.index$. Even if polyline is made + loopy, it does not cover area: center is empty unless there is area + object. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``river9''} + \Attr{parents}{(``river'')} + \Attr{polyline}{(``center1.p.0'', ``center1.p.1'', + ``center1.p.2'')} + \Attr{contains}{(``river\_area4'')} + \end{Amap} + \caption{Line object (river): points attribute could be included + here also, reference then would be ``river9.points.0'', \ldots} + \end{Aobjectfigure} + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``r5''} + \Attr{parents}{(``rope'')} + \Attr{polyline}{(``joe123.pos'', ``mic8.pos'')} + \end{Amap} + \caption{Rope: Joe is holding other end and Michael is holding + other end} + \end{Aobjectfigure} + + + \newpage + + \subsection{Area (2D) objects} + + Area objects are triangles meshes. They refer to point objects in + area attribute. Each triangle is defined by 3 ids to points. Every + triangle should share at least one edge with another triangle and + you can get into any triangle from any other triangle by traveling + from triangle to another. If you need areas that consists of + separate pieces, make higher level object and ``contain'' area + objects in it for that. \footnote{Even if area is made loopy so it + seems like it covers volume, it doesn't: there is no inside and + outside and both sides are empty unless there is real volume + object.} + + \begin{verbatim} +until figure is made, here is ascii version... + ____ + / 0 + / ___1 + 4 _2 + 3/ + + \end{verbatim} +%0-> 1,2,4 b0,b1 +%1-> 0,2 b0 +%2-> 0,1,3,4 b0,b1 +%3-> 2,4 b1 +%4-> 0,2,3 b0,b1 +%b0-> 0,1,2,4 b1 +%b1-> 0,2,3,4 b0 + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``river\_area4''} + \Attr{parents}{(``river\_area'')} + \Attr{area}{((``outline1.p.0'', ``outline1.p.1'', ``outline1.p.2''),} + \Attr{}{(``outline1.p.2'', ``outline1.p.3'', ``outline1.p.4''),} + \Attr{}{(``outline1.p.0'', ``outline1.p.2'', ``outline1.p.4''))} + \Attr{contains}{(``river\_volume10'')} + \end{Amap} + \caption{River area object} + \end{Aobjectfigure} + + \newpage + + Area objects can also have holes in them. Holes are define by + missing triangles inside area. \footnote{In binary2 river and lake + example objects can be encoded as series of int16 numbers or even + as series of int8 numbers} + + \begin{verbatim} +until figure is made, here is ascii version... + 0 1 + 45 + 67 + 2 3 + \end{verbatim} + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``lake\_area5''} + \Attr{parents}{(``lake\_area'')} + \Attr{area}{((``pd.p.0'', ``pd.p.1'', ``pd.p.4''),} + \Attr{}{(``pd.p.1'', ``pd.p.5'', ``pd.p.4''),} + \Attr{}{(``pd.p.1'', ``pd.p.3'', ``pd.p.5''),} + \Attr{}{(``pd.p.3'', ``pd.p.7'', ``pd.p.5''),} + \Attr{}{(``pd.p.3'', ``pd.p.6'', ``pd.p.7''),} + \Attr{}{(``pd.p.3'', ``pd.p.2'', ``pd.p.6''),} + \Attr{}{(``pd.p.0'', ``pd.p.6'', ``pd.p.2''),} + \Attr{}{(``pd.p.0'', ``pd.p.4'', ``pd.p.6''))} + \Attr{contains}{(``river\_volume14'')} + \end{Amap} + \caption{River area object with island ``holes''} + \end{Aobjectfigure} + + Also could make holes by using ``negative'' area: island is + contained by lake and removes water from it's area. + + \subsection{Volume (3D) objects} + + Volume objects consist of one or more tetrahedrons. They refer to + point objects in volume attribute. Each tetrahedrons is defined by + 4 ids to points. Every tetrahedrons should share at least one face + with another tetrahedrons and you can get into any tetrahedrons + from any other tetrahedrons by traveling from tetrahedrons to + another. If you need volumes that consists of separate pieces, make + higher level object and ``contain'' volume objects in it for that. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``river\_volume10''} + \Attr{parents}{(``river\_volume'')} + \Attr{volume}{((``outline1.p.0'', ``outline1.p.1'', ``bottom1.p.0'', ``outline1.p.2''),} + \Attr{}{(``outline1.p.2'', ``outline1.p.3'', ``bottom1.p.1'', ``outline1.p.4''),} + \Attr{}{(``outline1.p.0'', ``outline1.p.2'', ``bottom1.p.1'', ``outline1.p.4''),} + \Attr{}{(``outline1.p.2'', ``bottom1.p.0'', ``bottom1.p.1'', ``outline1.p.4''),} + \Attr{}{(``outline1.p.0'', ``bottom1.p.0'', ``bottom1.p.1'', ``outline1.p.2''))} + \end{Amap} + \caption{Volume river object: surface and bottom} + \end{Aobjectfigure} + + Volume objects can have 1 or more holes or empty spaces by missing + tetrahedrons somewhere. Alternatively they can contain ``negative + space'': for example mountain contains cave or house contains room. + + \subsection{Higher (4D or more) dimensional objects} + + Higher dimensional object is defined using collection of primitive + objects which are defined using N+1 points and with N+1 N-1 + dimensional limiting objects similarly than 2D and 3D is done. + + \subsection{Connecting neighbour objects} + + For topological consistency neigbour objects should be connected to + each other via common points/lines/triangles meshes/etc... More + about this later. + + \section{Hyperlinks} + + URI (ids in Atlas) consists of form: atlas://server.org/acorn/root\\ + Protocol is ``atlas://''.\\ + Server is ``server.org''.\\ + World id is ``acorn''.\\ + Root object (=id) is ``root''. + + Maybe ``world id'' and ``id'' part should be separated by something + different than just '/'? + + \section{Media} + + Media is completely separate. Objects in world server don't know + anything about media objects. World server only gives list of + recommended media server(s) but client can override selection. + + So how does client know which media to use for objects? + + It uses object id, parents and other attributes to lookup for it at + media server. First client searches using object id, then using + parents ids, then grandparents ids, etc.. until it finds match. + Searches are cached on client and probably makes good sense to + cache list of ids media server offers. + + \subsection{Example lookup} + + Client sees character named ``Halek''. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``ch98''} + \Attr{name}{``Halek''} + \Attr{parents}{(``elf'')} + \end{Amap} + \begin{Amap} + \Attr{id}{``elf''} + \Attr{parents}{(``humanoid'')} + \end{Amap} + \caption{``Halek'' character and ``elf'' definition} + \end{Aobjectfigure} + + First client queries media server for info about ``ch98''. If no + info about that exist, then it queries about ``elf''. If still no + info, then for ``humanoid''. Client can fetch all info objects from + media server beforehand, so querying in practice can be just cache + lookup. Lets assume client finds media info object for ``elf''. + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``elf''} + \Attr{parents}{(``humanoid'')} + \Attr{media\_groups}{(``media\_2D\_iso'', ``media\_3D'', ``media\_text'')} + \Attr{media\_2D\_iso}{(``elf\_2D\_iso\_male'', ``elf\_2D\_iso\_female'')} + \Attr{media\_3D}{(``elf\_3D\_male'', ``elf\_3D\_female'')} + \Attr{media\_text}{(``elf\_text\_male'')} + \end{Amap} + + \begin{Amap} + \Attr{id}{``elf''} + \Attr{parents}{(``humanoid'')} + \Attr{media\_groups}{ + \begin{Amap} + \Attr{media\_2D\_iso}{(``elf\_2D\_iso\_male'', ``elf\_2D\_iso\_female'')} + \Attr{media\_3D}{(``elf\_3D\_male'', ``elf\_3D\_female'')} + \Attr{media\_text}{(``elf\_text\_male'')} + \end{Amap} + } + \end{Amap} + \caption{Top level media info object for ``elf'': 2 alternative versions} + \end{Aobjectfigure} + + \begin{Aobjectfigure} + \begin{Amap} + \Attr{id}{``elf\_3D\_female''} + \Attr{parents}{(``elf\_3D\_humanoid'')} + \Attr{sex}{``female''} + \Attr{media\_url}{``http://purple.worldforge.org/wf/cvs/media-3d/character/elf\_female.3ds''} + \end{Amap} + \caption{Media info object for 3D female elf} + \end{Aobjectfigure} + + \newpage + + \subsection{Filtering} + + Media info objects can contain also other attributes to use for + filtering than ids. For example there might be different media + available for different sized objects. + + + +% \subsection{2D/3D/text, etc\ldots media} + +% \section{MIM and Semantic GeoMaps} + +\end{document} diff -Nru atlas-cpp-0.6.2/protocol/spec/move.html atlas-cpp-0.6.3/protocol/spec/move.html --- atlas-cpp-0.6.2/protocol/spec/move.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/move.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,318 @@ + + + + Movement + + + +

Movement

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Containers and coordinatesWhat they are and how to interpret them
+ Movement typesRelative, absolute, etc..
+ Location tagWhat location tag contains
+ Containers and 'absolute' movementYou are on ship that moves at sea
+ Containers and relative movementYou are on ship that moves at sea
+ +

Containers and coordinates

+ + To specify location of object you need to have reference + (container) object and position in relation to reference object. + Object also lists all objects that use it as reference coordinate + system. + +

+ + Attributes:
+ +

    +
  • loc: id of object that this object is using as reference + coordinate system (top level world/universe object specifies this + as empty)
    + Note that this is different than physical + containership: it is usually same as physical container, but + not necessarily +
  • pos: position in relation to reference object (or absolute + position for top level object) +
  • velocity: velocity of object in relation to reference object + (or absolute for velocity for top level object) +
  • contains: objects that use this as reference system (things + that don't contain anything have this as empty) +
+ + To calculate absolute coordinates you do this: +
+def get_absolute_position(self):
+    if not self.ref: return self.pos
+    return self.pos + self.ref.get_absolute_position()
+
+ + As you can see from above code assumption is logically 'tree' like + container structure. +

+ If world designer wants to use only one coordinate system and + still have containers: Specify pos as 0,0,0 for all objects except + bottom level ones. + +

Movement types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Movement typeServerClienttags
a)Relative coordinatesNethack and many MUDsSimple clientvector, relrotation
b)Force vectorQUADAS, Cyphesis in futureNormal clientforcevector, torquerotation
c)Force vector/limbSome future world with VRVR client with suitforcevector, torquerotation
d)Absolute coordinatesCyphesis currentlyMap editorpos, rotation
+

+ Note that all positions are specified in + relation to containers: absolute==absolute in relation to + container, relative==relative to current location +

+ If you have better suggestions for tag names, mail to + protocols@. +

+ Server should always support less accurate movement: +

+ + + + +
Advanced server:a,b,c
Less advanced server:a,b
Simple server:a
+

+ Same for client. + Client tries most advanced method of moving and if it gets illegal + event back then it falls back to less advanced method. +

+ Server implementation could be something like this: + server:b, client:a + Create appropriate force vector for requested move difference and use + it as if that was requested. +

+ When 'force' -tag is used by client, then likely server sends + movement sights using 'vector' -tag. +

+ Why? +

+ It would be nice if server would work with less advanced clients and + vice versa. We can't immediately implement some very detailed + moving. It's just that when client uses less accurate 'movement type' + then (s)he cannot control her/his character as accurately. For some + programs it doesn't make even sense to do it initially (like some + existing program). + +

Location tag

+ + This section needs rewrite +

+ This is current/new location for entity. + It contains id, position and optionally orientation. +

+ Id: Entity that acts as reference for location. +

+ Either pos, vector or forcevector is used for position. Units + are in meters unless something different has been decided between + server and client. +

+ Pos: absolute coordinates in relation to reference entity. + Example (x,y,z): +

    +
  • pos:12.4,23.2,-0.5 +
+

+ Vector: relative to receiving character. Example: +

    +
  • vector:12.4,23.2,-0.5 +
+

+ Forcevector: Force relative to receiving character. Default unit + is newton. Example: +

    +
  • forcevector:12.4,23.2,-0.5 +
+

+ Either rotation, relrotation or torquerotation is used for + rotation. Units are in radians unless something different has been + decided between server and client. +

+ Rotation: Absolute rotation in relation to reference + entity. Example (x,y,z -axis): +

    +
  • rotation:0.1,-0.2,2.0 +
+

+ Relrotation: Relative rotation in relation to receiving character. Example: +

    +
  • relrotation:0.1,-0.2,2.0 +
+

+ Forcerotation: Relative torque in relation to receiving + character. Default unit is newton meter. Example: +

    +
  • torquerotation:0.1,-0.2,2.0 +
+

+ +

Containers and absolute movement

+ + You are on ship that moves at sea. +

+ You move (no need to specify ship, reference container not changed): +

    +
  • id:"you_123" +
  • pos:10.5, 5.0, 4.0 +
+ + Ship moves (again container doesn't change): +
    +
  • id:"ship_12" +
  • pos:30000.0, 300000.0, 0.0 +
+ + Sea moves: +
    +
  • id:"sea_1" +
  • pos:0.0, 0.0, 1.0 +
+ + Somebody else moves on same ship (just like your movement): +
    +
  • id:"somebody_else_1234" +
  • pos:12.0, 4.0, 4.0 +
+ + Another ship moves (just like ship movement): +
    +
  • id:"ship2_33" +
  • pos:30010.0, 300020.0, 0.0 +
+ + You jump to another ship: +
    +
  • id:"you_123" +
  • loc:"ship2_33" +
  • pos:4.0, 5.0, 3.0 +
+ + You jump to sea: +
    +
  • id:"you_123" +
  • loc:"sea_1" +
  • pos:30020.0, 300020.0, 0.0 +
+ +

Containers and relative movement

+ + "vector" attribute might change to "add_pos" attribute.
+ (relative movement not used yet in any Atlas server) +

+ You are on ship that moves at sea. +

+ You move: ship has moved in relation to you: +

    +
  • id:"you_123" +
  • loc:"ship_12" +
  • vector:-4.5, 2.0, 0.0 +
+ + Ship moves: sea has moved in relation to ship: +
    +
  • id:"ship_12" +
  • loc:"sea_1" +
  • vector:0.1, 5.0, 0.0 +
+ + Sea moves: you don't notice. +

+ Somebody else moves on same ship: somebody has moved in relation + to you: +

    +
  • id:"somebody_else_1234" +
  • loc:"ship_12" +
  • vector:-0.5, 2.0, 0.0 +
+ + Another ship moves: ship2 has moved in relation to your ship: +
    +
  • id:"ship2_33" +
  • loc:"sea_1" +
  • vector:-3.1,1.2, 0.0 +
+ + You jump to another ship: +
    +
  • id:"you_123" +
  • loc:"ship2_33" +
  • vector:1.0, 5.0, -1.0 +
+ + You jump to sea: +
    +
  • id:"you_123" +
  • loc:"sea_1" +
  • vector:0.0, 1.0, -4.0 +
+ +
+
Aloril
+ + +Last modified: Thu May 4 07:55:41 EEST 2000 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/negotiation.html atlas-cpp-0.6.3/protocol/spec/negotiation.html --- atlas-cpp-0.6.2/protocol/spec/negotiation.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/negotiation.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,70 @@ + + + + Codec negotiation + + + +

Codec negotiation

+ + All commands are delimited with newline ("\n"). +
    +
  • First both client and server sends arbitary greeting string + starting with "ATLAS" like, "ATLAS server libAtlasPy\n". +
  • If first 5 letters are not "ATLAS", then reply with + "Huh?\n\n" and close connection + +
  • Then client sends list of codecs it supports prefixed with + "ICAN ", official ones for are: +
      +
    • XML +
    • Packed +
    + + Unofficial ones should be prefixed with "X-".
    + After it has sent list, it sends empty line "\n". +
  • Then server sends codec it will use, example: "IWILL XML\n\n" + Or if none found, then it can optionally send list of codecs + it supports using "ICAN foo\n" format. + +
  • After server has selected codec both can start streaming + actual Atlas operations. +
+ + Amount of things sent at one time should not change logic: other + side can send one or many lines in one chunk. +

+ Server might also be non responding variety: Example when you + area reading from local file (file=server, program reading from + file=client). In this case server sends whole negotiation and + following data in arbitrary chunks (including line breaks, etc..) + depending how you read things from file. +

+ All unknown commands should be ignored. +

+ Example: +

+Server: "ATLAS server libAtlasPy\n"
+Client: "ATLAS client UClient\nICAN Packed\nICAN XML\n\n"
+Server: "IWILL XML\n\n"
+    
+ + Example when saving to file: +
+    "ATLAS mapeditor foo 0.3.4\nIWILL XML\n\n"
+    <atlas>
+        ..... here actual objects....
+    </atlas>
+    
+ +

+ For original proposal see mail by Jamie. + +


+
Aloril
+ + +Last modified: Mon Jan 15 07:25:33 EET 2001 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/operation.atlas atlas-cpp-0.6.3/protocol/spec/operation.atlas --- atlas-cpp-0.6.2/protocol/spec/operation.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/operation.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,902 @@ +ATLAS operation definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +{ + id:"root_operation", + parents:["root"], + objtype:"op_definition", + serialno:0, + refno:0, + refid:"", + summary:"Base operation for all operators", + description:"This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.", + from:"", + to:"", + seconds:0.0, + future_seconds:0.0, + time_string:"", + arg:{} + arg_names: ["arg"] +}, +{ + id:"action", + parents:["root_operation"], + summary:"This is base operator for operations that might have effects." +}, +{ + id:"info", + parents:["root_operation"], + summary:"This is base operator for operations that tell you info about objects or events.", + example:[{ + objtype:"op", + parents:["info"], + arg:{ + e_msg:"Here is some info" + } + }] +}, +{ + id:"create", + parents:["action"], + summary:"Create new things from nothing using this operator.", + description:"Map editor is main user for this in client side. Server uses this inside \"info\" operation to tell client about new things.", + arg_description:"entity describing object that is being created", + example:[ + "Creating axe instance", + { + objtype:"op", + parents:["create"], + from:"map-editor", + arg:{ + parents:["axe"], + name:"Ordinary axe", + e_attack:3 + } + } + ] +}, +{ + id:"delete", + parents:["action"], + summary:"Delete something.", + arg_description:"id of entity to be deleted", + example:[{ + objtype:"op", + parents:["delete"], + arg:{ + id:"foo_bar_344" + } + }] +}, +{ + id:"set", + parents:["action"], + summary:"Sets attributes for existing entity.", + example:[ + "This one sets HP=50, height=1.8, width=0.3 for object \"9899\"", + { + objtype:"op", + parents:["set"], + arg:{ + id:"9899", + e_HP:50, + e_height:1.8, + e_width:0.3 + } + } + ] +}, +{ + id:"get", + parents:["action"], + summary:"Generic operation for getting info about things.", + arg_description:"id of target entity", + example:[ + { + objtype:"op", + parents:["get"], + arg:{ + id:"elf_type_id_45" + } + }, + "

Browsing operator hierarchy example:

+

+First start from operator hierarchy root (root_operation):", + { + objtype:"op", + parents:["get"], + arg:{ + id:"root_operation" + } + }, + "Answer might be:", + { + objtype:"op", + parents:["info"], + arg:{ + id:"root_operation", + children:["action","info"], + summary:"Base operator for all operatios" + } + }, + "Then you can ask about action and info:", + { + objtype:"op", + parents:["get"], + arg:{ + id:"action" + } + }, + { + objtype:"op", + parents:["get"], + arg:{ + id:"info" + } + }, + "Etc..." + ] +}, +{ + id:"perception", + parents:["info"], + specification:"atlas_game", + summary:"Character perceives something.", + description:"Base operator for all kind of perceptions", + arg_description:"perceived thing", + example:[ + "Usually derived operations are used, general notes + on perceptions and actions: +

    +
  • action.from: who made character to do something + (talk for example); usually character itself, but + not always, examples: +
      +
    • atlas_irc_gateway does puppet characters it + has created for each nick from irc side +
    • admin teaches NPCs by making them to talk + itself +
    • possession by spell +
    + +
  • action.to: same as character always + +
  • perception.from: who produced this perception: + always character itself (for example sound of talk) + (well... unless you are made to hallusinate ;-) + +
  • perception.to: you (unless you are + server, then it's target to receive perception) +
+ + conclusion: should use perception.from instead of + inner action.from to decide who produced result +
+ See sound and + sight + for actual examples + ", + { + objtype:"op", + parents:["perception"], + arg:{ + id:"tree_8374" + } + } + ] +}, +{ + id:"error", + parents:["info"], + summary:"Something went wrong", + arg_description:"objects describing what went wrong
+First argument is error entity which describes error. +Second argument is operation which is wrong (not given if not relevant).", + example:[ + "Client sent \"foo\" -operation which server rejects", + { + objtype:"op", + parents:["error"], + refno:123, + arg:{ + message:"Uknown operation foo", + op:{ + objtype:"op", + parents:["foo"], + serialno:123, + arg:{ + e_bar:"do some foo thing by using bar" + } + }, + no:42 + } + } + ] +}, +{ + id:"combine", + parents:["create"], + specification:"atlas_game", + summary:"Combine existing objects into new objects.", + description:"This is how normal characters create objects.", + arg_description:"first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material.", + args_source:[], + arg_names: ["arg", "args_source"], + example:[ + "Creating axe from wood and iron", + { + objtype:"op", + parents:["combine"], + arg:{ + parents:["axe"], + name:"Bjorn's axe" + }, + args_source:[ + { + id:"Wood_8898" + }, + { + id:"Iron_6578" + } + ] + } + ] +}, +{ + id:"divide", + parents:["create"], + specification:"atlas_game", + summary:"Divide existing object into pieces.", + description:"One of the pieces might be original object modified.", + arg_description:"id of original object and entities describing pieces.", + args_destination:[], + arg_names: ["arg", "args_source"], + example:[ + "taking money from pile", + { + objtype:"op", + parents:["divide"], + arg:{ + id:"money12345" + }, + args_destination:[ + { + id:"money12345" + e_amount:10 + }, + { + e_amount:110 + } + ] + } + ] +}, +{ + id:"communicate", + parents:["create"], + specification:"atlas_game", + summary:"Base operator for all kind of communication.", + arg_description:"communication entity", + example:[ + "see talk" + ] +}, +{ + id:"move", + parents:["set"], + specification:"atlas_game", + summary:"Change position", + description:"More about movement here", + arg_description:"entity with id and new position", + example:[ + "Movement conversation example:", + { + objtype:"op", + parents:["move"], + serialno:123, + from:"9899", + arg:{ + id:"9899", + loc:"11", + pos:[12.3,3.0,0.0] + } + }, + "Reply from server", + { + objtype:"op", + parents:["info","sight"], + serialno:1231, + refno:123, + from:"9899", + to:"9899", + seconds:19036033149.3, + time_string:"0612-01-05 10:59:09.3", + arg:{ + objtype:"op", + parents:["set","move"], + serialno:1230, + refno:123, + from:"9899", + seconds:19036033149.3, + time_string:"0612-01-05 10:59:09.3", + arg:{ + id:"9899", + loc:"11", + pos:[12.3,3.0,0.0], + } + } + } + ] +}, +{ + id:"perceive", + parents:["get"], + specification:"atlas_game", + summary:"Generic base operation for perceiving things by eyes, ears, etc...", + arg_description:"object to be perceived", + example:[{ + objtype:"op", + parents:["perceive"], + arg:{ + id:"elf_3545" + } + }] +}, +{ + id:"login", + parents:["get"], + summary:"Operation for logging into server", + description:"For more about out of game atlas here", + arg_description:"entity with player name and password attribute", + example:[ + { + objtype:"op", + parents:["login"], + arg:{, + id:"JoeBlatz", + password:"Rqv67.%" + } + }, + "Conversation examples:
When you connect to + server you either need to have account already or make + one. Here is \"start by creating account\" -example:", + { + objtype:"op", + parents:["create"], + serialno:1, + arg:{ + id:"player74", + parents:["player"], + password:"player_password" + } + }, + "What if you already had account by that name? Then + reply from server could be something like this (1 argument: + message, 2 argument: original operation):", + { + objtype:"op", + parents:["error"], + serialno:4, + refno:1, + seconds:19036033149.3, + time_string:"0612-01-05 10:59:09.3", + arg:{ + message:"Account id already exist" + op:{ + objtype:"op", + parents:["create"], + serialno:1, + arg:{ + id:"player74", + parents:["player"], + password:"player_password" + } + } + } + }, + "For more about error operation see + error operation definition. +

+ If account login went OK them you might receive something + like:", + { + objtype:"op", + parents:["info"], + serialno:2, + refno:1, + seconds:19036033149.3, + time_string:"0612-01-05 10:59:09.3", + arg:{ + id:"player74", + parents:["player"], + password:"player_password", + characters:["Bjorn_1"] + } + }, + "If you don't have character, then you need to + create one. Creating character is similar to how you create + account.", + { + objtype:"op", + parents:["create"], + serialno:2, + arg:{ + parents:["farmer"], + name:"Nisuf", + summary:"ordinary farmer", + e_sex:"male" + } + }, + "Result of character creation is same as with account + creation, only resulting object differs." + ] +}, +{ + id:"logout", + parents:["login"], + summary:"Operation for logging out", + arg_description:"entity with player name", + example:[ + { + objtype:"op", + parents:["logout"], + arg:{ + id:"JoeBlatz" + } + }, + "Most useful with server<->server communication + telling that certain connection is not anymore pertinent" + ] +}, +{ + id:"sight", + parents:["perception"], + summary:"Character sees something", + arg_description:"object or event character sees", + example:[ + "See perception operation too
+ Common example:", + { + objtype:"op", + parents:["sight"], + arg:{ + id:"grass1", + stamp:989.24 + } + }, + "Reply for looking at 'grass1':", + { + objtype:"op", + parents:["sight"], + arg:{ + id:"grass1", + parents:["terrain"], + contains:["path1","tree1"], + summary:"Grass plains", + p:[ + [0.0,0.0], + [10.0,0.0], + [10.0,10.0], + [0.0,10.0] + ], + area:[["grass1.p.0", "grass1.p.1", "grass1.p.2"], + ["grass1.p.0", "grass1.p.2", "grass1.p.3"]] + } + }, + "Event example:", + { + objtype:"op", + parents:["sight"], + arg:{ + objtype:"op", + parents:["move"], + arg:{ + id:"orc_23498", + loc:"grass1", + pos:[0.5,3.0,0.0] + } + } + } + ] +}, +{ + id:"sound", + parents:["perception"], + summary:"Character hears something", + arg_description:"thing character heard", + example:[ + "See perception operation too
+ Example (every operation might have from, +to and time tags, not only this operation):", + { + objtype:"op", + parents:["sound"], + from:"sentry_34", + arg:{ + objtype:"op", + parents:["talk"], + arg:{ + say:"What has happened there?" + } + } + } + ] +## *** Topic for#coders ismake NPCs pass out by giving them enough vodka +## saw topic? ;-) +## heheh +## added drunkness into cyphesis in morning +## actually it holds for PCs too... ;-) +## i find that I have to remove drunkenness from my code, rather than add it ;) +## * aloril rofl +## * wavey chuckles +## damn, i need adsl :? +## :/ even +## doesn't arrive in UK till next spring :/ +## hmm... actually need drunkness code for NPC version of http://www.ionet.net/~timtroyr/funhouse/beer.html +## yeah :) +## 99 bottles of beer on the wallsinging +## how do you see 'tone' being used? +## tone="talking" or tone="signing" +## hmm.. maybe better name? +## talktype? +## well.. +## the name is one thing.. +## but i mean more.. +## how will clients use it? +## ohh... enough advanced client would use sound card to either talk or sing ... +## less advanced maybe different kind of bubles or different colors in speech window +## i see +## cool +## and text clients of course: Foo says "llll" +## lets think about the name.. +## or Foo sings "llll" +## vocalisation? +## naw +## imagine above NPC demo with suitable graphic and suitable sound synthesis ... +## yup +## and in the end of course if any is walking: go to shop and buy more..., +## yup... sure slashdot headlines... +## especially is NPC script is relatively short so that it can be published at above link too... +## fun fun .... +## perhaps 'utterance' is better than 'tone'.. +## probably a better word out there too +## or even 'vocal' +## i think i like 'vocal' +## summaries speech or singing +## or whispering +## or shouting +## hmm.. what would be value for drunk people? +## slurrs :) +## or 'drunkenly' :) +## okay, it's vocal then... +## coolio +## what about "say"? is that ok or is there better version? +## tone is purely musical.. +## 'speech'? +## ok... +## but 'say' describes it fine :) +## hmm... say might be more generic? +## think about spell intonation... +## well then there is of course non speech sounds too... +## hmm.. maybe screaming is say +## but what about clapping? +## or farting ;-) +## or whistling +## or crunch voice coming when somebody tries to surprise you from behind +## those are actions +## sound +## sound +## move +## +## voice +## crunch +## crunch +## crunchy_item0,0,0.1 +## +## +## +}, +{ + id:"smell", + parents:["perception"], + summary:"Character smells something", + arg_description:"thing character smells", + example:[ + "Example (every operation might have from, +to and time tags, not only this operation):", + { + objtype:"op", + parents:["smell"], + from:"flower_34", + arg:{ + e_smell:"sweet" + } + } + ] +}, +{ + id:"feel", + parents:["perception"], + summary:"Character feels something (with fingers usually)", + arg_description:"thing character touches", + example:[{ + objtype:"op", + parents:["feel"], + arg:{ + id:"cloth_34", + e_surface_type:"rough" + } + }] +}, +{ + id:"imaginary", + parents:["action"], + summary:"When something is not yet implemented in server, then character can pretend to do something ;-)", + arg_description:"event that is supposed to happen", + example:[{ + objtype:"op", + parents:["imaginary"], + arg:{ + id:"some_unimplemented_action" + } + }] +}, +{ + id:"talk", + parents:["communicate"], + summary:"used for talking", + description:"need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log", + arg_description:"sentence(s) entity", + example:[ + { + objtype:"op", + parents:["talk"], + arg:{ + say:"What has happened there?" + } + }, + "Talking out of game is same, +except you use player id instead of character id." + ] +}, +{ + id:"look", + parents:["perceive"], + summary:"Looking at something", + arg_description:"target entity", + example:[ + { + objtype:"op", + parents:["look"], + arg:{ + id:"elf_3545" + } + }, + "Conversation examples:
When you connect to + server you need to look to see things. Server sends all new + things that appear and all changes that you see (like + movement). But it's clients responsibility to make first + update of what it sees. Reason is that only client knows what + it has cached. + +

First look can leave argument out (it's by default empty): then server sends + appropriate top level object for current scheme.", + { + objtype:"op", + parents:["look"], + serialno:5, + from:"Bjorn_10" + }, + "Server reply:", + { + objtype:"op", + parents:["set","sight"], + serialno:100, + refno:5, + from:"Bjorn_10", + to:"Bjorn_10", + seconds:19035667864.4, + time_string:"0612-01-01 05:31:04.4", + arg:{ + id:"world_0", + parents:["world"], + contains:["tavern_2","market_3","home_4","axe_5","Nisuf_6","Miyora_7","home_8","smithy_9","Bjorn_10"], + stamp:19035660000.0, + pos:[0.0,0.0,0.0] + } + }, + "Client looks at contains attribute of above object + and then looks for those objects in turn:", + { + objtype:"op", + parents:["look"], + serialno:6, + from:"Bjorn_10", + arg:{ + id:"Nisuf_6" + } + }, + "And then server tells you more about it:", + { + objtype:"op", + parents:["set","sight"], + serialno:105, + refno:6, + from:"Nisuf_6", + to:"Bjorn_10", + seconds:19035667864.4, + time_string:"0612-01-01 05:31:04.4", + arg:{ + id:"Nisuf_6", + parents:["farmer"], + e_drunkness:0.0, + stamp:19035650000.0, + loc:"world_0", + pos:[20.0,50.0,300.0], + summary:"ordinary farmer", + name:"Nisuf", + e_status:1.0, + } + } + ] +}, +{ + id:"listen", + parents:["perceive"], + summary:"Listen (something)", + arg_description:"target entity", + example:[{ + objtype:"op", + parents:["listen"], + arg:{ + id:"elf_3545" + } + }] +}, +{ + id:"sniff", + parents:["perceive"], + summary:"Sniff something", + arg_description:"target entity", + example:[{ + objtype:"op", + parents:["sniff"], + arg:{ + id:"flower_3545" + } + }] +}, +{ + id:"touch", + parents:["perceive"], + summary:"Touch something", + arg_description:"target entity", + example:[{ + objtype:"op", + parents:["touch"], + arg:{ + id:"cloth_3545" + } + }] +}, +{ + id:"appearance", + parents:["sight"], + summary:"Character sees something appearing: it literally appears or has it come in visible range", + arg_description:"object or event character sees", + example:[{ + objtype:"op", + parents:["appearance"], + arg:{ + id:"grass1", + stamp:989.24 + } + }] +}, +{ + id:"disappearance", + parents:["sight"], + summary:"Character sees something disappearing: it literally disappears or has it gone too far to be visible", + arg_description:"object or event character sees", + example:[{ + objtype:"op", + parents:["disappearance"], + arg:{ + id:"grass1", + stamp:989.24 + } + }] +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/operation.def atlas-cpp-0.6.3/protocol/spec/operation.def --- atlas-cpp-0.6.2/protocol/spec/operation.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/operation.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,850 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"root_operation" + parents:["root"] + objtype:"op_definition" + serialno:0 + refno:0 + description:"Base operation for all operators" + long_description:"""This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.""" + from:"" + to:"" + seconds:0.0 + future_seconds:0.0 + time_string:"" + args:[] + +:map: + id:"action" + parents:["root_operation"] + description:"This is base operator for operations that might have effects." + +:map: + id:"info" + parents:["root_operation"] + description:"This is base operator for operations that tell you info about objects or events." + example: + :map: + objtype:"op" + parents:["info"] + args: + :map: + e_msg:"Here is some info" + +:map: + id:"create" + parents:["action"] + description:"Create new things from nothing using this operator." + long_description:"Map editor is main user for this in client side. Server uses this inside \"info\" operation to tell client about new things." + args_description:"entity describing object that is being created" + example: + :string:"Creating axe instance" + :map: + objtype:"op" + parents:["create"] + from:"map-editor" + args: + :map: + parents:["axe"] + name:"Ordinary axe" + e_attack:3 + +:map: + id:"delete" + parents:["action"] + description:"Delete something." + args_description:"id of entity to be deleted" + example: + :map: + objtype:"op" + parents:["delete"] + args: + :map: + id:"foo_bar_344" + +:map: + id:"set" + parents:["action"] + description:"Sets attributes for existing entity." + example: + :string:"This one sets HP=50, height=1.8, width=0.3 for object \"9899\"" + :map: + objtype:"op" + parents:["set"] + args: + :map: + id:"9899" + e_HP:50 + e_height:1.8 + e_width:0.3 + +:map: + id:"affect" + parents:["set"] + +:map: + id:"get" + parents:["action"] + description:"Generic operation for getting info about things." + args_description:"id of target entity" + example: + :map: + objtype:"op" + parents:["get"] + args: + :map: + id:"elf_type_id_45" + :string:"""

Browsing operator hierarchy example:

+

+First start from operator hierarchy root (root_operation):""" + :map: + objtype:"op" + parents:["get"] + args: + :map: + id:"root_operation" + :string:"Answer might be:" + :map: + objtype:"op" + parents:["info"] + args: + :map: + id:"root_operation" + children:["action","info"] + description:"Base operator for all operatios" + :string:"Then you can ask about action and info:" + :map: + objtype:"op" + parents:["get"] + args: + :map: + id:"action" + :map: + objtype:"op" + parents:["get"] + args: + :map: + id:"info" + :string:"Etc..." + +:map: + id:"perception" + parents:["info"] + specification:"atlas_game" + description:"Character perceives something." + long_description:"Base operator for all kind of perceptions" + args_description:"perceived thing" + example: + :string:"""Usually derived operations are used, general notes + on perceptions and actions: +

    +
  • action.from: who made character to do something + (talk for example); usually character itself, but + not always, examples: +
      +
    • atlas_irc_gateway does puppet characters it + has created for each nick from irc side +
    • admin teaches NPCs by making them to talk + itself +
    • possession by spell +
    + +
  • action.to: same as character always + +
  • perception.from: who produced this perception: + always character itself (for example sound of talk) + (well... unless you are made to hallusinate ;-) + +
  • perception.to: you (unless you are + server, then it's target to receive perception) +
+ + conclusion: should use perception.from instead of + inner action.from to decide who produced result +
+ See sound and + sight + for actual examples + """ # """ (for xemacs python mode) + :map: + objtype:"op" + parents:["perception"] + args: + :map: + id:"tree_8374" + +:map: + id:"error" + parents:["info"] + description:"Something went wrong" + args_description:"""objects describing what went wrong
+First argument is error entity which describes error. +Second argument is operation which is wrong (not given if not relevant).""" + example: + :string:"Client sent \"foo\" -operation which server rejects" + :map: + objtype:"op" + parents:["error"] + refno:123 + args: + :map: + message:"Uknown operation foo" + :map: + objtype:"op" + parents:["foo"] + serialno:123 + args: + :map: + e_bar:"do some foo thing by using bar" + +:map: + id:"combine" + parents:["create"] + specification:"atlas_game" + description:"Combine existing objects into new objects." + long_description:"This is how normal characters create objects." + args_description:"first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material." + example: + :string:"Creating axe from wood and iron" + :map: + objtype:"op" + parents:["combine"] + args: + :map: + parents:["axe"] + name:"Bjorn's axe" + :map: + id:"Wood_8898" + :map: + id:"Iron_6578" + +:map: + id:"divide" + parents:["create"] + specification:"atlas_game" + description:"Divide existing object into pieces." + long_description:"One of the pieces might be original object modified." + args_description:"id of original object and entities describing pieces." + example: + :string:"taking money from pile" + :map: + objtype:"op" + parents:["divide"] + args: + :map: + id:"money12345" + :map: + id:"money12345" + e_amount:10 + :map: + e_amount:110 + +:map: + id:"communicate" + parents:["create"] + specification:"atlas_game" + description:"Base operator for all kind of communication." + args_description:"communication entity" + example: + :string:"see talk" + +:map: + id:"move" + parents:["set"] + specification:"atlas_game" + description:"Change position" + long_description:"More about movement here" + args_description:"entity with id and new position" + example: + :string:"""Movement conversation example:""" + :map: + objtype:"op" + parents:["move"] + serialno:123 + from:"9899" + args: + :map: + id:"9899" + loc:"11" + pos:[12.3,3.0,0.0] + :string:"""Reply from server""" + :map: + objtype:"op" + parents:["info","sight"] + serialno:1231 + refno:123 + from:"9899" + to:"9899" + seconds:19036033149.3 + time_string:"0612-01-05 10:59:09.3" + args: + :map: + objtype:"op" + parents:["set","move"] + serialno:1230 + refno:123 + from:"9899" + seconds:19036033149.3 + time_string:"0612-01-05 10:59:09.3" + args: + :map: + id:"9899" + loc:"11" + pos:[12.3,3.0,0.0] + +:map: + id:"perceive" + parents:["get"] + specification:"atlas_game" + description:"Generic base operation for perceiving things by eyes, ears, etc..." + args_description:"object to be perceived" + example: + :map: + objtype:"op" + parents:["perceive"] + args: + :map: + id:"elf_3545" + +:map: + id:"login" + parents:["get"] + description:"Operation for logging into server" + long_description:"For more about out of game atlas here" + args_description:"entity with player name and password attribute" + example: + :map: + objtype:"op" + parents:["login"] + args: + :map: + id:"JoeBlatz" + password:"Rqv67.%" + :string:"""Conversation examples:
When you connect to + server you either need to have account already or make + one. Here is "start by creating account" -example:""" + :map: + objtype:"op" + parents:["create"] + serialno:1 + args: + :map: + id:"player74" + parents:["player"] + password:"player_password" + :string:"""What if you already had account by that name? Then + reply from server could be something like this (1 argument: + message, 2 argument: original operation):""" + :map: + objtype:"op" + parents:["error"] + serialno:4 + refno:1 + seconds:19036033149.3 + time_string:"0612-01-05 10:59:09.3" + args: + :map: + message:"Account id already exist" + :map: + objtype:"op" + parents:["create"] + serialno:1 + args: + :map: + id:"player74" + parents:["player"] + password:"player_password" + :string:"""For more about error operation see + error operation definition. +

+ If account login went OK them you might receive something + like:""" #""" duh XEmacs Python mode needs this + :map: + objtype:"op" + parents:["info"] + serialno:2 + refno:1 + seconds:19036033149.3 + time_string:"0612-01-05 10:59:09.3" + args: + :map: + id:"player74" + parents:["player"] + password:"player_password" + characters:["Bjorn_1"] + :string:"""If you do not have character, then you need to + create one. Creating character is similar to how you create + account.""" + :map: + objtype:"op" + parents:["create"] + serialno:2 + args: + :map: + parents:["farmer"] + name:"Nisuf" + description:"ordinary farmer" + e_sex:"male" + :string:"""Result of character creation is same as with account + creation, only resulting object differs.""" + +:map: + id:"logout" + parents:["login"] + description:"Operation for logging out" + args_description:"entity with player name" + example: + :map: + objtype:"op" + parents:["logout"] + args: + :map: + id:"JoeBlatz" + :string:"""Most useful with server<->server communication + telling that certain connection is not anymore pertinent""" + +:map: + id:"sight" + parents:["perception"] + description:"Character sees something" + args_description:"object or event character sees" + example: + :string:"""See perception operation too
+ Common example:""" #""" (for xeamcs python mode) + :map: + objtype:"op" + parents:["sight"] + args: + :map: + id:"grass1" + stamp:989.24 + :string:"Reply for looking at 'grass1':" + :map: + objtype:"op" + parents:["sight"] + args: + :map: + id:"grass1" + parents:["terrain"] + contains:["path1","tree1"] + description:"Grass plains" + e_polygon: + :list:[0.0,0.0] + :list:[10.0,0.0] + :list:[10.0,0.0] + :list:[0.0,10.0] + :list:[0.0,0.0] + :string:"Event example:" + :map: + objtype:"op" + parents:["sight"] + args: + :map: + objtype:"op" + parents:["move"] + args: + :map: + id:"orc_23498" + loc:"grass1" + pos:[0.5,3.0,0.0] + +:map: + id:"sound" + parents:["perception"] + description:"Character hears something" + args_description:"thing character heard" + example: + :string:"""See perception operation too
+ Example (every operation might have from, +to and time tags, not only this operation):""" #""" (for xeamcs python mode) + :map: + objtype:"op" + parents:["sound"] + from:"sentry_34" + args: + :map: + objtype:"op" + parents:["talk"] + args: + :map: + say:"What has happened there?" +## *** Topic for#coders ismake NPCs pass out by giving them enough vodka +## saw topic? ;-) +## heheh +## added drunkness into cyphesis in morning +## actually it holds for PCs too... ;-) +## i find that I have to remove drunkenness from my code, rather than add it ;) +## * aloril rofl +## * wavey chuckles +## damn, i need adsl :? +## :/ even +## doesn't arrive in UK till next spring :/ +## hmm... actually need drunkness code for NPC version of http://www.ionet.net/~timtroyr/funhouse/beer.html +## yeah :) +## 99 bottles of beer on the wallsinging +## how do you see 'tone' being used? +## tone="talking" or tone="signing" +## hmm.. maybe better name? +## talktype? +## well.. +## the name is one thing.. +## but i mean more.. +## how will clients use it? +## ohh... enough advanced client would use sound card to either talk or sing ... +## less advanced maybe different kind of bubles or different colors in speech window +## i see +## cool +## and text clients of course: Foo says "llll" +## lets think about the name.. +## or Foo sings "llll" +## vocalisation? +## naw +## imagine above NPC demo with suitable graphic and suitable sound synthesis ... +## yup +## and in the end of course if any is walking: go to shop and buy more..., +## yup... sure slashdot headlines... +## especially is NPC script is relatively short so that it can be published at above link too... +## fun fun .... +## perhaps 'utterance' is better than 'tone'.. +## probably a better word out there too +## or even 'vocal' +## i think i like 'vocal' +## summaries speech or singing +## or whispering +## or shouting +## hmm.. what would be value for drunk people? +## slurrs :) +## or 'drunkenly' :) +## okay, it's vocal then... +## coolio +## what about "say"? is that ok or is there better version? +## tone is purely musical.. +## 'speech'? +## ok... +## but 'say' describes it fine :) +## hmm... say might be more generic? +## think about spell intonation... +## well then there is of course non speech sounds too... +## hmm.. maybe screaming is say +## but what about clapping? +## or farting ;-) +## or whistling +## or crunch voice coming when somebody tries to surprise you from behind +## those are actions +## sound +## sound +## move +## +## voice +## crunch +## crunch +## crunchy_item0,0,0.1 +## +## +## + +:map: + id:"smell" + parents:["perception"] + description:"Character smells something" + args_description:"thing character smells" + example: + :string:"""Example (every operation might have from, +to and time tags, not only this operation):""" + :map: + objtype:"op" + parents:["smell"] + from:"flower_34" + args: + :map: + e_smell:"sweet" + +:map: + id:"feel" + parents:["perception"] + description:"Character feels something (with fingers usually)" + args_description:"thing character touches" + example: + :map: + objtype:"op" + parents:["feel"] + args: + :map: + id:"cloth_34" + e_surface_type:"rough" + +:map: + id:"imaginary" + parents:["action"] + description:"When something is not yet implemented in server, then character can pretend to do something ;-)" + args_description:"event that is supposed to happen" + example: + :map: + objtype:"op" + parents:["imaginary"] + args: + :map: + id:"some_unimplemented_action" + +:map: + id:"talk" + parents:["communicate"] + description:"used for talking" + long_description:"need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log" + args_description:"sentence(s) entity" + example: + :map: + objtype:"op" + parents:["talk"] + args: + :map: + say:"What has happened there?" + :string:"""Talking out of game is same, +except you use player id instead of character id.""" + + +:map: + id:"look" + parents:["perceive"] + description:"Looking at something" + args_description:"target entity" + example: + :map: + objtype:"op" + parents:["look"] + args: + :map: + id:"elf_3545" + :string:"""Conversation examples:
When you connect to + server you need to look to see things. Server sends all new + things that appear and all changes that you see (like + movement). But it is clients responsibility to make first + update of what it sees. Reason is that only client knows what + it has cached. + +

First look can have empty argument list: then server sends + appropriate top level object for current scheme.""" + :map: + objtype:"op" + parents:["look"] + serialno:5 + from:"Bjorn_10" + args: + :string:"Server reply:" + :map: + objtype:"op" + parents:["set","sight"] + serialno:100 + refno:5 + from:"Bjorn_10" + to:"Bjorn_10" + seconds:19035667864.4 + time_string:"0612-01-01 05:31:04.4" + args: + :map: + id:"world_0" + parents:["world"] + contains:["tavern_2","market_3","home_4","axe_5","Nisuf_6","Miyora_7","home_8","smithy_9","Bjorn_10"] + stamp:19035660000.0 + pos:[0.0,0.0,0.0] + :string:"""Client looks at contains attribute of above object + and then looks for those objects in turn:""" + :map: + objtype:"op" + parents:["look"] + serialno:6 + from:"Bjorn_10" + args: + :map: + id:"Nisuf_6" + :string:"And then server tells you more about it:" + :map: + objtype:"op" + parents:["set","sight"] + serialno:105 + refno:6 + from:"Nisuf_6" + to:"Bjorn_10" + seconds:19035667864.4 + time_string:"0612-01-01 05:31:04.4" + args: + :map: + id:"Nisuf_6" + parents:["farmer"] + e_drunkness:0.0 + stamp:19035650000.0 + loc:"world_0" + pos:[20.0,50.0,300.0] + description:"ordinary farmer" + name:"Nisuf" + e_status:1.0 + +:map: + id:"listen" + parents:["perceive"] + description:"Listen (something)" + args_description:"target entity" + example: + :map: + objtype:"op" + parents:["listen"] + args: + :map: + id:"elf_3545" + +:map: + id:"sniff" + parents:["perceive"] + description:"Sniff something" + args_description:"target entity" + example: + :map: + objtype:"op" + parents:["sniff"] + args: + :map: + id:"flower_3545" + +:map: + id:"touch" + parents:["perceive"] + description:"Touch something" + args_description:"target entity" + example: + :map: + objtype:"op" + parents:["touch"] + args: + :map: + id:"cloth_3545" + +:map: + id:"appearance" + parents:["sight"] + description:"Character sees something appearing: it literally appears or has it come in visible range" + args_description:"object or event character sees" + example: + :map: + objtype:"op" + parents:["appearance"] + args: + :map: + id:"grass1" + stamp:989.24 + +:map: + id:"disappearance" + parents:["sight"] + description:"Character sees something disappearing: it literally disappears or has it gone too far to be visible" + args_description:"object or event character sees" + example: + :map: + objtype:"op" + parents:["disappearance"] + args: + :map: + id:"grass1" + stamp:989.24 + +:map: + id:"wield" + parents:["set"] + description:"Attach a tool to the character entity at a pre-defined location so that the character can use it." + args_description:"Tool or item to be wielded" + +:map: + id:"use" + parents:["action"] + description:"Use a currently wielded tool." + args_description:"Target tool is used on, or operation chosen from those available for this tool, with target given as its argument." diff -Nru atlas-cpp-0.6.2/protocol/spec/operation.html atlas-cpp-0.6.3/protocol/spec/operation.html --- atlas-cpp-0.6.2/protocol/spec/operation.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/operation.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,2812 @@ + + + + + Operation + + +

Operations

+ + There are two different type of operations: + Basic level (create,delete,set,get,info) and game specific + operations (summon,forge, etc...) +

+ Server should send info operations in both format. Clients can + always interpret info about create,etc.. operations and if they + know more complex ones they can play suitable animation or NPC + can remember somebody stealing etc... +

+ When client wants to do something or get info about something, + it sends some operation derived from action. Server usually + replies with some operation derived from info, which might embed + original action. +

+ Example:
+ client: forge("jewel_sword","jewels","iron")
+ server: sight(forge("jewel_sword","jewels","iron")
+ server: info(create("jewel_sword",length=1.2, etc...))
+ server: info(set("iron",amount=current-something))
+ server: info(destroy("jewels")) +

+ When sending operations use parent:"move" instead of id:"move"
+ Reason: so we can distinguish between operation and object that + tells what operation is about and all operations when used are + temporary objects anyway (maybe "magical_crunchy_voice_stepping" is not ;-) + +

Operation tree

+ +
    +
  • root_operation: This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'. + +
+ + +

root_operation

+ Attribute list: +
    +
  • arg (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_names (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['action', 'info'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • from (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: root_operation C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root'] C equivalent: char *[], void *[] +
  • refid (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Base operation for all operators
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg: {},
+	arg_names: ["arg"],
+	children: ["action", "info"],
+	description: "This is base operation for all other
+    operations and defines basic attributes. You can use this as
+    starting point for browsing whole operation hiearchy. refno refers
+    to operation this is reply for. In examples all attributes that
+    are just as examples (and thus world specific) are started with 'e_'.",
+	from: "",
+	future_seconds: 0.0,
+	id: "root_operation",
+	objtype: "op_definition",
+	parents: ["root"],
+	refid: "",
+	refno: 0,
+	seconds: 0.0,
+	serialno: 0,
+	summary: "Base operation for all operators",
+	time_string: "",
+	to: ""
+}
+
+    

action

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['create', 'delete', 'set', 'get', 'imaginary'] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: action C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_operation'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +This is base operator for operations that might have effects.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	children: ["create", "delete", "set", "get", "imaginary"],
+	id: "action",
+	parents: ["root_operation"],
+	summary: "This is base operator for operations that might have effects."
+}
+
+    

create

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +entity describing object that is being created
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['combine', 'divide', 'communicate'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Map editor is main user for this in client side. Server uses this inside "info" operation to tell client about new things.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Creating axe instance +
    +    
    +{
    +	arg: {
    +		e_attack: 3,
    +		name: "Ordinary axe",
    +		parents: ["axe"]
    +	},
    +	from: "map-editor",
    +	objtype: "op",
    +	parents: ["create"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: create C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['action'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Create new things from nothing using this operator.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "entity describing object that is being created",
+	children: ["combine", "divide", "communicate"],
+	description: "Map editor is main user for this in client side. Server uses this inside \"info\" operation to tell client about new things.",
+	example: [
+		"Creating axe instance",
+		{
+			arg: {
+				e_attack: 3,
+				name: "Ordinary axe",
+				parents: ["axe"]
+			},
+			from: "map-editor",
+			objtype: "op",
+			parents: ["create"]
+		}
+	],
+	id: "create",
+	parents: ["action"],
+	summary: "Create new things from nothing using this operator."
+}
+
+    

combine

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (encoding:list): Value: ['arg', 'args_source'] C equivalent: void *[] +
  • args_source (encoding:list): Value: [] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +This is how normal characters create objects.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Creating axe from wood and iron +
    +    
    +{
    +	arg: {
    +		name: "Bjorn's axe",
    +		parents: ["axe"]
    +	},
    +	args_source: [
    +		{
    +			id: "Wood_8898"
    +		},
    +		{
    +			id: "Iron_6578"
    +		}
    +	],
    +	objtype: "op",
    +	parents: ["combine"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: combine C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['create'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Combine existing objects into new objects.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material.",
+	arg_names: ["arg", "args_source"],
+	args_source: [],
+	children: [],
+	description: "This is how normal characters create objects.",
+	example: [
+		"Creating axe from wood and iron",
+		{
+			arg: {
+				name: "Bjorn's axe",
+				parents: ["axe"]
+			},
+			args_source: [
+				{
+					id: "Wood_8898"
+				},
+				{
+					id: "Iron_6578"
+				}
+			],
+			objtype: "op",
+			parents: ["combine"]
+		}
+	],
+	id: "combine",
+	parents: ["create"],
+	specification: "atlas_game",
+	summary: "Combine existing objects into new objects."
+}
+
+    

divide

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +id of original object and entities describing pieces.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (encoding:list): Value: ['arg', 'args_source'] C equivalent: void *[] +
  • args_destination (encoding:list): Value: [] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +One of the pieces might be original object modified.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +taking money from pile +
    +    
    +{
    +	arg: {
    +		id: "money12345"
    +	},
    +	args_destination: [
    +		{
    +			e_amount: 10,
    +			id: "money12345"
    +		},
    +		{
    +			e_amount: 110
    +		}
    +	],
    +	objtype: "op",
    +	parents: ["divide"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: divide C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['create'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Divide existing object into pieces.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "id of original object and entities describing pieces.",
+	arg_names: ["arg", "args_source"],
+	args_destination: [],
+	children: [],
+	description: "One of the pieces might be original object modified.",
+	example: [
+		"taking money from pile",
+		{
+			arg: {
+				id: "money12345"
+			},
+			args_destination: [
+				{
+					e_amount: 10,
+					id: "money12345"
+				},
+				{
+					e_amount: 110
+				}
+			],
+			objtype: "op",
+			parents: ["divide"]
+		}
+	],
+	id: "divide",
+	parents: ["create"],
+	specification: "atlas_game",
+	summary: "Divide existing object into pieces."
+}
+
+    

communicate

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +communication entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['talk'] C equivalent: char *[], void *[] +
  • description (inherited from create) (encoding:string): Value:
    +Map editor is main user for this in client side. Server uses this inside "info" operation to tell client about new things.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +see talk +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: communicate C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['create'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Base operator for all kind of communication.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "communication entity",
+	children: ["talk"],
+	example: ["see talk"],
+	id: "communicate",
+	parents: ["create"],
+	specification: "atlas_game",
+	summary: "Base operator for all kind of communication."
+}
+
+    

talk

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +sentence(s) entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		say: "What has happened there?"
    +	},
    +	objtype: "op",
    +	parents: ["talk"]
    +}
    +
    +    
    +
    +Talking out of game is same, +except you use player id instead of character id. +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: talk C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['communicate'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from communicate) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +used for talking
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "sentence(s) entity",
+	children: [],
+	description: "need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log",
+	example: [
+		{
+			arg: {
+				say: "What has happened there?"
+			},
+			objtype: "op",
+			parents: ["talk"]
+		},
+		"Talking out of game is same, 
+except you use player id instead of character id."
+	],
+	id: "talk",
+	parents: ["communicate"],
+	summary: "used for talking"
+}
+
+    

delete

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +id of entity to be deleted
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "foo_bar_344"
    +	},
    +	objtype: "op",
    +	parents: ["delete"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: delete C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['action'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Delete something.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "id of entity to be deleted",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "foo_bar_344"
+			},
+			objtype: "op",
+			parents: ["delete"]
+		}
+	],
+	id: "delete",
+	parents: ["action"],
+	summary: "Delete something."
+}
+
+    

set

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['move'] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +This one sets HP=50, height=1.8, width=0.3 for object "9899" +
    +    
    +{
    +	arg: {
    +		e_HP: 50,
    +		e_height: 1.8,
    +		e_width: 0.3,
    +		id: "9899"
    +	},
    +	objtype: "op",
    +	parents: ["set"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: set C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['action'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Sets attributes for existing entity.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	children: ["move"],
+	example: [
+		"This one sets HP=50, height=1.8, width=0.3 for object \"9899\"",
+		{
+			arg: {
+				e_HP: 50,
+				e_height: 1.8,
+				e_width: 0.3,
+				id: "9899"
+			},
+			objtype: "op",
+			parents: ["set"]
+		}
+	],
+	id: "set",
+	parents: ["action"],
+	summary: "Sets attributes for existing entity."
+}
+
+    

move

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +entity with id and new position
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +More about movement here
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Movement conversation example: +
    +    
    +{
    +	arg: {
    +		id: "9899",
    +		loc: "11",
    +		pos: [12.3, 3.0, 0.0]
    +	},
    +	from: "9899",
    +	objtype: "op",
    +	parents: ["move"],
    +	serialno: 123
    +}
    +
    +    
    +
    +Reply from server +
    +    
    +{
    +	arg: {
    +		arg: {
    +			id: "9899",
    +			loc: "11",
    +			pos: [12.3, 3.0, 0.0]
    +		},
    +		from: "9899",
    +		objtype: "op",
    +		parents: ["set", "move"],
    +		refno: 123,
    +		seconds: 19036033149.3,
    +		serialno: 1230,
    +		time_string: "0612-01-05 10:59:09.3"
    +	},
    +	from: "9899",
    +	objtype: "op",
    +	parents: ["info", "sight"],
    +	refno: 123,
    +	seconds: 19036033149.3,
    +	serialno: 1231,
    +	time_string: "0612-01-05 10:59:09.3",
    +	to: "9899"
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: move C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['set'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Change position
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "entity with id and new position",
+	children: [],
+	description: "More about <a href=\"move.html\">movement here</a>",
+	example: [
+		"Movement conversation example:",
+		{
+			arg: {
+				id: "9899",
+				loc: "11",
+				pos: [12.3, 3.0, 0.0]
+			},
+			from: "9899",
+			objtype: "op",
+			parents: ["move"],
+			serialno: 123
+		},
+		"Reply from server",
+		{
+			arg: {
+				arg: {
+					id: "9899",
+					loc: "11",
+					pos: [12.3, 3.0, 0.0]
+				},
+				from: "9899",
+				objtype: "op",
+				parents: ["set", "move"],
+				refno: 123,
+				seconds: 19036033149.3,
+				serialno: 1230,
+				time_string: "0612-01-05 10:59:09.3"
+			},
+			from: "9899",
+			objtype: "op",
+			parents: ["info", "sight"],
+			refno: 123,
+			seconds: 19036033149.3,
+			serialno: 1231,
+			time_string: "0612-01-05 10:59:09.3",
+			to: "9899"
+		}
+	],
+	id: "move",
+	parents: ["set"],
+	specification: "atlas_game",
+	summary: "Change position"
+}
+
+    

get

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +id of target entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['perceive', 'login'] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "elf_type_id_45"
    +	},
    +	objtype: "op",
    +	parents: ["get"]
    +}
    +
    +    
    +
    +

    Browsing operator hierarchy example:

    +

    +First start from operator hierarchy root (root_operation): +

    +    
    +{
    +	arg: {
    +		id: "root_operation"
    +	},
    +	objtype: "op",
    +	parents: ["get"]
    +}
    +
    +    
    +
    +Answer might be: +
    +    
    +{
    +	arg: {
    +		children: ["action", "info"],
    +		id: "root_operation",
    +		summary: "Base operator for all operatios"
    +	},
    +	objtype: "op",
    +	parents: ["info"]
    +}
    +
    +    
    +
    +Then you can ask about action and info: +
    +    
    +{
    +	arg: {
    +		id: "action"
    +	},
    +	objtype: "op",
    +	parents: ["get"]
    +}
    +
    +    
    +
    +
    +    
    +{
    +	arg: {
    +		id: "info"
    +	},
    +	objtype: "op",
    +	parents: ["get"]
    +}
    +
    +    
    +
    +Etc... +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: get C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['action'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Generic operation for getting info about things.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "id of target entity",
+	children: ["perceive", "login"],
+	example: [
+		{
+			arg: {
+				id: "elf_type_id_45"
+			},
+			objtype: "op",
+			parents: ["get"]
+		},
+		"<h4>Browsing operator hierarchy example:</h4>
+<p>
+First start from operator hierarchy root (root_operation):",
+		{
+			arg: {
+				id: "root_operation"
+			},
+			objtype: "op",
+			parents: ["get"]
+		},
+		"Answer might be:",
+		{
+			arg: {
+				children: ["action", "info"],
+				id: "root_operation",
+				summary: "Base operator for all operatios"
+			},
+			objtype: "op",
+			parents: ["info"]
+		},
+		"Then you can ask about action and info:",
+		{
+			arg: {
+				id: "action"
+			},
+			objtype: "op",
+			parents: ["get"]
+		},
+		{
+			arg: {
+				id: "info"
+			},
+			objtype: "op",
+			parents: ["get"]
+		},
+		"Etc..."
+	],
+	id: "get",
+	parents: ["action"],
+	summary: "Generic operation for getting info about things."
+}
+
+    

perceive

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +object to be perceived
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['look', 'listen', 'sniff', 'touch'] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "elf_3545"
    +	},
    +	objtype: "op",
    +	parents: ["perceive"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: perceive C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['get'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Generic base operation for perceiving things by eyes, ears, etc...
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "object to be perceived",
+	children: ["look", "listen", "sniff", "touch"],
+	example: [
+		{
+			arg: {
+				id: "elf_3545"
+			},
+			objtype: "op",
+			parents: ["perceive"]
+		}
+	],
+	id: "perceive",
+	parents: ["get"],
+	specification: "atlas_game",
+	summary: "Generic base operation for perceiving things by eyes, ears, etc..."
+}
+
+    

look

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +target entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "elf_3545"
    +	},
    +	objtype: "op",
    +	parents: ["look"]
    +}
    +
    +    
    +
    +Conversation examples:
    When you connect to + server you need to look to see things. Server sends all new + things that appear and all changes that you see (like + movement). But it's clients responsibility to make first + update of what it sees. Reason is that only client knows what + it has cached. + +

    First look can leave argument out (it's by default empty): then server sends + appropriate top level object for current scheme. +

    +    
    +{
    +	from: "Bjorn_10",
    +	objtype: "op",
    +	parents: ["look"],
    +	serialno: 5
    +}
    +
    +    
    +
    +Server reply: +
    +    
    +{
    +	arg: {
    +		contains: ["tavern_2", "market_3", "home_4", "axe_5", "Nisuf_6", "Miyora_7", "home_8", "smithy_9", "Bjorn_10"],
    +		id: "world_0",
    +		parents: ["world"],
    +		pos: [0.0, 0.0, 0.0],
    +		stamp: 19035660000.0
    +	},
    +	from: "Bjorn_10",
    +	objtype: "op",
    +	parents: ["set", "sight"],
    +	refno: 5,
    +	seconds: 19035667864.4,
    +	serialno: 100,
    +	time_string: "0612-01-01 05:31:04.4",
    +	to: "Bjorn_10"
    +}
    +
    +    
    +
    +Client looks at contains attribute of above object + and then looks for those objects in turn: +
    +    
    +{
    +	arg: {
    +		id: "Nisuf_6"
    +	},
    +	from: "Bjorn_10",
    +	objtype: "op",
    +	parents: ["look"],
    +	serialno: 6
    +}
    +
    +    
    +
    +And then server tells you more about it: +
    +    
    +{
    +	arg: {
    +		e_drunkness: 0.0,
    +		e_status: 1.0,
    +		id: "Nisuf_6",
    +		loc: "world_0",
    +		name: "Nisuf",
    +		parents: ["farmer"],
    +		pos: [20.0, 50.0, 300.0],
    +		stamp: 19035650000.0,
    +		summary: "ordinary farmer"
    +	},
    +	from: "Nisuf_6",
    +	objtype: "op",
    +	parents: ["set", "sight"],
    +	refno: 6,
    +	seconds: 19035667864.4,
    +	serialno: 105,
    +	time_string: "0612-01-01 05:31:04.4",
    +	to: "Bjorn_10"
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: look C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perceive'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perceive) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Looking at something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "target entity",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "elf_3545"
+			},
+			objtype: "op",
+			parents: ["look"]
+		},
+		"Conversation examples:<br> When you connect to
+        server you need to look to see things. Server sends all new
+        things that appear and all changes that you see (like
+        movement). But it's clients responsibility to make first
+        update of what it sees. Reason is that only client knows what
+        it has cached.
+
+        <p>First look can leave argument out (it's by default empty): then server sends
+        appropriate top level object for current scheme.",
+		{
+			from: "Bjorn_10",
+			objtype: "op",
+			parents: ["look"],
+			serialno: 5
+		},
+		"Server reply:",
+		{
+			arg: {
+				contains: ["tavern_2", "market_3", "home_4", "axe_5", "Nisuf_6", "Miyora_7", "home_8", "smithy_9", "Bjorn_10"],
+				id: "world_0",
+				parents: ["world"],
+				pos: [0.0, 0.0, 0.0],
+				stamp: 19035660000.0
+			},
+			from: "Bjorn_10",
+			objtype: "op",
+			parents: ["set", "sight"],
+			refno: 5,
+			seconds: 19035667864.4,
+			serialno: 100,
+			time_string: "0612-01-01 05:31:04.4",
+			to: "Bjorn_10"
+		},
+		"Client looks at contains attribute of above object
+        and then looks for those objects in turn:",
+		{
+			arg: {
+				id: "Nisuf_6"
+			},
+			from: "Bjorn_10",
+			objtype: "op",
+			parents: ["look"],
+			serialno: 6
+		},
+		"And then server tells you more about it:",
+		{
+			arg: {
+				e_drunkness: 0.0,
+				e_status: 1.0,
+				id: "Nisuf_6",
+				loc: "world_0",
+				name: "Nisuf",
+				parents: ["farmer"],
+				pos: [20.0, 50.0, 300.0],
+				stamp: 19035650000.0,
+				summary: "ordinary farmer"
+			},
+			from: "Nisuf_6",
+			objtype: "op",
+			parents: ["set", "sight"],
+			refno: 6,
+			seconds: 19035667864.4,
+			serialno: 105,
+			time_string: "0612-01-01 05:31:04.4",
+			to: "Bjorn_10"
+		}
+	],
+	id: "look",
+	parents: ["perceive"],
+	summary: "Looking at something"
+}
+
+    

listen

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +target entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "elf_3545"
    +	},
    +	objtype: "op",
    +	parents: ["listen"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: listen C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perceive'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perceive) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Listen (something)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "target entity",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "elf_3545"
+			},
+			objtype: "op",
+			parents: ["listen"]
+		}
+	],
+	id: "listen",
+	parents: ["perceive"],
+	summary: "Listen (something)"
+}
+
+    

sniff

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +target entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "flower_3545"
    +	},
    +	objtype: "op",
    +	parents: ["sniff"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: sniff C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perceive'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perceive) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Sniff something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "target entity",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "flower_3545"
+			},
+			objtype: "op",
+			parents: ["sniff"]
+		}
+	],
+	id: "sniff",
+	parents: ["perceive"],
+	summary: "Sniff something"
+}
+
+    

touch

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +target entity
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "cloth_3545"
    +	},
    +	objtype: "op",
    +	parents: ["touch"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: touch C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perceive'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perceive) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Touch something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "target entity",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "cloth_3545"
+			},
+			objtype: "op",
+			parents: ["touch"]
+		}
+	],
+	id: "touch",
+	parents: ["perceive"],
+	summary: "Touch something"
+}
+
+    

login

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +entity with player name and password attribute
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['logout'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +For more about out of game atlas here
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "JoeBlatz",
    +		password: "Rqv67.%"
    +	},
    +	objtype: "op",
    +	parents: ["login"]
    +}
    +
    +    
    +
    +Conversation examples:
    When you connect to + server you either need to have account already or make + one. Here is "start by creating account" -example: +
    +    
    +{
    +	arg: {
    +		id: "player74",
    +		parents: ["player"],
    +		password: "player_password"
    +	},
    +	objtype: "op",
    +	parents: ["create"],
    +	serialno: 1
    +}
    +
    +    
    +
    +What if you already had account by that name? Then + reply from server could be something like this (1 argument: + message, 2 argument: original operation): +
    +    
    +{
    +	arg: {
    +		message: "Account id already exist",
    +		op: {
    +			arg: {
    +				id: "player74",
    +				parents: ["player"],
    +				password: "player_password"
    +			},
    +			objtype: "op",
    +			parents: ["create"],
    +			serialno: 1
    +		}
    +	},
    +	objtype: "op",
    +	parents: ["error"],
    +	refno: 1,
    +	seconds: 19036033149.3,
    +	serialno: 4,
    +	time_string: "0612-01-05 10:59:09.3"
    +}
    +
    +    
    +
    +For more about error operation see + error operation definition. +

    + If account login went OK them you might receive something + like: +
    +    
    +{
    +	arg: {
    +		characters: ["Bjorn_1"],
    +		id: "player74",
    +		parents: ["player"],
    +		password: "player_password"
    +	},
    +	objtype: "op",
    +	parents: ["info"],
    +	refno: 1,
    +	seconds: 19036033149.3,
    +	serialno: 2,
    +	time_string: "0612-01-05 10:59:09.3"
    +}
    +
    +    
    +
    +If you don't have character, then you need to + create one. Creating character is similar to how you create + account. +
    +    
    +{
    +	arg: {
    +		e_sex: "male",
    +		name: "Nisuf",
    +		parents: ["farmer"],
    +		summary: "ordinary farmer"
    +	},
    +	objtype: "op",
    +	parents: ["create"],
    +	serialno: 2
    +}
    +
    +    
    +
    +Result of character creation is same as with account + creation, only resulting object differs. +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: login C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['get'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Operation for logging into server
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "entity with player name and password attribute",
+	children: ["logout"],
+	description: "For more about <a href=\"login.html\">out of game atlas here</a>",
+	example: [
+		{
+			arg: {
+				id: "JoeBlatz",
+				password: "Rqv67.%"
+			},
+			objtype: "op",
+			parents: ["login"]
+		},
+		"Conversation examples:<br> When you connect to
+        server you either need to have account already or make
+        one. Here is \"start by creating account\" -example:",
+		{
+			arg: {
+				id: "player74",
+				parents: ["player"],
+				password: "player_password"
+			},
+			objtype: "op",
+			parents: ["create"],
+			serialno: 1
+		},
+		"What if you already had account by that name? Then
+        reply from server could be something like this (1 argument:
+        message, 2 argument: original operation):",
+		{
+			arg: {
+				message: "Account id already exist",
+				op: {
+					arg: {
+						id: "player74",
+						parents: ["player"],
+						password: "player_password"
+					},
+					objtype: "op",
+					parents: ["create"],
+					serialno: 1
+				}
+			},
+			objtype: "op",
+			parents: ["error"],
+			refno: 1,
+			seconds: 19036033149.3,
+			serialno: 4,
+			time_string: "0612-01-05 10:59:09.3"
+		},
+		"For more about error operation see 
+        <a href=\"#error\">error operation definition</a>.
+        <br><br>
+        If account login went OK them you might receive something
+        like:",
+		{
+			arg: {
+				characters: ["Bjorn_1"],
+				id: "player74",
+				parents: ["player"],
+				password: "player_password"
+			},
+			objtype: "op",
+			parents: ["info"],
+			refno: 1,
+			seconds: 19036033149.3,
+			serialno: 2,
+			time_string: "0612-01-05 10:59:09.3"
+		},
+		"If you don't have character, then you need to
+        create one. Creating character is similar to how you create
+        account.",
+		{
+			arg: {
+				e_sex: "male",
+				name: "Nisuf",
+				parents: ["farmer"],
+				summary: "ordinary farmer"
+			},
+			objtype: "op",
+			parents: ["create"],
+			serialno: 2
+		},
+		"Result of character creation is same as with account
+        creation, only resulting object differs."
+	],
+	id: "login",
+	parents: ["get"],
+	summary: "Operation for logging into server"
+}
+
+    

logout

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +entity with player name
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from login) (encoding:string): Value:
    +For more about out of game atlas here
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "JoeBlatz"
    +	},
    +	objtype: "op",
    +	parents: ["logout"]
    +}
    +
    +    
    +
    +Most useful with server<->server communication + telling that certain connection is not anymore pertinent +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: logout C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['login'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Operation for logging out
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "entity with player name",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "JoeBlatz"
+			},
+			objtype: "op",
+			parents: ["logout"]
+		},
+		"Most useful with server<->server communication
+        telling that certain connection is not anymore pertinent"
+	],
+	id: "logout",
+	parents: ["login"],
+	summary: "Operation for logging out"
+}
+
+    

imaginary

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +event that is supposed to happen
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "some_unimplemented_action"
    +	},
    +	objtype: "op",
    +	parents: ["imaginary"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: imaginary C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['action'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +When something is not yet implemented in server, then character can pretend to do something ;-)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "event that is supposed to happen",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "some_unimplemented_action"
+			},
+			objtype: "op",
+			parents: ["imaginary"]
+		}
+	],
+	id: "imaginary",
+	parents: ["action"],
+	summary: "When something is not yet implemented in server, then character can pretend to do something ;-)"
+}
+
+    

info

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['perception', 'error'] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		e_msg: "Here is some info"
    +	},
    +	objtype: "op",
    +	parents: ["info"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: info C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_operation'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +This is base operator for operations that tell you info about objects or events.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	children: ["perception", "error"],
+	example: [
+		{
+			arg: {
+				e_msg: "Here is some info"
+			},
+			objtype: "op",
+			parents: ["info"]
+		}
+	],
+	id: "info",
+	parents: ["root_operation"],
+	summary: "This is base operator for operations that tell you info about objects or events."
+}
+
+    

perception

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +perceived thing
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['sight', 'sound', 'smell', 'feel'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Usually derived operations are used, general notes + on perceptions and actions: +
      +
    • action.from: who made character to do something + (talk for example); usually character itself, but + not always, examples: +
        +
      • atlas_irc_gateway does puppet characters it + has created for each nick from irc side +
      • admin teaches NPCs by making them to talk + itself +
      • possession by spell +
      + +
    • action.to: same as character always + +
    • perception.from: who produced this perception: + always character itself (for example sound of talk) + (well... unless you are made to hallusinate ;-) + +
    • perception.to: you (unless you are + server, then it's target to receive perception) +
    + + conclusion: should use perception.from instead of + inner action.from to decide who produced result +
    + See sound and + sight + for actual examples + +
    +    
    +{
    +	arg: {
    +		id: "tree_8374"
    +	},
    +	objtype: "op",
    +	parents: ["perception"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: perception C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['info'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character perceives something.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "perceived thing",
+	children: ["sight", "sound", "smell", "feel"],
+	description: "Base operator for all kind of perceptions",
+	example: [
+		"Usually derived operations are used, general notes
+                   on perceptions and actions:
+                   <ul>
+                   <li><b>action.from:</b> who made character to do something
+                   (talk for example); usually character itself, but
+                   not always, examples: 
+                   <ul>
+                     <li>atlas_irc_gateway does puppet characters it
+                         has created for each nick from irc side
+                     <li>admin teaches NPCs by making them to talk
+                         itself
+                     <li>possession by spell
+                   </ul>
+                   
+                   <li><b>action.to:</b> same as character always
+
+                   <li><b>perception.from:</b> who produced this perception:
+                   always character itself (for example sound of talk)
+                   (well... unless you are made to hallusinate ;-)
+
+                   <li><b>perception.to:</b> you (unless you are
+                   server, then it's target to receive perception)
+                   </ul>
+
+                   <b>conclusion:</b> should use perception.from instead of
+                   inner action.from to decide who produced result
+                   <br>
+                   See <a href=\"#sound\">sound</a> and 
+                       <a href=\"#sight\">sight</a>
+                   for actual examples
+                ",
+		{
+			arg: {
+				id: "tree_8374"
+			},
+			objtype: "op",
+			parents: ["perception"]
+		}
+	],
+	id: "perception",
+	parents: ["info"],
+	specification: "atlas_game",
+	summary: "Character perceives something."
+}
+
+    

sight

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +object or event character sees
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: ['appearance', 'disappearance'] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +See perception operation too
    + Common example: +
    +    
    +{
    +	arg: {
    +		id: "grass1",
    +		stamp: 989.24
    +	},
    +	objtype: "op",
    +	parents: ["sight"]
    +}
    +
    +    
    +
    +Reply for looking at 'grass1': +
    +    
    +{
    +	arg: {
    +		area: [
    +			["grass1.p.0", "grass1.p.1", "grass1.p.2"],
    +			["grass1.p.0", "grass1.p.2", "grass1.p.3"]
    +		],
    +		contains: ["path1", "tree1"],
    +		id: "grass1",
    +		p: [
    +			[0.0, 0.0],
    +			[10.0, 0.0],
    +			[10.0, 10.0],
    +			[0.0, 10.0]
    +		],
    +		parents: ["terrain"],
    +		summary: "Grass plains"
    +	},
    +	objtype: "op",
    +	parents: ["sight"]
    +}
    +
    +    
    +
    +Event example: +
    +    
    +{
    +	arg: {
    +		arg: {
    +			id: "orc_23498",
    +			loc: "grass1",
    +			pos: [0.5, 3.0, 0.0]
    +		},
    +		objtype: "op",
    +		parents: ["move"]
    +	},
    +	objtype: "op",
    +	parents: ["sight"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: sight C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perception'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character sees something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "object or event character sees",
+	children: ["appearance", "disappearance"],
+	example: [
+		"See <a href=\"#perception\">perception</a> operation too<br>
+                Common example:",
+		{
+			arg: {
+				id: "grass1",
+				stamp: 989.24
+			},
+			objtype: "op",
+			parents: ["sight"]
+		},
+		"Reply for looking at 'grass1':",
+		{
+			arg: {
+				area: [
+					["grass1.p.0", "grass1.p.1", "grass1.p.2"],
+					["grass1.p.0", "grass1.p.2", "grass1.p.3"]
+				],
+				contains: ["path1", "tree1"],
+				id: "grass1",
+				p: [
+					[0.0, 0.0],
+					[10.0, 0.0],
+					[10.0, 10.0],
+					[0.0, 10.0]
+				],
+				parents: ["terrain"],
+				summary: "Grass plains"
+			},
+			objtype: "op",
+			parents: ["sight"]
+		},
+		"Event example:",
+		{
+			arg: {
+				arg: {
+					id: "orc_23498",
+					loc: "grass1",
+					pos: [0.5, 3.0, 0.0]
+				},
+				objtype: "op",
+				parents: ["move"]
+			},
+			objtype: "op",
+			parents: ["sight"]
+		}
+	],
+	id: "sight",
+	parents: ["perception"],
+	summary: "Character sees something"
+}
+
+    

appearance

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +object or event character sees
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "grass1",
    +		stamp: 989.24
    +	},
    +	objtype: "op",
    +	parents: ["appearance"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: appearance C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['sight'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character sees something appearing: it literally appears or has it come in visible range
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "object or event character sees",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "grass1",
+				stamp: 989.24
+			},
+			objtype: "op",
+			parents: ["appearance"]
+		}
+	],
+	id: "appearance",
+	parents: ["sight"],
+	summary: "Character sees something appearing: it literally appears or has it come in visible range"
+}
+
+    

disappearance

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +object or event character sees
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		id: "grass1",
    +		stamp: 989.24
    +	},
    +	objtype: "op",
    +	parents: ["disappearance"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: disappearance C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['sight'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character sees something disappearing: it literally disappears or has it gone too far to be visible
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "object or event character sees",
+	children: [],
+	example: [
+		{
+			arg: {
+				id: "grass1",
+				stamp: 989.24
+			},
+			objtype: "op",
+			parents: ["disappearance"]
+		}
+	],
+	id: "disappearance",
+	parents: ["sight"],
+	summary: "Character sees something disappearing: it literally disappears or has it gone too far to be visible"
+}
+
+    

sound

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +thing character heard
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +See perception operation too
    + Example (every operation might have from, +to and time tags, not only this operation): +
    +    
    +{
    +	arg: {
    +		arg: {
    +			say: "What has happened there?"
    +		},
    +		objtype: "op",
    +		parents: ["talk"]
    +	},
    +	from: "sentry_34",
    +	objtype: "op",
    +	parents: ["sound"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: sound C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perception'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character hears something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "thing character heard",
+	children: [],
+	example: [
+		"See <a href=\"#perception\">perception</a> operation too<br>
+                   Example (every operation might have from, 
+to and time tags, not only this operation):",
+		{
+			arg: {
+				arg: {
+					say: "What has happened there?"
+				},
+				objtype: "op",
+				parents: ["talk"]
+			},
+			from: "sentry_34",
+			objtype: "op",
+			parents: ["sound"]
+		}
+	],
+	id: "sound",
+	parents: ["perception"],
+	summary: "Character hears something"
+}
+
+    

smell

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +thing character smells
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Example (every operation might have from, +to and time tags, not only this operation): +
    +    
    +{
    +	arg: {
    +		e_smell: "sweet"
    +	},
    +	from: "flower_34",
    +	objtype: "op",
    +	parents: ["smell"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: smell C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perception'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character smells something
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "thing character smells",
+	children: [],
+	example: [
+		"Example (every operation might have from, 
+to and time tags, not only this operation):",
+		{
+			arg: {
+				e_smell: "sweet"
+			},
+			from: "flower_34",
+			objtype: "op",
+			parents: ["smell"]
+		}
+	],
+	id: "smell",
+	parents: ["perception"],
+	summary: "Character smells something"
+}
+
+    

feel

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +thing character touches
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from perception) (encoding:string): Value:
    +Base operator for all kind of perceptions
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +
    +    
    +{
    +	arg: {
    +		e_surface_type: "rough",
    +		id: "cloth_34"
    +	},
    +	objtype: "op",
    +	parents: ["feel"]
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: feel C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['perception'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from perception) (encoding:string): Value: atlas_game Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Character feels something (with fingers usually)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "thing character touches",
+	children: [],
+	example: [
+		{
+			arg: {
+				e_surface_type: "rough",
+				id: "cloth_34"
+			},
+			objtype: "op",
+			parents: ["feel"]
+		}
+	],
+	id: "feel",
+	parents: ["perception"],
+	summary: "Character feels something (with fingers usually)"
+}
+
+    

error

+ Attribute list: +
    +
  • arg (inherited from root_operation) (encoding:string): Value: Object() C equivalent: struct map {char *;void *}; map* +
  • arg_description (encoding:string): Value:
    +objects describing what went wrong
    +First argument is error entity which describes error. +Second argument is operation which is wrong (not given if not relevant).
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • arg_names (inherited from root_operation) (encoding:list): Value: ['arg'] C equivalent: void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from root_operation) (encoding:string): Value:
    +This is base operation for all other + operations and defines basic attributes. You can use this as + starting point for browsing whole operation hiearchy. refno refers + to operation this is reply for. In examples all attributes that + are just as examples (and thus world specific) are started with 'e_'.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • example (encoding:string): Value:
    +Client sent "foo" -operation which server rejects +
    +    
    +{
    +	arg: {
    +		message: "Uknown operation foo",
    +		no: 42,
    +		op: {
    +			arg: {
    +				e_bar: "do some foo thing by using bar"
    +			},
    +			objtype: "op",
    +			parents: ["foo"],
    +			serialno: 123
    +		}
    +	},
    +	objtype: "op",
    +	parents: ["error"],
    +	refno: 123
    +}
    +
    +    
    +
    +
    C equivalent: void *[] +
  • from (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • future_seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • id (encoding:string): Value: error C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from root_operation) (encoding:string): Value: op_definition Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['info'] C equivalent: char *[], void *[] +
  • refid (inherited from root_operation) (encoding:string): Value: C equivalent roughly: for storing id name: char *, as pointer: void * +
  • refno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • seconds (inherited from root_operation) (encoding:float): Value: 0.0 C equivalent roughly: double +
  • serialno (inherited from root_operation) (encoding:int): Value: 0 C equivalent: 32bit int +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Something went wrong
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • time_string (inherited from root_operation) (encoding:string): Value: There can be variation in length of different fields if using some weird calendar +
  • to (inherited from root_operation) (encoding:string): Value: When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body. +
+ Bach version:
+
+{
+	arg_description: "objects describing what went wrong<br>
+First argument is error entity which describes error.
+Second argument is operation which is wrong (not given if not relevant).",
+	children: [],
+	example: [
+		"Client sent \"foo\" -operation which server rejects",
+		{
+			arg: {
+				message: "Uknown operation foo",
+				no: 42,
+				op: {
+					arg: {
+						e_bar: "do some foo thing by using bar"
+					},
+					objtype: "op",
+					parents: ["foo"],
+					serialno: 123
+				}
+			},
+			objtype: "op",
+			parents: ["error"],
+			refno: 123
+		}
+	],
+	id: "error",
+	parents: ["info"],
+	summary: "Something went wrong"
+}
+
+    
+ +
+
Aloril
+ + +Last modified: Fri Dec 10 19:38:56 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/operation_in.html atlas-cpp-0.6.3/protocol/spec/operation_in.html --- atlas-cpp-0.6.2/protocol/spec/operation_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/operation_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,48 @@ + + + + Operation + + +

Operations

+ + There are two different type of operations: + Basic level (create,delete,set,get,info) and game specific + operations (summon,forge, etc...) +

+ Server should send info operations in both format. Clients can + always interpret info about create,etc.. operations and if they + know more complex ones they can play suitable animation or NPC + can remember somebody stealing etc... +

+ When client wants to do something or get info about something, + it sends some operation derived from action. Server usually + replies with some operation derived from info, which might embed + original action. +

+ Example:
+ client: forge("jewel_sword","jewels","iron")
+ server: sight(forge("jewel_sword","jewels","iron")
+ server: info(create("jewel_sword",length=1.2, etc...))
+ server: info(set("iron",amount=current-something))
+ server: info(destroy("jewels")) +

+ When sending operations use parent:"move" instead of id:"move"
+ Reason: so we can distinguish between operation and object that + tells what operation is about and all operations when used are + temporary objects anyway (maybe "magical_crunchy_voice_stepping" is not ;-) + +

Operation tree

+ + + + + +
+
Aloril
+ + +Last modified: Fri Dec 10 19:38:56 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/packed_syntax.html atlas-cpp-0.6.3/protocol/spec/packed_syntax.html --- atlas-cpp-0.6.2/protocol/spec/packed_syntax.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/packed_syntax.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,76 @@ + + + + Packed Syntax + + + +

Packed Syntax

+ +

Syntax

+

+The form for each element of this codec is as follows: +

+
+ [type][|name=][data][|endtype] +
+

type is mandatory, name must be present for map +attributes and must not be present for list items, endtype applies +to lists and maps but not to other data types. +

+ +

Type specifiers

+
    +
  • ( ) for lists
  • +
  • [ ] for maps
  • +
  • $ for string
  • +
  • @ for int
  • +
  • # for float
  • +
+ +

Sample output

+
+ [@id=17$name=Fred +28the +2b great+29#weight=1.5(args=@1@2@3)] +
+

+This example represents a map with the following attributes: +

    +
  • name="id", type="int", value="17"
  • +
  • name="name", type="string", value="Fred (the + great)"
  • +
  • name="weight", type="float", value="1.5"
  • +
  • name="args", type="list", value= +
      +
    1. type="int", value="1"
    2. +
    3. type="int", value="2"
    4. +
    5. type="int", value="3"
    6. +
    +
  • +
+

+ +

Special characters

+

+The following characters cannot appear verbatim in strings: +

    +
  • + (plus symbol)
  • +
  • [ (left square bracket)
  • +
  • ] (right square bracket)
  • +
  • ( (left parenthesis)
  • +
  • ) (right parenthesis)
  • +
  • @ (at symbol)
  • +
  • # (hash symbol)
  • +
  • $ (dollar symbol)
  • +
  • = (equals symbol)
  • +
  • \n (newline character)
  • +
  • \r (carriage return character)
  • +
+They are encoded by sending a plus symbol followed by the ascii value of the +character in hexadecimal. See the example above for details. +

+ +

Notes

+

+No UNICODE or other multibyte character support exists at present. +

+ + diff -Nru atlas-cpp-0.6.2/protocol/spec/ParseDef.py atlas-cpp-0.6.3/protocol/spec/ParseDef.py --- atlas-cpp-0.6.2/protocol/spec/ParseDef.py 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/ParseDef.py 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,216 @@ +import string,re +from types import * + +data_type=["string", "int", "float", + "list", "map"] + +class Object: + def __init__(self, name="", type="", value=""): + self.name=name + self.type=type + self.value=value #for mapping: only attributes that are defined in object itself + self.attr_container_obj=None + self.definition=None + self.attr={} #for mappping: all attributes, including inherited ones + self.attr_list=[] #ditto, but in list format + self.debug=None + def append(self, value): + self.value.append(value) + value.attr_container_obj=self + if value.name: + self.attr[value.name]=value + self.attr_list.append(value) + if (value.name=="id" and self.attr.has_key("parents")) or \ + (value.name=="parents" and self.attr.has_key("id")): + self.append(Object(name="children",value=[])) + def append_inherited(self, value): + self.attr[value.name]=value + self.attr_list.append(value) + def add_children(self, obj): + inst_obj=self.attr.get("children") + if not inst_obj: #checked earlier + raise SyntaxError, ("id attribute not defined and thus children neither", + self.debug) + id=obj.attr.get("id") + if not id: #checked earlier + raise SyntaxError, ("id attribute not defined", + obj.debug) + inst_obj.value.append(id.value) + def has_parent(self, dict, id): + """search parent hierarchy to find if any of it is same as type""" + id_obj=self.attr.get('id') + if not id_obj: #hmm.. attribute, look for parent type + type_obj=dict[self.name] + return type_obj.has_parent(dict,id) + if id_obj.value==id: return 1 + for parent in self.attr['parents'].value: + par_obj=dict[parent] + if par_obj.has_parent(dict,id): + return 1 + return 0 + + def __repr__(self): + return self.name+":"+self.type+":"+str(self.value) + +debug_reading=0 +class ParseDef: + """reads 'atlas def' files and created suitable 'web' for html/xml generators""" + def __init__(self): + self.id_dict={} + self.objects=Object(type="list",value=[]) + self.lineno=0 + def read_lines(self, fp, depth, parent_obj, line0=None): + """read object definitions in one level: + call itself recursively for sub objects""" + last_obj=None + while 1: + if line0: #line was already read, given as line0 argument + line=line0 + line0=None + if debug_reading: + print "???",line,self.lineno + else: + line=fp.readline() + self.lineno=self.lineno+1 + if debug_reading: + print "!!!",self.lineno,line, + if not line: break + if line[0] in '#\n': continue + space_count=len(re.match("( *)",line).group(1)) + if space_count==len(line)-1: continue #Only spaces in line + #print " "*depth,depth,space_count,"{",line[:-1],"}",parent_obj + if space_count>depth: #sub object + if not last_obj: + raise SyntaxError, ("Unexpected indentation", + (self.filename, self.lineno, space_count, line)) + #current line belongs to sub object, lets call ourself + #it returns next line from our object + line0=self.read_lines(fp,space_count,last_obj,line) + last_obj=None + continue + if space_count=0: + break + try: + evaled_value=eval(value) + except: + print "Error at:",(self.filename, self.lineno, space_count, line) + raise + obj=Object(name,type,evaled_value) + last_obj=None + parent_obj.append(obj) + obj.debug=(self.filename, self.lineno, space_count, line) + def read_file(self, filename): + """read one file""" + self.filename=filename + self.lineno=0 + fp=open(filename) + self.read_lines(fp,0,self.objects) + fp.close() + def fill(self): + self.fill_id_dict() + self.fill_type() + self.fill_inherited_attributes() + def fill_id_dict(self): + """fill id_dict with all objects""" + for obj in self.objects.value: + id=None + for obj2 in obj.value: + if obj2.name=="id": + id=obj2.value + break + if not id: + raise SyntaxError, ("Id attribute is not specified for object",obj.debug) + if self.id_dict.has_key(id): + raise SyntaxError, ('Object with "'+id+'"-id already exists',obj.debug) + self.id_dict[id]=obj + def search_type(self, name): + """find type for this name""" + if name in data_type: return name + obj=self.id_dict[name] + if not obj.attr.has_key('parents'): + raise SyntaxError, ("Parents attribute is not specified for object",obj.debug) + parent_list=obj.attr['parents'].value + if not parent_list: + raise SyntaxError, ("Didn't found data_type for object",obj.debug) + return self.search_type(parent_list[0]) + def fill_type_object(self, obj): + """recursively find types for all objects""" + if type(obj)!=InstanceType: return + if obj.name: + if not self.id_dict.has_key(obj.name): + raise SyntaxError, ('Name "'+obj.name+'" is not specified',obj.debug) + obj.type=self.search_type(obj.name) + if type(obj.value)==ListType: + for sub_obj in obj.value: + self.fill_type_object(sub_obj) + def fill_type(self): + self.fill_type_object(self.objects) + def fill_inherited_attributes_object(self, obj, p_obj,depth): + """recursively find attributes that are inherited from parents""" + if type(obj)!=InstanceType: return + if not p_obj.attr.has_key('parents'): + raise SyntaxError, ("Parents attribute is not specified for object", + p_obj.debug) + if depth==1: + p_obj.add_children(obj) + #print obj.attr['id'].value,p_obj.attr['id'].value + for p_sub_obj in p_obj.value: + name=p_sub_obj.name + #print "-->",p_sub_obj.name + if not obj.attr.has_key(p_sub_obj.name): + obj.append_inherited(p_sub_obj) + for parent in p_obj.attr['parents'].value: + if not self.id_dict.has_key(parent): + raise SyntaxError, ("Parent \""+parent+"\" doesn't exist.", + obj.attr['parents'].debug) + self.fill_inherited_attributes_object(obj,self.id_dict[parent],depth+1) + def fill_inherited_attributes(self): + for obj in self.objects.value: + self.fill_inherited_attributes_object(obj,obj,0) + + +def read_all_defs(filelist): + parser=ParseDef() + for file in filelist: + parser.read_file(file) + parser.fill() + #for item in parser.id_dict.items(): print item + return parser + +if __name__=="__main__": + parser=read_all_defs() diff -Nru atlas-cpp-0.6.2/protocol/spec/pre.pl atlas-cpp-0.6.3/protocol/spec/pre.pl --- atlas-cpp-0.6.2/protocol/spec/pre.pl 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/pre.pl 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,7 @@ +#!/usr/bin/perl -w +$pre_flag=0; +while(<>) { + if(/PRE>/) {$pre_flag=!$pre_flag;} + elsif($pre_flag) {s//>/g;} + print; +} diff -Nru atlas-cpp-0.6.2/protocol/spec/requirements.html atlas-cpp-0.6.3/protocol/spec/requirements.html --- atlas-cpp-0.6.2/protocol/spec/requirements.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/requirements.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,95 @@ + + + + WorldForge Protocol requirements (revision #8) + + + +

WorldForge Protocol requirements (revision #8)

+ +
+ - The protocol must be capable of:
+
+    - transmitting objects
+    - transmitting changes or additions to objects
+
+    (For the purposes of this document, an "object" will be taken to be a
+    bundle of properties. A property is a named or anonymous chunk of data,
+    in one of the "atomic types" of the protocol. Supported types of
+    properties should be described in the protocol specification. Two types
+    are mandated: objects must be able to contain sub-objects, and objects
+    must be able to contain some form of id or reference to other objects.
+    Basic types such as ints, strings and lists are of course highly
+    recommended if the protocol is to be at all useful). 
+
+ - The protocol must be capable of describing such scenarios as:
+
+    - movement of things in a game world
+    - combat between things in a game world
+    - acquisition of things by other things in a game world
+
+    (For the purposes of this document, a "thing in a game world" will be 
+    taken to mean exactly what it says. Sample things include pens, swords,
+    raging oceans and small furry animals. These things may be stored in 
+    completely arbitrary fashion on a client or server, thus the protocol
+    must be capable of describing the above scenarios without making
+    assumptions concerning entity representation).
+
+ - The protocol must also be capable of handling situations involving:
+
+    - login negotiation between clients and servers, including authentication
+    - access control to update, create or destroy particular objects
+
+ - The protocol must be independent of:
+
+    - application layer (the application using it, the calling program),
+      for example: backstage, cyphesis, uclient, anvil...
+	  
+    - session layer (syntax, format, representation, what it looks like),
+      for example: XML, or packed binary, or gzip compressed lisp expressions.
+
+    - transport layer (the mechanism for getting it to places),
+      for example: TCP or UDP sockets, saving to a file, IPX, and so on.
+
+ - To be accepted however, a protocol needs to be demonstrated using one or
+   more actual session layers (syntaxes, formats...) that can represent:
+
+    - all the necessary semantics of the protocol
+    - 20 things in a game world becoming visible in at most 3860 bytes
+    - 20 things in a game world changing direction in at most 3860 bytes
+
+    (Note, the precise bandwidth numbers come from the STAGE requirements,
+    involving a certain number of clients on a server with a T1 line. It
+    can be assumed that all other servers will have similar if not more 
+    stringent ones. The target is not hard to meet, it is just there to 
+    impose a limit on any delusions of bandwidth grandeur a protocol
+    designer may be experiencing).
+
+ - These session layers must be defined completely in an appropriate way,
+   for instance a DTD for an XML based syntax, or detailed descriptions of
+   chunks for a packed binary format. Binary formats must also specify
+   either an endianess convention or a way to detect it at run-time. ASCII
+   formats must specify if they use alternative character sets or encodings
+   rather than pure ASCII.
+
+ - Although working code is not a pre-requisite for protocol acceptance, it
+   must be possible for an implementation of the protocol to be written in
+   any sane language, using sane libraries. No esoteric languages features
+   or unusual libraries must be required. The protocol API (the presentation
+   layer) as presented to an application must be simple and easy to use, for
+   both emitting and receiving.
+
+
+Michael
+
+Other people participated in developing requirements document: Bryce +and Fex + +
+
Aloril
+ + +Last modified: Thu Nov 4 06:54:06 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/revision_history.html atlas-cpp-0.6.3/protocol/spec/revision_history.html --- atlas-cpp-0.6.2/protocol/spec/revision_history.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/revision_history.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,95 @@ + + + + Revision History + + + +

Revision History

+ +

Whats new in v0.3.0

+ +
    +
  • 2002-02-08: Id path with help from UncleFluffy, bear, adam, malcolm and eleft +
  • 2002-02-XX: Cartography (and/or geometry): Major input from James and Anubis pointed out things. +
  • 2001-03-01 - 2001-09-01: Binary1_beta2 codec (written mostly by blprice) +
  • 2001-XX-XX: unfinished semantic_maps whitepaper with editing help from Grimicus. +
  • 2001-XX-XX: Mike Day: various things +
+

+ +

Whats new in v0.2.4

+ + Removed typed lists and uri as encoding types. They are now + abstract types. Map is called mapping to differentiate between + geographical maps and object encoding key<->value mappings. + Some simple beginnings of map definition is added. + XML syntax is changed and Packed encoding is added. + ACHAT encoding negotiation is added. +

+ Flattened structures and renamed some attributes and values: +

+abstract_type -> objtype
+loc.ref -> loc
+loc.coords -> pos
+loc.velocity -> velocity
+time.seconds -> seconds
+time.future_seconds -> future_seconds
+time.time_string -> time_string
+parent->parents
+instance->children
+
+objtype values changed:
+"operation" -> "op"
+"operation_definition" -> "op_definition"
+    
+ +

Whats new in v0.2.3

+ + Old obj_list type was splitted to list and map types. XML syntax + has changed to be easier to read and still keeping type info + intact. These changes were suggested by John Barret. +

+ Conversation examples added for login, look and move -operations. + "game_interface" -object added. "abstract_type" -attribute for + operations and their instances was changed. +

+ Here + + is example log with cyphesis_server.py and ObserverClient.py . + Note that it does have Cyphesis specific additions and probably + still has some bugs in compliance. +

+ +

Whats new in v0.2.2

+ + example, stamp_inherit and stamp_contains attributes added and + basic examples to operations done +

+ Here + + is example log with cyphesis_server.py and ObserverClient.py . + Note that it does have Cyphesis specific additions and probably + still has some bugs in compliance. +

+ +

Whats new in v0.2.1

+ + Some fixes and id physical_type has been renamed to uri. XML + float_list and int_list syntax has been changed to more natural + XML (and somewhat easier to parse using XML library) + +

Whats new in v0.2.0

+ + v0.2.0 is basically combination of v0.1.4 and Wds by Jamie and + Mike's <obj> syntax + + +
+
Aloril
+ + +Last modified: Fri Feb 8 09:07:19 EET 2002 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/root.atlas atlas-cpp-0.6.3/protocol/spec/root.atlas --- atlas-cpp-0.6.2/protocol/spec/root.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/root.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,24 @@ +ATLAS root definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +{ + id:"root", + parents:[], + stamp:0.0, + stamp_inherit:0.0, + objtype:"meta", + interface:"base_interface", + name:"", + summary:"All objects inherit from this.", + description:"You can browse all definitions starting from here and +descending into childrens.", + specification:"atlas" +## implementation doesn't need to do that +## and if you look at def files, they don't have that at all: it's generated (and maybe with real server too) +## it just saves as yet additional operation +## *** cyanide (~ojw@reggae-08-36.nv.iinet.net.au) has joined #forge +## hey ya cyan +## and for leaf classes: only admins are privliged to get list of all instances of humans for example +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/root.def atlas-cpp-0.6.3/protocol/spec/root.def --- atlas-cpp-0.6.2/protocol/spec/root.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/root.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,21 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"root" + parents:[] + stamp:0.0 + stamp_inherit:0.0 + objtype:"meta" + interface:"base_interface" + name:"" + description:"All objects inherit from this." + long_description:"""You can browse all definitions starting from here and +descending into childrens.""" + specification:"atlas" + + +## implementation doesn't need to do that +## and if you look at def files, they don't have that at all: it's generated (and maybe with real server too) +## it just saves as yet additional operation +## *** cyanide (~ojw@reggae-08-36.nv.iinet.net.au) has joined #forge +## hey ya cyan +## and for leaf classes: only admins are privliged to get list of all instances of humans for example diff -Nru atlas-cpp-0.6.2/protocol/spec/root.html atlas-cpp-0.6.3/protocol/spec/root.html --- atlas-cpp-0.6.2/protocol/spec/root.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/root.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,58 @@ + + + + + Root object + + + +

root

+ Attribute list: +
    +
  • children (encoding:list): Value: ['root_entity', 'root_operation', 'root_type', 'root_interface'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +You can browse all definitions starting from here and +descending into childrens.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: root C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • specification (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +All objects inherit from this.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["root_entity", "root_operation", "root_type", "root_interface"],
+	description: "You can browse all definitions starting from here and 
+descending into childrens.",
+	id: "root",
+	interface: "base_interface",
+	name: "",
+	objtype: "meta",
+	parents: [],
+	specification: "atlas",
+	stamp: 0.0,
+	stamp_inherit: 0.0,
+	summary: "All objects inherit from this."
+}
+
+    
+ +
+
Aloril
+ + +Last modified: Tue Nov 9 17:18:01 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/root_in.html atlas-cpp-0.6.3/protocol/spec/root_in.html --- atlas-cpp-0.6.2/protocol/spec/root_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/root_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,17 @@ + + + + Root object + + + + + +
+
Aloril
+ + +Last modified: Tue Nov 9 17:18:01 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/simple_core.html atlas-cpp-0.6.3/protocol/spec/simple_core.html --- atlas-cpp-0.6.2/protocol/spec/simple_core.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/simple_core.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,193 @@ + + + + Simple Core Atlas + + + +

Simple Core Atlas

+ +

Syntax

+ + Expressing an Atlas object in the common Bach encoding form: +
+{
+   parents: ["info"], 
+   objtype:"op",
+   arg: {
+     name: "Joe", 
+     pos: [4.5, 6.7, 2.3], 
+     meaning_of_life: 42
+   }
+}
+    
+ + In above example "parents" is list attribute containing one string value "info". +
Arg is mapping attribute containing 3 attributes:
+ "name" is string attribute with value "Joe",
+ "pos" is list attribute with 3 float values [4.5, 6.7, 2.3]
+ and "meaning_of_life" is integer attribute with value 42. +

+ Above example also "specifies" Bach encoding for most + purposes. List is enclosed with [], mapping is enclosed with + {} and string is enclosed with "". + +

Core operations

+ + Operation consist of operation name as value to "parents" + attribute and argument to it as value to "arg" + attribute. "parents" is used as attribute name because full Atlas + implements inheritance. See tree creation example later for entity + example. +

+ Operation example: +

+{
+    parents: ["operation_name"],
+    objtype:"op",
+    arg: some object here
+}
+    
+ + Object given in argument can be either some other operation or + entity. Entity example: +
+{
+    id: "tree23",
+    objtype:"obj",
+    parents: ["tree"],
+    pos: [1.2, 5.6, 1.0]
+}
+    
+ + Id of entity is "tree23", class of entity is "tree" and position is [1.2, + 5.6, 1.0] = [x,y,z] + + +

Get operation

+ + To fetch some object from server, use get operation and give it id of object as argument. + + Example: +
+{
+    parents: ["get"],
+    objtype:"op",
+    arg: {id: "tree34"}
+}
+    
+ For example of what server returns see Info operation. + +

Set operation

+ + To set values in object use set operation and into arg put id of + object and new values for attributes. + + Example: +
+{
+    parents: ["set"],
+    objtype:"op",
+    arg: {id: "joe56", name: "Michael"}
+}
+    
+ + +

Create operation

+ + To create new object use create operation and into arg put + object. Usually server assigns id, but if it's dumb server you + need to give id also. + + Example: +
+{
+    parents: ["create"],
+    objtype:"op",
+    arg: {parents:["tree"], pos: [1.2, 5.6, 1.0]}
+}
+    
+ + +

Delete operation

+ + To delete object in server, use delete operation and give id of + object being deleted as argument. + + Example: +
+{
+    parents: ["delete"],
+    objtype:"op",
+    arg: {id: "tree34"}
+}
+    
+ + + +

Info operation

+ + Info operation is returned by server either as reply to get + operation or informing you that somebody (might be you) made + changes in server. +

+ Reply to "get" operation example: +

+{
+    parents: ["info"],
+    objtype:"op",
+    arg: {id: "tree34", parents:["tree"], pos: [1.2, 5.6, 1.0]}
+}
+
+ + Reply to "set" operation example: +
+{
+    parents: ["info"],
+    objtype:"op",
+    arg: {
+        parents: ["set"],
+        objtype:"op",
+        arg: {id: "joe56", name: "Michael"}
+    }
+}
+
+ + Reply to "create" operation example: +
+{
+    parents: ["info"],
+    objtype:"op",
+    arg: {
+        parents: ["create"], 
+        objtype:"op",
+        arg: {id: "tree34", parents:["tree"], pos: [1.2, 5.6, 1.0]}
+    }
+}
+
+ + Reply to "delete" operation example: +
+{
+    parents: ["info"],
+    objtype:"op",
+    arg: {
+        parents: ["delete"], 
+        objtype:"op",
+        arg: {id: "tree34"}
+    }
+}
+
+ + +
+ Thanks for feedback goes to Lee, Elefth, Cyanide, Phil, Demitar, + Kosh, Novalis, James, Malcolm, Bryce, UncleFluffy and ZephyrAlfredo. +
+
Aloril
+ + +Last modified: Wed Nov 6 14:03:04 EET 2002 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/TODO atlas-cpp-0.6.3/protocol/spec/TODO --- atlas-cpp-0.6.2/protocol/spec/TODO 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/TODO 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,12 @@ +Outline of changes in the next version: + int becomes 64bit + times change from float to int, and specced in milliseconds + merge SECONDS and STAMP + abolish STAMP_CONTAINS and FUTURE_SECONDS + +- dialog media info (steal ideas from UIML or base it on it): + http://victor.worldforge.org:8080/rt/Ticket/Display.html?id=317 +- binary2 +- sprites.xml -> media info +- specify operations and their args semantically much more than currently is done: + especially movement modes diff -Nru atlas-cpp-0.6.2/protocol/spec/type.atlas atlas-cpp-0.6.3/protocol/spec/type.atlas --- atlas-cpp-0.6.2/protocol/spec/type.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/type.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,836 @@ +ATLAS type definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +{ + id:"root_type", + parents:["root"], + objtype:"meta", + summary:"Type hierarchy starts from here." +}, +{ + id:"string", + parents:["root_type"], + objtype:"data_type", + summary:"UTF-8 encoded string.", + description:"Any character is allowed, including 8 bit control characters and '\\0', C equivalent: {int len; char *data;}, C++: string" +}, +{ + id:"int", + parents:["root_type"], + objtype:"data_type", + summary:"Integer.", + description:"C equivalent: 32bit int" +}, +{ + id:"float", + parents:["root_type"], + objtype:"data_type", + summary:"Floating point number.", + description:"C equivalent roughly: double", +}, +{ + id:"uri", + parents:["string"], + objtype:"type", + summary:"URI (URL) of object", + description:"C equivalent roughly: for storing id name: char *, as pointer: void *
+URI is Uniform Resource Locator. +For more about URI see +http://www.ics.uci.edu/pub/ietf/uri/" + +#more about ID when discussing about MIM (Media Independant Map) -format +## But do they all have object IDs, and how do we keep them seperate from the world ids? +## and client can load tgz file too of course.. +## ahh... namespace question... +## well that is problem: current atlas has server specific flat id space for *everything* +## Yes, and do operations share namespace with objects, and can we overload operations? +## (attribute names, operations, classes, object ids, type, etc...) +## Can we overload operations? I think so, looking at the specs +## hmm... would that be inheritance? +## ie client doesn't know what it's and uses parent definition instead +## sorry afk walking someone through installing windows 98 +## I am not sure.. But if I pass it a list/int or 3 ints seperatly a move might be able to understand both... location=(1,2,3) or x=1,y=2,z=3... +## about how to keep MIM id's separate from world ids... server specific thing, could for example add 'M' to start... +## ahh... that... hmm.. probably better have only one format when transmitting.. +## Well, I see the world made up as alot of MIM maps all connected, so ids between maps need to be kept seperate as well. Why not anything with MIM_ in the xml spec or some other special code in other specs to identify it? +## everyone has to feel sorry for me since I am walking someone through isntalling windows 98 +## :) +## jamie, server can freely use whatever id scheme it wants... +## thats why they are strings ;-) +## True +## for example: "M_area1_123" +## But protocols can drop the strings and use anything it wants, as long as it keeps a conversion list local. +## client of course can keeps it's own id system and translate between strings and ints .. +## * aloril nods +## server ha total freedom in ids, client's must translate.. +## So if I map "Mim_area1_123" to 1233455 the protocol only needs to handle int's, and it can make up anything on the client side. +## ie this is case where we sacrifice some 0.01% of client CPU for server ;-) +## *nods* +## kosh, how can someone not be able to do it alone? +## you would be amazed +## or was it 0.1% don't remember offhand but it was really small amount... +## Not a large one. +## only restriction is that you can't use '/' character and similar characters that are used in URI for other purposes +## much more time goes for marshalling all tags but still probably <1% +## (assuming binary here) +## drew after walking a newbie through windows over the phone I saw all the points they got hung up one windows is not easy to install +## kosh, oh? Such as? (I'm not defending Win, just curious since I think it's so easy) +## I thought it was easy also but things like installing drivers she got hung up on +## or how to just start +## Ah, I see. +## we had to change her BIOS to support CD rom booting to continue +## another example was when installing on some menus she asked me what the question meant since she did not understand +## Hmm. +## * Drew points kosh to #lounge... +## * Drew knows that he might be too busy. +## hmm... mail.worldforge.org seems down... +## if we used ints: +## Integer: 1100K/s +## String: 350K/s +## client needs to still do map (or hash lookup) above is STL map +## Lets assume 10B/msg. +## Lets assume about 8KB/s or 800msg/s in bandwidth. +## Integer: 0.07% of CPU. +## String: 0.2% of CPU. +## Result: 0.13% difference +## whole message is at scripting@ archives +## 19 May 1999 11:50:34 +0300 +## Subject: Re: [Worldforge-Scripting] Re: Atlas: Id +## with test program too... it uses STL map (hmm... is map implemented using hash or ?) +}, +{ + id:"string_list", + parents:["list"], + objtype:"type", + element_type:"string", + summary:"List of strings" +}, +{ + id:"int_list", + parents:["list"], + objtype:"type", + element_type:"int", + summary:"List of integers", + description:"C equivalent: int []" +}, +{ + id:"float_list", + parents:["list"], + objtype:"type", + element_type:"float", + summary:"List of floats", + description:"C equivalent: double []" +}, +{ + id:"uri_list", + parents:["string_list"], + element_type:"uri", + summary:"URI list", + description:"C equivalent: char *[], void *[]" +}, +{ + id:"list", + parents:["root_type"], + objtype:"data_type", + summary:"List of objects", + description:"C equivalent: void *[]", + added_attributes:[] +}, +{ + id:"map", + name:"mapping", + parents:["root_type"], + objtype:"data_type", + summary:"Mapping between string key and value object", + description:"C equivalent: struct map {char *;void *}; map*", + added_attributes:[] +}, +{ + id:"bool", + parents:["int"], + objtype:"meta", + #range:[0,1] + #allowed_value:[0,1] + summary:"Yes/No values (encoded as 1/0)" +}, +{ + id:"int_list_length", + parents:["int_list"], + objtype:"meta", + list_length:0, + summary:"List of ints with constant length", + description:"Inherit required object from this and set length attribute to suitable value." +}, +{ + id:"float_list_length", + parents:["float_list"], + objtype:"meta", + list_length:0, + summary:"List of floats with constant length", + description:"Inherit required object from this and set length attribute to suitable value." +}, +{ + id:"float_list3", + parents:["float_list_length"], + list_length:3, + summary:"Float list with length of 3", + description:"Used in 3D world for various things" +}, +{ + id:"pos", + name:"position", + parents:["float_list3"], + objtype:"type", + summary:"Position coordinates, usually world is 3D" +}, +{ + id:"velocity", + parents:["float_list3"], + objtype:"type", + list_length:3, + summary:"Velocity object is moving, usually world is 3D" +}, +{ + id:"rotation", + parents:["list"], + element_type:"float_list3", + objtype:"type", + list_length:3, + summary:"Rotation matrix in 3D world", + description:"From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

+A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. +" +}, +{ + id:"list_length", + parents:["int"], + objtype:"type", + summary:"Length for lists" +}, +{ + id:"element_type", + parents:["id"], + summary:"Element type for typed lists/mappings" +}, +{ + id:"id", + parents:["uri"], + summary:"Id of object", + description:"C equivalent roughly: for storing id name: char *, as pointer: void *" +}, +{ + id:"id_list", + parents:["uri_list"], + summary:"List of ids" +}, +{ + id:"parents", + parents:["id_list"], + summary:"List of objects this inherits attributes from." +}, +{ + id:"children", + parents:["id_list"], + summary:"List of objects that inherit from this object." +}, +{ + id:"contains", + parents:["id_list"], + summary:"List of objects that use this object as reference system (usually same as what this object contains)." +}, +{ + id:"detailed_contents" + parents:["bool"], + objtype:"type", + summary:"true if contents gives more details than this object" +}, +{ + id:"added_attributes", + parents:["contains"], + summary:"List of attributes that has been added to this object" +}, +{ + id:"characters", + parents:["contains"], + summary:"List of characters account can control" +}, +{ + id:"arg", + parents:["map"], + objtype:"type", + summary:"Argument for operation" +}, +{ + id:"args_source", + parents:["list"], + objtype:"type", + summary:"List of source arguments (for combine and similar operations)" +}, +{ + id:"args_destination", + parents:["list"], + objtype:"type", + summary:"List of destination arguments (for divide and similar operations)" +}, +{ + id:"arg_names", + parents:["list"], + objtype:"type", + summary:"List argument attribute names" +}, +{ + id:"op", + parents:["map"], + objtype:"type", + summary:"Opertion that caused error as argument to error operation" +}, +{ + id:"operations", + parents:["id_list"], + summary:"List of alloved operations", + description:"Content ids can be either another interface or operation ids or both." +}, +{ + id:"stamp", + parents:["float"], + objtype:"type", + summary:"Last time this object was modified.", + description:"Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid." +}, +{ + id:"stamp_inherit", + parents:["stamp"], + objtype:"type", + summary:"Last time any object that inherits from this has been modified", + description:"Value should be reflect when something was changed in some object that inherits from this." +## get: +## id:root +## ok aloril +## stamp_inherit:100.0 +## and server then tells: what of root leaf objets have changed objects somewhere in tree +## and then client asks again objects it's interested, etc... +## so it needs to make as many trips as tree is deep (nope it of course sends several "get" operations for each depth as needed) +}, +{ + id:"stamp_contains", + parents:["stamp"], + objtype:"type", + summary:"Last time any object that uses this as reference recursively has been modified", + description:"Value should be reflect when something was changed in some object that is contained by this object." +## oh yes... now I remember why I made them different: +## they don't set contains list to certain value, they only tell about special dynamic field... +## another option instead of stamp_instance would be "contains_changed" and "instance_changed" +## and when you request it with certain stamp it would list all things that have changed: +## if contains -attribute itself has changed: it would present with new list +## Well, how does the server know to send a list of contents_changed or instances_changed instead of the object it's self? +## if only contained objects have changed (but no additions/deletions): then list only contains_changed +## Oh, so it returns all all the time. +## yes.. if it has changed.. +## example: +## table position changed: +## I understand +## stamp update: send only position +## * aloril typing for docs +## if cup added and pos changed +## *nods* +## send position, contains and contains_changed +## if cup position changed: send only contains_changed +## query -- if you are in a room/container and another actor moves an object, isnt that event propogated to all actors in the container so they can update state immedaitly ?? +## * aloril is going to commit discussion results as comments to def files (and later add them proper) +## ZW: yes +## contains_changed is when you reloginm awake, etc... or something stroll in to view +## then why would I ever need to scan for changed objects if I already have the current state ?? +## (contains_changed then is used to see what it wears now) +## ZW: then you don't... but normal clients will frequently encounter situation when they don't have current state +## k... so you are saying that if I go offline for several hours I remember the last state and lony need to get the changes when I log back in rather than all the info for the current container ??? +## ZW: When you log in and want to know what basic things have changed... for example an "account" might have an extra field +## ZW: this same method works for updating operation, class, etc.. defitions, only then it's instance_changed +## * aloril nods to ZW +## understand it at that level... was tryuing to understand in game context +## * ZW doesnt quite agree, thinks that is caching too much of the game state at the client +## hmm, but the server won't know what has changed between the clients disconnect/reconnect since an ai script has been keeping up the slack. so does the server have to store all evens since forever to know what to update from when? +## ZW: they don't need to cache... if they don't want it ;-) +## seems like client should just request full dump and then can optimize if it has stored info +## anubis, nope client stores it's latest stamp, server can always send more than needed +## Anubis -- nope -- just sends current state on connect for whats "in view" of the actor +## for example if clients latest status was: "50.0" +## aloril: but then server has to know diff between every stamp and current +## zw; that's what I was thinking +## hmm... +## for example if clients latest status was: "150.0" +## servers current state is 200.0 and latest 'saved' state is 100.0 +## then server sends changes since 100.0 +## if no saved state: send everything... +## Tacendia even goes so far as to send locations of trees/rocks.buildings/etc for the display redering... someone may have chopped down a tree :))) +## of course server could do this: save stamp for each attribute and/or stamp for object +## Er.. Traverse the tree, looking for stamps newer than what the client has, and send them all +## jamie, ohh.. thats short and good explanation +## aloril: but in most instances of long disconnects, why bother traversing the tree? wouldn't that be less effient than just a full dump? +## jamie -- on a huge world with 100,000 + objects and actors -- that could take a while :))) +## anubis, it's full dump in 10-40 iterations +## if stamp is < a certain window, do incremental +## if stamp > window, full dump +## * aloril nods to anubis +## server implementation specific how to do it +## ZW: My point: Don't send all the actors/objects, just entities with children. These are the basic structures and a very small set +## my guess is that window is going to be a matter of minutes, but you're right...its implementation specific +## just asking why I care anything about stuff outside my view -- when I walk into a new area I get the updates wether or not I've cached data +## no need to even have stamp, but .. probably useful optimization ;-) +## you should not ever been sent anything outside your view +## that would allow someone to cheat too easily +## * aloril nods to kosh +## ZW: it's client specific decision... +## ZW: if client is sophisticated: cache as much as possible +## * ZW agrees with kosh, wonders why optimizing what even in an outdoor scene is gonna be a relitivly small dataset to synchronize +## ZW: if client is simple, get everything every time (using stamp 0.0) +## stamp is probably needed for debugging/optimization, but might be ignorable for running world +## ZW: it's not actually small optimization, example: +## Aloril --- my idea of usig a cut-down server for the client would give you the sophisticated caching you need.. but dont see cause to abuse it +## ZW: you revolve: things appear and disappear in rapif succession +## ZW: of course server can do: you see to all directions ;-) +## s/rapif/rapid/ +## aloril -- you are standing in place or revolving or whatever -- averything within a certain radius was sent to you the moment you entered that radius +## now you can revolve without any updates or field of view concerns +## * aloril nods to ZW: again implementation specific +## s/you entered/the object entered/ +## if you don't make things disappear when revolving, you don't need to make them appear either.. +## ZW: the server should only send the update when you are facing the right way and its w/in the radius +## client can store info and keep displaying it, but things may jump when player turns a given direfinds things moved +## but thats not taking advantage of client caching in an obvious case where fast change of view is possible +## i.e. rotating in place +## direfinds/direction and finds +## ZW: it is, but the client won't get an update it shouldn't +## the client can assume things are static +## and that will almost always be correct +## but if I shoot an arrow at your back, you shouldn't see it +## then when I start rotating I have to wait on server latency before I see the theif creeping up behind me ??? +## there are the two cases :) +## well if something ought to stop you rotating... +## pick your balance point +## anubis -- the client may not display it, but needs to be aware of it +## *** BS_AWAY is now known as Bloodspor +## ZW: note that we assume hacked clients.. +## * Bloodspor goes to work on the waterfall again +## ZW: but the client isn't a fixed thing. we can't prevent a 'hacked' client from displaying that +## hi bloodspor +## What about the overhead client? The player will only what's in front of him? +## heya aloril +## so it ought to be controlled server side +## drew: client specific decision: it might grey things for example +## drew: I would again say you get updates from field of characters view, the rest is cached +## that are outside view +## and not updated untill in characters field of view again +## not having source code never stopped people from hacking diablo -- hacking is a price you pay for publishing a game +## ZW: yes, hacking will happen +## so prevent cheating by not giving away privledged info +## ZW: yes... thats why we design things with assumption of hacked client ;-) +## the client knows as much as the player should, is the general rule +## and reduce playability by introducing server latency in every movement the player makes... I'll risk the hackers +## ZW: client can always assume things: more client knows about server, more accurately it can simulate things +## No... I am making my client have a local cache, and update as soon as it is asked. The confirmation comes from teh server. This is just like quake works. +## ZW: you can't avoid the latency. That thief won't see you turn until your client sends the info, the server processes it, and broadcasts it +## ZW: have you read http://unreal.epicgames.com/Network.htm ? +## anubis --- I understand that -- but if I turn and he doent pop up in my field of view until have turned past him.. thats BAD +## ZW: yes. latency sucks one way or the other. various implementations can deal with that different ways. But I see your point +## ZW: thats why operations have time field: you send both appear and disappear with slightly different time attribute at the same time +## so yes... client might make some things seem like they appeared in greyed area ;-) +## but the client still doesnt have the info to display the theif until I have roated another 5/10/15 degrees/whatever amount server latency translates into).. so I turn around... there is nothing behind me -- then POOF -- there is a thief !!! (where the hell did HE come from ???) +## IRC==insta raw atlas docs ;-) +## ZW: if the client tells the server you faced the right way at the right time, it will send a thief update +## you may be overrotated a bit, but you'll suddenly see the thief +## sure -- 500-1500 milliseconds after I am facing that way !!! +## ZW: yes.. that sucks but can be little mitigated by client<->client communication +## (0.5-1.5 secs) +## (assuming far clients, or maybe by using proxy) +## ZW: turn slower ;) +## ZW: same with if you drop vase and somebody with really nice connection graps it before it breaks.. +## remember also your field of view is probably 180 degrees +## ZW: clients with nice simulated physics will see it get fixed ;-) +## sory -- I refuse to even allow the possibility in any game world I design --- but the server core will handle your way or my way just as easily -- have a blast :))) +## I guess for that matter you could just spin around all the time and see all around you. +## ZW: note that usully however things work like excepted and with proxies even more... but that is price we pay for having 'hack proof' clients +## * anubis adds a dizziness attribute +## Aloril -- how can physics fix a lack of info for physics code to operate on without the client display running lag-time *2 behind game clock ?? +## ZW: server doesn't fix anything, client fixes failed predictions +## ZW: if you couldn't do something because lag: though luck... +## by poofing up the thief after I have turned and seen an empty street +## ZW: from server viewpoint you haven't turned away from thief yet.. +## *** scromp (^bnaylor@haybaler.sackheads.org) has joined #forge +## hi scromp +## wb scromp +## the only fix is that I hit the key to turn and I dont turn until server sez I have -- introducing a lagtime*2 response delay to any action +## hi scromp +## ZW: the trick is that you have to think you could be the thief, or the victim. Try to balance the game for both. +## or have the data there and forget the hackers +## ZW: ahh.. but how often character revole continuoysly? hmm.. quick look has same effect though +## initiative plays a factor -- the thief has the advantage because he started the attack before you noticed he was there and turned +## ZW: here is solution: privileged proxy near client +## with small lag +## aloril: interesting idea +## ZW: yes.. you can send data and hope people don't use hacked client +## aloril --- while I have an idea for using multicast pipes between distributed nodes of a game world server -- I'm not sure how well that idea will work yet +## but... better assume other way... +## (software multicast routers to provide linkage between widely seperated clusters of servers processing the same game world) +## a proxy as you suggest could be a node in such a network +## yes... actually you could even kind of run your trusted client in proxy... +## all transparent to actual client and server +## if the client has data storage and access systems equivalent to a server -- which is what I'm intending +## * ZW wonders what al would think of light-weight encryption to protect the data ?? +## ZW: the encryption won't make a difference +## not make it imposibile to hack.. but harder +## ZW: 'just' additional encoding ;-) +## true -- OSS strikes again !! +## the client has to be able to decrypt the info +## ZW: ahh you mean at client? +## there was some talk of a checksum or something to give to certified clients +## data is stored encrypted and only decrypted when accessed -- prolly too much overhead +## ZW: and easily work around.. +## yes since source is available +## ZW: note that even hardware based DVD got hacked ;-) +## * ZW scraps that idea +## welp -- different methodologies are why I want the servers the way I do :))) no reason cant have it both ways in different game worlds :)) +## * aloril nods +}, +{ + id:"objtype", + name:"object type", + parents:["string"], + objtype:"type", + summary:"What kind of object this is.", + description:"Examples of values: \"op\", \"class\", \"type\"." +## What is the abstract_type field for? +## it's replacement for "op", "class", "typedef", etc.. tags +## for extension of the protocol? +## ie we are likely going to have 'human' XML encoding that uses those as tags some way +## cyanide, yes and making things simple at encoding level +}, +{ + id:"interface", + parents:["id"], + summary:"What kind of operations are legal for this object." +}, +{ + id:"specification", + parents:["string"], + objtype:"type", + summary:"What specification this object is part of?" +}, +{ + id:"name", + parents:["string"], + objtype:"type", + summary:"Name of object." +}, +{ + id:"message", + parents:["string"], + objtype:"type", + summary:"Some message (for example error message)" +}, +{ + id:"say", + parents:["message"], + summary:"What something has said." +}, +{ + id:"text", + parents:["message"], + summary:"Text of textual object", + description:"Text of objects like signs, posters, books, chess board letters, etc..: these are meant to be displayed as text in screen" +}, +{ + id:"html", + parents:["string"], + objtype:"type", + summary:"String that is actually html." +}, +{ + id:"password", + parents:["string"], + objtype:"type", + summary:"Password for account usually" +}, +{ + id:"summary", + parents:["html"], + summary:"This gives short description of object, usually about 1 line." +}, +{ + id:"arg_description", + parents:["description"], + summary:"This gives description about arguments." +}, +{ + id:"description", + parents:["summary"], + summary:"This gives long description of object: few lines to few pages" +}, +{ + id:"loc", + name:"location", + parents:["id"], + objtype:"type", + summary:"Reference object for coordinates (location)." +}, +{ + id:"serialno", + parents:["int"], + objtype:"type", + summary:"Serial number." +}, +{ + id:"refno", + parents:["serialno"], + summary:"Reference to serial number." +}, +{ + id:"refid", + parents:["id"], + summary:"Reference to id" +}, +{ + id:"no", + parents:["int"], + summary:"Number (for example error number)." +}, +{ + id:"from", + parents:["id"], + summary:"Source of message/operation." +}, +{ + id:"to", + parents:["id"], + summary:"Target of message/operation.", + description:"When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body." +}, +{ + id:"seconds", + parents:["float"], + objtype:"type", + summary:"Time in seconds" +}, +{ + id:"future_seconds", + parents:["seconds"], + summary:"Time in seconds to add current time" +}, +{ + id:"time_string", + parents:["string"], + objtype:"type", + summary:"Time in string format: YYYY-MM-DD HH:MM:SS.ss", + description:"There can be variation in length of different fields if using some weird calendar" +}, +{ + id:"example", + parents:["list"], + objtype:"type", + summary:"Gives some examples usage" +}, +#attributes for map +{ + id:"coord_id_list", + parents:["id_list"], + summary:"Pointer to coordinates" +}, +{ + id:"coord_id_list_length", + parents:["coord_id_list"], + list_length:0, + summary:"Fixed length coordinate pointer list" +}, +{ + id:"triangle", + parents:["coord_id_list_length"], + list_length:3, + summary:"Pointers to triangle points" +}, +{ + id:"tetrahedron", + parents:["coord_id_list_length"], + list_length:4, + summary:"Pointers to tetrahedron points" +}, +{ + id:"triangle_list", + parents:["list"], + element_type:"triangle", + objtype:"type", + summary:"List of triangles" +}, +{ + id:"tetrahedron_list", + parents:["list"], + element_type:"tetrahedron", + objtype:"type", + summary:"List of tetrahedrons" +}, +{ + id:"polyline", + parents:["coord_id_list"], + summary:"Ids of points that polyline consists of" + description:"see maps/semantic_maps.pdf for more info." +}, +{ + id:"area", + parents:["triangle_list"], + summary:"triangles area consist of" + description:"see maps/semantic_maps.pdf for more info." +}, +{ + id:"volume", + parents:["tetrahedron_list"], + summary:"tetrahedrons volume consist of" + description:"see maps/semantic_maps.pdf for more info." +}, +{ + id:"glue_ids", + parents:["list"], + summary:"List ids that glue objects together", + description:"See glue_geometry for more info" +}, +{ + id:"pos_list", + parents:["list"], + objtype:"type", + element_type:"pos", + summary:"list of coordinates" +}, +{ + id:"p", + parents:["pos_list"] +}, +{ + id:"glue", + parents:["id_list"], + summary:"Ids of glue objects that glue this to other objects" + description:"**not written yet**" +}, +{ + id:"root_object", + parents:["id"], + summary:"Id of root object", + description:"This usually has value \"root\", but can also have something like: \"world45/root\" + or even \"atlas://other.server.org/world5/root\"" +}, +{ + id:"media_roots", + parents:["id_list"], + summary:"List of media servers basically", + description:"List ids of root_media_info: can be on same server or at different server: + see root_object attribute definition for more info" +}, +#attributes for debugging +{ + id:"specification_file", + parents:["map"], + objtype:"type", + summary:"various info about object and its specification file" +}, +{ + id:"filename", + parents:["uri"], + summary:"name of file (example: where object was specified)" +}, +{ + id:"lineno", + parents:["serialno"], + summary:"linenumber where something is" +}, +{ + id:"attribute_order", + parents:["id_list"], + summary:"order attributes was specified" +}, +#attributes for examples +{ + id:"e_int", + parents:["int"], + objtype:"type", + summary:"Root type for all int type example attributes" +}, +{ + id:"e_float", + parents:["float"], + objtype:"type", + summary:"Root type for all float type example attributes" +}, +{ + id:"e_string", + parents:["string"], + objtype:"type", + summary:"Root type for all string type example attributes" +}, +{ + id:"e_uri", + parents:["uri"], + summary:"Root type for all uri type example attributes" +}, +{ + id:"e_list", + parents:["list"], + objtype:"type", + summary:"Root type for all list type example attributes" +}, + +{ + id:"e_HP", + parents:["e_int"] +}, +{ + id:"e_height", + parents:["e_float"] +}, +{ + id:"e_width", + parents:["e_float"] +}, +{ + id:"e_msg", + parents:["e_string"] +}, +{ + id:"e_attack", + parents:["e_int"] +}, +{ + id:"e_amount", + parents:["e_int"] +}, +{ + id:"e_smell", + parents:["e_string"] +}, +{ + id:"e_surface_type", + parents:["e_string"] +}, +{ + id:"e_bar", + parents:["e_string"] +}, +{ + id:"e_sex", + parents:["e_string"] +}, +{ + id:"e_drunkness", + parents:["e_float"] +}, +{ + id:"e_status", + parents:["e_float"] +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/type.def atlas-cpp-0.6.3/protocol/spec/type.def --- atlas-cpp-0.6.2/protocol/spec/type.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/type.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,719 @@ +#Modeline for XEmacs: -*-Python-*- +:map: + id:"root_type" + parents:["root"] + objtype:"meta" + description:"Type hierarchy starts from here." + +:map: + id:"string" + parents:["root_type"] + objtype:"data_type" + description:"UTF-8 encoded string." + long_description:"Any character is allowed, including 8 bit control characters and '\\0', C equivalent: {int len; char *data;}, C++: string" + +:map: + id:"int" + parents:["root_type"] + objtype:"data_type" + description:"Integer." + long_description:"C equivalent: 32bit int" + +:map: + id:"float" + parents:["root_type"] + objtype:"data_type" + description:"Floating point number." + long_description:"C equivalent roughly: double" + +:map: + id:"uri" + parents:["string"] + objtype:"type" + description:"URI (URL) of object" + long_description:"""C equivalent roughly: for storing id name: char *, as pointer: void *
+URI is Uniform Resource Locator. +For more about URI see +http://www.ics.uci.edu/pub/ietf/uri/""" + +#more about ID when discussing about MIM (Media Independant Map) -format +## But do they all have object IDs, and how do we keep them seperate from the world ids? +## and client can load tgz file too of course.. +## ahh... namespace question... +## well that is problem: current atlas has server specific flat id space for *everything* +## Yes, and do operations share namespace with objects, and can we overload operations? +## (attribute names, operations, classes, object ids, type, etc...) +## Can we overload operations? I think so, looking at the specs +## hmm... would that be inheritance? +## ie client doesn't know what it's and uses parent definition instead +## sorry afk walking someone through installing windows 98 +## I am not sure.. But if I pass it a list/int or 3 ints seperatly a move might be able to understand both... location=(1,2,3) or x=1,y=2,z=3... +## about how to keep MIM id's separate from world ids... server specific thing, could for example add 'M' to start... +## ahh... that... hmm.. probably better have only one format when transmitting.. +## Well, I see the world made up as alot of MIM maps all connected, so ids between maps need to be kept seperate as well. Why not anything with MIM_ in the xml spec or some other special code in other specs to identify it? +## everyone has to feel sorry for me since I am walking someone through isntalling windows 98 +## :) +## jamie, server can freely use whatever id scheme it wants... +## thats why they are strings ;-) +## True +## for example: "M_area1_123" +## But protocols can drop the strings and use anything it wants, as long as it keeps a conversion list local. +## client of course can keeps it's own id system and translate between strings and ints .. +## * aloril nods +## server ha total freedom in ids, client's must translate.. +## So if I map "Mim_area1_123" to 1233455 the protocol only needs to handle int's, and it can make up anything on the client side. +## ie this is case where we sacrifice some 0.01% of client CPU for server ;-) +## *nods* +## kosh, how can someone not be able to do it alone? +## you would be amazed +## or was it 0.1% don't remember offhand but it was really small amount... +## Not a large one. +## only restriction is that you can't use '/' character and similar characters that are used in URI for other purposes +## much more time goes for marshalling all tags but still probably <1% +## (assuming binary here) +## drew after walking a newbie through windows over the phone I saw all the points they got hung up one windows is not easy to install +## kosh, oh? Such as? (I'm not defending Win, just curious since I think it's so easy) +## I thought it was easy also but things like installing drivers she got hung up on +## or how to just start +## Ah, I see. +## we had to change her BIOS to support CD rom booting to continue +## another example was when installing on some menus she asked me what the question meant since she did not understand +## Hmm. +## * Drew points kosh to #lounge... +## * Drew knows that he might be too busy. +## hmm... mail.worldforge.org seems down... +## if we used ints: +## Integer: 1100K/s +## String: 350K/s +## client needs to still do map (or hash lookup) above is STL map +## Lets assume 10B/msg. +## Lets assume about 8KB/s or 800msg/s in bandwidth. +## Integer: 0.07% of CPU. +## String: 0.2% of CPU. +## Result: 0.13% difference +## whole message is at scripting@ archives +## 19 May 1999 11:50:34 +0300 +## Subject: Re: [Worldforge-Scripting] Re: Atlas: Id +## with test program too... it uses STL map (hmm... is map implemented using hash or ?) + +:map: + id:"string_list" + parents:["list"] + objtype:"type" + element_type:"string" + description:"List of strings" + +:map: + id:"int_list" + parents:["list"] + objtype:"type" + element_type:"int" + description:"List of integers" + long_description:"C equivalent: int []" + +:map: + id:"float_list" + parents:["list"] + objtype:"type" + element_type:"float" + description:"List of floats" + long_description:"C equivalent: double []" + +:map: + id:"uri_list" + parents:["string_list"] + element_type:"uri" + description:"URI list" + long_description:"C equivalent: char *[], void *[]" + +:map: + id:"list" + parents:["root_type"] + objtype:"data_type" + description:"List of objects" + long_description:"C equivalent: void *[]" + added_attributes:[] + +:map: + id:"map" + name:"mapping" + parents:["root_type"] + objtype:"data_type" + description:"Mapping between string key and value object" + long_description:"C equivalent: struct map {char *;void *}; map*" + added_attributes:[] + +:map: + id:"int_list_length" + parents:["int_list"] + objtype:"meta" + list_length:0 + description:"List of ints with constant length" + long_description:"Inherit required object from this and set length attribute to suitable value." + +:map: + id:"float_list_length" + parents:["float_list"] + objtype:"meta" + list_length:0 + description:"List of floats with constant length" + long_description:"Inherit required object from this and set length attribute to suitable value." + +:map: + id:"pos" + name:"position" + parents:["float_list_length"] + objtype:"type" + list_length:3 + description:"Position coordinates, usually world is 3D" + +:map: + id:"velocity" + parents:["float_list_length"] + objtype:"type" + list_length:3 + description:"Velocity object is moving, usually world is 3D" + +:map: + id:"list_length" + parents:["int"] + objtype:"type" + description:"Length for lists" + +:map: + id:"element_type" + parents:["id"] + description:"Element type for typed lists/mappings" + +:map: + id:"id" + parents:["uri"] + description:"Id of object" + long_description:"C equivalent roughly: for storing id name: char *, as pointer: void *" + +:map: + id:"id_list" + parents:["uri_list"] + description:"List of ids" + +:map: + id:"parents" + parents:["id_list"] + description:"List of objects this inherits attributes from." + +:map: + id:"children" + parents:["id_list"] + description:"List of objects that inherit from this object." + +:map: + id:"contains" + parents:["id_list"] + description:"List of objects that use this object as reference system (usually same as what this object contains)." + +:map: + id:"added_attributes" + parents:["contains"] + description:"List of attributes that has been added to this object" + +:map: + id:"characters" + parents:["contains"] + description:"List of characters account can control" + +:map: + id:"args" + parents:["list"] + objtype:"type" + description:"List of arguments this operation has" + +:map: + id:"operations" + parents:["id_list"] + description:"List of alloved operations" + long_description:"Content ids can be either another interface or operation ids or both." + +:map: + id:"stamp" + parents:["float"] + objtype:"type" + description:"Last time this object was modified." + long_description:"""Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid.""" + +:map: + id:"stamp_inherit" + parents:["stamp"] + objtype:"type" + description:"Last time any object that inherits from this has been modified" + long_description:"Value should be reflect when something was changed in some object that inherits from this." +## get: +## id:root +## ok aloril +## stamp_inherit:100.0 +## and server then tells: what of root leaf objets have changed objects somewhere in tree +## and then client asks again objects it's interested, etc... +## so it needs to make as many trips as tree is deep (nope it of course sends several "get" operations for each depth as needed) + +:map: + id:"stamp_contains" + parents:["stamp"] + objtype:"type" + description:"Last time any object that uses this as reference recursively has been modified" + long_description:"Value should be reflect when something was changed in some object that is contained by this object." + +## oh yes... now I remember why I made them different: +## they don't set contains list to certain value, they only tell about special dynamic field... +## another option instead of stamp_instance would be "contains_changed" and "instance_changed" +## and when you request it with certain stamp it would list all things that have changed: +## if contains -attribute itself has changed: it would present with new list +## Well, how does the server know to send a list of contents_changed or instances_changed instead of the object it's self? +## if only contained objects have changed (but no additions/deletions): then list only contains_changed +## Oh, so it returns all all the time. +## yes.. if it has changed.. +## example: +## table position changed: +## I understand +## stamp update: send only position +## * aloril typing for docs +## if cup added and pos changed +## *nods* +## send position, contains and contains_changed +## if cup position changed: send only contains_changed +## query -- if you are in a room/container and another actor moves an object, isnt that event propogated to all actors in the container so they can update state immedaitly ?? +## * aloril is going to commit discussion results as comments to def files (and later add them proper) +## ZW: yes +## contains_changed is when you reloginm awake, etc... or something stroll in to view +## then why would I ever need to scan for changed objects if I already have the current state ?? +## (contains_changed then is used to see what it wears now) +## ZW: then you don't... but normal clients will frequently encounter situation when they don't have current state +## k... so you are saying that if I go offline for several hours I remember the last state and lony need to get the changes when I log back in rather than all the info for the current container ??? +## ZW: When you log in and want to know what basic things have changed... for example an "account" might have an extra field +## ZW: this same method works for updating operation, class, etc.. defitions, only then it's instance_changed +## * aloril nods to ZW +## understand it at that level... was tryuing to understand in game context +## * ZW doesnt quite agree, thinks that is caching too much of the game state at the client +## hmm, but the server won't know what has changed between the clients disconnect/reconnect since an ai script has been keeping up the slack. so does the server have to store all evens since forever to know what to update from when? +## ZW: they don't need to cache... if they don't want it ;-) +## seems like client should just request full dump and then can optimize if it has stored info +## anubis, nope client stores it's latest stamp, server can always send more than needed +## Anubis -- nope -- just sends current state on connect for whats "in view" of the actor +## for example if clients latest status was: "50.0" +## aloril: but then server has to know diff between every stamp and current +## zw; that's what I was thinking +## hmm... +## for example if clients latest status was: "150.0" +## servers current state is 200.0 and latest 'saved' state is 100.0 +## then server sends changes since 100.0 +## if no saved state: send everything... +## Tacendia even goes so far as to send locations of trees/rocks.buildings/etc for the display redering... someone may have chopped down a tree :))) +## of course server could do this: save stamp for each attribute and/or stamp for object +## Er.. Traverse the tree, looking for stamps newer than what the client has, and send them all +## jamie, ohh.. thats short and good explanation +## aloril: but in most instances of long disconnects, why bother traversing the tree? wouldn't that be less effient than just a full dump? +## jamie -- on a huge world with 100,000 + objects and actors -- that could take a while :))) +## anubis, it's full dump in 10-40 iterations +## if stamp is < a certain window, do incremental +## if stamp > window, full dump +## * aloril nods to anubis +## server implementation specific how to do it +## ZW: My point: Don't send all the actors/objects, just entities with children. These are the basic structures and a very small set +## my guess is that window is going to be a matter of minutes, but you're right...its implementation specific +## just asking why I care anything about stuff outside my view -- when I walk into a new area I get the updates wether or not I've cached data +## no need to even have stamp, but .. probably useful optimization ;-) +## you should not ever been sent anything outside your view +## that would allow someone to cheat too easily +## * aloril nods to kosh +## ZW: it's client specific decision... +## ZW: if client is sophisticated: cache as much as possible +## * ZW agrees with kosh, wonders why optimizing what even in an outdoor scene is gonna be a relitivly small dataset to synchronize +## ZW: if client is simple, get everything every time (using stamp 0.0) +## stamp is probably needed for debugging/optimization, but might be ignorable for running world +## ZW: it's not actually small optimization, example: +## Aloril --- my idea of usig a cut-down server for the client would give you the sophisticated caching you need.. but dont see cause to abuse it +## ZW: you revolve: things appear and disappear in rapif succession +## ZW: of course server can do: you see to all directions ;-) +## s/rapif/rapid/ +## aloril -- you are standing in place or revolving or whatever -- averything within a certain radius was sent to you the moment you entered that radius +## now you can revolve without any updates or field of view concerns +## * aloril nods to ZW: again implementation specific +## s/you entered/the object entered/ +## if you don't make things disappear when revolving, you don't need to make them appear either.. +## ZW: the server should only send the update when you are facing the right way and its w/in the radius +## client can store info and keep displaying it, but things may jump when player turns a given direfinds things moved +## but thats not taking advantage of client caching in an obvious case where fast change of view is possible +## i.e. rotating in place +## direfinds/direction and finds +## ZW: it is, but the client won't get an update it shouldn't +## the client can assume things are static +## and that will almost always be correct +## but if I shoot an arrow at your back, you shouldn't see it +## then when I start rotating I have to wait on server latency before I see the theif creeping up behind me ??? +## there are the two cases :) +## well if something ought to stop you rotating... +## pick your balance point +## anubis -- the client may not display it, but needs to be aware of it +## *** BS_AWAY is now known as Bloodspor +## ZW: note that we assume hacked clients.. +## * Bloodspor goes to work on the waterfall again +## ZW: but the client isn't a fixed thing. we can't prevent a 'hacked' client from displaying that +## hi bloodspor +## What about the overhead client? The player will only what's in front of him? +## heya aloril +## so it ought to be controlled server side +## drew: client specific decision: it might grey things for example +## drew: I would again say you get updates from field of characters view, the rest is cached +## that are outside view +## and not updated untill in characters field of view again +## not having source code never stopped people from hacking diablo -- hacking is a price you pay for publishing a game +## ZW: yes, hacking will happen +## so prevent cheating by not giving away privledged info +## ZW: yes... thats why we design things with assumption of hacked client ;-) +## the client knows as much as the player should, is the general rule +## and reduce playability by introducing server latency in every movement the player makes... I'll risk the hackers +## ZW: client can always assume things: more client knows about server, more accurately it can simulate things +## No... I am making my client have a local cache, and update as soon as it is asked. The confirmation comes from teh server. This is just like quake works. +## ZW: you can't avoid the latency. That thief won't see you turn until your client sends the info, the server processes it, and broadcasts it +## ZW: have you read http://unreal.epicgames.com/Network.htm ? +## anubis --- I understand that -- but if I turn and he doent pop up in my field of view until have turned past him.. thats BAD +## ZW: yes. latency sucks one way or the other. various implementations can deal with that different ways. But I see your point +## ZW: thats why operations have time field: you send both appear and disappear with slightly different time attribute at the same time +## so yes... client might make some things seem like they appeared in greyed area ;-) +## but the client still doesnt have the info to display the theif until I have roated another 5/10/15 degrees/whatever amount server latency translates into).. so I turn around... there is nothing behind me -- then POOF -- there is a thief !!! (where the hell did HE come from ???) +## IRC==insta raw atlas docs ;-) +## ZW: if the client tells the server you faced the right way at the right time, it will send a thief update +## you may be overrotated a bit, but you'll suddenly see the thief +## sure -- 500-1500 milliseconds after I am facing that way !!! +## ZW: yes.. that sucks but can be little mitigated by client<->client communication +## (0.5-1.5 secs) +## (assuming far clients, or maybe by using proxy) +## ZW: turn slower ;) +## ZW: same with if you drop vase and somebody with really nice connection graps it before it breaks.. +## remember also your field of view is probably 180 degrees +## ZW: clients with nice simulated physics will see it get fixed ;-) +## sory -- I refuse to even allow the possibility in any game world I design --- but the server core will handle your way or my way just as easily -- have a blast :))) +## I guess for that matter you could just spin around all the time and see all around you. +## ZW: note that usully however things work like excepted and with proxies even more... but that is price we pay for having 'hack proof' clients +## * anubis adds a dizziness attribute +## Aloril -- how can physics fix a lack of info for physics code to operate on without the client display running lag-time *2 behind game clock ?? +## ZW: server doesn't fix anything, client fixes failed predictions +## ZW: if you couldn't do something because lag: though luck... +## by poofing up the thief after I have turned and seen an empty street +## ZW: from server viewpoint you haven't turned away from thief yet.. +## *** scromp (^bnaylor@haybaler.sackheads.org) has joined #forge +## hi scromp +## wb scromp +## the only fix is that I hit the key to turn and I dont turn until server sez I have -- introducing a lagtime*2 response delay to any action +## hi scromp +## ZW: the trick is that you have to think you could be the thief, or the victim. Try to balance the game for both. +## or have the data there and forget the hackers +## ZW: ahh.. but how often character revole continuoysly? hmm.. quick look has same effect though +## initiative plays a factor -- the thief has the advantage because he started the attack before you noticed he was there and turned +## ZW: here is solution: privileged proxy near client +## with small lag +## aloril: interesting idea +## ZW: yes.. you can send data and hope people don't use hacked client +## aloril --- while I have an idea for using multicast pipes between distributed nodes of a game world server -- I'm not sure how well that idea will work yet +## but... better assume other way... +## (software multicast routers to provide linkage between widely seperated clusters of servers processing the same game world) +## a proxy as you suggest could be a node in such a network +## yes... actually you could even kind of run your trusted client in proxy... +## all transparent to actual client and server +## if the client has data storage and access systems equivalent to a server -- which is what I'm intending +## * ZW wonders what al would think of light-weight encryption to protect the data ?? +## ZW: the encryption won't make a difference +## not make it imposibile to hack.. but harder +## ZW: 'just' additional encoding ;-) +## true -- OSS strikes again !! +## the client has to be able to decrypt the info +## ZW: ahh you mean at client? +## there was some talk of a checksum or something to give to certified clients +## data is stored encrypted and only decrypted when accessed -- prolly too much overhead +## ZW: and easily work around.. +## yes since source is available +## ZW: note that even hardware based DVD got hacked ;-) +## * ZW scraps that idea +## welp -- different methodologies are why I want the servers the way I do :))) no reason cant have it both ways in different game worlds :)) +## * aloril nods + + +:map: + id:"objtype" + name:"object type" + parents:["string"] + objtype:"type" + description:"What kind of object this is." + long_description:"""Examples of values: "op", "class", "type".""" +## What is the abstract_type field for? +## it's replacement for "op", "class", "typedef", etc.. tags +## for extension of the protocol? +## ie we are likely going to have 'human' XML encoding that uses those as tags some way +## cyanide, yes and making things simple at encoding level + +:map: + id:"interface" + parents:["id"] + description:"What kind of operations are legal for this object." + +:map: + id:"specification" + parents:["string"] + objtype:"type" + description:"What specification this object is part of?" + +:map: + id:"name" + parents:["string"] + objtype:"type" + description:"Name of object." + +:map: + id:"message" + parents:["string"] + objtype:"type" + description:"Some message (for example error message)" + +:map: + id:"say" + parents:["message"] + description:"What something has said." + +:map: + id:"html" + parents:["string"] + objtype:"type" + description:"String that is actually html." + +:map: + id:"username" + parents:["string"] + objtype:"type" + description:"Username for account usually" + +:map: + id:"password" + parents:["string"] + objtype:"type" + description:"Password for account usually" + +:map: + id:"description" + parents:["html"] + description:"This gives short description of object." + +:map: + id:"args_description" + parents:["description"] + description:"This gives description about arguments." + +:map: + id:"long_description" + parents:["description"] + description:"This gives long description of object." + +:map: + id:"loc" + name:"location" + parents:["id"] + objtype:"type" + description:"Reference object for coordinates (location)." + +:map: + id:"serialno" + parents:["int"] + objtype:"type" + description:"Serial number." + +:map: + id:"refno" + parents:["serialno"] + description:"Reference to serial number." + +:map: + id:"from" + parents:["id"] + description:"Source of message/operation." + +:map: + id:"to" + parents:["id"] + description:"Target of message/operation." + long_description:"""When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body.""" + +:map: + id:"seconds" + parents:["float"] + objtype:"type" + description:"Time in seconds" + +:map: + id:"future_seconds" + parents:["seconds"] + description:"Time in seconds to add current time" + +:map: + id:"time_string" + parents:["string"] + objtype:"type" + description:"Time in string format: YYYY-MM-DD HH:MM:SS.ss" + long_description:"There can be variation in length of different fields if using some weird calendar" + +:map: + id:"example" + parents:["list"] + objtype:"type" + description:"Gives some examples usage" + +#attributes for map +:map: + id:"width" + parents:["float"] + objtype:"type" + description:"width of something" + +:map: + id:"grid_data" + parents:["list"] + objtype:"type" + description:"grid data" + +:map: + id:"grid_size" + parents:["int_list_length"] + objtype:"type" + list_length:2 + description:"size of grid area: width and height (and for space depth too) in grid units" + +:map: + id:"cell_size" + parents:["float_list_length"] + objtype:"type" + list_length:2 + description:"cell size of grid area" + +:map: + id:"height" + parents:["float"] + objtype:"type" + description:"height of something" + +:map: + id:"line_data" + parents:["list"] + objtype:"type" + description:"line object" + +:map: + id:"media" + parents:["uri"] + description:"media id reference" + +#attributes for debugging +:map: + id:"specification_file" + parents:["map"] + objtype:"type" + description:"various info about object and its specification file" + +:map: + id:"filename" + parents:["uri"] + description:"name of file (example: where object was specified)" + +:map: + id:"lineno" + parents:["serialno"] + description:"linenumber where something is" + +:map: + id:"attribute_order" + parents:["uri_list"] + description:"order attributes was specified" + +#attributes for examples +:map: + id:"e_int" + parents:["int"] + objtype:"type" + description:"Root type for all int type example attributes" + +:map: + id:"e_float" + parents:["float"] + objtype:"type" + description:"Root type for all float type example attributes" + +:map: + id:"e_string" + parents:["string"] + objtype:"type" + description:"Root type for all string type example attributes" + +:map: + id:"e_uri" + parents:["uri"] + description:"Root type for all uri type example attributes" + +:map: + id:"e_list" + parents:["list"] + objtype:"type" + description:"Root type for all list type example attributes" + + +:map: + id:"e_HP" + parents:["e_int"] + +:map: + id:"e_height" + parents:["e_float"] + +:map: + id:"e_width" + parents:["e_float"] + +:map: + id:"e_msg" + parents:["e_string"] + +:map: + id:"e_polygon" + parents:["e_list"] + +:map: + id:"e_attack" + parents:["e_int"] + +:map: + id:"e_amount" + parents:["e_int"] + +:map: + id:"e_smell" + parents:["e_string"] + +:map: + id:"e_surface_type" + parents:["e_string"] + +:map: + id:"e_bar" + parents:["e_string"] + +:map: + id:"e_sex" + parents:["e_string"] + +:map: + id:"e_drunkness" + parents:["e_float"] + +:map: + id:"e_status" + parents:["e_float"] + diff -Nru atlas-cpp-0.6.2/protocol/spec/type.html atlas-cpp-0.6.3/protocol/spec/type.html --- atlas-cpp-0.6.2/protocol/spec/type.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/type.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,3388 @@ + + + + + Types + + + +

Types

+ + All types inherited directly from "type" are data types. Others + are for informational purposes and not used in coding tags. + +

Entity class tree

+ + + + +

root_type

+ Attribute list: +
    +
  • children (encoding:list): Value: ['string', 'int', 'float', 'list', 'map'] C equivalent: char *[], void *[] +
  • description (inherited from root) (encoding:string): Value:
    +You can browse all definitions starting from here and +descending into childrens.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: root_type C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Type hierarchy starts from here.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["string", "int", "float", "list", "map"],
+	id: "root_type",
+	objtype: "meta",
+	parents: ["root"],
+	summary: "Type hierarchy starts from here."
+}
+
+    

string

+ Attribute list: +
    +
  • children (encoding:list): Value: ['uri', 'objtype', 'specification', 'name', 'message', 'html', 'password', 'time_string', 'e_string'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: string C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_type'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +UTF-8 encoded string.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["uri", "objtype", "specification", "name", "message", "html", "password", "time_string", "e_string"],
+	description: "Any character is allowed, including 8 bit control characters and '\\0', C equivalent: {int len; char *data;}, C++: string",
+	id: "string",
+	objtype: "data_type",
+	parents: ["root_type"],
+	summary: "UTF-8 encoded string."
+}
+
+    

uri

+ Attribute list: +
    +
  • children (encoding:list): Value: ['id', 'filename', 'e_uri'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +URI is Uniform Resource Locator. +For more about URI see +http://www.ics.uci.edu/pub/ietf/uri/
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +URI (URL) of object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["id", "filename", "e_uri"],
+	description: "C equivalent roughly: for storing id name: char *, as pointer: void *<br>
+URI is Uniform Resource Locator.
+For more about URI see 
+<a href=\"http://www.ics.uci.edu/pub/ietf/uri/\">http://www.ics.uci.edu/pub/ietf/uri/</a>",
+	id: "uri",
+	objtype: "type",
+	parents: ["string"],
+	summary: "URI (URL) of object"
+}
+
+    

id

+ Attribute list: +
    +
  • children (encoding:list): Value: ['element_type', 'interface', 'loc', 'refid', 'from', 'to', 'root_object'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: id C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['uri'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Id of object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["element_type", "interface", "loc", "refid", "from", "to", "root_object"],
+	description: "C equivalent roughly: for storing id name: char *, as pointer: void *",
+	id: "id",
+	parents: ["uri"],
+	summary: "Id of object"
+}
+
+    

element_type

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from id) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: element_type C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Element type for typed lists/mappings
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "element_type",
+	parents: ["id"],
+	summary: "Element type for typed lists/mappings"
+}
+
+    

interface

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from id) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +What kind of operations are legal for this object.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "interface",
+	parents: ["id"],
+	summary: "What kind of operations are legal for this object."
+}
+
+    

loc

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from id) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: loc C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (encoding:string): Value: location Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Reference object for coordinates (location).
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "loc",
+	name: "location",
+	objtype: "type",
+	parents: ["id"],
+	summary: "Reference object for coordinates (location)."
+}
+
+    

refid

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from id) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: refid C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Reference to id
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "refid",
+	parents: ["id"],
+	summary: "Reference to id"
+}
+
+    

from

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from id) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: from C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Source of message/operation.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "from",
+	parents: ["id"],
+	summary: "Source of message/operation."
+}
+
+    

to

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +When client sends operation to it's character + in server, then you can omit this because server can assume + character can only control directly it's body.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: to C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Target of message/operation.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "When client sends operation to it's character
+    in server, then you can omit this because server can assume
+    character can only control directly it's body.",
+	id: "to",
+	parents: ["id"],
+	summary: "Target of message/operation."
+}
+
+    

root_object

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +This usually has value "root", but can also have something like: "world45/root" + or even "atlas://other.server.org/world5/root"
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: root_object C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Id of root object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "This usually has value \"root\", but can also have something like: \"world45/root\"
+    or even \"atlas://other.server.org/world5/root\"",
+	id: "root_object",
+	parents: ["id"],
+	summary: "Id of root object"
+}
+
+    

filename

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +URI is Uniform Resource Locator. +For more about URI see +http://www.ics.uci.edu/pub/ietf/uri/
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: filename C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['uri'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +name of file (example: where object was specified)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "filename",
+	parents: ["uri"],
+	summary: "name of file (example: where object was specified)"
+}
+
+    

e_uri

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri) (encoding:string): Value:
    +C equivalent roughly: for storing id name: char *, as pointer: void *
    +URI is Uniform Resource Locator. +For more about URI see +http://www.ics.uci.edu/pub/ietf/uri/
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from uri) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['uri'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Root type for all uri type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_uri",
+	parents: ["uri"],
+	summary: "Root type for all uri type example attributes"
+}
+
+    

objtype

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Examples of values: "op", "class", "type".
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: objtype C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (encoding:string): Value: object type Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +What kind of object this is.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Examples of values: \"op\", \"class\", \"type\".",
+	id: "objtype",
+	name: "object type",
+	objtype: "type",
+	parents: ["string"],
+	summary: "What kind of object this is."
+}
+
+    

specification

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: specification C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +What specification this object is part of?
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "specification",
+	objtype: "type",
+	parents: ["string"],
+	summary: "What specification this object is part of?"
+}
+
+    

name

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: name C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Name of object.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "name",
+	objtype: "type",
+	parents: ["string"],
+	summary: "Name of object."
+}
+
+    

message

+ Attribute list: +
    +
  • children (encoding:list): Value: ['say', 'text'] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: message C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Some message (for example error message)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["say", "text"],
+	id: "message",
+	objtype: "type",
+	parents: ["string"],
+	summary: "Some message (for example error message)"
+}
+
+    

say

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: say C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from message) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['message'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +What something has said.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "say",
+	parents: ["message"],
+	summary: "What something has said."
+}
+
+    

text

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Text of objects like signs, posters, books, chess board letters, etc..: these are meant to be displayed as text in screen
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: text C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from message) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['message'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Text of textual object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Text of objects like signs, posters, books, chess board letters, etc..: these are meant to be displayed as text in screen",
+	id: "text",
+	parents: ["message"],
+	summary: "Text of textual object"
+}
+
+    

html

+ Attribute list: +
    +
  • children (encoding:list): Value: ['summary'] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: html C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +String that is actually html.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["summary"],
+	id: "html",
+	objtype: "type",
+	parents: ["string"],
+	summary: "String that is actually html."
+}
+
+    

summary

+ Attribute list: +
    +
  • children (encoding:list): Value: ['description'] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: summary C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from html) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['html'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +This gives short description of object, usually about 1 line.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["description"],
+	id: "summary",
+	parents: ["html"],
+	summary: "This gives short description of object, usually about 1 line."
+}
+
+    

description

+ Attribute list: +
    +
  • children (encoding:list): Value: ['arg_description'] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: description C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from html) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['summary'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +This gives long description of object: few lines to few pages
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["arg_description"],
+	id: "description",
+	parents: ["summary"],
+	summary: "This gives long description of object: few lines to few pages"
+}
+
+    

arg_description

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: arg_description C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from html) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['description'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +This gives description about arguments.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "arg_description",
+	parents: ["description"],
+	summary: "This gives description about arguments."
+}
+
+    

password

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: password C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Password for account usually
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "password",
+	objtype: "type",
+	parents: ["string"],
+	summary: "Password for account usually"
+}
+
+    

time_string

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +There can be variation in length of different fields if using some weird calendar
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: time_string C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Time in string format: YYYY-MM-DD HH:MM:SS.ss
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "There can be variation in length of different fields if using some weird calendar",
+	id: "time_string",
+	objtype: "type",
+	parents: ["string"],
+	summary: "Time in string format: YYYY-MM-DD HH:MM:SS.ss"
+}
+
+    

e_string

+ Attribute list: +
    +
  • children (encoding:list): Value: ['e_msg', 'e_smell', 'e_surface_type', 'e_bar', 'e_sex'] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_string C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["e_msg", "e_smell", "e_surface_type", "e_bar", "e_sex"],
+	id: "e_string",
+	objtype: "type",
+	parents: ["string"],
+	summary: "Root type for all string type example attributes"
+}
+
+    

e_msg

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_msg C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_string) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_string) (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_msg",
+	parents: ["e_string"]
+}
+
+    

e_smell

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_smell C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_string) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_string) (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_smell",
+	parents: ["e_string"]
+}
+
+    

e_surface_type

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_surface_type C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_string) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_string) (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_surface_type",
+	parents: ["e_string"]
+}
+
+    

e_bar

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_bar C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_string) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_string) (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_bar",
+	parents: ["e_string"]
+}
+
+    

e_sex

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from string) (encoding:string): Value:
    +Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_sex C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_string) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_string'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_string) (encoding:string): Value:
    +Root type for all string type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_sex",
+	parents: ["e_string"]
+}
+
+    

int

+ Attribute list: +
    +
  • children (encoding:list): Value: ['bool', 'list_length', 'serialno', 'no', 'e_int'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: int C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_type'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Integer.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["bool", "list_length", "serialno", "no", "e_int"],
+	description: "C equivalent: 32bit int",
+	id: "int",
+	objtype: "data_type",
+	parents: ["root_type"],
+	summary: "Integer."
+}
+
+    

bool

+ Attribute list: +
    +
  • children (encoding:list): Value: ['detailed_contents'] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: bool C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Yes/No values (encoded as 1/0)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["detailed_contents"],
+	id: "bool",
+	objtype: "meta",
+	parents: ["int"],
+	summary: "Yes/No values (encoded as 1/0)"
+}
+
+    

detailed_contents

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: detailed_contents C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['bool'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +true if contents gives more details than this object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "detailed_contents",
+	objtype: "type",
+	parents: ["bool"],
+	summary: "true if contents gives more details than this object"
+}
+
+    

list_length

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: list_length C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Length for lists
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "list_length",
+	objtype: "type",
+	parents: ["int"],
+	summary: "Length for lists"
+}
+
+    

serialno

+ Attribute list: +
    +
  • children (encoding:list): Value: ['refno', 'lineno'] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: serialno C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Serial number.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["refno", "lineno"],
+	id: "serialno",
+	objtype: "type",
+	parents: ["int"],
+	summary: "Serial number."
+}
+
+    

refno

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: refno C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from serialno) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['serialno'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Reference to serial number.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "refno",
+	parents: ["serialno"],
+	summary: "Reference to serial number."
+}
+
+    

lineno

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: lineno C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from serialno) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['serialno'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +linenumber where something is
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "lineno",
+	parents: ["serialno"],
+	summary: "linenumber where something is"
+}
+
+    

no

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: no C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from int) (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Number (for example error number).
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "no",
+	parents: ["int"],
+	summary: "Number (for example error number)."
+}
+
+    

e_int

+ Attribute list: +
    +
  • children (encoding:list): Value: ['e_HP', 'e_attack', 'e_amount'] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_int C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Root type for all int type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["e_HP", "e_attack", "e_amount"],
+	id: "e_int",
+	objtype: "type",
+	parents: ["int"],
+	summary: "Root type for all int type example attributes"
+}
+
+    

e_HP

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_HP C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_int) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_int) (encoding:string): Value:
    +Root type for all int type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_HP",
+	parents: ["e_int"]
+}
+
+    

e_attack

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_attack C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_int) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_int) (encoding:string): Value:
    +Root type for all int type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_attack",
+	parents: ["e_int"]
+}
+
+    

e_amount

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from int) (encoding:string): Value:
    +C equivalent: 32bit int
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_amount C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_int) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_int'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_int) (encoding:string): Value:
    +Root type for all int type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_amount",
+	parents: ["e_int"]
+}
+
+    

float

+ Attribute list: +
    +
  • children (encoding:list): Value: ['stamp', 'seconds', 'e_float'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_type'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Floating point number.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["stamp", "seconds", "e_float"],
+	description: "C equivalent roughly: double",
+	id: "float",
+	objtype: "data_type",
+	parents: ["root_type"],
+	summary: "Floating point number."
+}
+
+    

stamp

+ Attribute list: +
    +
  • children (encoding:list): Value: ['stamp_inherit', 'stamp_contains'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: stamp C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Last time this object was modified.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["stamp_inherit", "stamp_contains"],
+	description: "Value should be reflect when something was
+    changed in this object. Any scheme is ok as long as newer numbers
+    are bigger than older stamps. For example, seconds since Jan 1st,
+    1970 or total game cycles would both be valid.",
+	id: "stamp",
+	objtype: "type",
+	parents: ["float"],
+	summary: "Last time this object was modified."
+}
+
+    

stamp_inherit

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Value should be reflect when something was changed in some object that inherits from this.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: stamp_inherit C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['stamp'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Last time any object that inherits from this has been modified
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Value should be reflect when something was changed in some object that inherits from this.",
+	id: "stamp_inherit",
+	objtype: "type",
+	parents: ["stamp"],
+	summary: "Last time any object that inherits from this has been modified"
+}
+
+    

stamp_contains

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Value should be reflect when something was changed in some object that is contained by this object.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: stamp_contains C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['stamp'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Last time any object that uses this as reference recursively has been modified
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Value should be reflect when something was changed in some object that is contained by this object.",
+	id: "stamp_contains",
+	objtype: "type",
+	parents: ["stamp"],
+	summary: "Last time any object that uses this as reference recursively has been modified"
+}
+
+    

seconds

+ Attribute list: +
    +
  • children (encoding:list): Value: ['future_seconds'] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: seconds C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Time in seconds
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["future_seconds"],
+	id: "seconds",
+	objtype: "type",
+	parents: ["float"],
+	summary: "Time in seconds"
+}
+
+    

future_seconds

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: future_seconds C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from seconds) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['seconds'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Time in seconds to add current time
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "future_seconds",
+	parents: ["seconds"],
+	summary: "Time in seconds to add current time"
+}
+
+    

e_float

+ Attribute list: +
    +
  • children (encoding:list): Value: ['e_height', 'e_width', 'e_drunkness', 'e_status'] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Root type for all float type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["e_height", "e_width", "e_drunkness", "e_status"],
+	id: "e_float",
+	objtype: "type",
+	parents: ["float"],
+	summary: "Root type for all float type example attributes"
+}
+
+    

e_height

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_height C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_float) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_float) (encoding:string): Value:
    +Root type for all float type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_height",
+	parents: ["e_float"]
+}
+
+    

e_width

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_width C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_float) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_float) (encoding:string): Value:
    +Root type for all float type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_width",
+	parents: ["e_float"]
+}
+
+    

e_drunkness

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_drunkness C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_float) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_float) (encoding:string): Value:
    +Root type for all float type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_drunkness",
+	parents: ["e_float"]
+}
+
+    

e_status

+ Attribute list: +
    +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float) (encoding:string): Value:
    +C equivalent roughly: double
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_status C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from e_float) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['e_float'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from e_float) (encoding:string): Value:
    +Root type for all float type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_status",
+	parents: ["e_float"]
+}
+
+    

list

+ Attribute list: +
    +
  • added_attributes (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['string_list', 'int_list', 'float_list', 'rotation', 'args_source', 'args_destination', 'arg_names', 'example', 'triangle_list', 'tetrahedron_list', 'glue_ids', 'pos_list', 'e_list'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_type'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of objects
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	added_attributes: [],
+	children: ["string_list", "int_list", "float_list", "rotation", "args_source", "args_destination", "arg_names", "example", "triangle_list", "tetrahedron_list", "glue_ids", "pos_list", "e_list"],
+	description: "C equivalent: void *[]",
+	id: "list",
+	objtype: "data_type",
+	parents: ["root_type"],
+	summary: "List of objects"
+}
+
+    

string_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['uri_list'] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: string C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: string_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of strings
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["uri_list"],
+	element_type: "string",
+	id: "string_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of strings"
+}
+
+    

uri_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: uri_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['string_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +URI list
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["id_list"],
+	description: "C equivalent: char *[], void *[]",
+	element_type: "uri",
+	id: "uri_list",
+	parents: ["string_list"],
+	summary: "URI list"
+}
+
+    

id_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['parents', 'children', 'contains', 'operations', 'coord_id_list', 'glue', 'media_roots', 'attribute_order'] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: id_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['uri_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of ids
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["parents", "children", "contains", "operations", "coord_id_list", "glue", "media_roots", "attribute_order"],
+	id: "id_list",
+	parents: ["uri_list"],
+	summary: "List of ids"
+}
+
+    

parents

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: parents C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of objects this inherits attributes from.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "parents",
+	parents: ["id_list"],
+	summary: "List of objects this inherits attributes from."
+}
+
+    

children

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: children C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of objects that inherit from this object.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "children",
+	parents: ["id_list"],
+	summary: "List of objects that inherit from this object."
+}
+
+    

contains

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['added_attributes', 'characters'] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: contains C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of objects that use this object as reference system (usually same as what this object contains).
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["added_attributes", "characters"],
+	id: "contains",
+	parents: ["id_list"],
+	summary: "List of objects that use this object as reference system (usually same as what this object contains)."
+}
+
+    

added_attributes

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: added_attributes C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['contains'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of attributes that has been added to this object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "added_attributes",
+	parents: ["contains"],
+	summary: "List of attributes that has been added to this object"
+}
+
+    

characters

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: characters C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['contains'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of characters account can control
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "characters",
+	parents: ["contains"],
+	summary: "List of characters account can control"
+}
+
+    

operations

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Content ids can be either another interface or operation ids or both.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: operations C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of alloved operations
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Content ids can be either another interface or operation ids or both.",
+	id: "operations",
+	parents: ["id_list"],
+	summary: "List of alloved operations"
+}
+
+    

coord_id_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['coord_id_list_length', 'polyline'] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: coord_id_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Pointer to coordinates
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["coord_id_list_length", "polyline"],
+	id: "coord_id_list",
+	parents: ["id_list"],
+	summary: "Pointer to coordinates"
+}
+
+    

coord_id_list_length

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['triangle', 'tetrahedron'] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: coord_id_list_length C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 0 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['coord_id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Fixed length coordinate pointer list
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["triangle", "tetrahedron"],
+	id: "coord_id_list_length",
+	list_length: 0,
+	parents: ["coord_id_list"],
+	summary: "Fixed length coordinate pointer list"
+}
+
+    

triangle

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: triangle C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 3 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['coord_id_list_length'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Pointers to triangle points
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "triangle",
+	list_length: 3,
+	parents: ["coord_id_list_length"],
+	summary: "Pointers to triangle points"
+}
+
+    

tetrahedron

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: tetrahedron C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 4 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['coord_id_list_length'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Pointers to tetrahedron points
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "tetrahedron",
+	list_length: 4,
+	parents: ["coord_id_list_length"],
+	summary: "Pointers to tetrahedron points"
+}
+
+    

polyline

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +see maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: polyline C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['coord_id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Ids of points that polyline consists of
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "see maps/semantic_maps.pdf for more info.",
+	id: "polyline",
+	parents: ["coord_id_list"],
+	summary: "Ids of points that polyline consists of"
+}
+
+    

glue

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +**not written yet**
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: glue C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Ids of glue objects that glue this to other objects
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "**not written yet**",
+	id: "glue",
+	parents: ["id_list"],
+	summary: "Ids of glue objects that glue this to other objects"
+}
+
+    

media_roots

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +List ids of root_media_info: can be on same server or at different server: + see root_object attribute definition for more info
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: media_roots C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of media servers basically
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "List ids of root_media_info: can be on same server or at different server:
+    see root_object attribute definition for more info",
+	id: "media_roots",
+	parents: ["id_list"],
+	summary: "List of media servers basically"
+}
+
+    

attribute_order

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from uri_list) (encoding:string): Value:
    +C equivalent: char *[], void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from uri_list) (encoding:string): Value: uri C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: attribute_order C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from string_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['id_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +order attributes was specified
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "attribute_order",
+	parents: ["id_list"],
+	summary: "order attributes was specified"
+}
+
+    

int_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['int_list_length'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: int []
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: int C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: int_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of integers
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["int_list_length"],
+	description: "C equivalent: int []",
+	element_type: "int",
+	id: "int_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of integers"
+}
+
+    

int_list_length

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Inherit required object from this and set length attribute to suitable value.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from int_list) (encoding:string): Value: int C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: int_list_length C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 0 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['int_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of ints with constant length
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "Inherit required object from this and set length attribute to suitable value.",
+	id: "int_list_length",
+	list_length: 0,
+	objtype: "meta",
+	parents: ["int_list"],
+	summary: "List of ints with constant length"
+}
+
+    

float_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['float_list_length'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: double []
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: float_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of floats
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["float_list_length"],
+	description: "C equivalent: double []",
+	element_type: "float",
+	id: "float_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of floats"
+}
+
+    

float_list_length

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['float_list3'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Inherit required object from this and set length attribute to suitable value.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from float_list) (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: float_list_length C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 0 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of floats with constant length
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["float_list3"],
+	description: "Inherit required object from this and set length attribute to suitable value.",
+	id: "float_list_length",
+	list_length: 0,
+	objtype: "meta",
+	parents: ["float_list"],
+	summary: "List of floats with constant length"
+}
+
+    

float_list3

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['pos', 'velocity'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +Used in 3D world for various things
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from float_list) (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: float_list3 C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 3 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from float_list_length) (encoding:string): Value: meta Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float_list_length'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Float list with length of 3
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["pos", "velocity"],
+	description: "Used in 3D world for various things",
+	id: "float_list3",
+	list_length: 3,
+	parents: ["float_list_length"],
+	summary: "Float list with length of 3"
+}
+
+    

pos

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float_list3) (encoding:string): Value:
    +Used in 3D world for various things
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from float_list) (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: pos C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (inherited from float_list3) (encoding:int): Value: 3 C equivalent: 32bit int +
  • name (encoding:string): Value: position Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float_list3'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Position coordinates, usually world is 3D
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "pos",
+	name: "position",
+	objtype: "type",
+	parents: ["float_list3"],
+	summary: "Position coordinates, usually world is 3D"
+}
+
+    

velocity

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from float_list3) (encoding:string): Value:
    +Used in 3D world for various things
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from float_list) (encoding:string): Value: float C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: velocity C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 3 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['float_list3'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Velocity object is moving, usually world is 3D
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "velocity",
+	list_length: 3,
+	objtype: "type",
+	parents: ["float_list3"],
+	summary: "Velocity object is moving, usually world is 3D"
+}
+
+    

rotation

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +From forge/libs/wfmath/wfmath/rotmatrix.h: +Elements of this class represent rotation matrices. The NxN dimensional +rotation matrices form a group called O(N), the orthogonal +matrices. They satisfy the following condition: +

    +A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom. +This gives one rotation angle in 2D, the three Euler angles in 3D, etc. +
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +

  • element_type (encoding:string): Value: float_list3 C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: rotation C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • list_length (encoding:int): Value: 3 C equivalent: 32bit int +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Rotation matrix in 3D world
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "From forge/libs/wfmath/wfmath/rotmatrix.h:
+Elements of this class represent rotation matrices. The NxN dimensional
+rotation matrices form a group called O(N), the orthogonal
+matrices. They satisfy the following condition:
+<p>
+A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom.
+This gives one rotation angle in 2D, the three Euler angles in 3D, etc.
+",
+	element_type: "float_list3",
+	id: "rotation",
+	list_length: 3,
+	objtype: "type",
+	parents: ["list"],
+	summary: "Rotation matrix in 3D world"
+}
+
+    

args_source

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: args_source C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of source arguments (for combine and similar operations)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "args_source",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of source arguments (for combine and similar operations)"
+}
+
+    

args_destination

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: args_destination C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of destination arguments (for divide and similar operations)
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "args_destination",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of destination arguments (for divide and similar operations)"
+}
+
+    

arg_names

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: arg_names C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List argument attribute names
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "arg_names",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List argument attribute names"
+}
+
+    

example

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: example C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Gives some examples usage
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "example",
+	objtype: "type",
+	parents: ["list"],
+	summary: "Gives some examples usage"
+}
+
+    

triangle_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['area'] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: triangle C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: triangle_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of triangles
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["area"],
+	element_type: "triangle",
+	id: "triangle_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of triangles"
+}
+
+    

area

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +see maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from triangle_list) (encoding:string): Value: triangle C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: area C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from triangle_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['triangle_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +triangles area consist of
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "see maps/semantic_maps.pdf for more info.",
+	id: "area",
+	parents: ["triangle_list"],
+	summary: "triangles area consist of"
+}
+
+    

tetrahedron_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['volume'] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: tetrahedron C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: tetrahedron_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List of tetrahedrons
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["volume"],
+	element_type: "tetrahedron",
+	id: "tetrahedron_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "List of tetrahedrons"
+}
+
+    

volume

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +see maps/semantic_maps.pdf for more info.
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from tetrahedron_list) (encoding:string): Value: tetrahedron C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: volume C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from tetrahedron_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['tetrahedron_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +tetrahedrons volume consist of
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "see maps/semantic_maps.pdf for more info.",
+	id: "volume",
+	parents: ["tetrahedron_list"],
+	summary: "tetrahedrons volume consist of"
+}
+
+    

glue_ids

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +See glue_geometry for more info
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: glue_ids C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from list) (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +List ids that glue objects together
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	description: "See glue_geometry for more info",
+	id: "glue_ids",
+	parents: ["list"],
+	summary: "List ids that glue objects together"
+}
+
+    

pos_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['p'] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (encoding:string): Value: pos C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: pos_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +list of coordinates
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: ["p"],
+	element_type: "pos",
+	id: "pos_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "list of coordinates"
+}
+
+    

p

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • element_type (inherited from pos_list) (encoding:string): Value: pos C equivalent roughly: for storing id name: char *, as pointer: void * +
  • id (encoding:string): Value: p C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (inherited from pos_list) (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['pos_list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (inherited from pos_list) (encoding:string): Value:
    +list of coordinates
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "p",
+	parents: ["pos_list"]
+}
+
+    

e_list

+ Attribute list: +
    +
  • added_attributes (inherited from list) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from list) (encoding:string): Value:
    +C equivalent: void *[]
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: e_list C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['list'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Root type for all list type example attributes
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "e_list",
+	objtype: "type",
+	parents: ["list"],
+	summary: "Root type for all list type example attributes"
+}
+
+    

map

+ Attribute list: +
    +
  • added_attributes (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: ['arg', 'op', 'specification_file'] C equivalent: char *[], void *[] +
  • description (encoding:string): Value:
    +C equivalent: struct map {char *;void *}; map*
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: map C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (encoding:string): Value: mapping Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: data_type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['root_type'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Mapping between string key and value object
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	added_attributes: [],
+	children: ["arg", "op", "specification_file"],
+	description: "C equivalent: struct map {char *;void *}; map*",
+	id: "map",
+	name: "mapping",
+	objtype: "data_type",
+	parents: ["root_type"],
+	summary: "Mapping between string key and value object"
+}
+
+    

arg

+ Attribute list: +
    +
  • added_attributes (inherited from map) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from map) (encoding:string): Value:
    +C equivalent: struct map {char *;void *}; map*
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: arg C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from map) (encoding:string): Value: mapping Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['map'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Argument for operation
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "arg",
+	objtype: "type",
+	parents: ["map"],
+	summary: "Argument for operation"
+}
+
+    

op

+ Attribute list: +
    +
  • added_attributes (inherited from map) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from map) (encoding:string): Value:
    +C equivalent: struct map {char *;void *}; map*
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: op C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from map) (encoding:string): Value: mapping Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['map'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +Opertion that caused error as argument to error operation
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "op",
+	objtype: "type",
+	parents: ["map"],
+	summary: "Opertion that caused error as argument to error operation"
+}
+
+    

specification_file

+ Attribute list: +
    +
  • added_attributes (inherited from map) (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • children (encoding:list): Value: [] C equivalent: char *[], void *[] +
  • description (inherited from map) (encoding:string): Value:
    +C equivalent: struct map {char *;void *}; map*
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • id (encoding:string): Value: specification_file C equivalent roughly: for storing id name: char *, as pointer: void * +
  • interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void * +
  • name (inherited from map) (encoding:string): Value: mapping Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • objtype (encoding:string): Value: type Examples of values: "op", "class", "type". +
  • parents (encoding:list): Value: ['map'] C equivalent: char *[], void *[] +
  • specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
  • stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was + changed in this object. Any scheme is ok as long as newer numbers + are bigger than older stamps. For example, seconds since Jan 1st, + 1970 or total game cycles would both be valid. +
  • stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this. +
  • summary (encoding:string): Value:
    +various info about object and its specification file
    +
    Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string +
+ Bach version:
+
+{
+	children: [],
+	id: "specification_file",
+	objtype: "type",
+	parents: ["map"],
+	summary: "various info about object and its specification file"
+}
+
+    
+ +
+
Aloril
+ + +Last modified: Sat Nov 13 15:46:56 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/type_in.html atlas-cpp-0.6.3/protocol/spec/type_in.html --- atlas-cpp-0.6.2/protocol/spec/type_in.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/type_in.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,26 @@ + + + + Types + + + +

Types

+ + All types inherited directly from "type" are data types. Others + are for informational purposes and not used in coding tags. + +

Entity class tree

+ + + + + +
+
Aloril
+ + +Last modified: Sat Nov 13 15:46:56 EET 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/ui.atlas atlas-cpp-0.6.3/protocol/spec/ui.atlas --- atlas-cpp-0.6.2/protocol/spec/ui.atlas 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/ui.atlas 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,64 @@ +ATLAS janus object definition file (modeline for XEmacs: -*-Python-*-) +IWILL Bach_beta2 + +[ +## janus attributes, read in first +{ +## Possible values are 'shown', 'hidden', and 'console'. 'console' indicates +## an element in the game console instead of in a dialog, and can only +## be set by inheriting from a parent with display_status of 'console'. +## Also, 'console' archetypes cannot be packed into frames to create +## new archetypes + id:"display_status", + parents:["string"], + objtype:"type", + summary:"whether or not the entity is currently displayed" +}, +{ + id:"valign", + parents:["string"], + objtype:"type", + summary:"vertical alignment of children in this frame" +}, +{ + id:"halign", + parents:["string"], + objtype:"type", + summary:"horizontal alignment of children in this frame" +}, +{ + id:"rel_pos", + parents:["string"], + objtype:"type", + summary:"relative position of successive children in this frame" +}, +{ + id:"target", + parents:["list"], + objtype:"type", + element_type:"string", + summary:"List of entities to watch for attribute changes" +}, +## basic UI types +{ + id:"u_i_entity", + parents:["admin_entity"], + summary:"The root entity for UI elements. UI entities are (mostly) owned by the client instead of the server", + display_status:"hidden" +}, +{ + id:"frame", + parents:["u_i_entity"], + summary:"bear's widget packing frame class, see http://code-bear.dyndns.org/~bear/janus.html", + valign:"center", + halign:"left", + rel_pos:"below" +## Child widgets are specified using the 'contains' attribute +}, +{ + id:"slot", + parents:["u_i_entity"], + summary:"A base class for entities which respond to changes in an entity's argument map", + target:[] +} +] diff -Nru atlas-cpp-0.6.2/protocol/spec/ui.def atlas-cpp-0.6.3/protocol/spec/ui.def --- atlas-cpp-0.6.2/protocol/spec/ui.def 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/ui.def 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,52 @@ +#Modeline for XEmacs: -*-Python-*- + +:map: + id:"display_status" + parents:["string"] + objtype:"type" + description:"whether or not the entity is currently displayed" + +:map: + id:"valign" + parents:["string"] + objtype:"type" + description:"vertical alignment of children in this frame" + +:map: + id:"halign" + parents:["string"] + objtype:"type" + description:"horizontal alignment of children in this frame" + +:map: + id:"rel_pos" + parents:["string"] + objtype:"type" + description:"relative position of successive children in this frame" + +:map: + id:"target" + parents:["list"] + objtype:"type" + element_type:"string" + description:"List of entities to watch for attribute changes" + +:map: + id:"u_i_entity" + parents:["admin_entity"] + description:"The root entity for UI elements. UI entities are (mostly) owned by the client instead of the server" + display_status:"hidden" + +:map: + id:"frame" + parents:["u_i_entity"] + description:"bear's widget packing frame class, see http://code-bear.dyndns.org/~bear/janus.html" + valign:"center" + halign:"left" + rel_pos:"below" + +:map: + id:"slot" + parents:["u_i_entity"] + description:"A base class for entities which respond to changes in an entity's argument map" + target:[] diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/binary.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/binary.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/binary.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/binary.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,73 @@ + + + + Binary Atlas + + + +

Binary Atlas

+ + Example of compression: + +
+a)
+<op><to>A</to><time s="9823989"/><id>move</id>
+  <ent><id>foo</id>
+    <loc><id>house_123</id><coords>12,4,2.9</coords></loc></ent></op>
+
+b)
+<op><to>A</to><time s="9823989.5"/><id>move</id>
+  <ent><id>bar</id>
+    <loc><id>house_123</id><coords>12,5.5,2.9</coords></loc></ent></op>
+
+c)
+<op><from>bar</from><to>A</to><time s="9823989.5"/><id>talk</id>
+  <ent><attr name="say">Hi A</attr></ent></op>
+
+    
+

+    Binary compressed version might be something like this:
+    

+ 1) First byte is bitmask about what has remained same
+ 2-3) id: String: width byte and actual bytes
+ 4) time: double (or maybe char that gives difference to previous time)
+ 5) op id: enum (short int at most) +

+ move:
+ 6) place id: see 2) (we are assuming ent here)
+ 7-9) coords: see 3) (again assuming everything fits with standard move) +

+ talk:
+ 6) what has been said +

+ If we have move or talk that differs from above format: specify all + tags. +

+ We send only changed parts, so lots of moves is only stream of + ids of moving characters and their new coords. In addition of + sending only differences compress resulting stream with some + traditional compression algorithm. +


+
+   1)       2)  3) 4)        5)   6)  7) 8)  9)
+a: 00000000     A  9823989   move foo 12 4   2.9
+b: 11010101        9823989.5      bar    5.5
+c: 01100000 bar              talk "Hi A"
+
+ + Of course actual protocol will differ from above, but basic idea + should be similar... +

+ Somewhat related link: + Differential X Protocol Compressor + + + +


+
Aloril
+ + +Last modified: Wed Jun 30 09:43:46 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/dtd.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/dtd.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/dtd.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/dtd.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,91 @@ + + + + Atlas document type definition (DTD) + + + +

Atlas document type definition (DTD)

+ + I would like to get corrections for likely errors (mail to + scripting@ or + Aloril). + +
+
+<!-- Models -->
+
+<!ELEMENT % arg "id | ent">
+<!ELEMENT % idtype "#PCDATA">
+<!ELEMENT % idlist "id*">
+<!ELEMENT % coordtype "coords | vector | forcevector">
+<!ELEMENT % rotationtype "rotation | relrotation | torquerotation">
+<!ELEMENT % Xlist "intlist | floatlist | stringlist | rangelist">
+<!ELEMENT % datatype "int | float | string | list | range | 
+                      id | attr | ent | delete | %Xlist;">
+
+<!-- Tags -->
+
+<!ELEMENT atlas     (msg*)>
+<!ATTLIST atlas   version  CDATA #IMPLIED>
+
+<!ELEMENT msg    (op*)>
+<!ATTLIST msg     no       CDATA #IMPLIED>
+
+<!ELEMENT op    (from?,to?,time?,id,arg*)>
+<!ATTLIST op      no       CDATA #IMPLIED
+                  refno    CDATA #IMPLIED>
+
+<!ELEMENT from %idtype;>
+
+<!ELEMENT to %idtype;>
+
+<!ELEMENT time (#PCDATA)>
+<!ATTLIST time    s        CDATA #IMPLIED
+                  sadd     CDATA #IMPLIED>
+
+<!ELEMENT id %idtype;>
+
+<!ELEMENT ent (id?,type?,instance?,loc?,contains?,stamp?,attr*)>
+
+<!ELEMENT type %idlist;>
+
+<!ELEMENT instance %idlist;>
+
+<!ELEMENT loc (id?,(%coordtype;)?,(%rotationtype;)?>
+
+<!ELEMENT contains %idlist;>
+
+<!ELEMENT stamp (#PCDATA)>
+
+<!ELEMENT attr (#PCDATA | (%datatype;)*>
+<!ATTLIST attr    name     CDATA #IMPLIED
+                  type     CDATA %datatype; 'string'>
+
+<!ELEMENT coords         (#PCDATA)>
+<!ELEMENT vector         (#PCDATA)>
+<!ELEMENT forcevector    (#PCDATA)>
+<!ELEMENT rotation       (#PCDATA)>
+<!ELEMENT relrotation    (#PCDATA)>
+<!ELEMENT torquerotation (#PCDATA)>
+<!ELEMENT int            (#PCDATA)>
+<!ELEMENT float          (#PCDATA)>
+<!ELEMENT string         (#PCDATA)>
+<!ELEMENT list           (#PCDATA)>
+<!ELEMENT range          (#PCDATA)>
+<!ELEMENT delete         (#PCDATA)>
+<!ELEMENT intlist        (#PCDATA)>
+<!ELEMENT floatlist      (#PCDATA)>
+<!ELEMENT stringlist     (#PCDATA)>
+<!ELEMENT rangelist      (#PCDATA)>
+
+    
+ +
+
Aloril
+ + +Last modified: Mon Jul 5 18:35:11 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/example.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/example.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/example.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/example.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,922 @@ + + + + Example session + + + + +

Example session

+ +

Scenario

+ This is homework by Lavoie Philippe (slightly modified) +

+ 'quoted text': Makes things more compact in example, actual + content will be added later as appendix. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ LoginThere are two players: JoeBlatz and Bork. They will both + connect to the same server S. They have characters A and B + respectively. There is a monster M that resides on monster + server X. +
+ LookingA and B 'connect' to the server S. The server puts them in + their current location which is in the middle of a road. A + tree is to their left (at 10 meters). They see nothing + else. +
+ Appearing and movementThen a monster jumps from a tree branch and goes for them.
+ DescriptionThe monster is a geeklizard: a computer user who became green + and lizard like after staring too long at his computer. +
+ Spell casting and resultsThe geeklizard will try to slay them by talking them to + death. It will start by a story about the advantage of calcium in + the development of the infant. That speak is magic and will cause + A to fall asleep, +
+ Prepare for fightplayer B will kill M by using a sword. The fight sequence + is: B gets his sword in his hand, M continue to talk (no effect), +
+ Swing with sword and damageB swing and misses, M moved out of the way, + M swing and hit (but only minimal damage), + B swing and hit, M talks about the advantage of + asynchronous transfer over TCP/IP will trying to flee, +
+ Transmission errorB catches up to M,swings again. + The server doesn't receive the last swing message. + B sends the message again +
+ Killand it kills M. +
+ Steal moneyPlayer B will steal the money from A +
+ Trackingand take off. A wakes up 1 hour later + and tries to read the tracks on the road to see where B went. +
+ +

Atlas XML examples

+ +

Login

+ + + There are two players: JoeBlatz and Bork. They will both connect + to the same server S. They have characters A and B + respectively. There is a monster M that resides on monster + server X. + +

+ A->S (login): +

+<msg>
+  <op>
+    <from>JoeBlatz</from>
+    <id>login</id>
+    <ent>
+      <id>JoeBlatz</id>
+      <attr name="password">Rqv67.%</attr>
+    </ent>
+  </op>
+</msg>
+    
+ + S->A (login accepted): + +
+<op>
+  <from>S:</from>
+  <to>JoeBlatz</to>
+  <id>info</id>
+  <ent>
+    <id>JoeBlatz</id>
+    <type><id>Player</id></type>
+    <attr name="name">Joe Blatz</attr>
+    <attr name="password">Rqv67.%</attr>
+    <contains><id>A</id></contains>
+  </ent>
+</op>
+    
+ + B->S, S->B: similar +

+ M->S, S->M: similar (player=X, character=M)
+

    +
  • Of course login is only once/all monsters
    +
  • X server likely has privileges to create monsters too:
    +
      +
    • create them to S +
    • or keep them in server X: then all messages that include M will + have <id>X/M</id> instead of <id>M</id> + (Note that if servers S and X have common id space, then S can + choose to hide the existence of server X) +
    +
+

+ +


+ +

Looking

+ + A and B 'connect' to the server S. The server puts them in + their current location which is in the middle of a road. A tree + is to their left (at 10 meters). They see nothing else. + +

+ Map by John R Street +

+  01234567890
+ 0+----+-+--+
+ 1|    | |  |
+ 2|    |A|  |
+ 3|*   | |  |
+ 4|    |B|  |
+ 5|    | |  |
+ 6|    |P|  |
+ 7|    |A|  |
+ 8|    |T|  |
+ 9|    |H|  |
+ 0+----+-+--+
+ 
+ *=tree
+    
+ + A->S (look around): + +
+<op>
+  <from>A</from>
+  <id>look</id>
+</op>
+    
+ + S->A (what A sees): + +
+<op>
+  <to>A</to>
+  <id>sight</id>
+  <id>grass1</id>
+</op>
+    
+ + A->S (look at grass): + +
+<op>
+  <from>A</from>
+  <id>look</id>
+  <id>grass1</id>
+</op>
+    
+ + S->A (what A sees): + +
+<op>
+  <to>A</to>
+  <id>sight</id>
+  <ent>
+    <id>grass1</id>
+    <type><id>terrain</id></type>
+    <contains>
+      <id>path1</id>
+      <id>tree1</id>
+    </contains>
+    <attr name="description">Grass plains</attr>
+    <attr name="polygon">
+      <coords>0,0</coords><coords>10,0</coords><coords>10,10</coords>
+      <coords>0,10</coords><coords>0,0</coords>
+    </attr>
+  </ent>
+</op>
+    
+ + A->S (look again specific objects): + +
+<msg>
+  <op>
+    <from>A</from>
+    <id>look</id>
+    <id>path1</id>
+  </op>
+  <op>
+    <from>A</from>
+    <id>look</id>
+    <id>tree1</id>
+  </op>
+</msg>
+    
+ + S->A (what A sees): + +
+<msg>
+  <op>
+    <to>A</to>
+    <id>sight</id>
+    <ent>
+      <id>path1</id>
+      <type><id>road</id></type>
+      <contains>
+        <id>A</id>
+        <id>B</id>
+      </contains>
+      <loc><id>grass1</id><coords>5,0</coords></loc>
+      <attr name="description">Path</attr>
+      <attr name="polygon">
+        <!-- Note: relative coordinates to container (loc) -->
+        <coords>0,0</coords><coords>2,0</coords><coords>2,10</coords>
+        <coords>0,10</coords><coords>0,0</coords>
+      </attr>
+    </ent>
+  </op>
+  <op>
+    <to>A</to>
+    <id>sight</id>
+    <ent>
+      <id>tree1</id>
+      <type><id>tree</id></type>
+      <loc><id>grass1</id><coords>1,3</coords></loc>
+      <attr name="description">Tree</attr>
+      <attr name="height">5.6</attr>
+    </ent>
+  </op>
+</msg>
+    
+ + A->S (look at B): + +
+<op>
+  <from>A</from>
+  <id>look</id>
+  <id>B</id>
+</op>
+    
+ + S->A (what A sees): + +
+<op>
+  <to>A</to>
+  <id>sight</id>
+  <ent>
+    <id>B</id>
+    <type><id>human</id></type>
+    <loc><id>path1</id><coords>6,4</coords></loc>
+    <attr name="description">Player B, bla bla</attr>
+    <contains>
+       <id>swordB</id>
+    </contains>
+  </ent>
+</op>
+    
+ + [A looks at swordB and receivers answer] +

+ B<->S: similar + +

+


+ +

Appearing and movement

+ + Then a monster jumps from a tree branch and goes for them. +

+S->A (A sess Geeklizard jumping): + +

+<msg>
+  <op>
+    <to>A</to>
+    <id>appear</id>
+    <ent>
+      <id>M</id>
+      <loc><id>tree1</id><coords>0,0,3.0</coords></loc>
+    </ent>
+  </op>
+  <op>
+    <to><id>A</id><to>
+    <id>sight</id>
+    <op>
+      <id>jump</id> <!-- derived from move -->
+      <ent>
+        <id>M</id>
+        <loc><id>grass1</id><coords>0.5,3.0,0.0</coords></loc>
+      </ent>
+    </op>
+  </op>
+</msg>
+    
+ +
+ +

Description

+ + The monster is a geeklizard: a computer user who became green + and lizard like after staring too long at his computer. + +

+ A->S (looks at M: similar to earlier looking) +

+ S->A (send info about M: note multiple inheritance) + +

+<op>
+  <to>A</to>
+  <id>sight</id>
+  <ent>
+    <id>M</id>
+    <type><id>human</id><id>lizard</id></type>
+    <loc><id>grass1</id><coords>0.6,3.0,0.0</coords></loc>
+    <attr name="description">Geeklizard</attr>
+    <attr name="velocity">3,0</attr>
+  </ent>
+</op>
+    
+ + A->S (get lizard type): + +
+<op>
+  <from>A</from>
+  <id>get</id>
+  <id>lizard</id>
+</op>
+    
+ + S->A (Lizard is green): + +
+<op>
+  <to>A</to>
+  <id>info</id>
+  <ent>
+    <id>lizard</id>
+    <type><id>monster</id></type>
+    <attr name="color">Green</attr>
+  </ent>
+</op>
+    
+ +
+ +

Spell casting and results

+ + The geeklizard will try to slay them by talking them to + death. It will start by a story about the advantage of calcium in + the development of the infant. That speak is magic and will cause + A to fall asleep, + +

+ M->S ('cast' magical speech): + +

+<op>
+  <from>M</from>
+  <id>sleepy bore</id> <!-- see later: has multiple inheritance -->
+  <op>
+    <id>talk</id>
+    <ent><attr name="say">blah blah calcium blah blah</attr></ent>
+  </op>
+  <op>
+    <id>spell</id>
+    <ent><attr name="action">sleep</attr></ent>
+  </op>
+</op>
+    
+ +S->A (notice spell and fall asleep): + +
+<msg>
+  <op>
+    <to>A</to>
+    <id>perception</id>
+    'previous section copied here'
+  </op>
+  <op>
+    <to>A</to>
+    <id>change</id>
+    <ent><attr name="state">sleep</attr></ent>
+  </op>
+</msg>
+    
+ + S->B (notice spell and see A to fall asleep): + +
+<msg>
+  'perception op similar to above'
+  <op>
+    <to>B</to>
+    <id>sight</id>
+    'include above change op to A here'
+  </op>
+</msg>
+    
+ +B->S (get 'sleepy bore' op: see above Lizard for example)
+S->B: + +
+<op>
+  <to>B</to>
+  <id>info</id>
+  <ent>
+    <id>sleepy bore</id>
+    <type><id>talk</id><id>spell</id></type>
+  </ent>
+</op>
+    
+ +
+ +

Prepare for fight

+ + player B will kill M by using a sword. The fight sequence + is: B gets his sword in his hand, M continue to talk (no effect), +

+ B->S (gets his sword in his hand): + +

+<op>
+  <from>B</from>
+  <id>grab</id>
+  <ent>
+    <id>swordB</id>
+    <loc><id>B#hand</id></loc>
+  </ent>
+</op>
+    
+ + M->S and S->B (Ms spell): +

+ similar to previous+sees sword to move it's hand + +

+<op>
+  <to><id>B</id><to>
+  <id>sight</id>
+  'include previous op here'
+</op>
+    
+ +
+ +

Swing with sword and damage

+ + B swing and misses, M moved out of the way, + M swing and hit (but only minimal damage), +

+ B->S (B swings): + +

+<op>
+  <from>B</from>
+  <id>swing</id> <!-- derived from attack -->
+  <ent>
+    <id>swordB</id>
+    <loc><id>B_hand</id>
+         <coords>'where M is - sword length'</coords>
+    </loc>
+  </ent>
+</op>
+    
+ + S->B (misses): +

+ M moves out of the way and swordB moves where M was. +

+ movements, similar to above grab +

+ M->S, S->B (M swing and hit): +

+ swing like above, sight of it like above +

+ hit: + +

+<op>
+  <from>M</from>
+  <to>B</to>
+  <id>change</id>
+  <ent>
+    <id>B</id>
+    <attr name="status">0.9</attr>
+    <!-- previous value was: 1.0 -->
+  </ent>
+</op>
+    
+ + B swing and hit, M talks about the advantage of + asynchronous transfer over TCP/IP will trying to flee, +

+ Similar to previous... +

+ +


+ +

Transmission error

+ + B catches up to M,swings again. + The server doesn't receive the last swing message. + B sends the message again +

+ Content similar previous. +

+ To facialiate detection of missing messages: +

+ B->S: + +

+<msg no="100">
+  <op/>
+</msg>
+
+<msg no="102">
+  <op/>
+</msg>
+    
+ + Now libatlas detects missing message "101" and asks sender to + resend it. +

+ +


+ +

Kill

+ + and it kills M. +

+ B->S (swing M): + +

+<op no="101">
+  'similar to earlier swing'
+</op>
+    
+ + S->M (B kills M): +

+ It disappears: + +

+<op no="200" refno="101"> <!-- when B sees this message
+                                embedded inside sight message:
+                                it has originated from me and 
+                                'refno' was from that swing: 
+                                I killed it with that swing -->
+  <from>B</from>
+  <to>M</to>
+  <id>kill</id> <!-- derived from delete -->
+  <id>M</id>
+</op>
+    
+ + Alternative if it leaves corpse: + +
+<op>
+  <from>B</from>
+  <to>M</to>
+  <id>dead</id> <!-- derived from change -->
+  <ent>
+    <id>M</id>
+    <attr name="status">0.0</attr>
+    <attr name="state">dead</attr>
+  </ent>
+</op>
+    
+ + S->B (sees above): + +
+<op>
+  <to>B</to>
+  <id>sight</id>
+  'above included here'
+</op>
+    
+ +
+ +

Steal money

+ + Player B will steal the money from A +

+ B->S (search body of A): + +

+<op>
+  <from>B</from>
+  <id>search</id> <!-- derived from look -->
+  <id>A</id>
+</op>
+    
+ + S->B (sees possessions): + +
+<op>
+  <to>B</to>
+  <id>sight</id>
+  <ent>
+    <id>A</id>
+    'other attributes here..'
+    <contains>
+      <id>swordA</id>
+      <id>backpackA</id>
+    </contains>
+  </ent>
+</op>
+    
+ + B->S (look at backpack)
+ S->B (sees money): + +
+<op>
+  <to>B</to>
+  <id>sight</id>
+  <ent>
+    <id>backpackA</id>
+    'other attributes here..'
+    <contains>
+      <id>moneyA</id>
+    </contains>
+  </ent>
+</op>
+    
+ + B->S (look money):
+ S->B (sees amount): + +
+<op>
+  <to>B</to>
+  <id>sight</id>
+  <ent>
+    <id>moneyA</id>
+    <attr name="amount">120</attr>
+  </ent>
+</op>
+    
+ + B->S (try to steal sword and divide money to two heaps): + +
+<msg>
+  <op no="105">
+    <from>B</from>
+    <id>steal</id> <!-- derived from grab -->
+    <ent>
+      <id>swordA</id>
+      <loc><id>backbackB</id></loc>
+    </ent>
+  </op>
+  <op no="106">
+    <from>B</from>
+    <id>divide</id>
+    <id>moneyA</id>
+    <ent>
+      <id>moneyA</id>
+      <attr name="amount">10</attr>
+    </ent>
+    <ent>
+      <type><id>money</id></type>
+      <attr name="amount">110</attr>
+    </ent>
+  </op>
+</msg>
+    
+ + S->B (B sees sword stealing sword failed and dividing money succeeded): + +
+<msg>
+  <!-- sword moves slightly in A's hand -->
+  <op no="210" refno="105">
+     <to><id>B</id>
+     <id>sight</id>
+     <op no="211" refno="105">
+       <from>B</from>
+       <id>move</id>
+       <ent>
+         <id>swordA</id>
+         <loc><id>handA</id><coords>'changes 0.02 meters'</coords></loc>
+       </ent>
+     </op>
+  </op>
+  <!-- A's hand moves -->
+  <op no="212" refno="105">
+     <to><id>B</id>
+     <id>sight</id>
+     <op no="213" refno="105">
+       <from>B</from>
+       <op>
+         <id>move</id>
+         <ent>
+           <id>handA</id>
+           <loc><id>A</id><coords>'changes 0.3 meters'</coords></loc>
+         </ent>
+       </op>
+     </op>
+  </op>
+  <!-- sees dividing succeeding -->
+  <op no="214" refno="106">
+     <to><id>B</id>
+     <id>sight</id>
+     <op no="215" refno="106">
+       <from>B</from>
+       'like content of divide except this line is added to latest entity:'
+       <id>moneyA_110</id>
+     </op>
+  </op>
+</msg>
+    
+ + B->S (steal second part of divided money):
+ similar as stealing sword above (with op no="107") +

+ S->B (sees stealing succeed): + +

+<op no="216" refno="107">
+  <to>B</to>
+  <id>sight</id>
+  <op no="217" refno="107">
+    <from>B</from>
+    <id>steal</id>
+    <ent>
+      <id>moneyA_110</id>
+      <loc><id>backbackB</id></loc>
+    </ent>
+  </op>
+</op>
+      
+ + B->S (Then combine it with existing money): +
+<op no="108">
+  <from>B</from>
+  <id>combine</id>
+    <id>moneyB</id>
+    <id>moneyB</id>
+    <id>moneyA_110</id>
+</op>
+      
+ + S->B (sees result of combining): + +
+<msg>
+  <op no="218" refno="108">
+    <to>B</to>
+    <id>change</id>
+    <ent>
+      <id>moneyB</id>
+      <attr name="amount">130</attr> <!-- had previously 20 pieces -->
+    </ent>
+  </op>
+  <op no="219" refno="108">
+    <to>B</to>
+    <id>delete</id>
+    <id>moneyA_110</id>
+  </op>
+</msg>
+      
+ +
+ +

Tracking

+ + and take off. A wakes up 1 hour later +

+ B->S (movement like earlier)
+ S->B (sight like earlier) +

+ S->A (awakening like sleeping earlier) +

+ A->S (looking in the possession: like earlier)
+ S->A (result: similar like earlier) +

+ What if A doesn't look at his possessions? Then it will become as + surprise when he is next time shopping ;-) +

+ + and tries to read the tracks on the road to see where B went. +

+ A->S (see road): + +

+<op>
+  <from>A</from>
+  <id>track</id> <!-- derived from search -->
+  <id>road</id>
+</op>
+    
+ + S->A (sees road): + +
+<op>
+  <to>A</to>
+  <id>sight</id>
+  <ent>
+    <id>road</id>
+    <attr name="tracks of B" type="coordslist">
+       'listing of some coordinates where B went'
+    </attr>
+  </ent>
+</op>
+    
+ + How do you know track is derived from search? +

+ X->S: + +

+<op
+  <id>get</id>
+  <id>track</id>
+</op>
+    
+ + S->X: + +
+<op
+  <id>info</id>
+  <ent>
+    <id>track</id>
+    <type><id>search</id></type> <!-- here is parent type told -->
+  </ent>
+</op>
+    
+ +
+
Aloril
+ + +Last modified: Mon Jul 5 17:12:08 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/login.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/login.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/login.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/login.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,218 @@ + + + + Out of game (OG) Atlas + + + +

Out of game (OG) Atlas

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IntroHow does OG Atlas compares to IG Atlas?
+ Connection and disconnectionInitializing and closing connection
+
+ Browsing serverWhat games there are?
+ Creating player account and loginHow player is authorized to play
+ Creating character and using itPlayer and non player characters: characters controlled + outside server
+ +

Intro

+ + Server is just some kind of meta world with meta characters (player + accounts) and 'gateways' to real worlds. So it's handled in many ways + similar than actual world. +

+ Server differentiates messages meant to meta world from messages + meant to actual game from id: messages from player id or if id + is not specified are meant to meta world. Messages from + character id are for actual game world. +

+


+ +

Connection and disconnection

+ + When you connect, standard xml starting tags and opening atlas tag + with version attribute. +

+ Example: +

+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE atlas protocol "atlas.dtd">
+<atlas version="0.2">
+    
+ In future there will be additional tags for setting binary and/or + compression flags. +

+ When you disconnect, send closing atlas tag. +

+ Example: +

+</atlas>
+    
+ +
+ +

Browsing server

+ + First send blank get operation to server: + +
+<op>
+  <id>get</id>
+</op>
+    
+ + In the answer server tells what it contains: +
+<ent>
+  <id>game.worldforge.org:</id>
+  <contains>
+    <id>settings</id>
+    <id>games</id>
+    <id>players</id>
+  </contains>
+</ent>
+    
+ + Then request info about games (you can go directly to this step + too): + +
+<op>
+  <id>get</id>
+  <id>games</id>
+</op>
+    
+ + Server tells what games it contains: + +
+<ent>
+  <id>games</id>
+  <contains>
+    <id>Medieval fantasy game</id>
+    <id>Warcraft clone</id>
+  </contains>
+</ent>
+    
+ + Further request might require that you are logged in. Especially + getting list of players likely requires account with 'admin' + privileges. Creating characters too likely requires player + account. +

+


+ +

Creating player account and login

+ + If you don't have account, you need to create one. If you already + have account, then creating new one might be against server + policy. So usually there should only be one player account per + real human. +

+ Creating account (this is likely to change somewhat, one + modification might be to require mail address where password is + then sent): +

+<op no="2">
+  <id>create</id>
+  <ent>
+    <attr name="name">JoeBlatz</attr>
+    <attr name="passwd">Rqv67.%</attr>
+  </ent>
+</op>
+    
+ + In response server sends 'info' or 'error' operation back (with + includes player account id (might be same as account name). refno + -attribute helps you to spot right answer. +

+ If you already have account then you log in using it: +

+<op>
+  <id>login</id>
+  <ent>
+    <id>JoeBlatz</id>
+    <attr name="password">Rqv67.%</attr>
+  </ent>
+</op>
+    
+ +
+ +

Creating character and using it

+ + Usually new accounts might be allowed to create only one character + (part of time it might be controlled by player and other time it + might be controlled by AI script). Trusted accounts might be + allowed to create several characters (usually controlled by NPC AI + script). +

+ Creating character: +

+<op no="3">
+  <from>JoeBlatz</id>
+  <id>create</id>
+  <ent>
+    <type>evoker</type>
+    <attr name="name">Evoker the magnificent</attr>
+    <attr name="INT">15</attr>
+  </ent>
+</op>
+    
+ + Server sends back character entity with id and additional + attributes like location, etc... or error message telling what is + wrong (like too big value for some attribute). Server might + assign other values for attributes than client has + specified. refno -attribute helps you to spot right answer. +

+ If you have already created character then you just continue + playing where you left. In both cases it might be goo idea to + use look operation without arguments as starting point: +

+<op>
+  <from>character_id_23<from>
+  <id>look</id>
+</op>
+    
+ +
+
Aloril
+ + +Last modified: Mon Jul 5 17:24:06 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/move.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/move.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/move.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/move.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,200 @@ + + + + Movement + + + +

Movement

+ + + + + + + + + + + + + + + + + +
+ Movement typesRelative, absolute, etc..
+ Location tagWhat location tag contains
+ Containers and relative movementYou are on ship that moves at sea
+ +

Movement types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Movement typeServerClienttags
a)Relative coordinatesNethack and many MUDsSimple clientvector, relrotation
b)Force vectorQUADAS, Cyphesis in futureNormal clientforcevector, torquerotation
c)Force vector/limbSome future world with VRVR client with suitforcevector, torquerotation
d)Absolute coordinatesCyphesis currentlyMap editorcoords, rotation
+

+ If you have better suggestions for tag names, mail to + scripting@. +

+ Server should always support less accurate movement: +

+ + + + +
Advanced server:a,b,c
Less advanced server:a,b
Simple server:a
+

+ Same for client. + Client tries most advanced method of moving and if it gets illegal + event back then it falls back to less advanced method. +

+ Server implementation could be something like this: + server:b, client:a + Create appropriate force vector for requested move difference and use + it as if that was requested. +

+ When 'force' -tag is used by client, then likely server sends + movement sights using 'vector' -tag. +

+ Why? +

+ It would be nice if server would work with less advanced clients and + vice versa. We can't immediately implement some very detailed + moving. It's just that when client uses less accurate 'movement type' + then (s)he cannot control her/his character as accurately. For some + programs it doesn't make even sense to do it initially (like some + existing program). + +

Location tag

+ + This is current/new location for entity. + It contains id, position and optionally orientation. +

+ Id: Entity that acts as reference for location. +

+ Either coords, vector or forcevector is used for position. Units + are in meters unless something different has been decided between + server and client. +

+ Coords: absolute coordinates in relation to reference entity. + Example (x,y,z): +

+       <coords>12.4,23.2,-0.5</coords>
+    
+

+ Vector: relative to receiving character. Example: +

+       <vector>12.4,23.2,-0.5</vector>
+    
+

+ Forcevector: Force relative to receiving character. Default unit + is newton. Example: +

+       <forcevector>12.4,23.2,-0.5</forcevector>
+    
+

+ Either rotation, relrotation or torquerotation is used for + rotation. Units are in radians unless something different has been + decided between server and client. +

+ Rotation: Absolute rotation in relation to reference + entity. Example (x,y,z -axis): +

+       <rotation>0.1,-0.2,2.0</rotation>
+    
+

+ Relrotation: Relative rotation in relation to receiving character. Example: +

+       <relrotation>0.1,-0.2,2.0</relrotation>
+    
+

+ Forcerotation: Relative torque in relation to receiving + character. Default unit is newton meter. Example: +

+       <torquerotation>0.1,-0.2,2.0</torquerotation>
+    
+

+ +

Containers and relative movement

+ + + You are on ship that moves at sea. +

+ You move: ship has moved in relation to you: +

+       <ent>
+         <id>you_123</id>
+         <loc><id>ship_12</id><vector>-4.5,2,0</vector></loc>
+       </ent>
+    
+

+ Ship moves: sea has moved in relation to ship: +

+       <ent>
+         <id>ship_12</id>
+         <loc><id>sea_1</id><vector>0.1,5,0</vector></loc>
+       </ent>
+    
+

+ Sea moves: you don't notice. +

+ Somebody else moves on same ship: somebody has moved in relation + to you: +

+       <ent>
+         <id>somebody_else_1234</id>
+         <loc><id>ship_12</id><vector>-0.5,2,0</vector></loc>
+       </ent>
+    
+

+ Another ship moves: ship2 has moved in relation to your ship: +

+       <ent>
+         <id>ship2_33</id>
+         <loc><id>sea_1</id><vector>-3.1,1.2,0</vector></loc>
+       </ent>
+    
+ +
+
Aloril
+ + +Last modified: Mon Jun 7 19:56:50 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/operations.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/operations.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/operations.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/operations.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,889 @@ + + + + Basic operator hierarchy + + + +

Basic operator hierarchy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IntroductionAbout goal for operator hierarchy
+ Browsing hierarchyHow to find operations server supports
+ opBase operator for all operators
+ actionBase operator for operations that might have effects
+ createCreate new things from nothing.
+ combineCombine existing objects into new objects
+ divideDivide existing object into pieces
+ spellOptional tag
+ communicateBase operator for all kind of communication
+ talkTalking
+ setSets all attributes for existing entity
+ changeChange existing attributes and/or create new attributes
+ moveChange position
+ attackGeneric attack operation
+ useUse something
+ skillUse some skill
+ getGeneric operation for getting info about things
+ perceiveGeneric base operation for perceiving things by eyes, ears, etc...
+ lookLooking at something
+ listenListen something
+ sniffSniff something
+ touchTouch something
+ loginLogging into server
+ deleteDelete something
+ infoInfo about something
+ perceptionCharacter perceives something
+ sightCharacter sees something
+ appearSomething appears
+ disappearSomething disappears
+ soundCharacter hears something
+ smellCharacter hears something
+ senseCharacter senses something (with fingers usually)
+ imaginaryPlaceholder for perceptions of unimplemented actions
+ errorSomething went wrong
+ +

Introduction

+ + Goal is to achieve generality and specificity at the same time. If + client doesn't understand some operation it can lookup at + operation hierarchy for more generic format and use that. It might + lose some useful info but it doesn't usually lose all. + For examples see article for CB#3. + +

+


+ +

op

+ + Base operator for all operators. + No parameters. Useful starting point for browsing operator + hierarchy. + +

+


+ +

action

+ + Derived from op. +

+ Base operator for operations that might have effects. + +

+


+ +

create

+ + Derived from action. +

+ Create new things from nothing using this operator. Map editor is + main user for this. +

+ Parameters: entity describing object that is being created. +

+ Example: +

+      <op><id>create</id>
+        <from>map-editor</from>
+        <ent>
+          <attr name="name">Axe</attr>
+          <attr name="attack" type="int">3</attr>
+        </ent>
+      </op>
+    
+ +
+ +

combine

+ + Derived from create. +

+ Combine existing objects into new objects. This is how normal + characters create objects. +

+ Parameters: entity describing object that is being created and + list of entities that are used as raw material. +

+

+      <op><id>combine</id>
+        <ent>
+          <type><id>axe</id></type>
+          <attr name="name">Bjorn's axe</attr>
+        </ent>
+        <id>Wood_8898</id>
+        <id>Iron_6578</id>
+      </op>
+    
+ +
+ +

divide

+ + Derived from create. +

+ Divide existing object into pieces. One of the pieces might be + original object modified. +

+ Parameters: id of original object and entities describing pieces. +

+

+      <op><id>divide</id>
+        <id>money12345</>
+        <ent>
+          <id href="money12345"/>
+          <attr name="amount" type="int">10</attr>
+        </ent>
+        <ent>
+          <attr name="amount" type="int">110</attr>
+        </ent>
+      </op>
+    
+ +
+ +

spell

+ + Optional operation, derived from combine. + +

+


+ +

communicate

+ + Derived from create. + Base operator for all kind of communication. +

+ Parameters: communication entity. +

+ Example: see talk + +

+


+ +

talk

+ + Derived from communicate. +

+ Parameters: sentence(s) entity. +

+ Example: +

+      <op>
+        <id>talk</id>
+        <ent>
+          <attr name="say">What has happened there?</attr>
+        </ent>
+      </op>
+    
+ Talking out of game is same, except you use player id instead of character id. + +

+


+ +

set

+ + Derived from action. +

+ Sets all attributes for existing entity. +

+ Parameters: entity with id and new attributes. +

+ Example: +

+      <op><id>set</id>
+        <ent>
+          <id>9899</id>
+          <attr name="HP" type="int">50</attr>
+          <attr name="height" type="float">1.8</attr>
+          <attr name="width" type="float">0.3</attr>
+        </ent>
+      </op>
+    
+ +
+ +

change

+ + Derived from set. +

+ Change existing attributes and/or create new + attributes. Difference with set is that anything previously + defined attribute not touched here remain intact. +

+ Parameters: entity with id and changed/new attributes. +

+ Example: +

+      <op><id>change</id>
+        <ent>
+          <id>9899</id>
+          <attr name="HP" type="int">30</attr>
+        </ent>
+      </op>
+    
+ +
+ +

move

+ + Derived from change. +

+ Change position. +

+ Parameters: entity with id and new position. +

+ Example: +

+      <op><id>move</id>
+        <ent>
+          <id>9899</id>
+          <loc><id>11</id><coords>12.3,3,0</coords></loc>
+        </ent>
+      </op>
+    
+ + More about movement here. + +

+


+ +

attack

+ + Maybe move_attack instead of attack? Or maybe let attack + derive from change and let move_attack derive from attack and move? +

+ Derived from move. +

+ Generic attack operation. Base operation for game specific attack + operations (like swing, etc...). +

+ Parameters: entity with id, new position and maybe some other attributes. +

+ Example: +

+      <op><id>attack</id>
+        <ent>
+          <id>Sword_99</id>
+          <loc><id>Opponent_11</id><coords>0.2,0.2,1.5</coords></loc>
+        </ent>
+      </op>
+    
+ +
+ +

use

+ + Needs more thinking! + Derived from change. +

+ Use something (tool, skill etc..) +

+ Parameters: id for entity to be used. +

+ Example: +

+      <op><id>use</id>
+        <id>magic_wand_24</id>
+      </op>
+    
+ +
+ +

skill

+ + Needs more thinking! + Derived from use. +

+ Use some skill. +

+ Parameters: id of skill and optionally target id's. +

+ Example: +

+      <op><id>skill</id>
+        <id>woodworking</id>
+        <id>target_wood_24903</id>
+      </op>
+    
+ +
+ +

get

+ + Derived from action. +

+ Generic operation for getting info about things. +

+ Parameters: id of target entity. +

+ Example: +

+      <op><id>get</id>
+        <id>elf_type_id_45</id>
+      </op>
+    
+ + Browsing operator hierarchy example: +

+ First start from operator hierarchy root (see op): +

+      <op>
+        <id>get</id>
+        <id>op</id>
+      </op>
+    
+ Answer might be: +
+      <op>
+        <id>info</id>
+        <ent>
+          <id>op</id>
+          <instance>
+            <id>action</id>
+            <id>info</id>
+          </instance>
+          <attr name="description">Base operator for all operators</attr>
+        </ent>
+      </op>
+    
+ Then you can ask about action and info: +
+      <op>
+        <id>get</id>
+        <id>action</id>
+      </op>
+      <op>
+        <id>get</id>
+        <id>info</id>
+      </op>
+    
+ Etc... + +

+


+ +

perceive

+ + Derived from get. +

+ Generic base operation for perceiving things by eyes, ears, etc... +

+ Parameters: id of target entity. +

+ Example: +

+      <op><id>perceive</id>
+        <id>elf_3545</id>
+      </op>
+    
+ +
+ +

look

+ + Derived from perceive. +

+ Looking at something. +

+ Parameters: id of target entity (optional). +

+ Example: +

+      <op><id>look</id>
+        <id>elf_3545</id>
+      </op>
+    
+ +
+ +

listen

+ + Derived from perceive. +

+ Listen (something). +

+ Parameters: id of target entity (optional). +

+ Example: +

+      <op><id>listen</id>
+        <id>elf_3545</id>
+      </op>
+    
+ +
+ +

sniff

+ + Derived from perceive. +

+ Sniff something. +

+ Parameters: id of target entity (optional). +

+ Example: +

+      <op><id>sniff</id>
+        <id>flower_3545</id>
+      </op>
+    
+ +
+ +

touch

+ + Derived from perceive. +

+ Touch something. +

+ Parameters: id of target entity. +

+ Example: +

+      <op><id>touch</id>
+        <id>cloth_3545</id>
+      </op>
+    
+ +
+ +

login

+ + Derived from get. +

+ Operation for logging into server. +

+ Parameters: entity with player name and password attribute. +

+ Example: +

+      <op><id>login</id>
+        <ent>
+          <id>JoeBlatz</id>
+          <attr name="password">Rqv67.%</attr>
+        </ent>
+      </op>
+    
+ +
+ +

delete

+ + Derived from action. +

+ Delete something. +

+ Parameters: id of entity to be deleted. +

+ Example: +

+      <op><id>delete</id>
+        <id>foo_bar_344</id>
+      </op>
+    
+ +
+ +

info

+ + Derived from op. +

+ Info about something. +

+ Parameters: info entity. +

+ Example: +

+      <op><id>info</id>
+        <ent>
+          <attr name="msg">Here is some info</attr>
+        </ent>
+      </op>
+    
+ +
+ +

perception

+ + Derived from info. +

+ Character perceives something. +

+ Parameters: perceived thing. Base operator for all kind of + perceptions. +

+ Example: +

+      <op><id>perception</id>
+        <id>tree_8374</id>
+      </op>
+    
+ +
+ +

sight

+ + Derived from perception. +

+ Character sees something. +

+ Parameters: object or event character sees. +

+ Common example: +

+      <op><id>sight</id>
+        <ent>
+          <id>grass1</id>
+          <stamp>989.24</stamp>
+        </ent>
+      </op>
+    
+ Reply for looking at 'grass1': +
+      <op><id>sight</id>
+        <ent>
+          <id>grass1</id>
+          <type><id>terrain</id></type>
+          <contains>
+            <id>path1</id>
+            <id>tree1</id>
+          </contains>
+          <attr name="description">Grass plains</attr>
+          <attr name="polygon" type="coords">
+            <coords>0,0</coords><coords>10,0</coords><coords>10,10</coords>
+            <coords>0,10</coords><coords>0,0</coords>
+          </attr>
+        </ent>
+      </op>
+    
+ Event example: +
+      <op><id>sight</id>
+        <op><id>move</id>
+          <ent>
+            <id>orc_23498</id>
+            <loc><id>grass1</id><coords>0.5,3.0,0.0</coords></loc>
+          </ent>
+        </op>
+      </op>
+    
+ +
+ +

appear

+ + Derived from sight. +

+ Character sees something appearing: it literally appears or has + it come in visible range. +

+ Parameters: object or event character sees. +

+ Example: +

+      <op><id>appear</id>
+        <ent>
+          <id>grass1</id>
+          <stamp>989.24</stamp>
+        </ent>
+      </op>
+    
+ +
+ +

disappear

+ + Derived from sight. +

+ Character sees something disappearing: it literally disappears or + has it gone too far to be visible. +

+ Parameters: object or event character sees. +

+ Example: +

+      <op><id>disappear</id>
+        <ent>
+          <id>grass1</id>
+          <stamp>989.24</stamp>
+        </ent>
+      </op>
+    
+ +
+ +

sound

+ + Derived from perception. +

+ Character hears something. +

+ Parameters: thing character heard. +

+ Example (every operation might have from, to and time tags, not + only this operation): +

+      <op><id>sound</id>
+        <from>sentry_34</from>
+        <ent>
+          <attr name="say">What has happened there?</attr>
+        </ent>
+      </op>
+    
+ +
+ +

smell

+ + Derived from perception. +

+ Character smells something. +

+ Parameters: thing character smells. +

+ Example (every operation might have from, to and time tags, not + only this operation): +

+      <op><id>sound</id>
+        <from>flower_34</from>
+        <ent>
+          <attr name="smell">sweet</attr>
+        </ent>
+      </op>
+    
+ +
+ +

sense

+ + Derived from perception. +

+ Character senses something (with fingers usually). +

+ Parameters: thing character senses. +

+      <op><id>sound</id>
+        <ent>
+          <id>cloth_34</id>
+          <attr name="surface type">rough</attr>
+        </ent>
+      </op>
+    
+ +
+ +

imaginary

+ + Derived from perception. +

+ When something is not yet implemented in server, then character + can pretend to do something ;-) +

+ Parameters: event that is supposed to happen. +

+ Example: +

+      <op><id>imaginary</id>
+        <id>some_unimplemented_action</id>
+      </op>
+    
+ +
+ +

error

+ + Derived from info. +

+ Something went wrong. +

+ Parameters: entity describing what went wrong. +

+ Example: +

+      <op><id>error</id>
+        <ent>
+          <attr name="op" type="id">foo</attr>
+          <attr name="msg">Unknown operation</attr>
+        </ent>
+      </op>
+    
+ +
+
Aloril
+ + +Last modified: Mon Jul 5 16:53:08 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/proposal.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/proposal.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/proposal.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/proposal.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,96 @@ + + + + Atlas protocol proposal v0.1.4 + + + +

Atlas protocol proposal v0.1.4

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IntroductionPhilosophy
+ About v0.1Origins for this proposal
+ DTDAtlas document type definition (DTD)
+ TagsAll tags/basic building blocks
+ Basic operator hierarchyAll operations
+ Out of game (OG) AtlasLogin, character generation, etc..
+ MovementAbsolute and relative movement
+ Example sessionExample session
+ Binary AtlasGeneric idea about what it might be like
+ Article for CB#3Talks about how to achieve generality and specificity at the same time
+ DiscussionSee scripting@ for discussion about Atlas
+ +

Introduction

+ + What is Atlas? Think about body. That is server. Think about + mind/soul. That is client. Atlas is protocol that connects these. +

+ Format for Atlas is XML. + +

About v0.1

+ + This is combination of old Atlas (v0.01) and RavenDusk proposal. + +
+
Aloril
+ + +Last modified: Mon Jul 5 18:35:40 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/v0.1.4/tags.html atlas-cpp-0.6.3/protocol/spec/v0.1.4/tags.html --- atlas-cpp-0.6.2/protocol/spec/v0.1.4/tags.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/v0.1.4/tags.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,452 @@ + + + + Atlas tags + + + +

Atlas protocol proposal

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Connection (<atlas>)One login session
+ Transfer unit (<msg>)Delimits blocks transferred
+ Operation (<op>)One action or info
+ Id (<id>)Identifier
+ Routing (<from>, <to>)Who sent, who received operation
+ Time (<time>)Time of operation
+ Entity (<ent>)Id and attributes for operation, object or type entity
+ Type (<type>)Parent type (attributes inherited from)
+ Instance (<instance>)Entities that inherit attributes from this entity
+ Location (<loc>)Location of entity
+ Contains (<contains>)Objects that use this entity as reference system
+ Stamp (<stamp>)Stamp (when object changed or something similar)
+ Attribute (<attr>)Name and value for attribute
+ +

Connection

+ + Connection: Login, play session, logout
+ Version tag contains Atlas protocol version this uses.
+ <atlas> surrounds whole connection and it could be saved to + file as a XML document. +

+ Connection consist of transfer units. +

+ Example: +

+      <atlas version="0.2">
+        <msg/>
+        <msg/>
+        <msg/>
+      </atlas>
+    
+ +
+ +

Transfer unit

+ + Transfer unit: 0 or more operations. This is transferred as one + block and then interpreted by Atlas library. It's surrounded by + <msg> -tag and thus can be interpreted as XML document too. +

+ Each msg might contain serial number. Communication library will + use it to request retransmission of msg if needed. Retransmission + is requested when gap in serial number or missing msg is detected. +

+ Example: +

+      <msg no="1">
+        <op/>
+        <op/>
+      </msg>
+    
+ +
+ +

Operation

+ Operation consist of id tag and arguments for operation.
+ It can include optional from,to and time tags.
+ It can include optional no and refno attributes. +

+ Example (body of character '123' hit you and now you have 40 HP): +

+       <op no="200">
+         <from>123</from>
+         <to>777</to>
+         <time s="16874695545.78">542-12-30 17:44:01.78</time>
+         <id>change</id>
+         <ent>
+           <id>777</id>
+           <attr name="HP" type="int">40</attr>
+         </ent>
+       </op>
+    
+ Note that mind of character '123' likely sent something like: + "swing this sword that way". +

+ no and refno -attributes: +

+ Client can set this to some number (likely serial no starting from + 1) and when server answers it might include in answer refid + attribute to tell with operation it's answering. +

+ Example: +

+      <op no="100">
+        <id>move</id>
+        <ent>
+          <id>9899</id>
+          <loc><id>11</id><coords>12.3,3,0</coords></loc>
+        </ent>
+      </op>
+    
+ Answer from server (character is somewhat drunken): +
+      <op no="1234" refno="100">
+        <id>sight</id>
+        <ent>
+          <id>9899</id>
+          <loc><id>11</id><coords>12.2,3.2,-0.1</coords></loc>
+        </ent>
+      </op>
+    
+ +
+ +

Id

+ + Complete format for id tag is:
+ host_name:id_string#sub_id#sub_sub_id
+ There could be 'any' amount of sub ids.
+ host_name part is optional if it's server where connection has been made. +

+ Id strings cannot contain ':' or '#' characters. +

+ Examples: +

+       <id>magicworld.org:funny_ape_123#arm#thumb</id>
+       <id>magicworld.org:98123#8#1</id>
+       <id>98123#8#1</id>
+       Inside '98123' entity description: <id>#8#1</id>
+    
+ +
+ +

Routing

+ + From tag tells where operation originates.
+ To tag tells target for operation.
+ These tag have same content as id tag. +

+ +


+ +

Time

+ + Time tag tells when operation happened.
+ It has s attribute that tells in seconds current time.
+ It might have sadd attribute that tells how much in the future + operation should happen. +

+ Content tells current time using format similar to ISO + format: YYYY-MM-DD hh:mm:ss (why not exactly same: because + calendar might be totally different). +

+ Example (unusual year and month): +

+      <time s=372225899200.7>12007-103-05 47:05:45.7</time>
+    
+ + If server omits content, then client can assume our real world + calendar. +

+ Example: +

+      <time s=62034870000.45/>
+    
+ + sadd attribute: client (and maybe server too) can specify + operation time into future. +

+ Example: move sword here, then move it there after 0.X seconds, + then move it here after 0.X+0.Y seconds etc... (time fields here) +

+ XML Example: +

+      <op>
+        <time sadd="0.1"/>
+        <id>move<id>
+        <id>sword_88</id>
+        <loc><id>joe_123</id><vector>0.5,0,0</vector></loc>
+      </op>
+    
+ +
+ +

Entity

+ + Entity can be description for operation, object or type + description. It can include id, type, instance, loc, contains, + stamp and attr tags. + + Example: +
+      <ent>
+         <id>Brian_789</id>
+         <type>human</type>
+         <contains>
+           <id>backpack_322</id>
+           <id>sword_1322</id>
+         </contains>
+         <loc>
+           <id>house_879</id>
+           <coords>12.4,7.4,3.5</coords>
+         </loc>
+         <stamp>122143.5</stamp>
+         <attr name="HP" type="int">40</attr>
+      </ent>
+    
+ +

Id

+ Id describes entity uniquely or if id is not given then entity + is temporary. +

+ Temporary entity means that you can't refer to it in the future + or in the other words it's 'available' only inside <op> tag. + + Example: +

+      <op>
+        <id>talk</id>
+        <ent>
+          <attr name="say">What has happened there?</attr>
+        </ent>
+      </op>
+    
+ +
+ +

Type

+ + Parent type: Entity inherits attributes from parent type. It can + then override them, remove them or add new attributes. + There might be more than one parent type (multiple inheritance). +

+ Example: +

+       <type>human</type>
+    
+ +
+ +

Instance

+ + Lists all entities that have this as parent type. + +

+


+ +

Location

+ + Location of entity. + Id tag contains id for entity that acts as reference for + location. This entity is not necessary inside or on top of + reference object. +

+ Coords tag contains coordinates (usually x,y or x,y,z) +

+ Instead of 'coords' it might be 'vector': then coordinates are + relative to op receiver. +

+ Example: +

+       <loc>
+         <id>house_879</id>
+         <coords>12.4,7.4,3.5</coords>
+       </loc>
+    
+ + More about movement here. + +

+


+ +

Contains

+ + Lists things that use this entity as reference system. List may + not be complete (you don't notice/see everything; for admin client + it might still be complete) +

+ Example: +

+       <contains>
+         <id>backpack_322</id>
+         <id>sword_1322</id>
+       </contains>
+    
+ +
+ +

Stamp

+ + In sight operations you usually receive list of entities + containing id and stamp. You can them compare stamp with your + stamp from local cache and then requery about that object if they + differ (it has changed clothing, for example) +

+ Example: +

+      <contains>
+        <ent><id>path1</id><stamp>989.24</stamp></ent>
+        <ent><id>tree1</id><stamp>1989.24</stamp></ent>
+        <ent><id>Joe123</id><stamp>3011.43</stamp></ent>
+      </contains>
+    
+ + When querying include stamp from cache, so server can send only + changed parts, exmpale: + +
+      <op><id>look</id>
+        <ent>
+          <id>Joe123</id>
+          <stamp>2811.99</stamp>
+        </ent>
+      </op>
+    
+ + Example answer from server: + +
+      <op><id>sight</id>
+        <ent>
+          <id>Joe123</id>
+          <stamp>3011.43</stamp>
+          <contains><id>shield847</id></contains>
+        </ent>
+      </op>
+    
+ +
+ +

Attribute

+ + This is generic method for describing entity attributes. + It has optional 'name' -attribute for naming entity attributes. +

+ It has optional 'type' -attribute for giving type of entity + attribute. If type is not given, then it's assumed to be same type + as attribute with same name in parent entity type. If it's not + given anywhere in entity type hierarchy, then it's assumed to be string. +

+ Valid types: int, float, string, list, range, id, attr, ent, delete, Xlist
+ list, range, Xlist, attr, ent, delete types will likely change + after discussion at scripting@worldforge.org! +

+ int: integer (likely 32 bit signed int, though it might be 64 bit too)
+ float: floating point number (likely float or double)
+ string: arbitrary string (should not contain \0)
+ list: contains list of arbitrary types; + surround each element with type tag: +

+      <int>187</int>
+      <float>-87.09</float>
+      <list/>
+      <attr name="height" type="float">2.56</attr>
+    
+ range: start-end
+ id: see id tag
+ attr: sub attribute
+ ent: attribute list
+ delete: parent type entity has this attribute, but this doesn't
+ Xlist: list of one type: intlist, floatlist, stringlist or rangelist
+

+ Example: +

+       <attr name="HP" type="int">40</attr>
+    
+

+ There should be root type entity for all objects that defines + types for common attributes. +

+ Example: +

+      <ent>
+        <attr name="name" type="string">Give entity some name!</>
+        <attr name="health" type="float">1.0</>
+      </ent>
+    
+ +
+
Aloril
+ + +Last modified: Mon Jul 5 17:52:57 EEST 1999 + + + diff -Nru atlas-cpp-0.6.2/protocol/spec/xml_syntax.html atlas-cpp-0.6.3/protocol/spec/xml_syntax.html --- atlas-cpp-0.6.2/protocol/spec/xml_syntax.html 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/protocol/spec/xml_syntax.html 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,66 @@ + + + + XML Syntax + + + +

XML Syntax

+ +

DTD

+
+
+<!-- Tags -->
+
+<!ELEMENT atlas       (map*)>
+<!ATTLIST atlas       version  CDATA #IMPLIED>
+
+<!ELEMENT string     (#PCDATA)>
+<!ATTLIST string     name  CDATA #IMPLIED>
+
+<!ELEMENT int     (#PCDATA)>
+<!ATTLIST int     name  CDATA #IMPLIED>
+
+<!ELEMENT float     (#PCDATA)>
+<!ATTLIST float     name  CDATA #IMPLIED>
+
+<!ELEMENT list     (string|int|float|list|map)*>
+<!ATTLIST list     name  CDATA #IMPLIED>
+
+<!ELEMENT map     (string|int|float|list|map)*>
+<!ATTLIST map     name  CDATA #IMPLIED>
+
+    
+ +

Examples

+
+<int name="foo">4</int>
+
+<map name="loc">
+  <string name="ref">42</string>
+  <list name="coords"><float>1.2</float><float>-3.5</float><float>0.0</float><list>
+</map>
+
+<map>
+  <string name="id">dragon_123</string>
+  <string name="name">Dragon the magnificent</string>
+</map>
+
+<list name="args">
+  <map>
+    <string name="message">Hello!</string>
+  </map>
+  <map>
+    <string name="id">elf_123</string>
+  </map>
+</list>
+    
+ +
+
Aloril
+ + +Last modified: Wed May 17 09:36:02 EEST 2000 + + + diff -Nru atlas-cpp-0.6.2/support/ChangeLog-CVS atlas-cpp-0.6.3/support/ChangeLog-CVS --- atlas-cpp-0.6.2/support/ChangeLog-CVS 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/support/ChangeLog-CVS 2013-08-26 14:56:27.000000000 +0000 @@ -0,0 +1 @@ +This file was needed for generating the proper ChangeLog as an aggregate of the code held in git and older code in CVS. It's now empty, but needs to be included in the source distribution to not upset automake. diff -Nru atlas-cpp-0.6.2/support/generate-ChangeLog.sh atlas-cpp-0.6.3/support/generate-ChangeLog.sh --- atlas-cpp-0.6.2/support/generate-ChangeLog.sh 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/support/generate-ChangeLog.sh 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,19 @@ +#! /bin/sh +#A script for combining the legacy ChangeLog found in ChangeLog-CVS with one output from git. The script will only run if the current ChangeLog contains exactly one line. +#This makes it possible to do a new "make dist" from an existing source distribution (as the ChangeLog would then be complete.). +top_srcdir=$1 +distdir=$2 +commitid=$3 +if [ x${distdir} = "x" ] || [ x${top_srcdir} = "x" ] || [ x${commitid} = "x" ]; then + echo "This script will generate an aggregated ChangeLog by combining the legacy ChangeLog-CVS file with the output from git log. It therefore needs to be run in a git source directory." + echo "Params: " + exit 1 +fi +#Only do the aggregation if the ChangeLog file is exactly one line. If not the aggregation has already been done. +if [ `cat ${distdir}/ChangeLog | wc -l` = "0" ]; then + echo "Generating ChangeLog by appending the old CVS ChangeLog to the one generated from git. This requires that you create the dist in the git repository." + + chmod u+w ${distdir}/ChangeLog && git log ${commitid}..HEAD --stat --name-only --date=short --abbrev-commit > ${distdir}/ChangeLog && echo "" >> ${distdir}/ChangeLog && cat ${top_srcdir}/support/ChangeLog-CVS >> ${distdir}/ChangeLog + #Put a notice in the legacy ChangeLog-CVS file, thus bringing the size of the dist down a bit. + chmod u+w ${distdir}/support/ChangeLog-CVS && echo "This file was needed for generating the proper ChangeLog as an aggregate of the code held in git and older code in CVS. It's now empty, but needs to be included in the source distribution to not upset automake." > ${distdir}/support/ChangeLog-CVS +fi diff -Nru atlas-cpp-0.6.2/tests/Codecs/codecs.cpp atlas-cpp-0.6.3/tests/Codecs/codecs.cpp --- atlas-cpp-0.6.2/tests/Codecs/codecs.cpp 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Codecs/codecs.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,152 @@ +/* + Copyright (C) 2013 Erik Ogenvik + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +using namespace Atlas::Message; + +void testXMLEscapingOneString(const std::string& string) +{ + assert( + Atlas::Codecs::XML::unescape(Atlas::Codecs::XML::escape(string)) == string); + assert( + Atlas::Codecs::XML::unescape(Atlas::Codecs::XML::escape(" " + string)) == (" " + string)); + assert( + Atlas::Codecs::XML::unescape(Atlas::Codecs::XML::escape(string + " ")) == (string + " ")); + assert( + Atlas::Codecs::XML::unescape(Atlas::Codecs::XML::escape(" " + string + " ")) == (" " + string + " ")); +} + +void testXMLEscaping() +{ + testXMLEscapingOneString("&"); + testXMLEscapingOneString("<"); + testXMLEscapingOneString(">"); + testXMLEscapingOneString("'"); + testXMLEscapingOneString("\""); + testXMLEscapingOneString("&&"); + testXMLEscapingOneString("<<"); + testXMLEscapingOneString(">> "); + testXMLEscapingOneString("''"); + testXMLEscapingOneString("\"\""); + assert(Atlas::Codecs::XML::unescape("&") == "&"); + assert(Atlas::Codecs::XML::unescape("& ") == "& "); + assert(Atlas::Codecs::XML::unescape(""") == """); + assert(Atlas::Codecs::XML::unescape("" ") == "" "); + assert(Atlas::Codecs::XML::unescape("&apos") == "&apos"); + assert(Atlas::Codecs::XML::unescape("&apos ") == "&apos "); + assert(Atlas::Codecs::XML::unescape("<") == "<"); + assert(Atlas::Codecs::XML::unescape("< ") == "< "); + assert(Atlas::Codecs::XML::unescape(">") == ">"); + assert(Atlas::Codecs::XML::unescape("> ") == "> "); +} + +template +void testCodec() +{ + MapType map; + + ListType list = { "foo", 1.5, 5 }; + map["foo1"] = "foo"; + map["foo2"] = 1; + map["foo3"] = 2.5; + map["foo4"] = list; + map["<"] = "<"; + map[">"] = ">"; + map["foo6&"] = "&;"; + map["foo6:"] = ":"; + map["\""] = "\""; + map["{"] = "{"; + map["}"] = "}"; + map["["] = "["; + map["]"] = "]"; + map["@"] = "@"; + map["$"] = "$"; + + std::stringstream ss; + + { + Atlas::Message::QueuedDecoder decoder; + + T codec(ss, decoder); + Atlas::Message::Encoder encoder(codec); + encoder.streamBegin(); + encoder.streamMessageElement(map); + encoder.streamEnd(); + } + + std::string atlas_data = ss.str(); + + std::stringstream ss2(atlas_data, std::ios::in); + + Atlas::Message::QueuedDecoder decoder; + { + + T codec(ss2, decoder); + Atlas::Message::Encoder enc(codec); + + decoder.streamBegin(); + codec.poll(); + decoder.streamEnd(); + + } +// assert(decoder.queueSize() == 1); + MapType map2 = decoder.popMessage(); + + assert(map2["foo1"].asString() == "foo"); + assert(map2["foo2"].asInt() == 1); + assert(map2["foo3"].asFloat() == 2.5); + assert(map2["foo4"].asList()[0].asString() == "foo"); + assert(map2["foo4"].asList()[1].asFloat() == 1.5); + assert(map2["foo4"].asList()[2].asInt() == 5); + assert(map2["foo4"].asList()[2].asInt() == 5); + assert(map2["<"].asString() == "<"); + assert(map2[">"].asString() == ">"); + assert(map2["foo6&"].asString() == "&;"); + + assert(map2["foo6:"].asString() == ":"); + assert(map2["\""].asString() == "\""); + assert(map2["{"].asString() == "{"); + assert(map2["}"].asString() == "}"); + assert(map2["["].asString() == "["); + assert(map2["]"].asString() == "]"); + assert(map2["@"].asString() == "@"); + assert(map2["$"].asString() == "$"); + +} + +int main(int argc, char** argv) +{ + testXMLEscaping(); + + testCodec(); + testCodec(); + //Bach is problematic and disabled for now. We should look into using JSON instead. +// testCodec(); + +} + diff -Nru atlas-cpp-0.6.2/tests/Codecs/Makefile.am atlas-cpp-0.6.3/tests/Codecs/Makefile.am --- atlas-cpp-0.6.2/tests/Codecs/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Codecs/Makefile.am 2013-08-23 21:13:58.000000000 +0000 @@ -0,0 +1,17 @@ + +INCLUDES = -I$(top_srcdir) + +LDADD = -L$(top_builddir)/Atlas/ -L$(top_builddir)/Atlas/Codecs/ \ + -L$(top_builddir)/Atlas/Filters/ \ + -L$(top_builddir)/Atlas/Message/ -L$(top_builddir)/Atlas/Net/ \ + -L$(top_builddir)/Atlas/Objects/ + +LIBS = -lAtlasObjects-0.6 -lAtlasNet-0.6 -lAtlas-0.6 -lAtlasCodecs-0.6 \ + -lAtlasFilters-0.6 -lAtlasMessage-0.6 -lAtlas-0.6 $(OTHER_LIBS) + +check_PROGRAMS = codecs + +TESTS = $(check_PROGRAMS) + +codecs_SOURCES = codecs.cpp + diff -Nru atlas-cpp-0.6.2/tests/Codecs/Makefile.in atlas-cpp-0.6.3/tests/Codecs/Makefile.in --- atlas-cpp-0.6.2/tests/Codecs/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Codecs/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -0,0 +1,615 @@ +# Makefile.in generated by automake 1.11.4 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +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 = codecs$(EXEEXT) +subdir = tests/Codecs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am_codecs_OBJECTS = codecs.$(OBJEXT) +codecs_OBJECTS = $(am_codecs_OBJECTS) +codecs_LDADD = $(LDADD) +codecs_DEPENDENCIES = +DEFAULT_INCLUDES = +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(codecs_SOURCES) +DIST_SOURCES = $(codecs_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +ETAGS = etags +CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +ATLAS_CFLAGS = @ATLAS_CFLAGS@ +ATLAS_CURRENT = @ATLAS_CURRENT@ +ATLAS_LIBS = @ATLAS_LIBS@ +ATLAS_LIB_SUFFIX = @ATLAS_LIB_SUFFIX@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +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@ +INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = -lAtlasObjects-0.6 -lAtlasNet-0.6 -lAtlas-0.6 -lAtlasCodecs-0.6 \ + -lAtlasFilters-0.6 -lAtlasMessage-0.6 -lAtlas-0.6 $(OTHER_LIBS) + +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTHER_LIBS = @OTHER_LIBS@ +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@ +SYSTEM_LIBS = @SYSTEM_LIBS@ +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@ +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@ +INCLUDES = -I$(top_srcdir) +LDADD = -L$(top_builddir)/Atlas/ -L$(top_builddir)/Atlas/Codecs/ \ + -L$(top_builddir)/Atlas/Filters/ \ + -L$(top_builddir)/Atlas/Message/ -L$(top_builddir)/Atlas/Net/ \ + -L$(top_builddir)/Atlas/Objects/ + +TESTS = $(check_PROGRAMS) +codecs_SOURCES = codecs.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .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) --gnu tests/Codecs/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Codecs/Makefile +.PRECIOUS: 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 +codecs$(EXEEXT): $(codecs_OBJECTS) $(codecs_DEPENDENCIES) $(EXTRA_codecs_DEPENDENCIES) + @rm -f codecs$(EXEEXT) + $(CXXLINK) $(codecs_OBJECTS) $(codecs_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codecs.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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 +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ + test "$$failed" -eq 0; \ + else :; fi + +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_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +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-checkPROGRAMS 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 all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool ctags \ + 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 uninstall uninstall-am + + +# 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 -Nru atlas-cpp-0.6.2/tests/Makefile.am atlas-cpp-0.6.3/tests/Makefile.am --- atlas-cpp-0.6.2/tests/Makefile.am 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Makefile.am 2013-08-23 21:13:58.000000000 +0000 @@ -1,2 +1,2 @@ -SUBDIRS = Objects +SUBDIRS = Objects Codecs diff -Nru atlas-cpp-0.6.2/tests/Makefile.in atlas-cpp-0.6.3/tests/Makefile.in --- atlas-cpp-0.6.2/tests/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,9 +15,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -34,12 +53,17 @@ subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -49,12 +73,45 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) 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@ AR = @AR@ @@ -78,14 +135,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -93,21 +151,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -121,9 +188,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -169,7 +237,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = Objects +SUBDIRS = Objects Codecs all: all-recursive .SUFFIXES: @@ -177,14 +245,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu tests/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -202,6 +270,7 @@ 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): mostlyclean-libtool: -rm -f *.lo @@ -216,7 +285,7 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -233,7 +302,7 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -241,7 +310,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -267,16 +336,16 @@ else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -284,14 +353,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -303,7 +372,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -312,29 +381,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -355,29 +429,41 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + $(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="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -397,16 +483,22 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -425,6 +517,8 @@ html: html-recursive +html-am: + info: info-recursive info-am: @@ -433,18 +527,28 @@ 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 @@ -465,8 +569,8 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ + install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ @@ -482,6 +586,7 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am + # 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 -Nru atlas-cpp-0.6.2/tests/Objects/decoder1.cpp atlas-cpp-0.6.3/tests/Objects/decoder1.cpp --- atlas-cpp-0.6.2/tests/Objects/decoder1.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Objects/decoder1.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -2,6 +2,7 @@ #include #include +#include bool root_arrived = false; bool look_arrived = false; @@ -40,10 +41,17 @@ int main(int argc, char** argv) { + std::string atlas_xml_path; + char * srcdir_env = getenv("srcdir"); + if (srcdir_env != 0) { + atlas_xml_path = srcdir_env; + atlas_xml_path += "/"; + } + atlas_xml_path += "../../protocol/spec/atlas.xml"; try { - Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); + Atlas::Objects::loadDefaults(atlas_xml_path); } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " + std::cout << "DefaultLoadingException: " << e.getDescription() << std::endl; } TestDecoder t; diff -Nru atlas-cpp-0.6.2/tests/Objects/encoder1.cpp atlas-cpp-0.6.3/tests/Objects/encoder1.cpp --- atlas-cpp-0.6.2/tests/Objects/encoder1.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Objects/encoder1.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -6,6 +6,7 @@ #include #include +#include class RootDecoder : public Atlas::Message::DecoderBase { @@ -21,10 +22,17 @@ int main(int argc, char** argv) { + std::string atlas_xml_path; + char * srcdir_env = getenv("srcdir"); + if (srcdir_env != 0) { + atlas_xml_path = srcdir_env; + atlas_xml_path += "/"; + } + atlas_xml_path += "../../protocol/spec/atlas.xml"; try { - Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); + Atlas::Objects::loadDefaults(atlas_xml_path); } catch(Atlas::Objects::DefaultLoadingException e) { - std::cout << "DefaultLoadingException: " + std::cout << "DefaultLoadingException: " << e.getDescription() << std::endl; } RootDecoder rd; diff -Nru atlas-cpp-0.6.2/tests/Objects/Makefile.in atlas-cpp-0.6.3/tests/Objects/Makefile.in --- atlas-cpp-0.6.2/tests/Objects/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Objects/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,9 +15,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -37,12 +56,17 @@ subdir = tests/Objects DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am_attributes_OBJECTS = attributes.$(OBJEXT) attributes_OBJECTS = $(am_attributes_OBJECTS) attributes_LDADD = $(LDADD) @@ -78,6 +102,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -102,8 +127,15 @@ DIST_SOURCES = $(attributes_SOURCES) $(custom_ops_SOURCES) \ $(decoder1_SOURCES) $(encoder1_SOURCES) $(flags_SOURCES) \ $(objects1_SOURCES) $(objects2_SOURCES) $(objects_fwd_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -128,14 +160,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -143,23 +176,32 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = -lAtlasObjects-0.6 -lAtlasNet-0.6 -lAtlas-0.6 -lAtlasCodecs-0.6 \ -lAtlasFilters-0.6 -lAtlasMessage-0.6 -lAtlas-0.6 $(OTHER_LIBS) LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -173,9 +215,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -244,14 +287,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu tests/Objects/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Objects/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Objects/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Objects/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -269,35 +312,38 @@ 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)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -attributes$(EXEEXT): $(attributes_OBJECTS) $(attributes_DEPENDENCIES) + @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 +attributes$(EXEEXT): $(attributes_OBJECTS) $(attributes_DEPENDENCIES) $(EXTRA_attributes_DEPENDENCIES) @rm -f attributes$(EXEEXT) $(CXXLINK) $(attributes_OBJECTS) $(attributes_LDADD) $(LIBS) -custom_ops$(EXEEXT): $(custom_ops_OBJECTS) $(custom_ops_DEPENDENCIES) +custom_ops$(EXEEXT): $(custom_ops_OBJECTS) $(custom_ops_DEPENDENCIES) $(EXTRA_custom_ops_DEPENDENCIES) @rm -f custom_ops$(EXEEXT) $(CXXLINK) $(custom_ops_OBJECTS) $(custom_ops_LDADD) $(LIBS) -decoder1$(EXEEXT): $(decoder1_OBJECTS) $(decoder1_DEPENDENCIES) +decoder1$(EXEEXT): $(decoder1_OBJECTS) $(decoder1_DEPENDENCIES) $(EXTRA_decoder1_DEPENDENCIES) @rm -f decoder1$(EXEEXT) $(CXXLINK) $(decoder1_OBJECTS) $(decoder1_LDADD) $(LIBS) -encoder1$(EXEEXT): $(encoder1_OBJECTS) $(encoder1_DEPENDENCIES) +encoder1$(EXEEXT): $(encoder1_OBJECTS) $(encoder1_DEPENDENCIES) $(EXTRA_encoder1_DEPENDENCIES) @rm -f encoder1$(EXEEXT) $(CXXLINK) $(encoder1_OBJECTS) $(encoder1_LDADD) $(LIBS) -flags$(EXEEXT): $(flags_OBJECTS) $(flags_DEPENDENCIES) +flags$(EXEEXT): $(flags_OBJECTS) $(flags_DEPENDENCIES) $(EXTRA_flags_DEPENDENCIES) @rm -f flags$(EXEEXT) $(CXXLINK) $(flags_OBJECTS) $(flags_LDADD) $(LIBS) -objects1$(EXEEXT): $(objects1_OBJECTS) $(objects1_DEPENDENCIES) +objects1$(EXEEXT): $(objects1_OBJECTS) $(objects1_DEPENDENCIES) $(EXTRA_objects1_DEPENDENCIES) @rm -f objects1$(EXEEXT) $(CXXLINK) $(objects1_OBJECTS) $(objects1_LDADD) $(LIBS) -objects2$(EXEEXT): $(objects2_OBJECTS) $(objects2_DEPENDENCIES) +objects2$(EXEEXT): $(objects2_OBJECTS) $(objects2_DEPENDENCIES) $(EXTRA_objects2_DEPENDENCIES) @rm -f objects2$(EXEEXT) $(CXXLINK) $(objects2_OBJECTS) $(objects2_LDADD) $(LIBS) -objects_fwd$(EXEEXT): $(objects_fwd_OBJECTS) $(objects_fwd_DEPENDENCIES) +objects_fwd$(EXEEXT): $(objects_fwd_OBJECTS) $(objects_fwd_DEPENDENCIES) $(EXTRA_objects_fwd_DEPENDENCIES) @rm -f objects_fwd$(EXEEXT) $(CXXLINK) $(objects_fwd_OBJECTS) $(objects_fwd_LDADD) $(LIBS) @@ -318,21 +364,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -348,14 +394,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -363,37 +409,43 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ + $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ @@ -402,49 +454,63 @@ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ + *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ + col=$$red; res=XPASS; \ ;; \ *) \ - echo "PASS: $$tst"; \ + col=$$grn; res=PASS; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ + *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ + col=$$lgn; res=XFAIL; \ ;; \ *) \ failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ + col=$$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ - echo "SKIP: $$tst"; \ + col=$$blu; res=SKIP; \ fi; \ + echo "$${col}$$res$${std}: $$tst"; \ done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ - banner="All $$all tests passed"; \ + banner="$$All$$all $$tests passed"; \ else \ - banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all tests failed"; \ + banner="$$failed of $$all $$tests failed"; \ else \ - banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ - skipped="($$skip tests were not run)"; \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ @@ -455,11 +521,16 @@ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes"; \ + if test "$$failed" -eq 0; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ test "$$failed" -eq 0; \ else :; fi @@ -479,13 +550,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -505,16 +580,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -536,6 +617,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -544,18 +627,28 @@ 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 @@ -578,7 +671,7 @@ uninstall-am: -.MAKE: install-am install-strip +.MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool ctags \ @@ -594,6 +687,7 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am + # 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 -Nru atlas-cpp-0.6.2/tests/Objects/objects1.cpp atlas-cpp-0.6.3/tests/Objects/objects1.cpp --- atlas-cpp-0.6.2/tests/Objects/objects1.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Objects/objects1.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -3,6 +3,7 @@ #include #include +#include #include using Atlas::Objects::Root; @@ -13,8 +14,15 @@ int main(int argc, char** argv) { + std::string atlas_xml_path; + char * srcdir_env = getenv("srcdir"); + if (srcdir_env != 0) { + atlas_xml_path = srcdir_env; + atlas_xml_path += "/"; + } + atlas_xml_path += "../../protocol/spec/atlas.xml"; try { - Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); + Atlas::Objects::loadDefaults(atlas_xml_path); } catch(Atlas::Objects::DefaultLoadingException e) { std::cout << "DefaultLoadingException: " << e.getDescription() << std::endl; diff -Nru atlas-cpp-0.6.2/tests/Objects/objects2.cpp atlas-cpp-0.6.3/tests/Objects/objects2.cpp --- atlas-cpp-0.6.2/tests/Objects/objects2.cpp 2009-10-25 23:18:36.000000000 +0000 +++ atlas-cpp-0.6.3/tests/Objects/objects2.cpp 2013-08-23 21:13:58.000000000 +0000 @@ -20,6 +20,7 @@ #include #include #include +#include #if USE_XML #define USE_FILE 0 @@ -118,7 +119,14 @@ TestDecoder bridge; #if USE_FILE fstream stream; - stream.open("../../../../protocols/atlas/spec/atlas.xml", std::ios::in); + std::string atlas_xml_path; + char * srcdir_env = getenv("srcdir"); + if (srcdir_env != 0) { + atlas_xml_path = srcdir_env; + atlas_xml_path += "/"; + } + atlas_xml_path += "../../protocol/spec/atlas.xml"; + stream.open(atlas_xml_path, std::ios::in); assert(!!stream); #else std::stringstream stream; @@ -429,8 +437,15 @@ int main() { + std::string atlas_xml_path; + char * srcdir_env = getenv("srcdir"); + if (srcdir_env != 0) { + atlas_xml_path = srcdir_env; + atlas_xml_path += "/"; + } + atlas_xml_path += "../../protocol/spec/atlas.xml"; try { - Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml"); + Atlas::Objects::loadDefaults(atlas_xml_path); } catch(Atlas::Objects::DefaultLoadingException e) { std::cout << "DefaultLoadingException: " << e.getDescription() << std::endl; diff -Nru atlas-cpp-0.6.2/TODO atlas-cpp-0.6.3/TODO --- atlas-cpp-0.6.2/TODO 2009-11-13 15:53:16.000000000 +0000 +++ atlas-cpp-0.6.3/TODO 2013-08-23 21:13:58.000000000 +0000 @@ -1,3 +1,12 @@ +Use std::shared_ptr with a custom allocator for our SmartPtr. This will ensure +thread safety. + +The memory pools used in Atlas-C++ are not thread safe, so probably need to +go. Perhaps the memory management can be a template parameter of SmartPtr, +and schemes can be added using thread local pools. The memory is not thread +local, but the pointer to the pool is, so any code can add or remove from +the pool safely. + Purge objectDefinitions, and probably the defaults loading code. In all codecs/negotiators: @@ -26,10 +35,6 @@ Cut down inlining from Codecs/Utility.h as functions are too large. -Create an equivalent for Anonymous which inherits from RootOperation. -Can be used in objectFactory when there is no factory, but objtype is op. -This may also solve the messy problem with custom op types. - I am pretty sure vector is better than list for lots of things. Add template member to Objects for list types, so that value can be queried @@ -108,8 +113,6 @@ - ensure that the Objects code uses member construction efficiently, as was done in 0.4.2 - - Make sure exceptions inherit from std::exception - - Stop passing Objects when Object::MapType is the only option TODO items for anybody who wants to do them: @@ -130,4 +133,5 @@ Stefanus Du Toit is no longer participating largely. Michael Day is no longer participating largely. -Al Riddoch has now taken over ownership this code. +Al Riddoch is no longer participating largely. +Erik Ogenvik has now taken over ownership this code. diff -Nru atlas-cpp-0.6.2/tools/Makefile.in atlas-cpp-0.6.3/tools/Makefile.in --- atlas-cpp-0.6.2/tools/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/tools/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,9 +16,27 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -36,14 +55,18 @@ subdir = tools DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_atlas_convert_OBJECTS = atlas_convert.$(OBJEXT) atlas_convert_OBJECTS = $(am_atlas_convert_OBJECTS) @@ -54,6 +77,7 @@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -65,6 +89,11 @@ $(LDFLAGS) -o $@ SOURCES = $(atlas_convert_SOURCES) DIST_SOURCES = $(atlas_convert_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -91,14 +120,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -106,21 +136,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -134,9 +173,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -196,14 +236,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu tools/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tools/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tools/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,35 +261,54 @@ 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): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -atlas_convert$(EXEEXT): $(atlas_convert_OBJECTS) $(atlas_convert_DEPENDENCIES) + @list='$(bin_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 +atlas_convert$(EXEEXT): $(atlas_convert_OBJECTS) $(atlas_convert_DEPENDENCIES) $(EXTRA_atlas_convert_DEPENDENCIES) @rm -f atlas_convert$(EXEEXT) $(CXXLINK) $(atlas_convert_OBJECTS) $(atlas_convert_LDADD) $(LIBS) @@ -263,21 +322,21 @@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -293,14 +352,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -308,29 +367,34 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -351,13 +415,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -378,16 +446,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -408,6 +482,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -416,18 +492,28 @@ install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-binPROGRAMS 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 @@ -466,6 +552,7 @@ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS + # 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 -Nru atlas-cpp-0.6.2/tutorial/Makefile.in atlas-cpp-0.6.3/tutorial/Makefile.in --- atlas-cpp-0.6.2/tutorial/Makefile.in 2009-11-13 15:24:43.000000000 +0000 +++ atlas-cpp-0.6.3/tutorial/Makefile.in 2013-08-26 10:12:35.000000000 +0000 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -28,9 +29,27 @@ #simple_client_SOURCES = simple_client.cpp sockbuf.h #simple_server_SOURCES = simple_server.cpp sockbuf.h VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@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 @@ -48,14 +67,24 @@ subdir = tutorial DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4_ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -80,14 +109,15 @@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -95,21 +125,30 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTERFACE_VERSION = @INTERFACE_VERSION@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTHER_LIBS = @OTHER_LIBS@ +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@ @@ -123,9 +162,10 @@ 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_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -186,14 +226,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( 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) --gnu tutorial/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tutorial/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tutorial/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tutorial/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -211,6 +251,7 @@ 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): mostlyclean-libtool: -rm -f *.lo @@ -240,13 +281,17 @@ 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -264,16 +309,22 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: 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" @@ -292,6 +343,8 @@ html: html-am +html-am: + info: info-am info-am: @@ -300,18 +353,28 @@ 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 @@ -345,6 +408,7 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + # 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: