Fix autoconf macros
authorAnthony Green <green@moxielogic.com>
Tue, 30 Oct 2012 10:59:32 +0000 (06:59 -0400)
committerAnthony Green <green@moxielogic.com>
Tue, 30 Oct 2012 10:59:32 +0000 (06:59 -0400)
32 files changed:
.pc/bfin/Makefile.in
.pc/bfin/configure
.pc/dist-tests/testsuite/Makefile.in
.pc/msvc-changes/Makefile.in
.pc/stand-alone/doc/libffi.info [deleted file]
.pc/stand-alone/m4/ax_check_compile_flag.m4 [moved from .pc/stand-alone/m4/ax_check_compiler_flags.m4 with 100% similarity]
.pc/tile/Makefile.in
.pc/tile/configure
.pc/update-disty/Makefile.in
.pc/v3_0_11/ChangeLog [deleted file]
.pc/v3_0_11/configure
.pc/x32libtool/configure
.pc/xcode/Makefile.in
Makefile.in
aclocal.m4
configure
include/Makefile.in
m4/ax_cc_maxopt.m4
m4/ax_cflags_warn_all.m4
m4/ax_check_compile_flag.m4 [moved from m4/ax_check_compiler_flags.m4 with 53% similarity]
m4/ax_gcc_archflag.m4
man/Makefile.in
patches/aix-fix
patches/bfin
patches/dist-tests
patches/stand-alone
patches/tile
patches/update-disty
patches/v3_0_11
patches/x32libtool
patches/xcode
testsuite/Makefile.in

index 08a32d3..c86925d 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -368,6 +379,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -388,6 +400,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index e3e543f..e22980d 100755 (executable)
@@ -688,6 +688,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -755,6 +756,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -808,6 +810,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -816,6 +819,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1450,6 +1455,8 @@ 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]
+  --disable-builddir      disable automatic build in subdir of sources
+
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1457,6 +1464,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-portable-binary
+                          disable compiler optimizations that would produce
+                          unportable binaries
   --enable-maintainer-mode  enable make rules and dependencies not useful
                          (and sometimes confusing) to the casual installer
   --enable-debug          debugging mode
@@ -1467,11 +1477,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
+                          instead of guessing
 
 Some influential environment variables:
   CC          C compiler command
@@ -2647,7 +2659,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
+   if test "${ac_configure_args+set}" != "set" ; then
+      ac_configure_args=
+      for ac_arg in ${1+"$@"}; do
+         ac_configure_args="$ac_configure_args '$ac_arg'"
+      done
+   fi
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+
+ax_enable_builddir="."
+# Check whether --enable-builddir was given.
+if test "${enable_builddir+set}" = set; then :
+  enableval=$enable_builddir; ax_enable_builddir="$enableval"
+else
+  ax_enable_builddir="auto"
+fi
+
+if test ".$ac_srcdir_defaulted" != ".no" ; then
+if test ".$srcdir" = ".." ; then
+  if test -f config.status ; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
+$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
+  else
+    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
+    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
+    test ".$TARGET" = "." && TARGET="$target"
+    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
+    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
+      as_dir=$ax_enable_builddir; as_fn_mkdir_p
+      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
+      cd $ax_enable_builddir
+      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
+        rm conftest.tmp
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
+$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
+      else
+        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
+      fi
+      srcdir=`echo "$ax_enable_builddir" |
+              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
+      # going to restart from subdirectory location
+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
+$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
+      case "$0" in # restart
+       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+      esac ; exit $?
+    fi
+  fi
+fi fi
+test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
+# Extract the first word of "gsed sed", so it can be a program name with args.
+set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ax_enable_builddir_sed in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
+  ;;
+esac
+fi
+ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
+if test -n "$ax_enable_builddir_sed"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
+$as_echo "$ax_enable_builddir_sed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ax_enable_builddir_auxdir="$am_aux_dir"
+ac_config_commands="$ac_config_commands buildir"
+
 
 am__api_version='1.11'
 
@@ -2806,9 +2920,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
@@ -5167,11 +5278,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5211,7 +5317,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5640,7 +5746,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6281,13 +6387,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6434,7 +6540,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6830,7 +6935,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6841,20 +6946,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7494,13 +7586,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7511,7 +7597,6 @@ else
 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 :
@@ -7544,7 +7629,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7566,9 +7650,7 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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 >&5
@@ -7973,22 +8055,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8066,10 +8133,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8359,6 +8422,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -8525,9 +8592,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8618,33 +8683,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9006,6 +9056,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9255,7 +9306,8 @@ _LT_EOF
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9634,7 +9686,6 @@ fi
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
@@ -9680,7 +9731,6 @@ fi
   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
@@ -9709,6 +9759,10 @@ fi
       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
@@ -9721,7 +9775,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9760,6 +9814,7 @@ fi
       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
@@ -10383,6 +10438,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10472,7 +10532,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10481,7 +10541,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10546,7 +10606,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10685,7 +10745,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10693,6 +10753,10 @@ dgux*)
   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.
@@ -10700,7 +10764,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10718,7 +10782,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10738,18 +10802,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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 # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10810,7 +10873,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10826,7 +10889,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10863,9 +10926,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10951,7 +11010,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11020,7 +11079,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11045,7 +11104,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11069,7 +11128,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11100,7 +11159,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11110,7 +11169,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11892,8 +11951,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11904,174 +11961,1171 @@ CC="$lt_save_CC"
 
 
 
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
+$as_echo_n "checking for C compiler vendor... " >&6; }
+if ${ax_cv_c_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__TURBOC__
+           comeau:    __COMO__
+           cray:      _CRAYC
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+      #if !($vencpp)
+        thisisanerror;
+      #endif
 
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
 
-fi
-done
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
 
 
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=no
 fi
 
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
 
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+  CFLAGS=""
+  case $ax_cv_c_compiler_vendor in
+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+        if test "x$acx_maxopt_portable" = xno; then
+           CFLAGS="$CFLAGS -arch host"
+         fi;;
+
+    sun) CFLAGS="-native -fast -xO5 -dalign"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS -xarch=generic"
+         fi;;
+
+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS +DAportable"
+        fi;;
+
+    ibm) if test "x$acx_maxopt_portable" = xno; then
+           xlc_opt="-qarch=auto -qtune=auto"
+        else
+           xlc_opt="-qtune=auto"
+        fi
+         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
+$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $xlc_opt"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
 
 int
 main ()
 {
-int n = MAP_ANONYMOUS;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CFLAGS="-O3 -qansialias -w $xlc_opt"
+else
+  CFLAGS="-O3 -qansialias -w"
+                echo "******************************************************"
+                echo "*  You seem to have the IBM  C compiler.  It is      *"
+                echo "*  recommended for best performance that you use:    *"
+                echo "*                                                    *"
+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+                echo "*                      ^^^        ^^^                *"
+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
+                echo "*  and re-run configure.)  For more info, man cc.    *"
+                echo "******************************************************"
+fi
+
+         ;;
+
+    intel) CFLAGS="-O3 -ansi_alias"
+       if test "x$acx_maxopt_portable" = xno; then
+         icc_archflag=unknown
+         icc_flags=""
+         case $host_cpu in
+           i686*|x86_64*)
+              # icc accepts gcc assembly syntax, so these should work:
 
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+                *:756e6547:*:*) # Intel
+                  case $ax_cv_gcc_x86_cpuid_1 in
+                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
+                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
+                  esac ;;
+              esac ;;
+          esac
+          if test "x$icc_flags" != x; then
+            for flag in $icc_flags; do
+              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  icc_archflag=$flag; break
+else
+  :
+fi
+
+            done
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
+$as_echo_n "checking for icc architecture flag... " >&6; }
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
+$as_echo "$icc_archflag" >&6; }
+          if test "x$icc_archflag" != xunknown; then
+            CFLAGS="$CFLAGS $icc_archflag"
+          fi
+        fi
+       ;;
+
+    gnu)
+     # default optimization flags for gcc on all systems
+     CFLAGS="-O3 -fomit-frame-pointer"
+
+     # -malign-double for x86 systems
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
+$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
+if ${ax_cv_check_cflags___malign_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -malign-double"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___malign_double=yes
+else
+  ax_cv_check_cflags___malign_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
+$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
+if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
+  CFLAGS="$CFLAGS -malign-double"
+else
+  :
+fi
+
+
+     #  -fstrict-aliasing for gcc-2.95+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstrict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstrict_aliasing=yes
+else
+  ax_cv_check_cflags___fstrict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fstrict-aliasing"
+else
+  :
+fi
+
+
+     # note that we enable "unsafe" fp optimization with other compilers, too
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
+$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
+if ${ax_cv_check_cflags___ffast_math+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -ffast-math"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___ffast_math=yes
+else
+  ax_cv_check_cflags___ffast_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
+$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
+if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
+  CFLAGS="$CFLAGS -ffast-math"
+else
+  :
+fi
+
+
+
+
+
+
+# Check whether --with-gcc-arch was given.
+if test "${with_gcc_arch+set}" = set; then :
+  withval=$with_gcc_arch; ax_gcc_arch=$withval
+else
+  ax_gcc_arch=yes
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+if ${ax_cv_gcc_archflag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+  i[3456]86*|x86_64*) # use cpuid codes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+     case $ax_cv_gcc_x86_cpuid_0 in
+       *:756e6547:*:*) # Intel
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+           *5??:*:*:*) ax_gcc_arch=pentium ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+          esac ;;
+       *:68747541:*:*) # AMD
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
+           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+           *60?:*:*:*) ax_gcc_arch=k7 ;;
+           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+           *6[68a]?:*:*:*)
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
+$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0x80000006, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
+
+ # L2 cache size
+              case $ax_cv_gcc_x86_cpuid_0x80000006 in
+                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
+                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
+              esac ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+          esac ;;
+       *:746e6543:*:*) # IDT
+          case $ax_cv_gcc_x86_cpuid_1 in
+            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
+            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+          esac ;;
+     esac
+     if test x"$ax_gcc_arch" = x; then # fallback
+       case $host_cpu in
+         i586*) ax_gcc_arch=pentium ;;
+         i686*) ax_gcc_arch=pentiumpro ;;
+        esac
+     fi
+     ;;
+
+  sparc*)
+     # Extract the first word of "prtdiag", so it can be a program name with args.
+set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PRTDIAG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
+  ;;
+esac
+fi
+PRTDIAG=$ac_cv_path_PRTDIAG
+if test -n "$PRTDIAG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
+$as_echo "$PRTDIAG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+     case $cputype in
+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
+         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
+         *cypress*) ax_gcc_arch=cypress ;;
+     esac ;;
+
+  alphaev5) ax_gcc_arch=ev5 ;;
+  alphaev56) ax_gcc_arch=ev56 ;;
+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+  alphaev6) ax_gcc_arch=ev6 ;;
+  alphaev67) ax_gcc_arch=ev67 ;;
+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+  powerpc*)
+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+     case $cputype in
+       *750*) ax_gcc_arch="750 G3" ;;
+       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
+       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
+       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
+       *970*) ax_gcc_arch="970 G5 power4";;
+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+       *) ax_gcc_arch=$cputype ;;
+     esac
+     ax_gcc_arch="$ax_gcc_arch powerpc"
+     ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+    flags="-mtune=$arch"
+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+  else
+    flags="-march=$arch -mcpu=$arch -m$arch"
+  fi
+  for flag in $flags; do
+    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  ax_cv_gcc_archflag=$flag; break
+else
+  :
+fi
+
+  done
+  test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
+$as_echo "$ax_cv_gcc_archflag" >&6; }
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+  :
+else
+  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
+fi
+
+     ;;
+  esac
+
+  if test -z "$CFLAGS"; then
+       echo ""
+       echo "********************************************************"
+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
+       echo "********************************************************"
+       echo ""
+        CFLAGS="-O3"
+  fi
+
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
+$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  :
+else
+
+       echo ""
+        echo "********************************************************"
+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
+        echo "* your compiler.                                       *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+        echo "********************************************************"
+        echo ""
+        CFLAGS=""
+
+fi
+
+
+fi
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
+$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
+if ${ac_cv_cflags_warn_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_cflags_warn_all="no, unknown"
+ac_save_CFLAGS="$CFLAGS"
+for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
+do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
+$as_echo "$ac_cv_cflags_warn_all" >&6; }
+
+case ".$ac_cv_cflags_warn_all" in
+     .ok|.ok,*)  ;;
+   .|.no|.no,*)  ;;
+   *) if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *" $ac_cv_cflags_warn_all "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
+  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
+  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
+      ;;
+   esac
+else
+  CFLAGS="$ac_cv_cflags_warn_all"
+fi
+ ;;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS="$CFLAGS -fexceptions"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+for ac_header in sys/mman.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in mmap
+do :
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  libffi_header_sys_mman_h=yes
+else
+  libffi_header_sys_mman_h=no
+fi
+
+
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  libffi_func_mmap=yes
+else
+  libffi_func_mmap=no
+fi
+
+if test "$libffi_header_sys_mman_h" != yes \
+ || test "$libffi_func_mmap" != yes; then
+   ac_cv_func_mmap_file=no
+   ac_cv_func_mmap_dev_zero=no
+   ac_cv_func_mmap_anon=no
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+if ${ac_cv_func_mmap_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if
+   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+   # memory area containing the same data that you'd get if you applied
+   # read() to the same fd.  The only system known to have a problem here
+   # is VMS, where text files have record structure.
+   case "$host_os" in
+     vms* | ultrix*)
+       ac_cv_func_mmap_file=no ;;
+     *)
+       ac_cv_func_mmap_file=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
+$as_echo "$ac_cv_func_mmap_file" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+if ${ac_cv_func_mmap_dev_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() but /dev/zero
+   # does not exist, or if mmapping /dev/zero does not give anonymous
+   # zeroed pages with both the following properties:
+   # 1. If you map N consecutive pages in with one call, and then
+   #    unmap any subset of those pages, the pages that were not
+   #    explicitly unmapped remain accessible.
+   # 2. If you map two adjacent blocks of memory and then unmap them
+   #    both at once, they must both go away.
+   # Systems known to be in this category are Windows (all variants),
+   # VMS, and Darwin.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+       ac_cv_func_mmap_dev_zero=no ;;
+     *)
+       ac_cv_func_mmap_dev_zero=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
+$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+
+   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+if ${ac_cv_decl_map_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+int
+main ()
+{
+int n = MAP_ANONYMOUS;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_decl_map_anon=yes
+else
+  ac_cv_decl_map_anon=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
+$as_echo "$ac_cv_decl_map_anon" >&6; }
+
+   if test $ac_cv_decl_map_anon = no; then
+     ac_cv_func_mmap_anon=no
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+if ${ac_cv_func_mmap_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() and MAP_ANON or
+   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+   # doesn't give anonymous zeroed pages with the same properties listed
+   # above for use of /dev/zero.
+   # Systems known to be in this category are Windows, VMS, and SCO Unix.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | sco* | udk* )
        ac_cv_func_mmap_anon=no ;;
      *)
        ac_cv_func_mmap_anon=yes;;
@@ -13116,7 +14170,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    gcc_cv_as_cfi_pseudo_op=unknown
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+asm (".cfi_startproc\n\t.cfi_endproc");
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gcc_cv_as_cfi_pseudo_op=yes
+else
+  gcc_cv_as_cfi_pseudo_op=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
+$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+
+$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
+
+ fi
+
 
 if test x$TARGET = xSPARC; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
@@ -14399,6 +15486,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
+ax_enable_builddir_host="$HOST"                        # $HOST / $host
+ax_enable_builddir_version="$VERSION"                  # $VERSION
+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
+ax_enable_builddir="$ax_enable_builddir"               # $SUB
+
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -14417,7 +15512,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -14500,6 +15594,7 @@ 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"`'
@@ -14555,7 +15650,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14606,6 +15700,7 @@ 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 \
@@ -14688,6 +15783,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -15326,6 +16422,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
+  if test ".$ax_enable_builddir" = ".." ; then
+    if test -f "$top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
+    fi
+  else
+    if test -f "$ac_top_srcdir/Makefile" ; then
+      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
+      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
+    fi
+    if test -f "$ac_top_srcdir/Makefile" ; then
+       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
+       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
+      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
+      then rm $ac_top_srcdir/Makefile ; fi
+      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
+    fi
+    if test ! -f "$ac_top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
+$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
+/^\$/n
+x
+/^\$/bS
+x
+/\\\\\$/{H;d;}
+{H;s/.*//;x;}
+bM
+:S
+x
+/\\\\\$/{h;d;}
+{h;s/.*//;x;}
+:M
+s/\\(\\n\\)    /\\1 /g
+/^     /d
+/^[     ]*[\\#]/d
+/^VPATH *=/d
+s/^srcdir *=.*/srcdir = ./
+s/^top_srcdir *=.*/top_srcdir = ./
+/[:=]/!d
+/^\\./d
+/ = /b
+/ .= /b
+/:/!b
+s/:.*/:/
+s/ /  /g
+s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
+s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
+s/  / /g
+/^all all-all[ :]/i\\
+all-configured : all-all
+s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
+/-all-all/d
+a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+/dist-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/dist-[a-zA-Z0-9]*-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/distclean-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
+       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
+       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
+_EOF
+      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
+      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
+      if test -f "$ac_top_srcdir/Makefile.mk" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
+$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
+        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
+      fi ; xxxx="####"
+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
+      # sanity check
+      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
+$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
+        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
+          >$ac_top_srcdir/Makefile~
+        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
+      fi
+    else
+      xxxx="\\#\\#\\#\\#"
+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
+      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
+      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
+        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
+        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
+      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
+        rm "$tmp/mkfile.tmp"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
+        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
+      fi
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
+$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
+    xxxx="####"
+    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
+  fi
+ ;;
     "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
@@ -15442,8 +16682,8 @@ $as_echo X"$file" |
 # 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, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15497,9 +16737,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15801,6 +17038,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
+# 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
+
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
index 28d4375..beaa57b 100644 (file)
@@ -54,7 +54,18 @@ target_triplet = @target@
 subdir = testsuite
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -136,6 +147,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -156,6 +168,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 5e9ea5b..cb35df0 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -368,6 +379,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -388,6 +400,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
diff --git a/.pc/stand-alone/doc/libffi.info b/.pc/stand-alone/doc/libffi.info
deleted file mode 100644 (file)
index f92aae6..0000000
+++ /dev/null
@@ -1,591 +0,0 @@
-This is /home/green/libffi/doc/libffi.info, produced by makeinfo
-version 4.13 from /home/green/libffi/doc/libffi.texi.
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-   Copyright (C) 2008, 2010 Red Hat, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU General Public License as
-     published by the Free Software Foundation; either version 2, or
-     (at your option) any later version.  A copy of the license is
-     included in the section entitled "GNU General Public License".
-
-
-INFO-DIR-SECTION Development
-START-INFO-DIR-ENTRY
-* libffi: (libffi).             Portable foreign-function interface library.
-END-INFO-DIR-ENTRY
-
-\1f
-File: libffi.info,  Node: Top,  Next: Introduction,  Up: (dir)
-
-libffi
-******
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-   Copyright (C) 2008, 2010 Red Hat, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU General Public License as
-     published by the Free Software Foundation; either version 2, or
-     (at your option) any later version.  A copy of the license is
-     included in the section entitled "GNU General Public License".
-
-
-* Menu:
-
-* Introduction::                What is libffi?
-* Using libffi::                How to use libffi.
-* Missing Features::            Things libffi can't do.
-* Index::                       Index.
-
-\1f
-File: libffi.info,  Node: Introduction,  Next: Using libffi,  Prev: Top,  Up: Top
-
-1 What is libffi?
-*****************
-
-Compilers for high level languages generate code that follow certain
-conventions.  These conventions are necessary, in part, for separate
-compilation to work.  One such convention is the "calling convention".
-The calling convention is a set of assumptions made by the compiler
-about where function arguments will be found on entry to a function.  A
-calling convention also specifies where the return value for a function
-is found.  The calling convention is also sometimes called the "ABI" or
-"Application Binary Interface".  
-
-   Some programs may not know at the time of compilation what arguments
-are to be passed to a function.  For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call a
-given function.  `Libffi' can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-   The `libffi' library provides a portable, high level programming
-interface to various calling conventions.  This allows a programmer to
-call any function specified by a call interface description at run time.
-
-   FFI stands for Foreign Function Interface.  A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language.  The
-`libffi' library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface.  A layer must
-exist above `libffi' that handles type conversions for values passed
-between the two languages.  
-
-\1f
-File: libffi.info,  Node: Using libffi,  Next: Missing Features,  Prev: Introduction,  Up: Top
-
-2 Using libffi
-**************
-
-* Menu:
-
-* The Basics::                  The basic libffi API.
-* Simple Example::              A simple example.
-* Types::                       libffi type descriptions.
-* Multiple ABIs::               Different passing styles on one platform.
-* The Closure API::             Writing a generic function.
-* Closure Example::             A closure example.
-
-\1f
-File: libffi.info,  Node: The Basics,  Next: Simple Example,  Up: Using libffi
-
-2.1 The Basics
-==============
-
-`Libffi' assumes that you have a pointer to the function you wish to
-call and that you know the number and types of arguments to pass it, as
-well as the return type of the function.
-
-   The first thing you must do is create an `ffi_cif' object that
-matches the signature of the function you wish to call.  This is a
-separate step because it is common to make multiple calls using a
-single `ffi_cif'.  The "cif" in `ffi_cif' stands for Call InterFace.
-To prepare a call interface object, use the function `ffi_prep_cif'.  
-
- -- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI,
-          unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES)
-     This initializes CIF according to the given parameters.
-
-     ABI is the ABI to use; normally `FFI_DEFAULT_ABI' is what you
-     want.  *note Multiple ABIs:: for more information.
-
-     NARGS is the number of arguments that this function accepts.
-     `libffi' does not yet handle varargs functions; see *note Missing
-     Features:: for more information.
-
-     RTYPE is a pointer to an `ffi_type' structure that describes the
-     return type of the function.  *Note Types::.
-
-     ARGTYPES is a vector of `ffi_type' pointers.  ARGTYPES must have
-     NARGS elements.  If NARGS is 0, this argument is ignored.
-
-     `ffi_prep_cif' returns a `libffi' status code, of type
-     `ffi_status'.  This will be either `FFI_OK' if everything worked
-     properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
-     incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
-
-   To call a function using an initialized `ffi_cif', use the
-`ffi_call' function:
-
- -- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void
-          **AVALUES)
-     This calls the function FN according to the description given in
-     CIF.  CIF must have already been prepared using `ffi_prep_cif'.
-
-     RVALUE is a pointer to a chunk of memory that will hold the result
-     of the function call.  This must be large enough to hold the
-     result and must be suitably aligned; it is the caller's
-     responsibility to ensure this.  If CIF declares that the function
-     returns `void' (using `ffi_type_void'), then RVALUE is ignored.
-     If RVALUE is `NULL', then the return value is discarded.
-
-     AVALUES is a vector of `void *' pointers that point to the memory
-     locations holding the argument values for a call.  If CIF declares
-     that the function has no arguments (i.e., NARGS was 0), then
-     AVALUES is ignored.
-
-\1f
-File: libffi.info,  Node: Simple Example,  Next: Types,  Prev: The Basics,  Up: Using libffi
-
-2.2 Simple Example
-==================
-
-Here is a trivial example that calls `puts' a few times.
-
-     #include <stdio.h>
-     #include <ffi.h>
-
-     int main()
-     {
-       ffi_cif cif;
-       ffi_type *args[1];
-       void *values[1];
-       char *s;
-       int rc;
-
-       /* Initialize the argument info vectors */
-       args[0] = &ffi_type_pointer;
-       values[0] = &s;
-
-       /* Initialize the cif */
-       if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                      &ffi_type_uint, args) == FFI_OK)
-         {
-           s = "Hello World!";
-           ffi_call(&cif, puts, &rc, values);
-           /* rc now holds the result of the call to puts */
-
-           /* values holds a pointer to the function's arg, so to
-              call puts() again all we need to do is change the
-              value of s */
-           s = "This is cool!";
-           ffi_call(&cif, puts, &rc, values);
-         }
-
-       return 0;
-     }
-
-\1f
-File: libffi.info,  Node: Types,  Next: Multiple ABIs,  Prev: Simple Example,  Up: Using libffi
-
-2.3 Types
-=========
-
-* Menu:
-
-* Primitive Types::             Built-in types.
-* Structures::                  Structure types.
-* Type Example::                Structure type example.
-
-\1f
-File: libffi.info,  Node: Primitive Types,  Next: Structures,  Up: Types
-
-2.3.1 Primitive Types
----------------------
-
-`Libffi' provides a number of built-in type descriptors that can be
-used to describe argument and return types:
-
-`ffi_type_void'
-     The type `void'.  This cannot be used for argument types, only for
-     return values.
-
-`ffi_type_uint8'
-     An unsigned, 8-bit integer type.
-
-`ffi_type_sint8'
-     A signed, 8-bit integer type.
-
-`ffi_type_uint16'
-     An unsigned, 16-bit integer type.
-
-`ffi_type_sint16'
-     A signed, 16-bit integer type.
-
-`ffi_type_uint32'
-     An unsigned, 32-bit integer type.
-
-`ffi_type_sint32'
-     A signed, 32-bit integer type.
-
-`ffi_type_uint64'
-     An unsigned, 64-bit integer type.
-
-`ffi_type_sint64'
-     A signed, 64-bit integer type.
-
-`ffi_type_float'
-     The C `float' type.
-
-`ffi_type_double'
-     The C `double' type.
-
-`ffi_type_uchar'
-     The C `unsigned char' type.
-
-`ffi_type_schar'
-     The C `signed char' type.  (Note that there is not an exact
-     equivalent to the C `char' type in `libffi'; ordinarily you should
-     either use `ffi_type_schar' or `ffi_type_uchar' depending on
-     whether `char' is signed.)
-
-`ffi_type_ushort'
-     The C `unsigned short' type.
-
-`ffi_type_sshort'
-     The C `short' type.
-
-`ffi_type_uint'
-     The C `unsigned int' type.
-
-`ffi_type_sint'
-     The C `int' type.
-
-`ffi_type_ulong'
-     The C `unsigned long' type.
-
-`ffi_type_slong'
-     The C `long' type.
-
-`ffi_type_longdouble'
-     On platforms that have a C `long double' type, this is defined.
-     On other platforms, it is not.
-
-`ffi_type_pointer'
-     A generic `void *' pointer.  You should use this for all pointers,
-     regardless of their real type.
-
-   Each of these is of type `ffi_type', so you must take the address
-when passing to `ffi_prep_cif'.
-
-\1f
-File: libffi.info,  Node: Structures,  Next: Type Example,  Prev: Primitive Types,  Up: Types
-
-2.3.2 Structures
-----------------
-
-Although `libffi' has no special support for unions or bit-fields, it
-is perfectly happy passing structures back and forth.  You must first
-describe the structure to `libffi' by creating a new `ffi_type' object
-for it.
-
- -- ffi_type:
-     The `ffi_type' has the following members:
-    `size_t size'
-          This is set by `libffi'; you should initialize it to zero.
-
-    `unsigned short alignment'
-          This is set by `libffi'; you should initialize it to zero.
-
-    `unsigned short type'
-          For a structure, this should be set to `FFI_TYPE_STRUCT'.
-
-    `ffi_type **elements'
-          This is a `NULL'-terminated array of pointers to `ffi_type'
-          objects.  There is one element per field of the struct.
-
-\1f
-File: libffi.info,  Node: Type Example,  Prev: Structures,  Up: Types
-
-2.3.3 Type Example
-------------------
-
-The following example initializes a `ffi_type' object representing the
-`tm' struct from Linux's `time.h'.
-
-   Here is how the struct is defined:
-
-     struct tm {
-         int tm_sec;
-         int tm_min;
-         int tm_hour;
-         int tm_mday;
-         int tm_mon;
-         int tm_year;
-         int tm_wday;
-         int tm_yday;
-         int tm_isdst;
-         /* Those are for future use. */
-         long int __tm_gmtoff__;
-         __const char *__tm_zone__;
-     };
-
-   Here is the corresponding code to describe this struct to `libffi':
-
-         {
-           ffi_type tm_type;
-           ffi_type *tm_type_elements[12];
-           int i;
-
-           tm_type.size = tm_type.alignment = 0;
-           tm_type.elements = &tm_type_elements;
-
-           for (i = 0; i < 9; i++)
-               tm_type_elements[i] = &ffi_type_sint;
-
-           tm_type_elements[9] = &ffi_type_slong;
-           tm_type_elements[10] = &ffi_type_pointer;
-           tm_type_elements[11] = NULL;
-
-           /* tm_type can now be used to represent tm argument types and
-        return types for ffi_prep_cif() */
-         }
-
-\1f
-File: libffi.info,  Node: Multiple ABIs,  Next: The Closure API,  Prev: Types,  Up: Using libffi
-
-2.4 Multiple ABIs
-=================
-
-A given platform may provide multiple different ABIs at once.  For
-instance, the x86 platform has both `stdcall' and `fastcall' functions.
-
-   `libffi' provides some support for this.  However, this is
-necessarily platform-specific.
-
-\1f
-File: libffi.info,  Node: The Closure API,  Next: Closure Example,  Prev: Multiple ABIs,  Up: Using libffi
-
-2.5 The Closure API
-===================
-
-`libffi' also provides a way to write a generic function - a function
-that can accept and decode any combination of arguments.  This can be
-useful when writing an interpreter, or to provide wrappers for
-arbitrary functions.
-
-   This facility is called the "closure API".  Closures are not
-supported on all platforms; you can check the `FFI_CLOSURES' define to
-determine whether they are supported on the current platform.  
-
-   Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap.  Memory management for closures is handled by a pair of functions:
-
- -- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE)
-     Allocate a chunk of memory holding SIZE bytes.  This returns a
-     pointer to the writable address, and sets *CODE to the
-     corresponding executable address.
-
-     SIZE should be sufficient to hold a `ffi_closure' object.
-
- -- Function: void ffi_closure_free (void *WRITABLE)
-     Free memory allocated using `ffi_closure_alloc'.  The argument is
-     the writable address that was returned.
-
-   Once you have allocated the memory for a closure, you must construct
-a `ffi_cif' describing the function call.  Finally you can prepare the
-closure function:
-
- -- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE,
-          ffi_cif *CIF, void (*FUN) (ffi_cif *CIF, void *RET, void
-          **ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC)
-     Prepare a closure function.
-
-     CLOSURE is the address of a `ffi_closure' object; this is the
-     writable address returned by `ffi_closure_alloc'.
-
-     CIF is the `ffi_cif' describing the function parameters.
-
-     USER_DATA is an arbitrary datum that is passed, uninterpreted, to
-     your closure function.
-
-     CODELOC is the executable address returned by `ffi_closure_alloc'.
-
-     FUN is the function which will be called when the closure is
-     invoked.  It is called with the arguments:
-    CIF
-          The `ffi_cif' passed to `ffi_prep_closure_loc'.
-
-    RET
-          A pointer to the memory used for the function's return value.
-          FUN must fill this, unless the function is declared as
-          returning `void'.
-
-    ARGS
-          A vector of pointers to memory holding the arguments to the
-          function.
-
-    USER_DATA
-          The same USER_DATA that was passed to `ffi_prep_closure_loc'.
-
-     `ffi_prep_closure_loc' will return `FFI_OK' if everything went ok,
-     and something else on error.
-
-     After calling `ffi_prep_closure_loc', you can cast CODELOC to the
-     appropriate pointer-to-function type.
-
-   You may see old code referring to `ffi_prep_closure'.  This function
-is deprecated, as it cannot handle the need for separate writable and
-executable addresses.
-
-\1f
-File: libffi.info,  Node: Closure Example,  Prev: The Closure API,  Up: Using libffi
-
-2.6 Closure Example
-===================
-
-A trivial example that creates a new `puts' by binding `fputs' with
-`stdin'.
-
-     #include <stdio.h>
-     #include <ffi.h>
-
-     /* Acts like puts with the file given at time of enclosure. */
-     void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[],
-                       FILE *stream)
-     {
-       *ret = fputs(*(char **)args[0], stream);
-     }
-
-     int main()
-     {
-       ffi_cif cif;
-       ffi_type *args[1];
-       ffi_closure *closure;
-
-       int (*bound_puts)(char *);
-       int rc;
-
-       /* Allocate closure and bound_puts */
-       closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
-       if (closure)
-         {
-           /* Initialize the argument info vectors */
-           args[0] = &ffi_type_pointer;
-
-           /* Initialize the cif */
-           if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                            &ffi_type_uint, args) == FFI_OK)
-             {
-               /* Initialize the closure, setting stream to stdout */
-               if (ffi_prep_closure_loc(closure, &cif, puts_binding,
-                                        stdout, bound_puts) == FFI_OK)
-                 {
-                   rc = bound_puts("Hello World!");
-                   /* rc now holds the result of the call to fputs */
-                 }
-             }
-         }
-
-       /* Deallocate both closure, and bound_puts */
-       ffi_closure_free(closure);
-
-       return 0;
-     }
-
-\1f
-File: libffi.info,  Node: Missing Features,  Next: Index,  Prev: Using libffi,  Up: Top
-
-3 Missing Features
-******************
-
-`libffi' is missing a few features.  We welcome patches to add support
-for these.
-
-   * There is no support for calling varargs functions.  This may work
-     on some platforms, depending on how the ABI is defined, but it is
-     not reliable.
-
-   * There is no support for bit fields in structures.
-
-   * The closure API is
-
-   * The "raw" API is undocumented.
-
-\1f
-File: libffi.info,  Node: Index,  Prev: Missing Features,  Up: Top
-
-Index
-*****
-
-\0\b[index\0\b]
-* Menu:
-
-* :                                      Structures.           (line 12)
-* ABI:                                   Introduction.         (line 13)
-* Application Binary Interface:          Introduction.         (line 13)
-* calling convention:                    Introduction.         (line 13)
-* cif:                                   The Basics.           (line 14)
-* closure API:                           The Closure API.      (line 13)
-* closures:                              The Closure API.      (line 13)
-* FFI:                                   Introduction.         (line 31)
-* ffi_call:                              The Basics.           (line 41)
-* ffi_closure_alloc:                     The Closure API.      (line 19)
-* ffi_closure_free:                      The Closure API.      (line 26)
-* FFI_CLOSURES:                          The Closure API.      (line 13)
-* ffi_prep_cif:                          The Basics.           (line 16)
-* ffi_prep_closure_loc:                  The Closure API.      (line 34)
-* ffi_status <1>:                        The Closure API.      (line 37)
-* ffi_status:                            The Basics.           (line 18)
-* ffi_type:                              Structures.           (line 11)
-* ffi_type_double:                       Primitive Types.      (line 41)
-* ffi_type_float:                        Primitive Types.      (line 38)
-* ffi_type_longdouble:                   Primitive Types.      (line 71)
-* ffi_type_pointer:                      Primitive Types.      (line 75)
-* ffi_type_schar:                        Primitive Types.      (line 47)
-* ffi_type_sint:                         Primitive Types.      (line 62)
-* ffi_type_sint16:                       Primitive Types.      (line 23)
-* ffi_type_sint32:                       Primitive Types.      (line 29)
-* ffi_type_sint64:                       Primitive Types.      (line 35)
-* ffi_type_sint8:                        Primitive Types.      (line 17)
-* ffi_type_slong:                        Primitive Types.      (line 68)
-* ffi_type_sshort:                       Primitive Types.      (line 56)
-* ffi_type_uchar:                        Primitive Types.      (line 44)
-* ffi_type_uint:                         Primitive Types.      (line 59)
-* ffi_type_uint16:                       Primitive Types.      (line 20)
-* ffi_type_uint32:                       Primitive Types.      (line 26)
-* ffi_type_uint64:                       Primitive Types.      (line 32)
-* ffi_type_uint8:                        Primitive Types.      (line 14)
-* ffi_type_ulong:                        Primitive Types.      (line 65)
-* ffi_type_ushort:                       Primitive Types.      (line 53)
-* ffi_type_void:                         Primitive Types.      (line 10)
-* Foreign Function Interface:            Introduction.         (line 31)
-* void <1>:                              The Closure API.      (line 20)
-* void:                                  The Basics.           (line 43)
-
-
-\1f
-Tag Table:
-Node: Top\7f724
-Node: Introduction\7f1466
-Node: Using libffi\7f3102
-Node: The Basics\7f3588
-Node: Simple Example\7f6195
-Node: Types\7f7222
-Node: Primitive Types\7f7505
-Node: Structures\7f9325
-Node: Type Example\7f10185
-Node: Multiple ABIs\7f11408
-Node: The Closure API\7f11779
-Node: Closure Example\7f14723
-Node: Missing Features\7f16282
-Node: Index\7f16775
-\1f
-End Tag Table
index 3250123..96bdb25 100644 (file)
@@ -93,7 +93,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -370,6 +381,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -390,6 +402,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 405496a..df5a0a7 100755 (executable)
@@ -690,6 +690,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -757,6 +758,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -810,6 +812,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -818,6 +821,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1452,6 +1457,8 @@ 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]
+  --disable-builddir      disable automatic build in subdir of sources
+
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1459,6 +1466,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-portable-binary
+                          disable compiler optimizations that would produce
+                          unportable binaries
   --enable-maintainer-mode  enable make rules and dependencies not useful
                          (and sometimes confusing) to the casual installer
   --enable-debug          debugging mode
@@ -1469,11 +1479,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
+                          instead of guessing
 
 Some influential environment variables:
   CC          C compiler command
@@ -2649,7 +2661,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
+   if test "${ac_configure_args+set}" != "set" ; then
+      ac_configure_args=
+      for ac_arg in ${1+"$@"}; do
+         ac_configure_args="$ac_configure_args '$ac_arg'"
+      done
+   fi
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+
+ax_enable_builddir="."
+# Check whether --enable-builddir was given.
+if test "${enable_builddir+set}" = set; then :
+  enableval=$enable_builddir; ax_enable_builddir="$enableval"
+else
+  ax_enable_builddir="auto"
+fi
+
+if test ".$ac_srcdir_defaulted" != ".no" ; then
+if test ".$srcdir" = ".." ; then
+  if test -f config.status ; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
+$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
+  else
+    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
+    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
+    test ".$TARGET" = "." && TARGET="$target"
+    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
+    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
+      as_dir=$ax_enable_builddir; as_fn_mkdir_p
+      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
+      cd $ax_enable_builddir
+      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
+        rm conftest.tmp
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
+$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
+      else
+        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
+      fi
+      srcdir=`echo "$ax_enable_builddir" |
+              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
+      # going to restart from subdirectory location
+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
+$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
+      case "$0" in # restart
+       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+      esac ; exit $?
+    fi
+  fi
+fi fi
+test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
+# Extract the first word of "gsed sed", so it can be a program name with args.
+set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ax_enable_builddir_sed in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
+  ;;
+esac
+fi
+ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
+if test -n "$ax_enable_builddir_sed"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
+$as_echo "$ax_enable_builddir_sed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ax_enable_builddir_auxdir="$am_aux_dir"
+ac_config_commands="$ac_config_commands buildir"
+
 
 am__api_version='1.11'
 
@@ -2808,9 +2922,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
@@ -5169,11 +5280,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5213,7 +5319,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5642,7 +5748,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6283,13 +6389,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6436,7 +6542,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6825,7 +6930,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6836,20 +6941,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7489,13 +7581,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7506,7 +7592,6 @@ else
 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 :
@@ -7539,7 +7624,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7561,9 +7645,7 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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 >&5
@@ -7968,22 +8050,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8061,10 +8128,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8354,6 +8417,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -8520,9 +8587,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8613,33 +8678,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9001,6 +9051,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9250,7 +9301,8 @@ _LT_EOF
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9629,7 +9681,6 @@ fi
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
@@ -9675,7 +9726,6 @@ fi
   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
@@ -9704,6 +9754,10 @@ fi
       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
@@ -9716,7 +9770,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9755,6 +9809,7 @@ fi
       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
@@ -10378,6 +10433,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10467,7 +10527,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10476,7 +10536,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10541,7 +10601,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10680,7 +10740,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10688,6 +10748,10 @@ dgux*)
   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.
@@ -10695,7 +10759,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10713,7 +10777,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10733,18 +10797,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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 # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10805,7 +10868,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10821,7 +10884,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10858,9 +10921,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10946,7 +11005,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11015,7 +11074,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11040,7 +11099,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11064,7 +11123,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11095,7 +11154,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11105,7 +11164,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11887,8 +11946,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11899,174 +11956,1171 @@ CC="$lt_save_CC"
 
 
 
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
+$as_echo_n "checking for C compiler vendor... " >&6; }
+if ${ax_cv_c_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__TURBOC__
+           comeau:    __COMO__
+           cray:      _CRAYC
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+      #if !($vencpp)
+        thisisanerror;
+      #endif
 
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
 
-fi
-done
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
 
 
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=no
 fi
 
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
 
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+  CFLAGS=""
+  case $ax_cv_c_compiler_vendor in
+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+        if test "x$acx_maxopt_portable" = xno; then
+           CFLAGS="$CFLAGS -arch host"
+         fi;;
+
+    sun) CFLAGS="-native -fast -xO5 -dalign"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS -xarch=generic"
+         fi;;
+
+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS +DAportable"
+        fi;;
+
+    ibm) if test "x$acx_maxopt_portable" = xno; then
+           xlc_opt="-qarch=auto -qtune=auto"
+        else
+           xlc_opt="-qtune=auto"
+        fi
+         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
+$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $xlc_opt"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
 
 int
 main ()
 {
-int n = MAP_ANONYMOUS;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CFLAGS="-O3 -qansialias -w $xlc_opt"
+else
+  CFLAGS="-O3 -qansialias -w"
+                echo "******************************************************"
+                echo "*  You seem to have the IBM  C compiler.  It is      *"
+                echo "*  recommended for best performance that you use:    *"
+                echo "*                                                    *"
+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+                echo "*                      ^^^        ^^^                *"
+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
+                echo "*  and re-run configure.)  For more info, man cc.    *"
+                echo "******************************************************"
+fi
+
+         ;;
+
+    intel) CFLAGS="-O3 -ansi_alias"
+       if test "x$acx_maxopt_portable" = xno; then
+         icc_archflag=unknown
+         icc_flags=""
+         case $host_cpu in
+           i686*|x86_64*)
+              # icc accepts gcc assembly syntax, so these should work:
 
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+                *:756e6547:*:*) # Intel
+                  case $ax_cv_gcc_x86_cpuid_1 in
+                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
+                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
+                  esac ;;
+              esac ;;
+          esac
+          if test "x$icc_flags" != x; then
+            for flag in $icc_flags; do
+              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  icc_archflag=$flag; break
+else
+  :
+fi
+
+            done
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
+$as_echo_n "checking for icc architecture flag... " >&6; }
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
+$as_echo "$icc_archflag" >&6; }
+          if test "x$icc_archflag" != xunknown; then
+            CFLAGS="$CFLAGS $icc_archflag"
+          fi
+        fi
+       ;;
+
+    gnu)
+     # default optimization flags for gcc on all systems
+     CFLAGS="-O3 -fomit-frame-pointer"
+
+     # -malign-double for x86 systems
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
+$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
+if ${ax_cv_check_cflags___malign_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -malign-double"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___malign_double=yes
+else
+  ax_cv_check_cflags___malign_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
+$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
+if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
+  CFLAGS="$CFLAGS -malign-double"
+else
+  :
+fi
+
+
+     #  -fstrict-aliasing for gcc-2.95+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstrict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstrict_aliasing=yes
+else
+  ax_cv_check_cflags___fstrict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fstrict-aliasing"
+else
+  :
+fi
+
+
+     # note that we enable "unsafe" fp optimization with other compilers, too
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
+$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
+if ${ax_cv_check_cflags___ffast_math+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -ffast-math"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___ffast_math=yes
+else
+  ax_cv_check_cflags___ffast_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
+$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
+if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
+  CFLAGS="$CFLAGS -ffast-math"
+else
+  :
+fi
+
+
+
+
+
+
+# Check whether --with-gcc-arch was given.
+if test "${with_gcc_arch+set}" = set; then :
+  withval=$with_gcc_arch; ax_gcc_arch=$withval
+else
+  ax_gcc_arch=yes
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+if ${ax_cv_gcc_archflag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+  i[3456]86*|x86_64*) # use cpuid codes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+     case $ax_cv_gcc_x86_cpuid_0 in
+       *:756e6547:*:*) # Intel
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+           *5??:*:*:*) ax_gcc_arch=pentium ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+          esac ;;
+       *:68747541:*:*) # AMD
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
+           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+           *60?:*:*:*) ax_gcc_arch=k7 ;;
+           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+           *6[68a]?:*:*:*)
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
+$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0x80000006, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
+
+ # L2 cache size
+              case $ax_cv_gcc_x86_cpuid_0x80000006 in
+                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
+                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
+              esac ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+          esac ;;
+       *:746e6543:*:*) # IDT
+          case $ax_cv_gcc_x86_cpuid_1 in
+            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
+            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+          esac ;;
+     esac
+     if test x"$ax_gcc_arch" = x; then # fallback
+       case $host_cpu in
+         i586*) ax_gcc_arch=pentium ;;
+         i686*) ax_gcc_arch=pentiumpro ;;
+        esac
+     fi
+     ;;
+
+  sparc*)
+     # Extract the first word of "prtdiag", so it can be a program name with args.
+set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PRTDIAG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
+  ;;
+esac
+fi
+PRTDIAG=$ac_cv_path_PRTDIAG
+if test -n "$PRTDIAG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
+$as_echo "$PRTDIAG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+     case $cputype in
+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
+         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
+         *cypress*) ax_gcc_arch=cypress ;;
+     esac ;;
+
+  alphaev5) ax_gcc_arch=ev5 ;;
+  alphaev56) ax_gcc_arch=ev56 ;;
+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+  alphaev6) ax_gcc_arch=ev6 ;;
+  alphaev67) ax_gcc_arch=ev67 ;;
+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+  powerpc*)
+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+     case $cputype in
+       *750*) ax_gcc_arch="750 G3" ;;
+       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
+       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
+       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
+       *970*) ax_gcc_arch="970 G5 power4";;
+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+       *) ax_gcc_arch=$cputype ;;
+     esac
+     ax_gcc_arch="$ax_gcc_arch powerpc"
+     ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+    flags="-mtune=$arch"
+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+  else
+    flags="-march=$arch -mcpu=$arch -m$arch"
+  fi
+  for flag in $flags; do
+    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  ax_cv_gcc_archflag=$flag; break
+else
+  :
+fi
+
+  done
+  test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
+$as_echo "$ax_cv_gcc_archflag" >&6; }
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+  :
+else
+  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
+fi
+
+     ;;
+  esac
+
+  if test -z "$CFLAGS"; then
+       echo ""
+       echo "********************************************************"
+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
+       echo "********************************************************"
+       echo ""
+        CFLAGS="-O3"
+  fi
+
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
+$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  :
+else
+
+       echo ""
+        echo "********************************************************"
+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
+        echo "* your compiler.                                       *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+        echo "********************************************************"
+        echo ""
+        CFLAGS=""
+
+fi
+
+
+fi
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
+$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
+if ${ac_cv_cflags_warn_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_cflags_warn_all="no, unknown"
+ac_save_CFLAGS="$CFLAGS"
+for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
+do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
+$as_echo "$ac_cv_cflags_warn_all" >&6; }
+
+case ".$ac_cv_cflags_warn_all" in
+     .ok|.ok,*)  ;;
+   .|.no|.no,*)  ;;
+   *) if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *" $ac_cv_cflags_warn_all "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
+  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
+  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
+      ;;
+   esac
+else
+  CFLAGS="$ac_cv_cflags_warn_all"
+fi
+ ;;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS="$CFLAGS -fexceptions"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+for ac_header in sys/mman.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in mmap
+do :
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  libffi_header_sys_mman_h=yes
+else
+  libffi_header_sys_mman_h=no
+fi
+
+
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  libffi_func_mmap=yes
+else
+  libffi_func_mmap=no
+fi
+
+if test "$libffi_header_sys_mman_h" != yes \
+ || test "$libffi_func_mmap" != yes; then
+   ac_cv_func_mmap_file=no
+   ac_cv_func_mmap_dev_zero=no
+   ac_cv_func_mmap_anon=no
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+if ${ac_cv_func_mmap_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if
+   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+   # memory area containing the same data that you'd get if you applied
+   # read() to the same fd.  The only system known to have a problem here
+   # is VMS, where text files have record structure.
+   case "$host_os" in
+     vms* | ultrix*)
+       ac_cv_func_mmap_file=no ;;
+     *)
+       ac_cv_func_mmap_file=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
+$as_echo "$ac_cv_func_mmap_file" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+if ${ac_cv_func_mmap_dev_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() but /dev/zero
+   # does not exist, or if mmapping /dev/zero does not give anonymous
+   # zeroed pages with both the following properties:
+   # 1. If you map N consecutive pages in with one call, and then
+   #    unmap any subset of those pages, the pages that were not
+   #    explicitly unmapped remain accessible.
+   # 2. If you map two adjacent blocks of memory and then unmap them
+   #    both at once, they must both go away.
+   # Systems known to be in this category are Windows (all variants),
+   # VMS, and Darwin.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+       ac_cv_func_mmap_dev_zero=no ;;
+     *)
+       ac_cv_func_mmap_dev_zero=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
+$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+
+   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+if ${ac_cv_decl_map_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+int
+main ()
+{
+int n = MAP_ANONYMOUS;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_decl_map_anon=yes
+else
+  ac_cv_decl_map_anon=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
+$as_echo "$ac_cv_decl_map_anon" >&6; }
+
+   if test $ac_cv_decl_map_anon = no; then
+     ac_cv_func_mmap_anon=no
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+if ${ac_cv_func_mmap_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() and MAP_ANON or
+   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+   # doesn't give anonymous zeroed pages with the same properties listed
+   # above for use of /dev/zero.
+   # Systems known to be in this category are Windows, VMS, and SCO Unix.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | sco* | udk* )
        ac_cv_func_mmap_anon=no ;;
      *)
        ac_cv_func_mmap_anon=yes;;
@@ -13123,7 +14177,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    gcc_cv_as_cfi_pseudo_op=unknown
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+asm (".cfi_startproc\n\t.cfi_endproc");
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gcc_cv_as_cfi_pseudo_op=yes
+else
+  gcc_cv_as_cfi_pseudo_op=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
+$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+
+$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
+
+ fi
+
 
 if test x$TARGET = xSPARC; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
@@ -14410,6 +15497,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
+ax_enable_builddir_host="$HOST"                        # $HOST / $host
+ax_enable_builddir_version="$VERSION"                  # $VERSION
+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
+ax_enable_builddir="$ax_enable_builddir"               # $SUB
+
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -14428,7 +15523,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -14511,6 +15605,7 @@ 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"`'
@@ -14566,7 +15661,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14617,6 +15711,7 @@ 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 \
@@ -14699,6 +15794,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -15337,6 +16433,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
+  if test ".$ax_enable_builddir" = ".." ; then
+    if test -f "$top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
+    fi
+  else
+    if test -f "$ac_top_srcdir/Makefile" ; then
+      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
+      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
+    fi
+    if test -f "$ac_top_srcdir/Makefile" ; then
+       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
+       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
+      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
+      then rm $ac_top_srcdir/Makefile ; fi
+      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
+    fi
+    if test ! -f "$ac_top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
+$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
+/^\$/n
+x
+/^\$/bS
+x
+/\\\\\$/{H;d;}
+{H;s/.*//;x;}
+bM
+:S
+x
+/\\\\\$/{h;d;}
+{h;s/.*//;x;}
+:M
+s/\\(\\n\\)    /\\1 /g
+/^     /d
+/^[     ]*[\\#]/d
+/^VPATH *=/d
+s/^srcdir *=.*/srcdir = ./
+s/^top_srcdir *=.*/top_srcdir = ./
+/[:=]/!d
+/^\\./d
+/ = /b
+/ .= /b
+/:/!b
+s/:.*/:/
+s/ /  /g
+s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
+s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
+s/  / /g
+/^all all-all[ :]/i\\
+all-configured : all-all
+s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
+/-all-all/d
+a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+/dist-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/dist-[a-zA-Z0-9]*-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/distclean-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
+       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
+       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
+_EOF
+      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
+      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
+      if test -f "$ac_top_srcdir/Makefile.mk" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
+$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
+        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
+      fi ; xxxx="####"
+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
+      # sanity check
+      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
+$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
+        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
+          >$ac_top_srcdir/Makefile~
+        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
+      fi
+    else
+      xxxx="\\#\\#\\#\\#"
+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
+      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
+      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
+        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
+        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
+      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
+        rm "$tmp/mkfile.tmp"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
+        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
+      fi
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
+$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
+    xxxx="####"
+    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
+  fi
+ ;;
     "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
@@ -15453,8 +16693,8 @@ $as_echo X"$file" |
 # 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, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15508,9 +16748,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15812,6 +17049,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
+# 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
+
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
index 14f33de..73436e3 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -368,6 +379,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -388,6 +400,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
diff --git a/.pc/v3_0_11/ChangeLog b/.pc/v3_0_11/ChangeLog
deleted file mode 100644 (file)
index f4148a9..0000000
+++ /dev/null
@@ -1,5060 +0,0 @@
-2012-04-11  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (EXTRA_DIST): Add new script.
-       * Makefile.in: Rebuilt.
-
-2012-04-11  Zachary Waldowski  <zwaldowski@gmail.com>
-
-       * generate-ios-source-and-headers.py,
-       libffi.xcodeproj/project.pbxproj: Support a Mac static library via
-       Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
-       generation into an Xcode "run script" phase.  Include both as
-       Xcode build scripts. Don't always regenerate config files.
-
-2012-04-10  Anthony Green  <green@moxielogic.com>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
-       * Makefile.in: Rebuilt.
-
-2012-04-06  Mike Lewis  <mikelikespie@gmail.com>
-
-       * generate-ios-source-and-headers.py: New file.
-       * libffi.xcodeproj/project.pbxproj: New file.
-       * README: Update instructions on building iOS binary.
-       * build-ios.sh: Delete.
-
-2012-04-06  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
-       compilers, then use it.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
-       * testsuite/Makefile.in: Rebuilt.
-
-2012-04-05  Zachary Waldowski  <zwaldowski@gmail.com>
-
-       * include/ffi.h.in: Add missing trampoline table fields.
-       * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
-       in CNAME.
-       * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
-
-2012-04-02  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
-       value in the Intel version as is already done for the AT&T version.
-       (ffi_closure_SYSV): Likewise.
-       (ffi_closure_raw_SYSV): Likewise.
-       (ffi_closure_STDCALL): Likewise.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
-       generation, fix the ENDP label and remove the surplus third arg
-       from the 'lea' insn.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
-       visible outside the PROC, so that ffi_closure_raw_THISCALL can see
-       it.  Also instruct the assembler to add a frame to the function.
-
-2012-03-23  Peter Rosin  <peda@lysator.liu.se>
-
-       * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
-       to all data exports, when compiling libffi clients using MSVC.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
-       make it the default for MSVC.
-       (FFI_TYPE_MS_STRUCT): New structure return convention.
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
-       return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
-       instead of an ordinary FFI_TYPE_STRUCT.
-       (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
-       (ffi_call): Likewise.
-       (ffi_prep_incoming_args_SYSV): Likewise.
-       (ffi_raw_call): Likewise.
-       (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
-       * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
-       return a pointer to the result structure in eax and don't pop
-       that pointer from the stack, the caller takes care of it.
-       (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
-       (ffi_closure_raw_SYSV): Likewise.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
-       assembly version with Intel syntax.
-       * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
-
-2012-03-23  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/ffitest.h: Provide abstration of
-       __attribute__((fastcall)) in the form of a __FASTCALL__
-       define.  Define it to __fastcall for MSVC.
-       * testsuite/libffi.call/fastthis1_win32.c: Use the above.
-       * testsuite/libffi.call/fastthis2_win32.c: Likewise.
-       * testsuite/libffi.call/fastthis3_win32.c: Likewise.
-       * testsuite/libffi.call/strlen2_win32.c: Likewise.
-       * testsuite/libffi.call/struct1_win32.c: Likewise.
-       * testsuite/libffi.call/struct2_win32.c: Likewise.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
-       frame on function entry, MASM adds one automatically.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
-       bits in the MSVC headers.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
-       with no declarations after statements.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
-       * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-       * testsuite/libffi.call/huge_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct10.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/stret_large.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_medium2.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct1_win32.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct2_win32.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.call/testclosure.c: Likewise.
-
-2012-03-06  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
-       ffi_call_VFP().
-       (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
-       ffi_closure_VFP.
-       * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
-
-2012-03-21  Peter Rosin         <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
-       printing doubles (%lf is for long doubles).
-       (main): Likewise.
-
-2012-03-21  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
-       (set_ld_library_path_env_vars): Add the library search dir to PATH
-       (and save PATH for later).
-       (restore_ld_library_path_env_vars): Restore PATH.
-
-2012-03-20  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
-       * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
-       visible outside the PROC, so that ffi_closure_THISCALL can see it.
-
-2012-03-19  Alan Hourihane  <alanh@fairlite.co.uk>
-
-       * src/m68k/ffi.c: Add MINT support.
-       * src/m68k/sysv.S: Ditto.
-
-2012-03-19  chennam  <csit@axway.com>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
-       support.
-
-2012-04-02  Peter Bergner  <bergner@vnet.ibm.com>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
-       Silence casting pointer to integer of different size warning.
-       Delete goto to previously deleted label.
-       (ffi_call): Silence possibly undefined warning.
-       (ffi_closure_helper_SYSV): Declare variable type.
-
-2012-03-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2012-03-09  David Edelsohn  <dje.gcc@gmail.com>
-
-       * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
-       change to return value of ffi_closure_helper_DARWIN and load type
-       from return type.
-
-2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
-       long.
-       (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
-       (ffi_closure_unix64_inner): Cast return pointer to unsigned long
-       first.
-
-       * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
-       (ffi_arg): Set to unsigned long long for x32.
-       (ffi_sarg): Set to long long for x32.
-
-2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
-
-2012-03-03  Andoni Morales Alastruey  <ylatuya@gmail.com>
-
-       * configure.ac: Add -no-undefined for both 32- and 64-bit x86
-       windows-like hosts.
-       * configure: Rebuilt.
-
-2012-02-27  Mikael Pettersson  <mikpe@it.uu.se>
-
-       PR libffi/52223
-       * Makefile.am (FLAGS_TO_PASS): Define.
-       * Makefile.in: Regenerate.
-
-2012-02-23  Anthony Green  <green@moxielogic.com>
-
-       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
-       directly.
-
-2012-02-23  Kai Tietz  <ktietz@redhat.com>
-
-       PR libffi/52221
-       * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
-       prototype.
-       (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
-       thiscall-convention.
-       (ffi_raw_call): Use ffi_prep_args_raw.
-       * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
-       implementation for stub.
-
-2012-02-10  Kai Tietz  <ktietz@redhat.com>
-
-       * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
-       windows target.
-       * configure: Regenerated.
-
-2012-02-08  Kai Tietz  <ktietz@redhat.com>
-
-       * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
-       also FFI_THISCALL.
-       * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
-       (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
-       (ffi_prep_closure_loc): Add FFI_THISCALL support.
-       * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
-       * src/x86/win32.S (ffi_closure_THISCALL): New closure code
-       for thiscall-calling convention.
-       * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28  Kai Tietz  <ktietz@redhat.com>
-
-       * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
-       argument to prototype for specify calling-convention.
-       (ffi_call): Add support for stdcall/thiscall convention.
-       (ffi_prep_args): Likewise.
-       (ffi_raw_call): Likewise.
-       * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
-       FFI_FASTCALL.
-       * src/x86/win32.S (_ffi_call_win32): Add support for
-       fastcall/thiscall calling-convention calls.
-       * testsuite/libffi.call/fastthis1_win32.c: New test.
-       * testsuite/libffi.call/fastthis2_win32.c: New test.
-       * testsuite/libffi.call/fastthis3_win32.c: New test.
-       * testsuite/libffi.call/strlen2_win32.c: New test.
-       * testsuite/libffi.call/many2_win32.c: New test.
-       * testsuite/libffi.call/struct1_win32.c: New test.
-       * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
-
-       * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
-
-2012-01-23  Anthony Green  <green@moxielogic.com>
-           Chris Young  <cdyoung@ntlworld.com>
-
-       * configure.ac: Add Amiga support.
-       * configure: Rebuilt.
-
-2012-01-23  Dmitry Nadezhin  <dmitry.nadezhin@gmail.com>
-
-       * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
-       mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-       PR rtl-optimization/48496
-       * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (i?86-*-*): Set TARGET to X86_64.
-       * configure: Regenerate.
-
-2011-12-07  Andrew Pinski  <apinski@cavium.com>
-
-       PR libffi/50051
-       * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
-
-       * configure: Regenerate.
-
-2011-11-12  David Gilbert <david.gilbert@linaro.org>
-
-       * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
-       man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
-       man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
-       src/cris/ffi.c, src/prep_cif.c,
-       testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/float_va.c: Many changes to support variadic
-       function calls.
-
-2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
-       * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
-       src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
-       softfloat powerpc variants.
-
-2011-11-12  Petr Salinger <Petr.Salinger@seznam.cz>
-
-       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
-       * configure: Rebuilt.
-
-2011-11-12  Timothy Wall  <twall@users.sf.net>
-
-       * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
-       alignment of 4 for wince on ARM.
-
-2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
-           Anthony Green <green@moxielogic.com>
-
-       * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
-       instructions (not available on some cores, like the PPC440).
-
-2011-11-12  Kimura Wataru  <kimuraw@i.nifty.jp>
-
-       * m4/ax_enable_builddir: Change from string comparison to numeric
-       comparison for wc output.
-       * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
-       X 10.7.
-       * configure: Rebuilt.
-
-2011-11-12  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
-       files with debug info.
-       * Makefile.in: Rebuilt.
-
-2011-11-12  Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
-       * README: Update list of supported OpenBSD systems.
-
-2011-11-12  Anthony Green  <green@moxielogic.com>
-
-       * libtool-version: Update.
-       * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
-       FFI_DEBUG.
-       (libffi_la_SOURCES): Remove src/debug.c
-       (EXTRA_DIST): Add src/debug.c
-       * Makefile.in: Rebuilt.
-       * README: Update for 3.0.11.
-
-2011-11-10  Richard Henderson  <rth@redhat.com>
-
-       * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
-       * configure, aclocal.m4: Rebuild.
-
-2011-09-04  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR libffi/49594
-       * src/powerpc/darwin_closure.S (stubs): Make the stub binding
-       helper reference track the architecture pointer size.
-
-2011-08-25  Andrew Haley  <aph@redhat.com>
-
-       * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
-       instructions.
-       * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11  Andrew Haley  <aph@redhat.com>
-
-        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
-       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/46660
-       * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
-       mips-sgi-irix6*.
-       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
-       PRId8 instead of %hhu, %hhd.
-       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
-       PRIu8): Define.
-       [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
-       Define.
-       Use them to handle ELF vs. ECOFF differences.
-       [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30  Timothy Wall  <twall@users.sf.net>
-
-       * src/powerpc/darwin.S: Fix unknown FDE encoding.
-       * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25  Anthony Green  <green@moxielogic.com>
-
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
-       32-bit ABIs.
-
-2011-02-15  Anthony Green  <green@moxielogic.com>
-
-       * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
-       * configure: Rebuilt.
-
-2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-13  Anthony Green  <green@moxielogic.com>
-
-       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
-       * src/prep_cif.c (initialize_aggregate): Convert assertion into
-       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
-
-       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2012-02-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/v9.S (STACKFRAME): Bump to 176.
-
-2011-02-09  Stuart Shelton  <srcshelton@gmail.com>
-
-       http://bugs.gentoo.org/show_bug.cgi?id=286911
-       * src/mips/ffitarget.h: Clean up error messages.
-       * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
-       ffi_raw*.
-       * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09  Anthony Green  <green@moxielogic.com>
-
-       * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09  Anthony Green <green@moxielogic.com>
-
-       * README: Mention Interix.
-
-2011-02-09  Jonathan Callen  <abcd@gentoo.org>
-
-       * configure.ac: Add Interix to win32/cygwin/mingw case.
-       * configure: Ditto.
-       * src/closures.c: Treat Interix like Cygwin, instead of as a
-       generic win32.
-
-2011-02-09  Anthony Green <green@moxielogic.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
-       * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
-       (ffi_prep_closure_loc): Check for bad ABI.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Define.
-       (initialize_aggregate): Check for bad types.
-
-2011-02-09  Landon Fuller <landonf@plausible.coop>
-
-       * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
-       src/arm/trampoline.S.
-       (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
-       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
-       * src/arm/ffi.c (ffi_trampoline_table)
-       (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
-       (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
-       (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
-       (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
-       Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
-       (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
-       separately.
-       * src/arm/sysv.S: Handle Apple iOS host.
-       * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
-       * build-ios.sh: New file.
-       * fficonfig.h.in, configure, Makefile.in: Rebuilt.
-       * README: Mention ARM iOS.
-
-2011-02-08  Oren Held  <orenhe@il.ibm.com>
-
-       * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
-       redefinition of mallinfo on HP-UX.
-
-2011-02-08  Ginn Chen  <ginn.chen@oracle.com>
-
-       * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
-       aggregate return ABI.  Flush cache.
-       (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       From Tom Honermann <tom.honermann@oracle.com>:
-       * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
-       AIX.  Declare .ffi_prep_args.  Insert nops after branch
-       instructions so that the AIX linker can insert TOC reload
-       instructions.
-       * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08  Ed  <ed@kdtc.net>
-
-       * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08  Uli Link  <ul.mcamafia@linkitup.de>
-
-       * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/46661
-       * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
-       uintptr_t first.
-       * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08  Rafael Avila de Espindola  <respindola@mozilla.com>
-
-       * configure.ac: Fix x86 test for pc related relocs.
-       * configure: Rebuilt.
-
-2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
-
-       * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
-       Handle case when CPU variant does not have long double support.
-       * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
-       and cores with soft floating point.
-
-2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
-
-       * configure.ac: Add mips*-*-rtems* support.
-       * configure: Regenerate.
-       * src/mips/ffitarget.h: Ensure needed constants are available
-       for targets which do not have sgidefs.h.
-
-2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR target/40125
-       * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
-       * configure: Regenerate.
-
-2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR libffi/29152
-       PR libffi/42378
-       * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
-       update comments.
-       * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
-       (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
-       * src/powerpc/darwin.S: Provide Darwin64 implementation,
-       update comments.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
-       backslashes.
-       (libffi_cv_as_string_pseudo_op): Likewise.
-       * configure: Regenerate.
-
-2010-12-03  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
-       (ffi_closure_VFP): Same.
-       (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
-       directive.
-
-2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
-       (PRIuPTR): Define.
-
-2010-11-29  Richard Henderson  <rth@redhat.com>
-           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
-       (.eh_frame): Use FDE_ENCODING.
-       (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22  Jacek Caban <jacek@codeweavers.com>
-
-       * configure.ac: Check for symbol underscores on mingw-w64.
-       * configure: Rebuilt.
-       * src/x86/win64.S: Correctly access extern symbols in respect to
-       underscores.
-
-2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp: Rename ...
-       * testsuite/lib/libffi.exp: ... to this.
-       * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
-       * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
-       code, new parameter, and return value. Update comments.
-       (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
-       call to layout_vfp_args().
-       (ffi_call_SYSV): Update declaration.
-       (ffi_call_VFP): New declaration.
-       (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
-       when ABI is FFI_VFP.
-       (ffi_closure_VFP): New declaration.
-       (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
-       ffi_prep_incoming_args_SYSV().
-       (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
-       case handling.
-       (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
-       construction under VFP hard-float.
-       (rec_vfp_type_p): New function.
-       (vfp_type_p): Same.
-       (place_vfp_arg): Same.
-       (layout_vfp_args): Same.
-       * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
-       based on __ARM_PCS_VFP.
-       (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
-       fields.
-       (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
-       (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
-       * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
-       direct call. Move function pointer load upwards.
-       (ffi_call_VFP): New function.
-       (ffi_closure_VFP): Same.
-
-       * testsuite/lib/libffi-dg.exp (check-flags): New function.
-       (dg-skip-if): New function.
-       * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
-       and compiler options include -mfloat-abi=hard.
-       * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libffi/45677
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
-       a multiple of 8.
-       * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20  Mark Wielaard  <mjw@redhat.com>
-
-       * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
-       returns NULL.
-
-2010-08-09  Andreas Tobler  <andreast@fgznet.ch>
-
-       * configure.ac: Add target powerpc64-*-freebsd*.
-       * configure: Regenerate.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
-       -mlong-double-128 only to linux targets.
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
-       * testsuite/libffi.call/cls_longdouble.c: Likewise.
-       * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05  Dan Witte  <dwitte@mozilla.com>
-
-        * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
-        debug CRT when --enable-debug is given.
-        * configure.ac: Define it.
-        * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04  Dan Witte  <dwitte@mozilla.com>
-
-       * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
-       platforms.
-       * src/x86/ffi.c: Remove redundant ifdef checks.
-       * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
-       for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03  Neil Rashbrooke <neil@parkwaycc.co.uk>
-
-       * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22  Dan Witte  <dwitte@mozilla.com>
-
-       * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
-       * src/prep_cif.c: Fix ABI assertion.
-        * src/cris/ffi.c: Ditto.
-
-2010-07-10  Evan Phoenix  <evan@fallingsnow.net>
-
-       * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07  Dan Horák <dan@danny.cz>
-
-       * include/ffi.h.in: Protect #define with #ifndef.
-       * src/powerpc/ffitarget.h: Ditto.
-       * src/s390/ffitarget.h: Ditto.
-       * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07   Neil Roberts <neil@linux.intel.com>
-
-       * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
-       16-bytes.
-
-2010-07-02  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
-       * Makefile.in: Regenerated.
-
-2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
-       output, too.
-       (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
-       (libffi_cv_as_string_pseudo_op): Check for .string.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11  Dan Witte  <dwitte@mozilla.com>
-
-       * doc/libffi.tex: Document previous change.
-
-2010-05-11  Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
-       * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05  Michael Kohler <michaelkohler@live.com>
-
-       * src/dlmalloc.c (dlfree): Fix spelling.
-       * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
-       * configure.ac: Ditto.
-       * configure: Rebuilt.
-
-2010-04-13  Dan Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: Build with -W3 instead of -Wall.
-       * src/powerpc/ffi_darwin.c: Remove build warnings.
-       * src/x86/ffi.c: Ditto.
-       * src/x86/ffitarget.h: Ditto.
-
-2010-04-12  Dan Witte  <dwitte@mozilla.com>
-           Walter Meinl <wuno@lsvw.de>
-
-       * configure.ac: Add OS/2 support.
-       * configure: Rebuilt.
-       * src/closures.c: Ditto.
-       * src/dlmalloc.c: Ditto.
-       * src/x86/win32.S: Ditto.
-
-2010-04-07  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2010-03-30  Dan Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: Disable build warnings.
-       * README (tested): Clarify windows build procedure.
-
-2010-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * libffi/src/x86/unix64.S (.eh_frame)
-       [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14  Matthias Klose  <doko@ubuntu.com>
-
-       * src/x86/ffi64.c: Fix typo in comment.
-       * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * doc/libffi.texi (The Closure API): Fix typo.
-       * doc/libffi.info: Remove.
-
-2010-02-15  Matthias Klose  <doko@ubuntu.com>
-
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processor
-       __ARM_ARCH_7EM__.
-
-2010-01-15  Anthony Green  <green@redhat.com>
-
-       * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15  Daniel Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: New file.
-
-       * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
-       * src/x86/ffi.c: Tweak function declaration and remove excess
-       parens.
-       * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
-       ffi_closure.
-
-       * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
-       function ffi_call_win32 on X86_WIN32.
-       * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
-       (ffi_call_STDCALL): Remove.
-
-       * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
-       to ffi_prep_cif_machdep for x86.
-       * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15  Oliver Kiddle  <okiddle@yahoo.co.uk>
-
-       * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
-       Sun Studio compiler compatibility.
-
-2010-01-12  Conrad Irwin <conrad.irwin@gmail.com>
-
-       * doc/libffi.texi: Add closure example.
-
-2010-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40701
-       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
-       PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
-       * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
-       alpha*-dec-osf*.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/return_ll1.c: Likewise.
-       * testsuite/libffi.call/stret_medium2.c: Likewise.
-       * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
-       MAP_FAILED to char *.
-
-2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31  Anthony Green  <green@redhat.com>
-
-       * README: Update for libffi 3.0.9.
-
-2009-12-27  Matthias Klose  <doko@ubuntu.com>
-
-       * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
-       appropriate.
-       * configure: Rebuilt.
-
-2009-12-26  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
-       avr32*-*-*.
-       * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
-       and inttypes.h.
-       * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Add amd64-*-openbsd*.
-       * configure: Rebuilt.
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
-       openbsd programs with -lpthread.
-
-2009-12-26  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
-       mips*-*-* and arm*-*-*.
-       * testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c,
-       testsuite/libffi.call/stret_medium2.c,
-       testsuite/libffi.call/stret_medium.c,
-       testsuite/libffi.call/stret_large.c,
-       testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31  Kay Tietz  <ktietz70@googlemail.com>
-
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
-       definitions.
-
-2009-12-31  Carlo Bramini  <carlo.bramix@libero.it>
-
-       * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
-       * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-
-2009-12-31  Anthony Green  <green@redhat.com>
-           Blake Chaffin.
-
-       * testsuite/libffi.call/huge_struct.c: New test case from Blake
-       Chaffin @ Apple.
-
-2009-12-28  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
-       local variables.
-       (aix_adjust_aggregate_sizes): New function.
-       (ffi_prep_cif_machdep): Call it.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2012-02-13  Kai Tietz  <ktietz@redhat.com>
-
-       PR libffi/52221
-       * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
-       support for X86_WIN32.
-       (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2011-08-22  Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
-       * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
-       * configure: Rebuilt.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       testsuite/libffi.call/cls_2byte.c,
-       testsuite/libffi.call/cls_3_1byte.c,
-       testsuite/libffi.call/cls_3byte1.c,
-       testsuite/libffi.call/cls_3byte2.c,
-       testsuite/libffi.call/cls_4_1byte.c,
-       testsuite/libffi.call/cls_4byte.c,
-       testsuite/libffi.call/cls_5_1_byte.c,
-       testsuite/libffi.call/cls_5byte.c,
-       testsuite/libffi.call/cls_64byte.c,
-       testsuite/libffi.call/cls_6_1_byte.c,
-       testsuite/libffi.call/cls_6byte.c,
-       testsuite/libffi.call/cls_7_1_byte.c,
-       testsuite/libffi.call/cls_7byte.c,
-       testsuite/libffi.call/cls_8byte.c,
-       testsuite/libffi.call/cls_9byte1.c,
-       testsuite/libffi.call/cls_9byte2.c,
-       testsuite/libffi.call/cls_align_double.c,
-       testsuite/libffi.call/cls_align_float.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_align_sint16.c,
-       testsuite/libffi.call/cls_align_sint32.c,
-       testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint16.c,
-       testsuite/libffi.call/cls_align_uint32.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_dbls_struct.c,
-       testsuite/libffi.call/cls_double.c,
-       testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_float.c,
-       testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_multi_schar.c,
-       testsuite/libffi.call/cls_multi_sshort.c,
-       testsuite/libffi.call/cls_multi_sshortchar.c,
-       testsuite/libffi.call/cls_multi_uchar.c,
-       testsuite/libffi.call/cls_multi_ushort.c,
-       testsuite/libffi.call/cls_multi_ushortchar.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c,
-       testsuite/libffi.call/cls_schar.c,
-       testsuite/libffi.call/cls_sint.c,
-       testsuite/libffi.call/cls_sshort.c,
-       testsuite/libffi.call/cls_uchar.c,
-       testsuite/libffi.call/cls_uint.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/cls_ushort.c,
-       testsuite/libffi.call/err_bad_abi.c,
-       testsuite/libffi.call/err_bad_typedef.c,
-       testsuite/libffi.call/float2.c,
-       testsuite/libffi.call/huge_struct.c,
-       testsuite/libffi.call/nested_struct.c,
-       testsuite/libffi.call/nested_struct1.c,
-       testsuite/libffi.call/nested_struct10.c,
-       testsuite/libffi.call/nested_struct2.c,
-       testsuite/libffi.call/nested_struct3.c,
-       testsuite/libffi.call/nested_struct4.c,
-       testsuite/libffi.call/nested_struct5.c,
-       testsuite/libffi.call/nested_struct6.c,
-       testsuite/libffi.call/nested_struct7.c,
-       testsuite/libffi.call/nested_struct8.c,
-       testsuite/libffi.call/nested_struct9.c,
-       testsuite/libffi.call/problem1.c,
-       testsuite/libffi.call/return_ldl.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_large.c,
-       testsuite/libffi.call/stret_large2.c,
-       testsuite/libffi.call/stret_medium.c,
-       testsuite/libffi.call/stret_medium2.c,
-       testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         testsuite/libffi.call/cls_double_va.c
-         testsuite/libffi.call/cls_longdouble.c
-         testsuite/libffi.call/cls_longdouble_va.c
-         testsuite/libffi.call/cls_pointer.c
-         testsuite/libffi.call/cls_pointer_stack.c
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
-       signed/unsigned int8/16 return values.
-       * src/sparc/v8.S (ffi_call_v8): Likewise.
-       (ffi_closure_v8): Likewise.
-
-2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
-           Steve Ellcey  <sje@cup.hp.com>
-
-       * configure: Regenerate for new libtool.
-       * Makefile.in: Ditto.
-       * include/Makefile.in: Ditto.
-       * aclocal.m4: Ditto.
-
-2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
-       FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
-       Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
-       Adjust copyright notice.
-       * src/powerpc/ffi.c: Add two new flags to indicate if we have one
-       register or two register to use for FFI_SYSV structs.
-       (ffi_prep_cif_machdep): Pass the right register flag introduced above.
-       (ffi_closure_helper_SYSV): Fix the return type for
-       FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
-       Adjust copyright notice.
-
-2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
-       int.
-
-2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2008-06-07  Joseph Myers  <joseph@codesourcery.com>
-
-       * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
-       powerpc-*-beos*): Remove.
-       * configure: Regenerate.
-
-2008-05-09  Julian Brown  <julian@codesourcery.com>
-
-       * Makefile.am (LTLDFLAGS): New.
-       (libffi_la_LDFLAGS): Use above.
-       * Makefile.in: Regenerate.
-
-2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
-
-       PR bootstrap/35457
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2008-03-26  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add .note.GNU-stack on Linux.
-       * src/sh64/sysv.S: Likewise.
-
-2008-03-26  Daniel Jacobowitz  <dan@debian.org>
-
-       * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/alpha/osf.S: Add .note.GNU-stack on Linux.
-       * src/s390/sysv.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-       * src/x86/unix64.S: Likewise.
-       * src/x86/sysv.S: Likewise.
-       * src/sparc/v8.S: Likewise.
-       * src/sparc/v9.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-       * src/arm/sysv.S: Likewise.
-
-2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * aclocal.m4: Regenerate.
-       * configure: Likewise.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2008-02-12  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
-           Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Add amd64-*-freebsd* target.
-       * configure: Regenerate.
-
-2008-01-30  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libffi/34612
-       * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
-       returning struct.
-
-       * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
-       tests.
-
-2008-01-24  David Edelsohn  <edelsohn@gnu.org>
-
-       * configure: Regenerate.
-
-2008-01-06  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR testsuite/32843
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
-       signed/unsigned int8/16 for X86_DARWIN.
-       Updated copyright info.
-       Handle one and two byte structs with special cif->flags.
-       * src/x86/ffitarget.h: Add special types for one and two byte structs.
-       Updated copyright info.
-       * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
-       sysv.S
-       Remove code to pop args from the stack after call.
-       Special-case signed/unsigned for int8/16, one and two byte structs.
-       (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
-       FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
-       FFI_TYPE_SINT32.
-       Updated copyright info.
-
-2007-12-08  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with
-       SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
-       type.
-
-2007-12-06  David Daney  <ddaney@avtrex.com>
-
-       * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
-       defined.
-       (ffi_java_raw): New typedef.
-       (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
-       ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
-       ffi_java_raw.
-       (ffi_java_raw_closure) : Same.
-       (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
-       parameter types.
-       * src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
-       FFI_SIZEOF_JAVA_RAW.
-       (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
-       Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
-       sizeof(ffi_java_raw) for alignment calculations.
-       (ffi_java_ptrarray_to_raw): Same.
-       (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
-       if FFI_SIZEOF_JAVA_RAW == 4.
-       (ffi_java_raw_to_rvalue): Same.
-       (ffi_java_raw_call): Change type of raw to ffi_java_raw.
-       (ffi_java_translate_args): Same.
-       (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
-       parameter types.
-       * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
-       pointer values.
-
-2007-12-01  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/31937
-       * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
-       Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
-       * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
-       set the NUM_FPR_ARG_REGISTERS according to.
-       Add support for potential soft-float support under hard-float
-       architecture.
-       (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
-       FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
-       to the FFI_LINUX_SOFT_FLOAT ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Make sure not to store float/double
-       on archs where __NO_FPRS__ is true.
-       Add FFI_TYPE_UINT128 support.
-       * src/powerpc/sysv.S: Add support for soft-float long-double-128.
-       Adjust copyright notice.
-
-2007-11-25  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
-       * include/ffi_common.h: ... here.
-       Update copyright.
-
-2007-11-17  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
-       * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04    <aph@redhat.com>
-
-       * src/arm/sysv.S (UNWIND): New.
-       (Whole file): Conditionally compile unwinder directives.
-       * src/arm/sysv.S: Add unwinder directives.
-
-       * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
-       Only treat r0 as a struct address if we're actually returning a
-       struct by address.
-       Only copy the bytes that are actually within a struct.
-       (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
-       is returned in r0, not passed by address.
-       (ffi_call): Allocate a word-sized temporary for the case where
-       a composite is returned in r0.
-       (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>
-
-       * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
-       directly using the sys_cacheflush syscall.
-
-2007-07-27  Andrew Haley  <aph@redhat.com>
-
-       * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure: Likewise.
-
-2007-08-24  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/cls_multi_ushort.c,
-       testsuite/libffi.call/cls_align_uint16.c,
-       testsuite/libffi.call/nested_struct1.c,
-       testsuite/libffi.call/nested_struct3.c,
-       testsuite/libffi.call/cls_7_1_byte.c,
-       testsuite/libffi.call/nested_struct5.c,
-       testsuite/libffi.call/cls_double.c,
-       testsuite/libffi.call/nested_struct7.c,
-       testsuite/libffi.call/cls_sint.c,
-       testsuite/libffi.call/nested_struct9.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_multi_sshortchar.c,
-       testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_3byte2.c,
-       testsuite/libffi.call/cls_multi_schar.c,
-       testsuite/libffi.call/cls_multi_uchar.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_9byte1.c,
-       testsuite/libffi.call/cls_align_float.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/problem1.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/cls_sshort.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/cls_align_double.c,
-       testsuite/libffi.call/nested_struct.c,
-       testsuite/libffi.call/cls_2byte.c,
-       testsuite/libffi.call/nested_struct10.c,
-       testsuite/libffi.call/cls_4byte.c,
-       testsuite/libffi.call/cls_6byte.c,
-       testsuite/libffi.call/cls_8byte.c,
-       testsuite/libffi.call/cls_multi_sshort.c,
-       testsuite/libffi.call/cls_align_sint16.c,
-       testsuite/libffi.call/cls_align_uint32.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_float.c,
-       testsuite/libffi.call/nested_struct2.c,
-       testsuite/libffi.call/cls_5_1_byte.c,
-       testsuite/libffi.call/nested_struct4.c,
-       testsuite/libffi.call/cls_24byte.c,
-       testsuite/libffi.call/nested_struct6.c,
-       testsuite/libffi.call/cls_64byte.c,
-       testsuite/libffi.call/nested_struct8.c,
-       testsuite/libffi.call/cls_uint.c,
-       testsuite/libffi.call/cls_multi_ushortchar.c,
-       testsuite/libffi.call/cls_schar.c,
-       testsuite/libffi.call/cls_uchar.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_3_1byte.c,
-       testsuite/libffi.call/cls_3byte1.c,
-       testsuite/libffi.call/cls_4_1byte.c,
-       testsuite/libffi.call/cls_6_1_byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/cls_9byte2.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/cls_ushort.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/cls_5byte.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_7byte.c,
-       testsuite/libffi.call/cls_align_sint32.c,
-       testsuite/libffi.special/unwindtest_ffi_call.cc,
-       testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
-
-2007-08-10  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/28313
-       * configure.ac: Don't treat mips64 as a special case.
-       * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
-       * configure: Regenerate
-       * Makefile.in: Ditto.
-       * fficonfig.h.in: Ditto.
-       * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
-       (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
-       (FFI_DEFAULT_ABI): Set for n64 case.
-       (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
-       * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
-       (ffi_closure_N32): New function.
-       (.eh_frame): New section
-       * src/mips/o32.S: Clean up comments.
-       (ffi_closure_O32): Pass ffi_closure parameter in $12.
-       * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
-       _MIPS_SIM == _ABIN32 throughout.
-       (FFI_MIPS_STOP_HERE): New, use in place of
-       ffi_stop_here.
-       (ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
-       to support n32/n64 ABIs.
-       (calc_n32_struct_flags): Rewrite.
-       (calc_n32_return_struct_flags): Remove unused variable.  Reverse
-       position of flag bits.
-       (ffi_prep_cif_machdep): Rewrite n32 portion.
-       (ffi_call): Enable for n64.  Add special handling for small structure
-       return values.
-       (ffi_prep_closure_loc): Add n32 and n64 support.
-       (ffi_closure_mips_inner_O32): Add cast to silence warning.
-       (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
-
-2007-08-08  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
-       * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
-       specifiers.
-       * testsuite/libffi.call/nested_struct1.c (main): Ditto.
-       * testsuite/libffi.call/cls_sint.c (main): Ditto.
-       * testsuite/libffi.call/nested_struct9.c (main): Ditto.
-       * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
-       * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn1.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn3.c (main): Ditto.
-       * testsuite/libffi.call/return_dbl2.c (main): Ditto.
-       * testsuite/libffi.call/cls_sshort.c (main): Ditto.
-       * testsuite/libffi.call/return_fl3.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn5.c (main): Ditto.
-       * testsuite/libffi.call/nested_struct.c (main): Ditto.
-       * testsuite/libffi.call/nested_struct10.c (main): Ditto.
-       * testsuite/libffi.call/return_ll1.c (main): Ditto.
-       * testsuite/libffi.call/cls_8byte.c (main): Ditto.
-       * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
-       * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
-       * testsuite/libffi.call/cls_20byte.c (main): Ditto.
-       * testsuite/libffi.call/nested_struct2.c (main): Ditto.
-       * testsuite/libffi.call/cls_24byte.c (main): Ditto.
-       * testsuite/libffi.call/nested_struct6.c (main): Ditto.
-       * testsuite/libffi.call/cls_uint.c (main): Ditto.
-       * testsuite/libffi.call/cls_12byte.c (main): Ditto.
-       * testsuite/libffi.call/cls_16byte.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn0.c (main): Ditto.
-       * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn2.c (main): Ditto.
-       * testsuite/libffi.call/return_dbl1.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn4.c (main): Ditto.
-       * testsuite/libffi.call/closure_fn6.c (main): Ditto.
-       * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
-
-2007-08-07  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
-       checkin.
-
-2007-08-06  Andrew Haley  <aph@redhat.com>
-
-       PR testsuite/32843
-       * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
-       FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
-       FFI_TYPE_SINT32.
-
-2007-08-02  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/return_ul.c (main): Define return type as
-       ffi_arg.  Use proper printf conversion specifier.
-
-2007-07-30  Andrew Haley  <aph@redhat.com>
-
-       PR testsuite/32843
-       * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
-       signed/unsigned int8/16.
-       * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
-       Use a jump table.
-       Remove code to pop args from the stack after call.
-       Special-case signed/unsigned int8/16.
-       * testsuite/libffi.call/return_sc.c (main): Revert.
-
-2007-07-26  Richard Guenther  <rguenther@suse.de>
-
-       PR testsuite/32843
-       * testsuite/libffi.call/return_sc.c (main): Verify call
-       result as signed char, not ffi_arg.
-
-2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
-       * configure: Regenerate.
-
-2007-07-11  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c: Don't include sys/cachectl.h.
-       (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
-       cacheflush().
-
-2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
-
-       * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
-       from (ffi_prep_closure): ... this.
-       (FFI_INIT_TRAMPOLINE): Adjust.
-
-2005-12-31  Phil Blundell  <pb@reciva.com>
-
-       * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
-       ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
-       * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
-       * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_CLOSURES): Enable closure support.
-
-2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
-
-       * testsuite/libffi.call/cls_multi_ushort.c,
-       testsuite/libffi.call/cls_align_uint16.c,
-       testsuite/libffi.call/nested_struct1.c,
-       testsuite/libffi.call/nested_struct3.c,
-       testsuite/libffi.call/cls_7_1_byte.c,
-       testsuite/libffi.call/cls_double.c,
-       testsuite/libffi.call/nested_struct5.c,
-       testsuite/libffi.call/nested_struct7.c,
-       testsuite/libffi.call/cls_sint.c,
-       testsuite/libffi.call/nested_struct9.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_multi_sshortchar.c,
-       testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_3byte2.c,
-       testsuite/libffi.call/cls_multi_schar.c,
-       testsuite/libffi.call/cls_multi_uchar.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_9byte1.c,
-       testsuite/libffi.call/cls_align_float.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/problem1.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/cls_sshort.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/cls_align_double.c,
-       testsuite/libffi.call/cls_2byte.c,
-       testsuite/libffi.call/nested_struct.c,
-       testsuite/libffi.call/nested_struct10.c,
-       testsuite/libffi.call/cls_4byte.c,
-       testsuite/libffi.call/cls_6byte.c,
-       testsuite/libffi.call/cls_8byte.c,
-       testsuite/libffi.call/cls_multi_sshort.c,
-       testsuite/libffi.call/cls_align_uint32.c,
-       testsuite/libffi.call/cls_align_sint16.c,
-       testsuite/libffi.call/cls_float.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_5_1_byte.c,
-       testsuite/libffi.call/nested_struct2.c,
-       testsuite/libffi.call/cls_24byte.c,
-       testsuite/libffi.call/nested_struct4.c,
-       testsuite/libffi.call/nested_struct6.c,
-       testsuite/libffi.call/cls_64byte.c,
-       testsuite/libffi.call/nested_struct8.c,
-       testsuite/libffi.call/cls_uint.c,
-       testsuite/libffi.call/cls_multi_ushortchar.c,
-       testsuite/libffi.call/cls_schar.c,
-       testsuite/libffi.call/cls_uchar.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_3_1byte.c,
-       testsuite/libffi.call/cls_3byte1.c,
-       testsuite/libffi.call/cls_4_1byte.c,
-       testsuite/libffi.call/cls_6_1_byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/cls_9byte2.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/cls_ushort.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/cls_5byte.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_7byte.c,
-       testsuite/libffi.call/cls_align_sint32.c,
-       testsuite/libffi.special/unwindtest_ffi_call.cc,
-       testsuite/libffi.special/unwindtest.cc: Enable for ARM.
-
-2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * aclocal.m4: Regenerated.
-
-2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
-
-       * configure: Regenerate.
-
-2007-05-23  Steve Ellcey  <sje@cup.hp.com>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2007-05-10  Roman Zippel <zippel@linux-m68k.org>
-
-       * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
-       ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
-       * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
-       * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_CLOSURES): Enable closure support.
-
-2007-05-10  Roman Zippel <zippel@linux-m68k.org>
-
-       * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
-       CFI_OFFSET,CFI_DEF_CFA): New macros.
-       (ffi_call_SYSV): Add callframe annotation.
-
-2007-05-10  Roman Zippel <zippel@linux-m68k.org>
-
-       * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
-       numerous test suite failures.
-       * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
-
-2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Bring up to date.
-       * Makefile.in: Regenerate.
-       * src/frv/eabi.S: Remove RCS keyword.
-
-2007-04-06  Richard Henderson  <rth@redhat.com>
-
-       * configure.ac: Tidy target case.
-       (HAVE_LONG_DOUBLE): Allow the target to override.
-       * configure: Regenerate.
-       * include/ffi.h.in: Don't define ffi_type_foo if
-       LIBFFI_HIDE_BASIC_TYPES is defined.
-       (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
-       to ffi_type_double.
-       * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
-       (FFI_TYPEDEF, ffi_type_void): Mark the data const.
-       (ffi_type_longdouble): Special case for Alpha.  Don't define
-       if long double == double.
-
-       * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
-       (ffi_prep_cif_machdep): Handle it as the 128-bit type.
-       (ffi_call, ffi_closure_osf_inner): Likewise.
-       (ffi_closure_osf_inner): Likewise.  Mark hidden.
-       (ffi_call_osf, ffi_closure_osf): Mark hidden.
-       * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
-       * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
-       (load_table): Handle 128-bit long double.
-
-       * testsuite/libffi.call/float4.c: Add -mieee for alpha.
-
-2007-04-06  Tom Tromey  <tromey@redhat.com>
-
-       PR libffi/31491:
-       * README: Fixed bug in example.
-
-2007-04-03  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/closures.c: Include sys/statfs.h.
-       (_GNU_SOURCE): Define on Linux.
-       (FFI_MMAP_EXEC_SELINUX): Define.
-       (selinux_enabled): New variable.
-       (selinux_enabled_check): New function.
-       (is_selinux_enabled): Define.
-       (dlmmap): Use it.
-
-2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
-       Use 'volatile float sum' to create sum of floats to avoid false
-       negative due to excess precision on ix86 targets.
-       (main): Ditto.
-
-2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
-       patch.
-       (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
-
-2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
-
-       * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
-       (ffi_prep_closure_loc): New.
-       (ffi_prep_raw_closure_loc): New.
-       (ffi_prep_java_raw_closure_loc): New.
-       * src/closures.c: New file.
-       * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
-       Replace sflags with exec_offset.
-       [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
-       sub_segment_exec_offset): New macros.
-       (get_segment_flags, set_segment_flags, check_segment_merge): New
-       macros.
-       (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
-       (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
-       destroy_mspace): Use new macros.
-       (sys_alloc): Silence warning.
-       * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
-       * Makefile.in: Rebuilt.
-       * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
-       terms of ffi_prep_closure_loc.
-       * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
-       from...
-       (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
-       renamed version.
-       * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
-       adjusted from...
-       (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
-       the renamed version.
-       * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
-       (ffi_prep_closure): ... this.
-       * src/pa/ffi.c: Likewise.
-       * src/cris/ffi.c: Likewise.  Adjust.
-       * src/frv/ffi.c: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       (FFI_INIT_TRAMPOLINE): Adjust.
-       (ffi_prep_raw_closure_loc): Renamed and adjusted from...
-       (ffi_prep_raw_closure): ... this.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
-       (ffi_prep_closure): ... this.
-       (flush_icache): Adjust.
-
-2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
-
-       * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
-       Lea's malloc.
-
-2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
-
-       * Makefile.am: Add dummy install-pdf target.
-       * Makefile.in: Regenerate
-
-2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
-       ffi_closure_helper_SYSV): Add long double handling.
-
-2007-02-02  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
-       immediately after bctrl instruction.
-
-2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
-
-       * Makefile.am (all-recursive, install-recursive,
-       mostlyclean-recursive, clean-recursive, distclean-recursive,
-       maintainer-clean-recursive): Add missing targets.
-       * Makefile.in: Rebuilt.
-
-2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Add TARGET for x86_64-*-darwin*.
-       * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
-       for X86_DARWIN.
-       * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
-       * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
-       * configure: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
-       ffi_call only.
-
-2006-12-13  Andreas Tobler <a.tobler@schweiz.org>
-
-       * aclocal.m4: Regenerate with aclocal -I .. as written in the
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
index 4ba4fe4..4f3b2b6 100755 (executable)
@@ -688,6 +688,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -755,6 +756,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -808,6 +810,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -816,6 +819,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1450,6 +1455,8 @@ 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]
+  --disable-builddir      disable automatic build in subdir of sources
+
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1457,6 +1464,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-portable-binary
+                          disable compiler optimizations that would produce
+                          unportable binaries
   --enable-maintainer-mode  enable make rules and dependencies not useful
                          (and sometimes confusing) to the casual installer
   --enable-debug          debugging mode
@@ -1467,11 +1477,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
+                          instead of guessing
 
 Some influential environment variables:
   CC          C compiler command
@@ -2647,7 +2659,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
+   if test "${ac_configure_args+set}" != "set" ; then
+      ac_configure_args=
+      for ac_arg in ${1+"$@"}; do
+         ac_configure_args="$ac_configure_args '$ac_arg'"
+      done
+   fi
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+
+ax_enable_builddir="."
+# Check whether --enable-builddir was given.
+if test "${enable_builddir+set}" = set; then :
+  enableval=$enable_builddir; ax_enable_builddir="$enableval"
+else
+  ax_enable_builddir="auto"
+fi
+
+if test ".$ac_srcdir_defaulted" != ".no" ; then
+if test ".$srcdir" = ".." ; then
+  if test -f config.status ; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
+$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
+  else
+    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
+    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
+    test ".$TARGET" = "." && TARGET="$target"
+    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
+    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
+      as_dir=$ax_enable_builddir; as_fn_mkdir_p
+      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
+      cd $ax_enable_builddir
+      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
+        rm conftest.tmp
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
+$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
+      else
+        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
+      fi
+      srcdir=`echo "$ax_enable_builddir" |
+              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
+      # going to restart from subdirectory location
+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
+$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
+      case "$0" in # restart
+       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+      esac ; exit $?
+    fi
+  fi
+fi fi
+test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
+# Extract the first word of "gsed sed", so it can be a program name with args.
+set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ax_enable_builddir_sed in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
+  ;;
+esac
+fi
+ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
+if test -n "$ax_enable_builddir_sed"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
+$as_echo "$ax_enable_builddir_sed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ax_enable_builddir_auxdir="$am_aux_dir"
+ac_config_commands="$ac_config_commands buildir"
+
 
 am__api_version='1.11'
 
@@ -2806,9 +2920,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
@@ -5167,11 +5278,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5211,7 +5317,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5640,7 +5746,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6281,13 +6387,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6434,7 +6540,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6830,7 +6935,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6841,20 +6946,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7494,13 +7586,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7511,7 +7597,6 @@ else
 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 :
@@ -7544,7 +7629,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7566,9 +7650,7 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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 >&5
@@ -7973,22 +8055,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8066,10 +8133,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8359,6 +8422,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -8525,9 +8592,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8618,33 +8683,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9006,6 +9056,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9255,7 +9306,8 @@ _LT_EOF
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9634,7 +9686,6 @@ fi
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
@@ -9680,7 +9731,6 @@ fi
   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
@@ -9709,6 +9759,10 @@ fi
       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
@@ -9721,7 +9775,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9760,6 +9814,7 @@ fi
       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
@@ -10383,6 +10438,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10472,7 +10532,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10481,7 +10541,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10546,7 +10606,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10685,7 +10745,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10693,6 +10753,10 @@ dgux*)
   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.
@@ -10700,7 +10764,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10718,7 +10782,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10738,18 +10802,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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 # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10810,7 +10873,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10826,7 +10889,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10863,9 +10926,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10951,7 +11010,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11020,7 +11079,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11045,7 +11104,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11069,7 +11128,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11100,7 +11159,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11110,7 +11169,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11892,8 +11951,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11904,174 +11961,1171 @@ CC="$lt_save_CC"
 
 
 
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
+$as_echo_n "checking for C compiler vendor... " >&6; }
+if ${ax_cv_c_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__TURBOC__
+           comeau:    __COMO__
+           cray:      _CRAYC
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+      #if !($vencpp)
+        thisisanerror;
+      #endif
 
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
 
-fi
-done
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
 
 
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=no
 fi
 
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
 
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+  CFLAGS=""
+  case $ax_cv_c_compiler_vendor in
+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+        if test "x$acx_maxopt_portable" = xno; then
+           CFLAGS="$CFLAGS -arch host"
+         fi;;
+
+    sun) CFLAGS="-native -fast -xO5 -dalign"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS -xarch=generic"
+         fi;;
+
+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS +DAportable"
+        fi;;
+
+    ibm) if test "x$acx_maxopt_portable" = xno; then
+           xlc_opt="-qarch=auto -qtune=auto"
+        else
+           xlc_opt="-qtune=auto"
+        fi
+         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
+$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $xlc_opt"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
 
 int
 main ()
 {
-int n = MAP_ANONYMOUS;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CFLAGS="-O3 -qansialias -w $xlc_opt"
+else
+  CFLAGS="-O3 -qansialias -w"
+                echo "******************************************************"
+                echo "*  You seem to have the IBM  C compiler.  It is      *"
+                echo "*  recommended for best performance that you use:    *"
+                echo "*                                                    *"
+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+                echo "*                      ^^^        ^^^                *"
+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
+                echo "*  and re-run configure.)  For more info, man cc.    *"
+                echo "******************************************************"
+fi
+
+         ;;
+
+    intel) CFLAGS="-O3 -ansi_alias"
+       if test "x$acx_maxopt_portable" = xno; then
+         icc_archflag=unknown
+         icc_flags=""
+         case $host_cpu in
+           i686*|x86_64*)
+              # icc accepts gcc assembly syntax, so these should work:
 
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+                *:756e6547:*:*) # Intel
+                  case $ax_cv_gcc_x86_cpuid_1 in
+                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
+                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
+                  esac ;;
+              esac ;;
+          esac
+          if test "x$icc_flags" != x; then
+            for flag in $icc_flags; do
+              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  icc_archflag=$flag; break
+else
+  :
+fi
+
+            done
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
+$as_echo_n "checking for icc architecture flag... " >&6; }
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
+$as_echo "$icc_archflag" >&6; }
+          if test "x$icc_archflag" != xunknown; then
+            CFLAGS="$CFLAGS $icc_archflag"
+          fi
+        fi
+       ;;
+
+    gnu)
+     # default optimization flags for gcc on all systems
+     CFLAGS="-O3 -fomit-frame-pointer"
+
+     # -malign-double for x86 systems
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
+$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
+if ${ax_cv_check_cflags___malign_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -malign-double"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___malign_double=yes
+else
+  ax_cv_check_cflags___malign_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
+$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
+if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
+  CFLAGS="$CFLAGS -malign-double"
+else
+  :
+fi
+
+
+     #  -fstrict-aliasing for gcc-2.95+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstrict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstrict_aliasing=yes
+else
+  ax_cv_check_cflags___fstrict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fstrict-aliasing"
+else
+  :
+fi
+
+
+     # note that we enable "unsafe" fp optimization with other compilers, too
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
+$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
+if ${ax_cv_check_cflags___ffast_math+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -ffast-math"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___ffast_math=yes
+else
+  ax_cv_check_cflags___ffast_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
+$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
+if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
+  CFLAGS="$CFLAGS -ffast-math"
+else
+  :
+fi
+
+
+
+
+
+
+# Check whether --with-gcc-arch was given.
+if test "${with_gcc_arch+set}" = set; then :
+  withval=$with_gcc_arch; ax_gcc_arch=$withval
+else
+  ax_gcc_arch=yes
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+if ${ax_cv_gcc_archflag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+  i[3456]86*|x86_64*) # use cpuid codes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+     case $ax_cv_gcc_x86_cpuid_0 in
+       *:756e6547:*:*) # Intel
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+           *5??:*:*:*) ax_gcc_arch=pentium ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+          esac ;;
+       *:68747541:*:*) # AMD
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
+           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+           *60?:*:*:*) ax_gcc_arch=k7 ;;
+           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+           *6[68a]?:*:*:*)
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
+$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0x80000006, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
+
+ # L2 cache size
+              case $ax_cv_gcc_x86_cpuid_0x80000006 in
+                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
+                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
+              esac ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+          esac ;;
+       *:746e6543:*:*) # IDT
+          case $ax_cv_gcc_x86_cpuid_1 in
+            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
+            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+          esac ;;
+     esac
+     if test x"$ax_gcc_arch" = x; then # fallback
+       case $host_cpu in
+         i586*) ax_gcc_arch=pentium ;;
+         i686*) ax_gcc_arch=pentiumpro ;;
+        esac
+     fi
+     ;;
+
+  sparc*)
+     # Extract the first word of "prtdiag", so it can be a program name with args.
+set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PRTDIAG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
+  ;;
+esac
+fi
+PRTDIAG=$ac_cv_path_PRTDIAG
+if test -n "$PRTDIAG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
+$as_echo "$PRTDIAG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+     case $cputype in
+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
+         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
+         *cypress*) ax_gcc_arch=cypress ;;
+     esac ;;
+
+  alphaev5) ax_gcc_arch=ev5 ;;
+  alphaev56) ax_gcc_arch=ev56 ;;
+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+  alphaev6) ax_gcc_arch=ev6 ;;
+  alphaev67) ax_gcc_arch=ev67 ;;
+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+  powerpc*)
+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+     case $cputype in
+       *750*) ax_gcc_arch="750 G3" ;;
+       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
+       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
+       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
+       *970*) ax_gcc_arch="970 G5 power4";;
+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+       *) ax_gcc_arch=$cputype ;;
+     esac
+     ax_gcc_arch="$ax_gcc_arch powerpc"
+     ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+    flags="-mtune=$arch"
+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+  else
+    flags="-march=$arch -mcpu=$arch -m$arch"
+  fi
+  for flag in $flags; do
+    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  ax_cv_gcc_archflag=$flag; break
+else
+  :
+fi
+
+  done
+  test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
+$as_echo "$ax_cv_gcc_archflag" >&6; }
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+  :
+else
+  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
+fi
+
+     ;;
+  esac
+
+  if test -z "$CFLAGS"; then
+       echo ""
+       echo "********************************************************"
+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
+       echo "********************************************************"
+       echo ""
+        CFLAGS="-O3"
+  fi
+
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
+$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  :
+else
+
+       echo ""
+        echo "********************************************************"
+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
+        echo "* your compiler.                                       *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+        echo "********************************************************"
+        echo ""
+        CFLAGS=""
+
+fi
+
+
+fi
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
+$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
+if ${ac_cv_cflags_warn_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_cflags_warn_all="no, unknown"
+ac_save_CFLAGS="$CFLAGS"
+for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
+do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
+$as_echo "$ac_cv_cflags_warn_all" >&6; }
+
+case ".$ac_cv_cflags_warn_all" in
+     .ok|.ok,*)  ;;
+   .|.no|.no,*)  ;;
+   *) if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *" $ac_cv_cflags_warn_all "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
+  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
+  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
+      ;;
+   esac
+else
+  CFLAGS="$ac_cv_cflags_warn_all"
+fi
+ ;;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS="$CFLAGS -fexceptions"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+for ac_header in sys/mman.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in mmap
+do :
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  libffi_header_sys_mman_h=yes
+else
+  libffi_header_sys_mman_h=no
+fi
+
+
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  libffi_func_mmap=yes
+else
+  libffi_func_mmap=no
+fi
+
+if test "$libffi_header_sys_mman_h" != yes \
+ || test "$libffi_func_mmap" != yes; then
+   ac_cv_func_mmap_file=no
+   ac_cv_func_mmap_dev_zero=no
+   ac_cv_func_mmap_anon=no
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+if ${ac_cv_func_mmap_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if
+   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+   # memory area containing the same data that you'd get if you applied
+   # read() to the same fd.  The only system known to have a problem here
+   # is VMS, where text files have record structure.
+   case "$host_os" in
+     vms* | ultrix*)
+       ac_cv_func_mmap_file=no ;;
+     *)
+       ac_cv_func_mmap_file=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
+$as_echo "$ac_cv_func_mmap_file" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+if ${ac_cv_func_mmap_dev_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() but /dev/zero
+   # does not exist, or if mmapping /dev/zero does not give anonymous
+   # zeroed pages with both the following properties:
+   # 1. If you map N consecutive pages in with one call, and then
+   #    unmap any subset of those pages, the pages that were not
+   #    explicitly unmapped remain accessible.
+   # 2. If you map two adjacent blocks of memory and then unmap them
+   #    both at once, they must both go away.
+   # Systems known to be in this category are Windows (all variants),
+   # VMS, and Darwin.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+       ac_cv_func_mmap_dev_zero=no ;;
+     *)
+       ac_cv_func_mmap_dev_zero=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
+$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+
+   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+if ${ac_cv_decl_map_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+int
+main ()
+{
+int n = MAP_ANONYMOUS;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_decl_map_anon=yes
+else
+  ac_cv_decl_map_anon=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
+$as_echo "$ac_cv_decl_map_anon" >&6; }
+
+   if test $ac_cv_decl_map_anon = no; then
+     ac_cv_func_mmap_anon=no
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+if ${ac_cv_func_mmap_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() and MAP_ANON or
+   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+   # doesn't give anonymous zeroed pages with the same properties listed
+   # above for use of /dev/zero.
+   # Systems known to be in this category are Windows, VMS, and SCO Unix.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | sco* | udk* )
        ac_cv_func_mmap_anon=no ;;
      *)
        ac_cv_func_mmap_anon=yes;;
@@ -13116,7 +14170,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    gcc_cv_as_cfi_pseudo_op=unknown
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+asm (".cfi_startproc\n\t.cfi_endproc");
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gcc_cv_as_cfi_pseudo_op=yes
+else
+  gcc_cv_as_cfi_pseudo_op=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
+$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+
+$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
+
+ fi
+
 
 if test x$TARGET = xSPARC; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
@@ -14399,6 +15486,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
+ax_enable_builddir_host="$HOST"                        # $HOST / $host
+ax_enable_builddir_version="$VERSION"                  # $VERSION
+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
+ax_enable_builddir="$ax_enable_builddir"               # $SUB
+
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -14417,7 +15512,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -14500,6 +15594,7 @@ 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"`'
@@ -14555,7 +15650,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14606,6 +15700,7 @@ 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 \
@@ -14688,6 +15783,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -15326,6 +16422,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
+  if test ".$ax_enable_builddir" = ".." ; then
+    if test -f "$top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
+    fi
+  else
+    if test -f "$ac_top_srcdir/Makefile" ; then
+      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
+      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
+    fi
+    if test -f "$ac_top_srcdir/Makefile" ; then
+       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
+       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
+      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
+      then rm $ac_top_srcdir/Makefile ; fi
+      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
+    fi
+    if test ! -f "$ac_top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
+$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
+/^\$/n
+x
+/^\$/bS
+x
+/\\\\\$/{H;d;}
+{H;s/.*//;x;}
+bM
+:S
+x
+/\\\\\$/{h;d;}
+{h;s/.*//;x;}
+:M
+s/\\(\\n\\)    /\\1 /g
+/^     /d
+/^[     ]*[\\#]/d
+/^VPATH *=/d
+s/^srcdir *=.*/srcdir = ./
+s/^top_srcdir *=.*/top_srcdir = ./
+/[:=]/!d
+/^\\./d
+/ = /b
+/ .= /b
+/:/!b
+s/:.*/:/
+s/ /  /g
+s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
+s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
+s/  / /g
+/^all all-all[ :]/i\\
+all-configured : all-all
+s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
+/-all-all/d
+a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+/dist-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/dist-[a-zA-Z0-9]*-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/distclean-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
+       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
+       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
+_EOF
+      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
+      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
+      if test -f "$ac_top_srcdir/Makefile.mk" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
+$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
+        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
+      fi ; xxxx="####"
+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
+      # sanity check
+      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
+$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
+        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
+          >$ac_top_srcdir/Makefile~
+        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
+      fi
+    else
+      xxxx="\\#\\#\\#\\#"
+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
+      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
+      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
+        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
+        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
+      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
+        rm "$tmp/mkfile.tmp"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
+        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
+      fi
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
+$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
+    xxxx="####"
+    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
+  fi
+ ;;
     "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
@@ -15442,8 +16682,8 @@ $as_echo X"$file" |
 # 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, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15497,9 +16737,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15801,6 +17038,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
+# 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
+
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
index 7b952ee..f4b32c5 100755 (executable)
@@ -688,6 +688,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -755,6 +756,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -808,6 +810,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -816,6 +819,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1450,6 +1455,8 @@ 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]
+  --disable-builddir      disable automatic build in subdir of sources
+
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1457,6 +1464,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-portable-binary
+                          disable compiler optimizations that would produce
+                          unportable binaries
   --enable-maintainer-mode  enable make rules and dependencies not useful
                          (and sometimes confusing) to the casual installer
   --enable-debug          debugging mode
@@ -1467,11 +1477,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
+                          instead of guessing
 
 Some influential environment variables:
   CC          C compiler command
@@ -2647,7 +2659,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
+   if test "${ac_configure_args+set}" != "set" ; then
+      ac_configure_args=
+      for ac_arg in ${1+"$@"}; do
+         ac_configure_args="$ac_configure_args '$ac_arg'"
+      done
+   fi
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+
+ax_enable_builddir="."
+# Check whether --enable-builddir was given.
+if test "${enable_builddir+set}" = set; then :
+  enableval=$enable_builddir; ax_enable_builddir="$enableval"
+else
+  ax_enable_builddir="auto"
+fi
+
+if test ".$ac_srcdir_defaulted" != ".no" ; then
+if test ".$srcdir" = ".." ; then
+  if test -f config.status ; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
+$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
+  else
+    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
+    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
+    test ".$TARGET" = "." && TARGET="$target"
+    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
+    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
+      as_dir=$ax_enable_builddir; as_fn_mkdir_p
+      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
+      cd $ax_enable_builddir
+      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
+        rm conftest.tmp
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
+$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
+      else
+        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
+      fi
+      srcdir=`echo "$ax_enable_builddir" |
+              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
+      # going to restart from subdirectory location
+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
+$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
+      case "$0" in # restart
+       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+      esac ; exit $?
+    fi
+  fi
+fi fi
+test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
+# Extract the first word of "gsed sed", so it can be a program name with args.
+set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ax_enable_builddir_sed in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
+  ;;
+esac
+fi
+ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
+if test -n "$ax_enable_builddir_sed"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
+$as_echo "$ax_enable_builddir_sed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ax_enable_builddir_auxdir="$am_aux_dir"
+ac_config_commands="$ac_config_commands buildir"
+
 
 am__api_version='1.11'
 
@@ -2806,9 +2920,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
@@ -5167,11 +5278,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5211,7 +5317,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5640,7 +5746,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6281,13 +6387,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6434,7 +6540,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6823,7 +6928,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6834,20 +6939,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7487,13 +7579,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7504,7 +7590,6 @@ else
 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 :
@@ -7537,7 +7622,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7559,9 +7643,7 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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 >&5
@@ -7966,22 +8048,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8059,10 +8126,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8352,6 +8415,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -8518,9 +8585,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8611,33 +8676,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -8999,6 +9049,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9248,7 +9299,8 @@ _LT_EOF
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9627,7 +9679,6 @@ fi
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
@@ -9673,7 +9724,6 @@ fi
   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
@@ -9702,6 +9752,10 @@ fi
       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
@@ -9714,7 +9768,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9753,6 +9807,7 @@ fi
       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
@@ -10376,6 +10431,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10465,7 +10525,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10474,7 +10534,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10539,7 +10599,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10678,7 +10738,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10686,6 +10746,10 @@ dgux*)
   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.
@@ -10693,7 +10757,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10711,7 +10775,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10731,18 +10795,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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 # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10803,7 +10866,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10819,7 +10882,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10856,9 +10919,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10944,7 +11003,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11013,7 +11072,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11038,7 +11097,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11062,7 +11121,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11093,7 +11152,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11103,7 +11162,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11885,8 +11944,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11897,174 +11954,1171 @@ CC="$lt_save_CC"
 
 
 
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
+$as_echo_n "checking for C compiler vendor... " >&6; }
+if ${ax_cv_c_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__TURBOC__
+           comeau:    __COMO__
+           cray:      _CRAYC
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+      #if !($vencpp)
+        thisisanerror;
+      #endif
 
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
 
-fi
-done
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
 
 
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=no
 fi
 
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
 
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+  CFLAGS=""
+  case $ax_cv_c_compiler_vendor in
+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+        if test "x$acx_maxopt_portable" = xno; then
+           CFLAGS="$CFLAGS -arch host"
+         fi;;
+
+    sun) CFLAGS="-native -fast -xO5 -dalign"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS -xarch=generic"
+         fi;;
+
+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS +DAportable"
+        fi;;
+
+    ibm) if test "x$acx_maxopt_portable" = xno; then
+           xlc_opt="-qarch=auto -qtune=auto"
+        else
+           xlc_opt="-qtune=auto"
+        fi
+         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
+$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $xlc_opt"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
 
 int
 main ()
 {
-int n = MAP_ANONYMOUS;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CFLAGS="-O3 -qansialias -w $xlc_opt"
+else
+  CFLAGS="-O3 -qansialias -w"
+                echo "******************************************************"
+                echo "*  You seem to have the IBM  C compiler.  It is      *"
+                echo "*  recommended for best performance that you use:    *"
+                echo "*                                                    *"
+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+                echo "*                      ^^^        ^^^                *"
+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
+                echo "*  and re-run configure.)  For more info, man cc.    *"
+                echo "******************************************************"
+fi
+
+         ;;
+
+    intel) CFLAGS="-O3 -ansi_alias"
+       if test "x$acx_maxopt_portable" = xno; then
+         icc_archflag=unknown
+         icc_flags=""
+         case $host_cpu in
+           i686*|x86_64*)
+              # icc accepts gcc assembly syntax, so these should work:
 
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+                *:756e6547:*:*) # Intel
+                  case $ax_cv_gcc_x86_cpuid_1 in
+                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
+                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
+                  esac ;;
+              esac ;;
+          esac
+          if test "x$icc_flags" != x; then
+            for flag in $icc_flags; do
+              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  icc_archflag=$flag; break
+else
+  :
+fi
+
+            done
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
+$as_echo_n "checking for icc architecture flag... " >&6; }
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
+$as_echo "$icc_archflag" >&6; }
+          if test "x$icc_archflag" != xunknown; then
+            CFLAGS="$CFLAGS $icc_archflag"
+          fi
+        fi
+       ;;
+
+    gnu)
+     # default optimization flags for gcc on all systems
+     CFLAGS="-O3 -fomit-frame-pointer"
+
+     # -malign-double for x86 systems
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
+$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
+if ${ax_cv_check_cflags___malign_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -malign-double"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___malign_double=yes
+else
+  ax_cv_check_cflags___malign_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
+$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
+if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
+  CFLAGS="$CFLAGS -malign-double"
+else
+  :
+fi
+
+
+     #  -fstrict-aliasing for gcc-2.95+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstrict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstrict_aliasing=yes
+else
+  ax_cv_check_cflags___fstrict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fstrict-aliasing"
+else
+  :
+fi
+
+
+     # note that we enable "unsafe" fp optimization with other compilers, too
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
+$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
+if ${ax_cv_check_cflags___ffast_math+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -ffast-math"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___ffast_math=yes
+else
+  ax_cv_check_cflags___ffast_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
+$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
+if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
+  CFLAGS="$CFLAGS -ffast-math"
+else
+  :
+fi
+
+
+
+
+
+
+# Check whether --with-gcc-arch was given.
+if test "${with_gcc_arch+set}" = set; then :
+  withval=$with_gcc_arch; ax_gcc_arch=$withval
+else
+  ax_gcc_arch=yes
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+if ${ax_cv_gcc_archflag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+  i[3456]86*|x86_64*) # use cpuid codes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+     case $ax_cv_gcc_x86_cpuid_0 in
+       *:756e6547:*:*) # Intel
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+           *5??:*:*:*) ax_gcc_arch=pentium ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+          esac ;;
+       *:68747541:*:*) # AMD
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
+           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+           *60?:*:*:*) ax_gcc_arch=k7 ;;
+           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+           *6[68a]?:*:*:*)
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
+$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0x80000006, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
+
+ # L2 cache size
+              case $ax_cv_gcc_x86_cpuid_0x80000006 in
+                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
+                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
+              esac ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+          esac ;;
+       *:746e6543:*:*) # IDT
+          case $ax_cv_gcc_x86_cpuid_1 in
+            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
+            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+          esac ;;
+     esac
+     if test x"$ax_gcc_arch" = x; then # fallback
+       case $host_cpu in
+         i586*) ax_gcc_arch=pentium ;;
+         i686*) ax_gcc_arch=pentiumpro ;;
+        esac
+     fi
+     ;;
+
+  sparc*)
+     # Extract the first word of "prtdiag", so it can be a program name with args.
+set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PRTDIAG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
+  ;;
+esac
+fi
+PRTDIAG=$ac_cv_path_PRTDIAG
+if test -n "$PRTDIAG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
+$as_echo "$PRTDIAG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+     case $cputype in
+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
+         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
+         *cypress*) ax_gcc_arch=cypress ;;
+     esac ;;
+
+  alphaev5) ax_gcc_arch=ev5 ;;
+  alphaev56) ax_gcc_arch=ev56 ;;
+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+  alphaev6) ax_gcc_arch=ev6 ;;
+  alphaev67) ax_gcc_arch=ev67 ;;
+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+  powerpc*)
+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+     case $cputype in
+       *750*) ax_gcc_arch="750 G3" ;;
+       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
+       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
+       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
+       *970*) ax_gcc_arch="970 G5 power4";;
+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+       *) ax_gcc_arch=$cputype ;;
+     esac
+     ax_gcc_arch="$ax_gcc_arch powerpc"
+     ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+    flags="-mtune=$arch"
+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+  else
+    flags="-march=$arch -mcpu=$arch -m$arch"
+  fi
+  for flag in $flags; do
+    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  ax_cv_gcc_archflag=$flag; break
+else
+  :
+fi
+
+  done
+  test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
+$as_echo "$ax_cv_gcc_archflag" >&6; }
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+  :
+else
+  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
+fi
+
+     ;;
+  esac
+
+  if test -z "$CFLAGS"; then
+       echo ""
+       echo "********************************************************"
+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
+       echo "********************************************************"
+       echo ""
+        CFLAGS="-O3"
+  fi
+
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
+$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  :
+else
+
+       echo ""
+        echo "********************************************************"
+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
+        echo "* your compiler.                                       *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+        echo "********************************************************"
+        echo ""
+        CFLAGS=""
+
+fi
+
+
+fi
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
+$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
+if ${ac_cv_cflags_warn_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_cflags_warn_all="no, unknown"
+ac_save_CFLAGS="$CFLAGS"
+for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
+do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
+$as_echo "$ac_cv_cflags_warn_all" >&6; }
+
+case ".$ac_cv_cflags_warn_all" in
+     .ok|.ok,*)  ;;
+   .|.no|.no,*)  ;;
+   *) if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *" $ac_cv_cflags_warn_all "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
+  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
+  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
+      ;;
+   esac
+else
+  CFLAGS="$ac_cv_cflags_warn_all"
+fi
+ ;;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS="$CFLAGS -fexceptions"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+for ac_header in sys/mman.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in mmap
+do :
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  libffi_header_sys_mman_h=yes
+else
+  libffi_header_sys_mman_h=no
+fi
+
+
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  libffi_func_mmap=yes
+else
+  libffi_func_mmap=no
+fi
+
+if test "$libffi_header_sys_mman_h" != yes \
+ || test "$libffi_func_mmap" != yes; then
+   ac_cv_func_mmap_file=no
+   ac_cv_func_mmap_dev_zero=no
+   ac_cv_func_mmap_anon=no
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+if ${ac_cv_func_mmap_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if
+   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+   # memory area containing the same data that you'd get if you applied
+   # read() to the same fd.  The only system known to have a problem here
+   # is VMS, where text files have record structure.
+   case "$host_os" in
+     vms* | ultrix*)
+       ac_cv_func_mmap_file=no ;;
+     *)
+       ac_cv_func_mmap_file=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
+$as_echo "$ac_cv_func_mmap_file" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+if ${ac_cv_func_mmap_dev_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() but /dev/zero
+   # does not exist, or if mmapping /dev/zero does not give anonymous
+   # zeroed pages with both the following properties:
+   # 1. If you map N consecutive pages in with one call, and then
+   #    unmap any subset of those pages, the pages that were not
+   #    explicitly unmapped remain accessible.
+   # 2. If you map two adjacent blocks of memory and then unmap them
+   #    both at once, they must both go away.
+   # Systems known to be in this category are Windows (all variants),
+   # VMS, and Darwin.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+       ac_cv_func_mmap_dev_zero=no ;;
+     *)
+       ac_cv_func_mmap_dev_zero=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
+$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+
+   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+if ${ac_cv_decl_map_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+int
+main ()
+{
+int n = MAP_ANONYMOUS;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_decl_map_anon=yes
+else
+  ac_cv_decl_map_anon=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
+$as_echo "$ac_cv_decl_map_anon" >&6; }
+
+   if test $ac_cv_decl_map_anon = no; then
+     ac_cv_func_mmap_anon=no
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+if ${ac_cv_func_mmap_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() and MAP_ANON or
+   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+   # doesn't give anonymous zeroed pages with the same properties listed
+   # above for use of /dev/zero.
+   # Systems known to be in this category are Windows, VMS, and SCO Unix.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | sco* | udk* )
        ac_cv_func_mmap_anon=no ;;
      *)
        ac_cv_func_mmap_anon=yes;;
@@ -13109,7 +14163,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    gcc_cv_as_cfi_pseudo_op=unknown
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+asm (".cfi_startproc\n\t.cfi_endproc");
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gcc_cv_as_cfi_pseudo_op=yes
+else
+  gcc_cv_as_cfi_pseudo_op=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
+$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+
+$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
+
+ fi
+
 
 if test x$TARGET = xSPARC; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
@@ -14392,6 +15479,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
+ax_enable_builddir_host="$HOST"                        # $HOST / $host
+ax_enable_builddir_version="$VERSION"                  # $VERSION
+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
+ax_enable_builddir="$ax_enable_builddir"               # $SUB
+
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -14410,7 +15505,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -14493,6 +15587,7 @@ 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"`'
@@ -14548,7 +15643,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14599,6 +15693,7 @@ 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 \
@@ -14681,6 +15776,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -15319,6 +16415,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
+  if test ".$ax_enable_builddir" = ".." ; then
+    if test -f "$top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
+    fi
+  else
+    if test -f "$ac_top_srcdir/Makefile" ; then
+      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
+      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
+    fi
+    if test -f "$ac_top_srcdir/Makefile" ; then
+       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
+       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
+      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
+      then rm $ac_top_srcdir/Makefile ; fi
+      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
+    fi
+    if test ! -f "$ac_top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
+$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
+/^\$/n
+x
+/^\$/bS
+x
+/\\\\\$/{H;d;}
+{H;s/.*//;x;}
+bM
+:S
+x
+/\\\\\$/{h;d;}
+{h;s/.*//;x;}
+:M
+s/\\(\\n\\)    /\\1 /g
+/^     /d
+/^[     ]*[\\#]/d
+/^VPATH *=/d
+s/^srcdir *=.*/srcdir = ./
+s/^top_srcdir *=.*/top_srcdir = ./
+/[:=]/!d
+/^\\./d
+/ = /b
+/ .= /b
+/:/!b
+s/:.*/:/
+s/ /  /g
+s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
+s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
+s/  / /g
+/^all all-all[ :]/i\\
+all-configured : all-all
+s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
+/-all-all/d
+a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+/dist-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/dist-[a-zA-Z0-9]*-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/distclean-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
+       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
+       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
+_EOF
+      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
+      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
+      if test -f "$ac_top_srcdir/Makefile.mk" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
+$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
+        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
+      fi ; xxxx="####"
+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
+      # sanity check
+      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
+$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
+        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
+          >$ac_top_srcdir/Makefile~
+        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
+      fi
+    else
+      xxxx="\\#\\#\\#\\#"
+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
+      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
+      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
+        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
+        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
+      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
+        rm "$tmp/mkfile.tmp"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
+        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
+      fi
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
+$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
+    xxxx="####"
+    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
+  fi
+ ;;
     "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
@@ -15435,8 +16675,8 @@ $as_echo X"$file" |
 # 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, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15490,9 +16730,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15794,6 +17031,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
+# 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
+
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
index 82f7f03..3e8659c 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -368,6 +379,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -388,6 +400,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 4dee9f2..64a40f3 100644 (file)
@@ -94,7 +94,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        compile config.guess config.sub depcomp install-sh ltmain.sh \
        mdate-sh missing texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -373,6 +384,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -393,6 +405,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 27d3976..7f34ca7 100644 (file)
@@ -20,7970 +20,75 @@ 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-*-
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
+# ===========================================================================
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
+# SYNOPSIS
 #
-# 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, 2011 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([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-       [m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-       [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-       [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-          m4_quote(lt_decl_varnames),
-       m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-                       lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-                                          [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-       dnl If the libtool generation code has been placed in $CONFIG_LT,
-       dnl instead of duplicating it all over again into config.status,
-       dnl then we will have config.status run $CONFIG_LT later, so it
-       dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$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)],
-  [Go],                        [_LT_LANG(GO)],
-  [Java],              [_LT_LANG(GCJ)],
-  [Fortran 77],                [_LT_LANG(F77)],
-  [Fortran],           [_LT_LANG(FC)],
-  [Windows Resource],  [_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC],     [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
-  fi
-fi
-if test -z "$GOC"; then
-  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-       [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-       [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-       [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
-  [LT_LANG(GO)],
-  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&AS_MESSAGE_LOG_FD
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 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 -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&AS_MESSAGE_LOG_FD
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&AS_MESSAGE_LOG_FD
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[[012]]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$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([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test "$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\"`'
-    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
-                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
-  else
-    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  fi
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _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
-  ;;
-*-*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*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-  [lt_cv_ar_at_file=no
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-     [echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
-      AC_TRY_EVAL([lt_ar_try])
-      if test "$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 \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
-    [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # 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
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}]
-_LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-         [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-       [AC_CHECK_FUNC([dlopen],
-             [lt_cv_dlopen="dlopen"],
-         [AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-           [AC_CHECK_LIB([svld], [dlopen],
-                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-             [AC_CHECK_LIB([dld], [dld_link],
-                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-             ])
-           ])
-         ])
-       ])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-         lt_cv_dlopen_self, [dnl
-         _LT_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-           lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-         lt_cv_dlopen_self_static, [dnl
-         _LT_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-           lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-        [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-        [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-        [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-       [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-       [], [
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-m4_if([$1], [],[
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[23]].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-    [lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-        LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-        [lt_cv_shlibpath_overrides_runpath=yes])])
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-    ])
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$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 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be glibc/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};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /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 '
-      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$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\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-        *Intel*\ [[CF]]*Compiler*)
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-         ;;
-       *Portland\ Group*)
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms 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(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-      ;;
-    esac
-    ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_TAGVAR(ld_shlibs, $1)=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
-         *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         _LT_TAGVAR(whole_archive_flag_spec, $1)=
-         tmp_sharedflag='--shared' ;;
-       xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         _LT_TAGVAR(compiler_needs_object, $1)=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         _LT_TAGVAR(compiler_needs_object, $1)=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-         _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           _LT_TAGVAR(ld_shlibs, $1)=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       _LT_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[[012]]|aix4.[[012]].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         _LT_TAGVAR(hardcode_direct, $1)=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         _LT_TAGVAR(hardcode_minus_L, $1)=yes
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(hardcode_libdir_separator, $1)=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-         _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-         _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-         fi
-         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       _LT_TAGVAR(always_export_symbols, $1)=yes
-       _LT_TAGVAR(file_list_spec, $1)='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-       _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-       _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-       # FIXME: Should let the user specify the lib program.
-       _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$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_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_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
-    library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
-    [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report which library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[[4-9]]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-         $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      aix[[4-9]]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-           for ld_flag in $LDFLAGS; do
-             case $ld_flag in
-             *-brtl*)
-               aix_use_runtimelinking=yes
-               break
-               ;;
-             esac
-           done
-           ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[[012]]|aix4.[[012]].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-           # We have reworked collect2
-           :
-         else
-           # We have old collect2
-           _LT_TAGVAR(hardcode_direct, $1)=unsupported
-           # It fails to find uninstalled libraries when the uninstalled
-           # path is not listed in the libpath.  Setting hardcode_minus_L
-           # to unsupported forces relinking
-           _LT_TAGVAR(hardcode_minus_L, $1)=yes
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-           _LT_TAGVAR(hardcode_libdir_separator, $1)=
-         fi
-          esac
-          shared_flag='-shared'
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag="$shared_flag "'${wl}-G'
-         fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-         # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-          else
-           if test "$aix_use_runtimelinking" = yes; then
-             shared_flag='${wl}-G'
-           else
-             shared_flag='${wl}-bM:SRE'
-           fi
-          fi
-        fi
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-       # export.
-        _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-           _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-           # Determine the default libpath from the value encoded in an
-           # empty executable.
-           _LT_SYS_MODULE_PATH_AIX([$1])
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-           # Warning - without using the other run time loading flags,
-           # -berok will link without error, but may produce a broken library.
-           _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-           _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-           if test "$with_gnu_ld" = yes; then
-             # We only use this code for GNU lds that support --whole-archive.
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-           else
-             # Exported symbols can be pulled into shared objects from archives
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-           fi
-           _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-           # This is similar to how AIX traditionally builds its shared
-           # libraries.
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-         # support --undefined.  This deserves some investigation.  FIXME
-         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       else
-         _LT_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-         # FIXME: insert proper C++ library support
-         _LT_TAGVAR(ld_shlibs, $1)=no
-         ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-       case $GXX,$cc_basename in
-       ,cl* | no,cl*)
-         # Native MSVC
-         # hardcode_libdir_flag_spec is actually meaningless, as there is
-         # no search path for DLLs.
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         _LT_TAGVAR(always_export_symbols, $1)=yes
-         _LT_TAGVAR(file_list_spec, $1)='@'
-         # Tell ltmain to make .lib files, not .a files.
-         libext=lib
-         # Tell ltmain to make .dll files, not .so files.
-         shrext_cmds=".dll"
-         # FIXME: Setting linknames here is a bad hack.
-         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-         _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-           else
-             $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-           fi~
-           $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-           linknames='
-         # The linker will not automatically build a static lib if we build a DLL.
-         # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-         # Don't use ranlib
-         _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-         _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-           lt_tool_outputfile="@TOOL_OUTPUT@"~
-           case $lt_outputfile in
-             *.exe|*.EXE) ;;
-             *)
-               lt_outputfile="$lt_outputfile.exe"
-               lt_tool_outputfile="$lt_tool_outputfile.exe"
-               ;;
-           esac~
-           func_to_tool_file "$lt_outputfile"~
-           if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-             $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-             $RM "$lt_outputfile.manifest";
-           fi'
-         ;;
-       *)
-         # g++
-         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-         # as there is no search path for DLLs.
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         _LT_TAGVAR(always_export_symbols, $1)=no
-         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-         if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-           # If the export-symbols file already is a .def file (1st line
-           # is EXPORTS), use it as is; otherwise, prepend...
-           _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             cp $export_symbols $output_objdir/$soname.def;
-           else
-             echo EXPORTS > $output_objdir/$soname.def;
-             cat $export_symbols >> $output_objdir/$soname.def;
-           fi~
-           $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-         else
-           _LT_TAGVAR(ld_shlibs, $1)=no
-         fi
-         ;;
-       esac
-       ;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-       ;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          ghcx*)
-           # Green Hills C++ Compiler
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-       # switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      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
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case ${prev}${p} in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $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_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_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${FC-"f95"}
-  CFLAGS=$FCFLAGS
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test "$enable_shared" = yes && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-         test "$enable_shared" = yes && enable_static=no
-       fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test "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_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $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
+#   AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
+#
+# DESCRIPTION
+#
+#   FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
+#   added in between.
+#
+#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
+#   CFLAGS) is used.  FLAGS-VARIABLE is not changed if it already contains
+#   FLAG.  If FLAGS-VARIABLE is unset in the shell, it is set to exactly
+#   FLAG.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
 
-if test x"$_lt_function_replace_fail" = x":"; then
-  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
+#serial 2
 
-# _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
+AC_DEFUN([AX_APPEND_FLAG],
+[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])dnl
+AS_VAR_SET_IF(FLAGS,
+  [case " AS_VAR_GET(FLAGS) " in
+    *" $1 "*)
+      AC_RUN_LOG([: FLAGS already contains $1])
+      ;;
+    *)
+      AC_RUN_LOG([: FLAGS="$FLAGS $1"])
+      AS_VAR_SET(FLAGS, ["AS_VAR_GET(FLAGS) $1"])
+      ;;
+   esac],
+  [AS_VAR_SET(FLAGS,["$1"])])
+AS_VAR_POPDEF([FLAGS])dnl
+])dnl AX_APPEND_FLAG
 
 # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
 #
@@ -8803,632 +908,6 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
 dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
 
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-           [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-                     [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-                  [_LT_ENABLE_FAST_INSTALL])
-  ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-       [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-       [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-       [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-       [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-        [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
-       [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-                [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-                [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-                [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-                [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-                [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-          m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-            [m4_foreach([_Lt_suffix],
-               ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-       [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-         [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-                [lt_append([$1], [$2], [$3])$4],
-                [$5])],
-         [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-       m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-       [$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-                     [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers                      -*- Autoconf -*-
-#
-#   Copyright (C) 2004 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 3337 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],  [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],             [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],        [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],         [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],    [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],           [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],             [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],    [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],           [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],       [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],               [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],        [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],    [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],    [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],         [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],            [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],  [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],             [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],            [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],    [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],   [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],          [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],            [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],           [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],  [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],    [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],          [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],          [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],                [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],     [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],          [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],   [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],           [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],           [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],           [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],  [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],      [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],    [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],    [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],    [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],     [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],         [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],       [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],        [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP],                [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],        [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH],   [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77],              [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC],               [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX],              [AC_DEFUN([_LT_PROG_CXX])])
-
 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
 # Foundation, Inc.
 #
@@ -10475,4 +1954,18 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/asmcfi.m4])
+m4_include([m4/ax_cc_maxopt.m4])
+m4_include([m4/ax_cflags_warn_all.m4])
+m4_include([m4/ax_check_compile_flag.m4])
+m4_include([m4/ax_compiler_vendor.m4])
+m4_include([m4/ax_configure_args.m4])
+m4_include([m4/ax_enable_builddir.m4])
+m4_include([m4/ax_gcc_archflag.m4])
+m4_include([m4/ax_gcc_x86_cpuid.m4])
+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([acinclude.m4])
index e0f220d..6d1aafb 100755 (executable)
--- a/configure
+++ b/configure
@@ -692,6 +692,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -759,6 +760,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -812,6 +814,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -820,6 +823,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1454,6 +1459,8 @@ 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]
+  --disable-builddir      disable automatic build in subdir of sources
+
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1461,6 +1468,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-portable-binary
+                          disable compiler optimizations that would produce
+                          unportable binaries
   --enable-maintainer-mode  enable make rules and dependencies not useful
                          (and sometimes confusing) to the casual installer
   --enable-debug          debugging mode
@@ -1471,11 +1481,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
+                          instead of guessing
 
 Some influential environment variables:
   CC          C compiler command
@@ -2651,7 +2663,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
+   if test "${ac_configure_args+set}" != "set" ; then
+      ac_configure_args=
+      for ac_arg in ${1+"$@"}; do
+         ac_configure_args="$ac_configure_args '$ac_arg'"
+      done
+   fi
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+
+ax_enable_builddir="."
+# Check whether --enable-builddir was given.
+if test "${enable_builddir+set}" = set; then :
+  enableval=$enable_builddir; ax_enable_builddir="$enableval"
+else
+  ax_enable_builddir="auto"
+fi
+
+if test ".$ac_srcdir_defaulted" != ".no" ; then
+if test ".$srcdir" = ".." ; then
+  if test -f config.status ; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
+$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
+  else
+    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
+    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
+    test ".$TARGET" = "." && TARGET="$target"
+    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
+    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
+      as_dir=$ax_enable_builddir; as_fn_mkdir_p
+      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
+      cd $ax_enable_builddir
+      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
+        rm conftest.tmp
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
+$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
+      else
+        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
+      fi
+      srcdir=`echo "$ax_enable_builddir" |
+              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
+      # going to restart from subdirectory location
+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
+$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
+      case "$0" in # restart
+       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
+      esac ; exit $?
+    fi
+  fi
+fi fi
+test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
+# Extract the first word of "gsed sed", so it can be a program name with args.
+set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ax_enable_builddir_sed in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
+  ;;
+esac
+fi
+ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
+if test -n "$ax_enable_builddir_sed"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
+$as_echo "$ax_enable_builddir_sed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ax_enable_builddir_auxdir="$am_aux_dir"
+ac_config_commands="$ac_config_commands buildir"
+
 
 am__api_version='1.11'
 
@@ -2810,9 +2924,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
@@ -5171,11 +5282,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5215,7 +5321,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5644,7 +5750,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6285,13 +6391,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6438,7 +6544,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6827,7 +6932,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6838,20 +6943,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7491,13 +7583,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7508,7 +7594,6 @@ else
 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 :
@@ -7541,7 +7626,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7563,9 +7647,7 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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 >&5
@@ -7970,22 +8052,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8063,10 +8130,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8356,6 +8419,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -8522,9 +8589,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8615,33 +8680,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9003,6 +9053,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9252,7 +9303,8 @@ _LT_EOF
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9631,7 +9683,6 @@ fi
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
@@ -9677,7 +9728,6 @@ fi
   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
@@ -9706,6 +9756,10 @@ fi
       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
@@ -9718,7 +9772,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9757,6 +9811,7 @@ fi
       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
@@ -10380,6 +10435,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10469,7 +10529,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10478,7 +10538,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10543,7 +10603,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10682,7 +10742,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10690,6 +10750,10 @@ dgux*)
   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.
@@ -10697,7 +10761,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10715,7 +10779,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10735,18 +10799,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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 # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10807,7 +10870,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10823,7 +10886,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10860,9 +10923,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10948,7 +11007,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11017,7 +11076,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11042,7 +11101,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11066,7 +11125,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11097,7 +11156,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11107,7 +11166,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11889,8 +11948,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11901,174 +11958,1171 @@ CC="$lt_save_CC"
 
 
 
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
+$as_echo_n "checking for C compiler vendor... " >&6; }
+if ${ax_cv_c_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__TURBOC__
+           comeau:    __COMO__
+           cray:      _CRAYC
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+      #if !($vencpp)
+        thisisanerror;
+      #endif
 
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
 
-fi
-done
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
 
 
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=no
 fi
 
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
 
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+  CFLAGS=""
+  case $ax_cv_c_compiler_vendor in
+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+        if test "x$acx_maxopt_portable" = xno; then
+           CFLAGS="$CFLAGS -arch host"
+         fi;;
+
+    sun) CFLAGS="-native -fast -xO5 -dalign"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS -xarch=generic"
+         fi;;
+
+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
+        if test "x$acx_maxopt_portable" = xyes; then
+          CFLAGS="$CFLAGS +DAportable"
+        fi;;
+
+    ibm) if test "x$acx_maxopt_portable" = xno; then
+           xlc_opt="-qarch=auto -qtune=auto"
+        else
+           xlc_opt="-qtune=auto"
+        fi
+         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
+$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $xlc_opt"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
 
 int
 main ()
 {
-int n = MAP_ANONYMOUS;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CFLAGS="-O3 -qansialias -w $xlc_opt"
+else
+  CFLAGS="-O3 -qansialias -w"
+                echo "******************************************************"
+                echo "*  You seem to have the IBM  C compiler.  It is      *"
+                echo "*  recommended for best performance that you use:    *"
+                echo "*                                                    *"
+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+                echo "*                      ^^^        ^^^                *"
+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
+                echo "*  and re-run configure.)  For more info, man cc.    *"
+                echo "******************************************************"
+fi
+
+         ;;
+
+    intel) CFLAGS="-O3 -ansi_alias"
+       if test "x$acx_maxopt_portable" = xno; then
+         icc_archflag=unknown
+         icc_flags=""
+         case $host_cpu in
+           i686*|x86_64*)
+              # icc accepts gcc assembly syntax, so these should work:
 
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+                *:756e6547:*:*) # Intel
+                  case $ax_cv_gcc_x86_cpuid_1 in
+                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
+                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
+                  esac ;;
+              esac ;;
+          esac
+          if test "x$icc_flags" != x; then
+            for flag in $icc_flags; do
+              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  icc_archflag=$flag; break
+else
+  :
+fi
+
+            done
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
+$as_echo_n "checking for icc architecture flag... " >&6; }
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
+$as_echo "$icc_archflag" >&6; }
+          if test "x$icc_archflag" != xunknown; then
+            CFLAGS="$CFLAGS $icc_archflag"
+          fi
+        fi
+       ;;
+
+    gnu)
+     # default optimization flags for gcc on all systems
+     CFLAGS="-O3 -fomit-frame-pointer"
+
+     # -malign-double for x86 systems
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
+$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
+if ${ax_cv_check_cflags___malign_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -malign-double"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___malign_double=yes
+else
+  ax_cv_check_cflags___malign_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
+$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
+if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
+  CFLAGS="$CFLAGS -malign-double"
+else
+  :
+fi
+
+
+     #  -fstrict-aliasing for gcc-2.95+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstrict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstrict_aliasing=yes
+else
+  ax_cv_check_cflags___fstrict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fstrict-aliasing"
+else
+  :
+fi
+
+
+     # note that we enable "unsafe" fp optimization with other compilers, too
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
+$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
+if ${ax_cv_check_cflags___ffast_math+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -ffast-math"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___ffast_math=yes
+else
+  ax_cv_check_cflags___ffast_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
+$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
+if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
+  CFLAGS="$CFLAGS -ffast-math"
+else
+  :
+fi
+
+
+
+
+
+
+# Check whether --with-gcc-arch was given.
+if test "${with_gcc_arch+set}" = set; then :
+  withval=$with_gcc_arch; ax_gcc_arch=$withval
+else
+  ax_gcc_arch=yes
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+if ${ax_cv_gcc_archflag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+  i[3456]86*|x86_64*) # use cpuid codes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
+$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
+$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_1=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 1, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
+
+
+     case $ax_cv_gcc_x86_cpuid_0 in
+       *:756e6547:*:*) # Intel
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+           *5??:*:*:*) ax_gcc_arch=pentium ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+          esac ;;
+       *:68747541:*:*) # AMD
+          case $ax_cv_gcc_x86_cpuid_1 in
+           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
+           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+           *60?:*:*:*) ax_gcc_arch=k7 ;;
+           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+           *6[68a]?:*:*:*)
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
+$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
+if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+     int op = 0x80000006, eax, ebx, ecx, edx;
+     FILE *f;
+      __asm__("cpuid"
+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+        : "a" (op));
+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+     fclose(f);
+     return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
+else
+  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
+$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
+
+ # L2 cache size
+              case $ax_cv_gcc_x86_cpuid_0x80000006 in
+                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
+                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
+              esac ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+          esac ;;
+       *:746e6543:*:*) # IDT
+          case $ax_cv_gcc_x86_cpuid_1 in
+            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
+            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+          esac ;;
+     esac
+     if test x"$ax_gcc_arch" = x; then # fallback
+       case $host_cpu in
+         i586*) ax_gcc_arch=pentium ;;
+         i686*) ax_gcc_arch=pentiumpro ;;
+        esac
+     fi
+     ;;
+
+  sparc*)
+     # Extract the first word of "prtdiag", so it can be a program name with args.
+set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PRTDIAG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
+  ;;
+esac
+fi
+PRTDIAG=$ac_cv_path_PRTDIAG
+if test -n "$PRTDIAG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
+$as_echo "$PRTDIAG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+     case $cputype in
+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
+         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
+         *cypress*) ax_gcc_arch=cypress ;;
+     esac ;;
+
+  alphaev5) ax_gcc_arch=ev5 ;;
+  alphaev56) ax_gcc_arch=ev56 ;;
+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+  alphaev6) ax_gcc_arch=ev6 ;;
+  alphaev67) ax_gcc_arch=ev67 ;;
+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+  powerpc*)
+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+     case $cputype in
+       *750*) ax_gcc_arch="750 G3" ;;
+       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
+       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
+       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
+       *970*) ax_gcc_arch="970 G5 power4";;
+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+       *) ax_gcc_arch=$cputype ;;
+     esac
+     ax_gcc_arch="$ax_gcc_arch powerpc"
+     ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+    flags="-mtune=$arch"
+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+  else
+    flags="-march=$arch -mcpu=$arch -m$arch"
+  fi
+  for flag in $flags; do
+    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  ax_cv_gcc_archflag=$flag; break
+else
+  :
+fi
+
+  done
+  test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
+$as_echo_n "checking for gcc architecture flag... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
+$as_echo "$ax_cv_gcc_archflag" >&6; }
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+  :
+else
+  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
+fi
+
+     ;;
+  esac
+
+  if test -z "$CFLAGS"; then
+       echo ""
+       echo "********************************************************"
+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
+       echo "********************************************************"
+       echo ""
+        CFLAGS="-O3"
+  fi
+
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
+$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  :
+else
+
+       echo ""
+        echo "********************************************************"
+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
+        echo "* your compiler.                                       *"
+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
+        echo "********************************************************"
+        echo ""
+        CFLAGS=""
+
+fi
+
+
+fi
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
+$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
+if ${ac_cv_cflags_warn_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_cflags_warn_all="no, unknown"
+ac_save_CFLAGS="$CFLAGS"
+for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
+do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
+$as_echo "$ac_cv_cflags_warn_all" >&6; }
+
+case ".$ac_cv_cflags_warn_all" in
+     .ok|.ok,*)  ;;
+   .|.no|.no,*)  ;;
+   *) if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *" $ac_cv_cflags_warn_all "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
+  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      ;;
+    *)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
+  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
+      ;;
+   esac
+else
+  CFLAGS="$ac_cv_cflags_warn_all"
+fi
+ ;;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS="$CFLAGS -fexceptions"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+for ac_header in sys/mman.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in mmap
+do :
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+  libffi_header_sys_mman_h=yes
+else
+  libffi_header_sys_mman_h=no
+fi
+
+
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  libffi_func_mmap=yes
+else
+  libffi_func_mmap=no
+fi
+
+if test "$libffi_header_sys_mman_h" != yes \
+ || test "$libffi_func_mmap" != yes; then
+   ac_cv_func_mmap_file=no
+   ac_cv_func_mmap_dev_zero=no
+   ac_cv_func_mmap_anon=no
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+if ${ac_cv_func_mmap_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if
+   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+   # memory area containing the same data that you'd get if you applied
+   # read() to the same fd.  The only system known to have a problem here
+   # is VMS, where text files have record structure.
+   case "$host_os" in
+     vms* | ultrix*)
+       ac_cv_func_mmap_file=no ;;
+     *)
+       ac_cv_func_mmap_file=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
+$as_echo "$ac_cv_func_mmap_file" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+if ${ac_cv_func_mmap_dev_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() but /dev/zero
+   # does not exist, or if mmapping /dev/zero does not give anonymous
+   # zeroed pages with both the following properties:
+   # 1. If you map N consecutive pages in with one call, and then
+   #    unmap any subset of those pages, the pages that were not
+   #    explicitly unmapped remain accessible.
+   # 2. If you map two adjacent blocks of memory and then unmap them
+   #    both at once, they must both go away.
+   # Systems known to be in this category are Windows (all variants),
+   # VMS, and Darwin.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+       ac_cv_func_mmap_dev_zero=no ;;
+     *)
+       ac_cv_func_mmap_dev_zero=yes;;
+   esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
+$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+
+   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+if ${ac_cv_decl_map_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+int
+main ()
+{
+int n = MAP_ANONYMOUS;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_decl_map_anon=yes
+else
+  ac_cv_decl_map_anon=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
+$as_echo "$ac_cv_decl_map_anon" >&6; }
+
+   if test $ac_cv_decl_map_anon = no; then
+     ac_cv_func_mmap_anon=no
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+if ${ac_cv_func_mmap_anon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Add a system to this blacklist if it has mmap() and MAP_ANON or
+   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+   # doesn't give anonymous zeroed pages with the same properties listed
+   # above for use of /dev/zero.
+   # Systems known to be in this category are Windows, VMS, and SCO Unix.
+   case "$host_os" in
+     vms* | cygwin* | pe | mingw* | sco* | udk* )
        ac_cv_func_mmap_anon=no ;;
      *)
        ac_cv_func_mmap_anon=yes;;
@@ -13137,7 +14191,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    gcc_cv_as_cfi_pseudo_op=unknown
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+asm (".cfi_startproc\n\t.cfi_endproc");
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gcc_cv_as_cfi_pseudo_op=yes
+else
+  gcc_cv_as_cfi_pseudo_op=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
+$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+
+$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
+
+ fi
+
 
 if test x$TARGET = xSPARC; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
@@ -14428,6 +15515,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
+ax_enable_builddir_host="$HOST"                        # $HOST / $host
+ax_enable_builddir_version="$VERSION"                  # $VERSION
+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
+ax_enable_builddir="$ax_enable_builddir"               # $SUB
+
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -14446,7 +15541,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -14529,6 +15623,7 @@ 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"`'
@@ -14584,7 +15679,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14635,6 +15729,7 @@ 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 \
@@ -14717,6 +15812,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -15355,6 +16451,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
+  if test ".$ax_enable_builddir" = ".." ; then
+    if test -f "$top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
+$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
+    fi
+  else
+    if test -f "$ac_top_srcdir/Makefile" ; then
+      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
+      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
+    fi
+    if test -f "$ac_top_srcdir/Makefile" ; then
+       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
+       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
+      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
+      then rm $ac_top_srcdir/Makefile ; fi
+      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
+    fi
+    if test ! -f "$ac_top_srcdir/Makefile" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
+$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
+/^\$/n
+x
+/^\$/bS
+x
+/\\\\\$/{H;d;}
+{H;s/.*//;x;}
+bM
+:S
+x
+/\\\\\$/{h;d;}
+{h;s/.*//;x;}
+:M
+s/\\(\\n\\)    /\\1 /g
+/^     /d
+/^[     ]*[\\#]/d
+/^VPATH *=/d
+s/^srcdir *=.*/srcdir = ./
+s/^top_srcdir *=.*/top_srcdir = ./
+/[:=]/!d
+/^\\./d
+/ = /b
+/ .= /b
+/:/!b
+s/:.*/:/
+s/ /  /g
+s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
+s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
+s/  / /g
+/^all all-all[ :]/i\\
+all-configured : all-all
+s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
+/-all-all/d
+a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+/dist-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/dist-[a-zA-Z0-9]*-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
+       ; if test "\$\$found" -eq "0" ; then : \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
+       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
+       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
+/distclean-all *:/a\\
+       @ HOST="\$(HOST)\" \\\\\\
+       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
+       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
+       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
+       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
+_EOF
+      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
+      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
+      if test -f "$ac_top_srcdir/Makefile.mk" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
+$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
+        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
+      fi ; xxxx="####"
+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
+      # sanity check
+      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
+$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
+        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
+          >$ac_top_srcdir/Makefile~
+        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
+      fi
+    else
+      xxxx="\\#\\#\\#\\#"
+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
+      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
+      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
+        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
+        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
+      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
+        rm "$tmp/mkfile.tmp"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
+$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
+        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
+      fi
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
+$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
+    xxxx="####"
+    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
+  fi
+ ;;
     "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
@@ -15471,8 +16711,8 @@ $as_echo X"$file" |
 # 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, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15526,9 +16766,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15830,6 +17067,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
+# 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
+
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
index b2bfe47..cc494f8 100644 (file)
@@ -56,7 +56,18 @@ subdir = include
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/ffi.h.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -167,6 +178,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -187,6 +199,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 4e75327..f5f7517 100644 (file)
@@ -55,7 +55,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 12
+#serial 13
 
 AC_DEFUN([AX_CC_MAXOPT],
 [
@@ -64,7 +64,7 @@ AC_REQUIRE([AX_COMPILER_VENDOR])
 AC_REQUIRE([AC_CANONICAL_HOST])
 
 AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
-       acx_maxopt_portable=$withval, acx_maxopt_portable=no)
+       acx_maxopt_portable=$enableval, acx_maxopt_portable=no)
 
 # Try to determine "good" native compiler flags if none specified via CFLAGS
 if test "$ac_test_CFLAGS" != "set"; then
index c22e37f..0fa3e18 100644 (file)
@@ -58,7 +58,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 13
+#serial 14
 
 AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
 AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
@@ -84,6 +84,7 @@ done
 FLAGS="$ac_save_[]FLAGS"
 ])
 AS_VAR_POPDEF([FLAGS])dnl
+AC_REQUIRE([AX_APPEND_FLAG])
 case ".$VAR" in
      .ok|.ok,*) m4_ifvaln($3,$3) ;;
    .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;;
similarity index 53%
rename from m4/ax_check_compiler_flags.m4
rename to m4/ax_check_compile_flag.m4
index 35bfd2a..c3a8d69 100644 (file)
@@ -1,24 +1,31 @@
 # ===========================================================================
-#  http://www.gnu.org/software/autoconf-archive/ax_check_compiler_flags.html
+#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
 # ===========================================================================
 #
 # SYNOPSIS
 #
-#   AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
 #
 # DESCRIPTION
 #
-#   Check whether the given compiler FLAGS work with the current language's
-#   compiler, or whether they give an error. (Warnings, however, are
-#   ignored.)
+#   Check whether the given FLAG works with the current language's compiler
+#   or gives an error.  (Warnings, however, are ignored)
 #
 #   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
 #   success/failure.
 #
+#   If EXTRA-FLAGS is defined, it is added to the current language's default
+#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
+#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
+#   force the compiler to issue an error when a bad flag is given.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
 # LICENSE
 #
-#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2009 Matteo Frigo
+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
 #
 #   This program is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by the
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 9
+#serial 2
 
-AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
-[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
-AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
-dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
-AS_LITERAL_IF([$1],
-  [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1]), [
-      ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-      _AC_LANG_PREFIX[]FLAGS="$1"
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-      _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
-  [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-   _AC_LANG_PREFIX[]FLAGS="$1"
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-   _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
-eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])
-AC_MSG_RESULT($ax_check_compiler_flags)
-if test "x$ax_check_compiler_flags" = xyes; then
-       m4_default([$2], :)
-else
-       m4_default([$3], :)
-fi
-])dnl AX_CHECK_COMPILER_FLAGS
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+    [AS_VAR_SET(CACHEVAR,[yes])],
+    [AS_VAR_SET(CACHEVAR,[no])])
+  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
index 2611bab..3fd050e 100644 (file)
@@ -36,6 +36,7 @@
 #
 #   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
 #   Copyright (c) 2008 Matteo Frigo
+#   Copyright (c) 2012 Tsukasa Oi
 #
 #   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
@@ -63,7 +64,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 10
+#serial 11
 
 AC_DEFUN([AX_GCC_ARCHFLAG],
 [AC_REQUIRE([AC_PROG_CC])
@@ -84,7 +85,7 @@ if test "x$ax_gcc_arch" = xyes; then
 ax_gcc_arch=""
 if test "$cross_compiling" = no; then
 case $host_cpu in
-  i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
+  i[[3456]]86*|x86_64*) # use cpuid codes
      AX_GCC_X86_CPUID(0)
      AX_GCC_X86_CPUID(1)
      case $ax_cv_gcc_x86_cpuid_0 in
@@ -92,18 +93,24 @@ case $host_cpu in
           case $ax_cv_gcc_x86_cpuid_1 in
            *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
            *5??:*:*:*) ax_gcc_arch=pentium ;;
-           *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
-           *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
-            *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
+           *0?6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[[9de]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[[23]]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[[ad]]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[[347]]:*:*:*|?000?f4[1347]:*:*:*|?000?f6?:*:*:*)
                case $host_cpu in
-                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
-                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
-                esac ;;
-            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
           esac ;;
        *:68747541:*:*) # AMD
           case $ax_cv_gcc_x86_cpuid_1 in
@@ -121,10 +128,13 @@ case $host_cpu in
                        ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
                  *) ax_gcc_arch="athlon-4 athlon k7" ;;
               esac ;;
-           *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
-           *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
-           *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
-           *f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?00??f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
           esac ;;
        *:746e6543:*:*) # IDT
           case $ax_cv_gcc_x86_cpuid_1 in
index 397ced9..199fea6 100644 (file)
@@ -54,7 +54,18 @@ target_triplet = @target@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -165,6 +176,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -185,6 +197,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
index 5257b5c..4659597 100644 (file)
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
 ===================================================================
 --- libffi.orig/ChangeLog
 +++ libffi/ChangeLog
-@@ -6,6 +6,11 @@
+@@ -32,6 +32,11 @@
        (ffi_call): Silence possibly undefined warning.
        (ffi_closure_helper_SYSV): Declare variable type.
  
index 78ebae0..1b573be 100644 (file)
@@ -106,7 +106,7 @@ Index: libffi/Makefile.in
  subdir = .
  DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-@@ -139,44 +140,45 @@ am_libffi_la_OBJECTS = src/prep_cif.lo s
+@@ -150,44 +151,45 @@ am_libffi_la_OBJECTS = src/prep_cif.lo s
  @FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
  @MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
  @MIPS_TRUE@   src/mips/n32.lo
@@ -178,7 +178,7 @@ Index: libffi/Makefile.in
  nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
        $(am__objects_3) $(am__objects_4) $(am__objects_5) \
        $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-@@ -186,17 +188,17 @@ nodist_libffi_la_OBJECTS = $(am__objects
+@@ -197,17 +199,17 @@ nodist_libffi_la_OBJECTS = $(am__objects
        $(am__objects_18) $(am__objects_19) $(am__objects_20) \
        $(am__objects_21) $(am__objects_22) $(am__objects_23) \
        $(am__objects_24) $(am__objects_25) $(am__objects_26) \
@@ -200,7 +200,7 @@ Index: libffi/Makefile.in
        $(am__objects_4) $(am__objects_5) $(am__objects_6) \
        $(am__objects_7) $(am__objects_8) $(am__objects_9) \
        $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-@@ -205,8 +207,8 @@ am__objects_30 = $(am__objects_1) $(am__
+@@ -216,8 +218,8 @@ am__objects_30 = $(am__objects_1) $(am__
        $(am__objects_19) $(am__objects_20) $(am__objects_21) \
        $(am__objects_22) $(am__objects_23) $(am__objects_24) \
        $(am__objects_25) $(am__objects_26) $(am__objects_27) \
@@ -211,7 +211,7 @@ Index: libffi/Makefile.in
  libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
        $(nodist_libffi_convenience_la_OBJECTS)
  DEFAULT_INCLUDES = -I.@am__isrc@
-@@ -460,6 +462,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+@@ -473,6 +475,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
        src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
        src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
        src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
@@ -219,7 +219,7 @@ Index: libffi/Makefile.in
        src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
        src/moxie/ffi.c src/moxie/eabi.S libtool-version \
        ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-@@ -528,10 +531,10 @@ nodist_libffi_la_SOURCES = $(am__append_
+@@ -541,10 +544,10 @@ nodist_libffi_la_SOURCES = $(am__append_
        $(am__append_18) $(am__append_19) $(am__append_20) \
        $(am__append_21) $(am__append_22) $(am__append_23) \
        $(am__append_24) $(am__append_25) $(am__append_26) \
@@ -232,7 +232,7 @@ Index: libffi/Makefile.in
  libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
  AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src -DFFI_BUILDING
  AM_CCASFLAGS = $(AM_CPPFLAGS) -g
-@@ -656,6 +659,16 @@ src/mips/o32.lo: src/mips/$(am__dirstamp
+@@ -669,6 +672,16 @@ src/mips/o32.lo: src/mips/$(am__dirstamp
        src/mips/$(DEPDIR)/$(am__dirstamp)
  src/mips/n32.lo: src/mips/$(am__dirstamp) \
        src/mips/$(DEPDIR)/$(am__dirstamp)
@@ -249,7 +249,7 @@ Index: libffi/Makefile.in
  src/x86/$(am__dirstamp):
        @$(MKDIR_P) src/x86
        @: > src/x86/$(am__dirstamp)
-@@ -871,6 +884,10 @@ mostlyclean-compile:
+@@ -884,6 +897,10 @@ mostlyclean-compile:
        -rm -f src/avr32/ffi.lo
        -rm -f src/avr32/sysv.$(OBJEXT)
        -rm -f src/avr32/sysv.lo
@@ -260,7 +260,7 @@ Index: libffi/Makefile.in
        -rm -f src/closures.$(OBJEXT)
        -rm -f src/closures.lo
        -rm -f src/cris/ffi.$(OBJEXT)
-@@ -992,6 +1009,8 @@ distclean-compile:
+@@ -1005,6 +1022,8 @@ distclean-compile:
  @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
@@ -269,7 +269,7 @@ Index: libffi/Makefile.in
  @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@@ -1096,6 +1115,7 @@ clean-libtool:
+@@ -1109,6 +1128,7 @@ clean-libtool:
        -rm -rf src/alpha/.libs src/alpha/_libs
        -rm -rf src/arm/.libs src/arm/_libs
        -rm -rf src/avr32/.libs src/avr32/_libs
@@ -277,7 +277,7 @@ Index: libffi/Makefile.in
        -rm -rf src/cris/.libs src/cris/_libs
        -rm -rf src/frv/.libs src/frv/_libs
        -rm -rf src/ia64/.libs src/ia64/_libs
-@@ -1666,6 +1686,8 @@ distclean-generic:
+@@ -1679,6 +1699,8 @@ distclean-generic:
        -rm -f src/arm/$(am__dirstamp)
        -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/avr32/$(am__dirstamp)
@@ -286,7 +286,7 @@ Index: libffi/Makefile.in
        -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/cris/$(am__dirstamp)
        -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-@@ -1705,7 +1727,7 @@ clean-am: clean-aminfo clean-generic cle
+@@ -1718,7 +1740,7 @@ clean-am: clean-aminfo clean-generic cle
  
  distclean: distclean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -295,7 +295,7 @@ Index: libffi/Makefile.in
        -rm -f Makefile
  distclean-am: clean-am distclean-compile distclean-generic \
        distclean-hdr distclean-libtool distclean-tags
-@@ -1840,7 +1862,7 @@ installcheck-am:
+@@ -1853,7 +1875,7 @@ installcheck-am:
  maintainer-clean: maintainer-clean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
        -rm -rf $(top_srcdir)/autom4te.cache
@@ -317,7 +317,7 @@ Index: libffi/configure
  MIPS_FALSE
  MIPS_TRUE
  AM_LTLDFLAGS
-@@ -6739,14 +6741,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+@@ -6844,14 +6846,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
@@ -333,7 +333,7 @@ Index: libffi/configure
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
-@@ -12132,6 +12127,10 @@ case "$host" in
+@@ -13186,6 +13181,10 @@ case "$host" in
        TARGET=AVR32; TARGETDIR=avr32
        ;;
  
@@ -344,7 +344,7 @@ Index: libffi/configure
    cris-*-*)
        TARGET=LIBFFI_CRIS; TARGETDIR=cris
        ;;
-@@ -12277,6 +12276,14 @@ else
+@@ -13331,6 +13330,14 @@ else
    MIPS_FALSE=
  fi
  
@@ -359,7 +359,7 @@ Index: libffi/configure
   if test x$TARGET = xSPARC; then
    SPARC_TRUE=
    SPARC_FALSE='#'
-@@ -13688,6 +13695,10 @@ if test -z "${MIPS_TRUE}" && test -z "${
+@@ -14775,6 +14782,10 @@ if test -z "${MIPS_TRUE}" && test -z "${
    as_fn_error $? "conditional \"MIPS\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
index db3290b..f7bd997 100644 (file)
@@ -156,7 +156,7 @@ Index: libffi/testsuite/Makefile.in
 ===================================================================
 --- libffi.orig/testsuite/Makefile.in
 +++ libffi/testsuite/Makefile.in
-@@ -215,69 +215,74 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+@@ -228,69 +228,74 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
            else echo runtest; fi`
  
  CLEANFILES = *.exe core* *.log *.sum
index 1570722..cdf72c0 100644 (file)
@@ -882,7 +882,14 @@ Index: libffi/configure
  M68K_FALSE
  M68K_TRUE
  M32R_FALSE
-@@ -675,8 +694,11 @@ OTOOL
+@@ -669,14 +688,18 @@ TESTSUBDIR_TRUE
+ MAINT
+ MAINTAINER_MODE_FALSE
+ MAINTAINER_MODE_TRUE
++PRTDIAG
+ CPP
+ OTOOL64
+ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -894,7 +901,7 @@ Index: libffi/configure
  OBJDUMP
  LN_S
  NM
-@@ -696,6 +718,7 @@ CCAS
+@@ -696,6 +719,7 @@ CCAS
  am__fastdepCC_FALSE
  am__fastdepCC_TRUE
  CCDEPMODE
@@ -902,7 +909,15 @@ Index: libffi/configure
  AMDEPBACKSLASH
  AMDEP_FALSE
  AMDEP_TRUE
-@@ -744,7 +767,6 @@ build_os
+@@ -732,6 +756,7 @@ am__isrc
+ INSTALL_DATA
+ INSTALL_SCRIPT
+ INSTALL_PROGRAM
++ax_enable_builddir_sed
+ target_os
+ target_vendor
+ target_cpu
+@@ -744,7 +769,6 @@ build_os
  build_vendor
  build_cpu
  build
@@ -910,11 +925,12 @@ Index: libffi/configure
  target_alias
  host_alias
  build_alias
-@@ -786,13 +808,13 @@ SHELL'
+@@ -786,14 +810,17 @@ SHELL'
  ac_subst_files=''
  ac_user_opts='
  enable_option_checking
 -enable_multilib
++enable_builddir
  enable_dependency_tracking
  enable_shared
  enable_static
@@ -923,9 +939,12 @@ Index: libffi/configure
  with_gnu_ld
 +with_sysroot
  enable_libtool_lock
++enable_portable_binary
++with_gcc_arch
  enable_maintainer_mode
  enable_debug
-@@ -869,8 +891,9 @@ do
+ enable_structs
+@@ -869,8 +896,9 @@ do
    fi
  
    case $ac_option in
@@ -937,7 +956,7 @@ Index: libffi/configure
    esac
  
    # Accept the important Cygnus configure options, so we can diagnose typos.
-@@ -915,7 +938,7 @@ do
+@@ -915,7 +943,7 @@ do
      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 &&
@@ -946,7 +965,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -941,7 +964,7 @@ do
+@@ -941,7 +969,7 @@ do
      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 &&
@@ -955,7 +974,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1145,7 +1168,7 @@ do
+@@ -1145,7 +1173,7 @@ do
      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 &&
@@ -964,7 +983,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1161,7 +1184,7 @@ do
+@@ -1161,7 +1189,7 @@ do
      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 &&
@@ -973,7 +992,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1191,8 +1214,8 @@ do
+@@ -1191,8 +1219,8 @@ do
    | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
      x_libraries=$ac_optarg ;;
  
@@ -984,7 +1003,7 @@ Index: libffi/configure
      ;;
  
    *=*)
-@@ -1200,7 +1223,7 @@ Try \`$0 --help' for more information."
+@@ -1200,7 +1228,7 @@ Try \`$0 --help' for more information."
      # Reject names that are not valid shell variable names.
      case $ac_envvar in #(
        '' | [0-9]* | *[!_$as_cr_alnum]* )
@@ -993,7 +1012,7 @@ Index: libffi/configure
      esac
      eval $ac_envvar=\$ac_optarg
      export $ac_envvar ;;
-@@ -1210,7 +1233,7 @@ Try \`$0 --help' for more information."
+@@ -1210,7 +1238,7 @@ Try \`$0 --help' for more information."
      $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
@@ -1002,7 +1021,7 @@ Index: libffi/configure
      ;;
  
    esac
-@@ -1218,13 +1241,13 @@ done
+@@ -1218,13 +1246,13 @@ done
  
  if test -n "$ac_prev"; then
    ac_option=--`echo $ac_prev | sed 's/_/-/g'`
@@ -1018,7 +1037,7 @@ Index: libffi/configure
      *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
    esac
  fi
-@@ -1247,7 +1270,7 @@ do
+@@ -1247,7 +1275,7 @@ do
      [\\/$]* | ?:[\\/]* )  continue;;
      NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
    esac
@@ -1027,7 +1046,7 @@ Index: libffi/configure
  done
  
  # There might be people who depend on the old broken behavior: `$host'
-@@ -1261,8 +1284,8 @@ target=$target_alias
+@@ -1261,8 +1289,8 @@ target=$target_alias
  if test "x$host_alias" != x; then
    if test "x$build_alias" = x; then
      cross_compiling=maybe
@@ -1038,7 +1057,7 @@ Index: libffi/configure
    elif test "x$build_alias" != "x$host_alias"; then
      cross_compiling=yes
    fi
-@@ -1277,9 +1300,9 @@ test "$silent" = yes && exec 6>/dev/null
+@@ -1277,9 +1305,9 @@ test "$silent" = yes && exec 6>/dev/null
  ac_pwd=`pwd` && test -n "$ac_pwd" &&
  ac_ls_di=`ls -di .` &&
  ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
@@ -1050,7 +1069,7 @@ Index: libffi/configure
  
  
  # Find the source files, if location was not specified.
-@@ -1318,11 +1341,11 @@ else
+@@ -1318,11 +1346,11 @@ else
  fi
  if test ! -r "$srcdir/$ac_unique_file"; then
    test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
@@ -1064,7 +1083,7 @@ Index: libffi/configure
        pwd)`
  # When building in place, set srcdir=.
  if test "$ac_abs_confdir" = "$ac_pwd"; then
-@@ -1348,7 +1371,7 @@ if test "$ac_init_help" = "long"; then
+@@ -1348,7 +1376,7 @@ 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
@@ -1073,7 +1092,7 @@ Index: libffi/configure
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
-@@ -1362,7 +1385,7 @@ Configuration:
+@@ -1362,7 +1390,7 @@ Configuration:
        --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
@@ -1082,7 +1101,7 @@ Index: libffi/configure
        --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
-@@ -1419,7 +1442,7 @@ fi
+@@ -1419,7 +1447,7 @@ fi
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
@@ -1091,28 +1110,38 @@ Index: libffi/configure
     esac
    cat <<\_ACEOF
  
-@@ -1427,7 +1450,6 @@ Optional Features:
+@@ -1427,7 +1455,8 @@ 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-multilib       build many library versions (default)
++  --disable-builddir      disable automatic build in subdir of sources
++
    --disable-dependency-tracking  speeds up one-time build
    --enable-dependency-tracking   do not reject slow dependency extractors
    --enable-shared[=PKGS]  build shared libraries [default=yes]
-@@ -1445,9 +1467,11 @@ Optional Features:
- 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
-+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+@@ -1435,6 +1464,9 @@ Optional Features:
+   --enable-fast-install[=PKGS]
+                           optimize for fast installation [default=yes]
+   --disable-libtool-lock  avoid locking (might break parallel builds)
++  --enable-portable-binary
++                          disable compiler optimizations that would produce
++                          unportable binaries
+   --enable-maintainer-mode  enable make rules and dependencies not useful
+                         (and sometimes confusing) to the casual installer
+   --enable-debug          debugging mode
+@@ -1448,6 +1480,10 @@ Optional Packages:
+   --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-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
++                          instead of guessing
  
  Some influential environment variables:
    CC          C compiler command
-@@ -1455,7 +1479,7 @@ Some influential environment variables:
+@@ -1455,7 +1491,7 @@ Some influential environment variables:
    LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                nonstandard directory <lib dir>
    LIBS        libraries to pass to the linker, e.g. -l<library>
@@ -1121,7 +1150,7 @@ Index: libffi/configure
                you have headers in a nonstandard directory <include dir>
    CCAS        assembler compiler command (defaults to CC)
    CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-@@ -1464,7 +1488,7 @@ Some influential environment variables:
+@@ -1464,7 +1500,7 @@ Some influential environment variables:
  Use these variables to override the choices made by `configure' or to help
  it to find libraries and programs with nonstandard names/locations.
  
@@ -1130,7 +1159,7 @@ Index: libffi/configure
  _ACEOF
  ac_status=$?
  fi
-@@ -1527,10 +1551,10 @@ fi
+@@ -1527,10 +1563,10 @@ fi
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
@@ -1144,7 +1173,7 @@ Index: libffi/configure
  This configure script is free software; the Free Software Foundation
  gives unlimited permission to copy, distribute and modify it.
  _ACEOF
-@@ -1574,8 +1598,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1574,8 +1610,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
        ac_retval=1
  fi
@@ -1155,7 +1184,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_compile
  
-@@ -1620,8 +1644,8 @@ fi
+@@ -1620,8 +1656,8 @@ fi
    # 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
@@ -1166,7 +1195,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_link
  
-@@ -1634,7 +1658,7 @@ ac_fn_c_check_header_compile ()
+@@ -1634,7 +1670,7 @@ 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; }
@@ -1175,7 +1204,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1652,7 +1676,7 @@ fi
+@@ -1652,7 +1688,7 @@ fi
  eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
@@ -1184,7 +1213,7 @@ Index: libffi/configure
  
  } # ac_fn_c_check_header_compile
  
-@@ -1677,7 +1701,7 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -1677,7 +1713,7 @@ $as_echo "$ac_try_echo"; } >&5
      mv -f conftest.er1 conftest.err
    fi
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
@@ -1193,7 +1222,7 @@ Index: libffi/configure
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
         }; then :
-@@ -1688,8 +1712,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1688,8 +1724,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
      ac_retval=1
  fi
@@ -1204,7 +1233,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_cpp
  
-@@ -1730,8 +1754,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1730,8 +1766,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
         ac_retval=$ac_status
  fi
    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
@@ -1215,7 +1244,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_run
  
-@@ -1743,7 +1767,7 @@ ac_fn_c_check_func ()
+@@ -1743,7 +1779,7 @@ 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; }
@@ -1224,7 +1253,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1798,7 +1822,7 @@ fi
+@@ -1798,7 +1834,7 @@ fi
  eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
@@ -1233,7 +1262,7 @@ Index: libffi/configure
  
  } # ac_fn_c_check_func
  
-@@ -1810,10 +1834,10 @@ $as_echo "$ac_res" >&6; }
+@@ -1810,10 +1846,10 @@ $as_echo "$ac_res" >&6; }
  ac_fn_c_check_header_mongrel ()
  {
    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1246,7 +1275,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  fi
  eval ac_res=\$$3
-@@ -1849,7 +1873,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
+@@ -1849,7 +1885,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
  else
    ac_header_preproc=no
  fi
@@ -1255,7 +1284,7 @@ Index: libffi/configure
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  $as_echo "$ac_header_preproc" >&6; }
  
-@@ -1872,17 +1896,15 @@ $as_echo "$as_me: WARNING: $2: see the A
+@@ -1872,17 +1908,15 @@ $as_echo "$as_me: WARNING: $2: see the A
  $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;}
@@ -1277,7 +1306,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    eval "$3=\$ac_header_compiler"
-@@ -1891,10 +1913,64 @@ eval ac_res=\$$3
+@@ -1891,10 +1925,64 @@ eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
  fi
@@ -1343,7 +1372,7 @@ Index: libffi/configure
  # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
  # --------------------------------------------
  # Tries to find the compile-time value of EXPR in a program that includes
-@@ -2068,16 +2144,16 @@ rm -f core *.core core.conftest.* gmon.o
+@@ -2068,16 +2156,16 @@ rm -f core *.core core.conftest.* gmon.o
  rm -f conftest.val
  
    fi
@@ -1364,7 +1393,7 @@ Index: libffi/configure
  
    $ $0 $@
  
-@@ -2187,11 +2263,9 @@ trap 'exit_status=$?
+@@ -2187,11 +2275,9 @@ trap 'exit_status=$?
    {
      echo
  
@@ -1378,7 +1407,7 @@ Index: libffi/configure
      echo
      # The following way of writing the cache mishandles newlines in values,
  (
-@@ -2225,11 +2299,9 @@ $as_echo "$as_me: WARNING: cache variabl
+@@ -2225,11 +2311,9 @@ $as_echo "$as_me: WARNING: cache variabl
  )
      echo
  
@@ -1392,7 +1421,7 @@ Index: libffi/configure
      echo
      for ac_var in $ac_subst_vars
      do
-@@ -2242,11 +2314,9 @@ _ASBOX
+@@ -2242,11 +2326,9 @@ _ASBOX
      echo
  
      if test -n "$ac_subst_files"; then
@@ -1406,7 +1435,7 @@ Index: libffi/configure
        echo
        for ac_var in $ac_subst_files
        do
-@@ -2260,11 +2330,9 @@ _ASBOX
+@@ -2260,11 +2342,9 @@ _ASBOX
      fi
  
      if test -s confdefs.h; then
@@ -1420,7 +1449,7 @@ Index: libffi/configure
        echo
        cat confdefs.h
        echo
-@@ -2319,7 +2387,12 @@ _ACEOF
+@@ -2319,7 +2399,12 @@ _ACEOF
  ac_site_file1=NONE
  ac_site_file2=NONE
  if test -n "$CONFIG_SITE"; then
@@ -1434,7 +1463,7 @@ Index: libffi/configure
  elif test "x$prefix" != xNONE; then
    ac_site_file1=$prefix/share/config.site
    ac_site_file2=$prefix/etc/config.site
-@@ -2330,18 +2403,22 @@ fi
+@@ -2330,18 +2415,22 @@ fi
  for ac_site_file in "$ac_site_file1" "$ac_site_file2"
  do
    test "x$ac_site_file" = xNONE && continue
@@ -1462,7 +1491,7 @@ Index: libffi/configure
      { $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
-@@ -2410,7 +2487,7 @@ if $ac_cache_corrupted; then
+@@ -2410,7 +2499,7 @@ if $ac_cache_corrupted; then
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
  $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
@@ -1471,7 +1500,7 @@ Index: libffi/configure
  fi
  ## -------------------- ##
  ## Main body of script. ##
-@@ -2423,62 +2500,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
+@@ -2423,62 +2512,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  
@@ -1548,7 +1577,7 @@ Index: libffi/configure
  fi
  
  # These three variables are undocumented and unsupported,
-@@ -2492,27 +2534,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
+@@ -2492,27 +2546,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
  
  # Make sure we can run config.sub.
  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -1581,7 +1610,7 @@ Index: libffi/configure
  esac
  build=$ac_cv_build
  ac_save_IFS=$IFS; IFS='-'
-@@ -2530,14 +2572,14 @@ case $build_os in *\ *) build_os=`echo "
+@@ -2530,14 +2584,14 @@ case $build_os in *\ *) build_os=`echo "
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
  $as_echo_n "checking host system type... " >&6; }
@@ -1598,7 +1627,7 @@ Index: libffi/configure
  fi
  
  fi
-@@ -2545,7 +2587,7 @@ fi
+@@ -2545,7 +2599,7 @@ fi
  $as_echo "$ac_cv_host" >&6; }
  case $ac_cv_host in
  *-*-*) ;;
@@ -1607,7 +1636,7 @@ Index: libffi/configure
  esac
  host=$ac_cv_host
  ac_save_IFS=$IFS; IFS='-'
-@@ -2563,14 +2605,14 @@ case $host_os in *\ *) host_os=`echo "$h
+@@ -2563,14 +2617,14 @@ case $host_os in *\ *) host_os=`echo "$h
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
  $as_echo_n "checking target system type... " >&6; }
@@ -1624,7 +1653,7 @@ Index: libffi/configure
  fi
  
  fi
-@@ -2578,7 +2620,7 @@ fi
+@@ -2578,7 +2632,7 @@ fi
  $as_echo "$ac_cv_target" >&6; }
  case $ac_cv_target in
  *-*-*) ;;
@@ -1633,16 +1662,118 @@ Index: libffi/configure
  esac
  target=$ac_cv_target
  ac_save_IFS=$IFS; IFS='-'
-@@ -2605,6 +2647,8 @@ target_alias=${target_alias-$host_alias}
+@@ -2605,6 +2659,110 @@ target_alias=${target_alias-$host_alias}
  
  . ${srcdir}/configure.host
  
-+AX_ENABLE_BUILDDIR
++
++   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++   if test "${ac_configure_args+set}" != "set" ; then
++      ac_configure_args=
++      for ac_arg in ${1+"$@"}; do
++         ac_configure_args="$ac_configure_args '$ac_arg'"
++      done
++   fi
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++
++ax_enable_builddir="."
++# Check whether --enable-builddir was given.
++if test "${enable_builddir+set}" = set; then :
++  enableval=$enable_builddir; ax_enable_builddir="$enableval"
++else
++  ax_enable_builddir="auto"
++fi
++
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++  if test -f config.status ; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
++$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
++  else
++    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
++    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
++    test ".$TARGET" = "." && TARGET="$target"
++    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
++    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
++      as_dir=$ax_enable_builddir; as_fn_mkdir_p
++      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
++      cd $ax_enable_builddir
++      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
++        rm conftest.tmp
++        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
++$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
++      else
++        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
++      fi
++      srcdir=`echo "$ax_enable_builddir" |
++              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
++      # going to restart from subdirectory location
++      test -f $srcdir/config.log   && mv $srcdir/config.log   .
++      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
++      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
++$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
++      case "$0" in # restart
++       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++      esac ; exit $?
++    fi
++  fi
++fi fi
++test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
++# Extract the first word of "gsed sed", so it can be a program name with args.
++set dummy gsed sed; 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_path_ax_enable_builddir_sed+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $ax_enable_builddir_sed in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
++  ;;
++esac
++fi
++ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
++if test -n "$ax_enable_builddir_sed"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
++$as_echo "$ax_enable_builddir_sed" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ax_enable_builddir_auxdir="$am_aux_dir"
++ac_config_commands="$ac_config_commands buildir"
++
 +
  am__api_version='1.11'
  
  # Find a good install program.  We prefer a C program (faster),
-@@ -2624,7 +2668,7 @@ am__api_version='1.11'
+@@ -2624,7 +2782,7 @@ am__api_version='1.11'
  { $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
@@ -1651,7 +1782,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2711,11 +2755,11 @@ am_lf='
+@@ -2711,11 +2869,11 @@ am_lf='
  '
  case `pwd` in
    *[\\\"\#\$\&\'\`$am_lf]*)
@@ -1665,7 +1796,7 @@ Index: libffi/configure
  esac
  
  # Do `set' in a subshell so we don't clobber the current shell's
-@@ -2737,7 +2781,7 @@ if (
+@@ -2737,7 +2895,7 @@ if (
        # 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".
@@ -1674,7 +1805,7 @@ Index: libffi/configure
  alias in your environment" "$LINENO" 5
     fi
  
-@@ -2747,7 +2791,7 @@ then
+@@ -2747,7 +2905,7 @@ then
     # Ok.
     :
  else
@@ -1683,7 +1814,17 @@ Index: libffi/configure
  Check your system clock" "$LINENO" 5
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-@@ -2801,7 +2845,7 @@ if test "$cross_compiling" != no; then
+@@ -2762,9 +2920,6 @@ test "$program_suffix" != NONE &&
+ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+-# expand $ac_aux_dir to an absolute path
+-am_aux_dir=`cd $ac_aux_dir && pwd`
+-
+ if test x"${MISSING+set}" != xset; then
+   case $am_aux_dir in
+   *\ * | *\   *)
+@@ -2801,7 +2956,7 @@ if test "$cross_compiling" != no; then
  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; }
@@ -1692,7 +1833,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$STRIP"; then
-@@ -2841,7 +2885,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -2841,7 +2996,7 @@ if test -z "$ac_cv_prog_STRIP"; then
  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; }
@@ -1701,7 +1842,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_STRIP"; then
-@@ -2894,7 +2938,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
+@@ -2894,7 +3049,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
  { $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
@@ -1710,7 +1851,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2919,6 +2963,7 @@ IFS=$as_save_IFS
+@@ -2919,6 +3074,7 @@ IFS=$as_save_IFS
  
  fi
  
@@ -1718,7 +1859,7 @@ Index: libffi/configure
    if test "${ac_cv_path_mkdir+set}" = set; then
      MKDIR_P="$ac_cv_path_mkdir -p"
    else
-@@ -2926,7 +2971,6 @@ fi
+@@ -2926,7 +3082,6 @@ fi
      # 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.
@@ -1726,7 +1867,7 @@ Index: libffi/configure
      MKDIR_P="$ac_install_sh -d"
    fi
  fi
-@@ -2945,7 +2989,7 @@ do
+@@ -2945,7 +3100,7 @@ do
  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; }
@@ -1735,7 +1876,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$AWK"; then
-@@ -2985,7 +3029,7 @@ done
+@@ -2985,7 +3140,7 @@ done
  $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'`
@@ -1744,7 +1885,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat >conftest.make <<\_ACEOF
-@@ -2993,7 +3037,7 @@ SHELL = /bin/sh
+@@ -2993,7 +3148,7 @@ SHELL = /bin/sh
  all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
  _ACEOF
@@ -1753,7 +1894,7 @@ Index: libffi/configure
  case `${MAKE-make} -f conftest.make 2>/dev/null` in
    *@@@%%%=?*=@@@%%%*)
      eval ac_cv_prog_make_${ac_make}_set=yes;;
-@@ -3027,7 +3071,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
+@@ -3027,7 +3182,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
    am__isrc=' -I$(srcdir)'
    # test to see if srcdir already configured
    if test -f $srcdir/config.status; then
@@ -1762,7 +1903,7 @@ Index: libffi/configure
    fi
  fi
  
-@@ -3043,7 +3087,7 @@ fi
+@@ -3043,7 +3198,7 @@ fi
  
  # Define the identity of the package.
   PACKAGE='libffi'
@@ -1771,23 +1912,23 @@ Index: libffi/configure
  
  
  cat >>confdefs.h <<_ACEOF
-@@ -3073,11 +3117,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}ma
+@@ -3073,11 +3228,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}ma
  
  # 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}'
  
+-AMTAR=${AMTAR-"${am_missing_run}tar"}
+-
 -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
  
  
  
-@@ -3088,9 +3132,12 @@ am__tar='${AMTAR} chof - "$$tardir"'; am
+@@ -3088,9 +3243,12 @@ am__tar='${AMTAR} chof - "$$tardir"'; am
  # We must force CC to /not/ be precious variables; otherwise
  # the wrong, non-multilib-adjusted value will be used in multilibs.
  # As a side effect, we have to subst CFLAGS ourselves.
@@ -1800,7 +1941,7 @@ Index: libffi/configure
  ac_ext=c
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -3101,7 +3148,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -3101,7 +3259,7 @@ if test -n "$ac_tool_prefix"; then
  set dummy ${ac_tool_prefix}gcc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1809,7 +1950,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3141,7 +3188,7 @@ if test -z "$ac_cv_prog_CC"; then
+@@ -3141,7 +3299,7 @@ if test -z "$ac_cv_prog_CC"; then
  set dummy gcc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1818,7 +1959,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_CC"; then
-@@ -3194,7 +3241,7 @@ if test -z "$CC"; then
+@@ -3194,7 +3352,7 @@ if test -z "$CC"; then
  set dummy ${ac_tool_prefix}cc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1827,7 +1968,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3234,7 +3281,7 @@ if test -z "$CC"; then
+@@ -3234,7 +3392,7 @@ if test -z "$CC"; then
  set dummy cc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1836,7 +1977,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3293,7 +3340,7 @@ if test -z "$CC"; then
+@@ -3293,7 +3451,7 @@ if test -z "$CC"; then
  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; }
@@ -1845,7 +1986,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3337,7 +3384,7 @@ do
+@@ -3337,7 +3495,7 @@ do
  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; }
@@ -1854,7 +1995,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_CC"; then
-@@ -3391,8 +3438,8 @@ fi
+@@ -3391,8 +3549,8 @@ fi
  
  test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1865,7 +2006,7 @@ Index: libffi/configure
  
  # Provide some information about the compiler.
  $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-@@ -3413,8 +3460,8 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -3413,8 +3571,8 @@ $as_echo "$ac_try_echo"; } >&5
  ... rest of stderr output deleted ...
           10q' conftest.err >conftest.er1
      cat conftest.er1 >&5
@@ -1875,7 +2016,7 @@ Index: libffi/configure
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }
  done
-@@ -3431,12 +3478,12 @@ main ()
+@@ -3431,12 +3589,12 @@ main ()
  }
  _ACEOF
  ac_clean_files_save=$ac_clean_files
@@ -1891,7 +2032,7 @@ Index: libffi/configure
  ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
  
  # The possible output files:
-@@ -3498,62 +3545,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
+@@ -3498,62 +3656,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
  else
    ac_file=''
  fi
@@ -1967,7 +2108,7 @@ Index: libffi/configure
  { $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"
-@@ -3583,19 +3596,78 @@ done
+@@ -3583,19 +3707,78 @@ done
  else
    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -2050,7 +2191,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3635,8 +3707,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -3635,8 +3818,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -2061,7 +2202,7 @@ Index: libffi/configure
  fi
  rm -f conftest.$ac_cv_objext conftest.$ac_ext
  fi
-@@ -3646,7 +3718,7 @@ OBJEXT=$ac_cv_objext
+@@ -3646,7 +3829,7 @@ OBJEXT=$ac_cv_objext
  ac_objext=$OBJEXT
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
  $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
@@ -2070,7 +2211,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3683,7 +3755,7 @@ ac_test_CFLAGS=${CFLAGS+set}
+@@ -3683,7 +3866,7 @@ ac_test_CFLAGS=${CFLAGS+set}
  ac_save_CFLAGS=$CFLAGS
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
  $as_echo_n "checking whether $CC accepts -g... " >&6; }
@@ -2079,7 +2220,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_save_c_werror_flag=$ac_c_werror_flag
-@@ -3761,7 +3833,7 @@ else
+@@ -3761,7 +3944,7 @@ else
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
  $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
@@ -2088,7 +2229,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_cv_prog_cc_c89=no
-@@ -3907,6 +3979,7 @@ fi
+@@ -3907,6 +4090,7 @@ fi
  if test "x$enable_dependency_tracking" != xno; then
    am_depcomp="$ac_aux_dir/depcomp"
    AMDEPBACKSLASH='\'
@@ -2096,7 +2237,7 @@ Index: libffi/configure
  fi
   if test "x$enable_dependency_tracking" != xno; then
    AMDEP_TRUE=
-@@ -3922,7 +3995,7 @@ depcc="$CC"   am_compiler_list=
+@@ -3922,7 +4106,7 @@ depcc="$CC"   am_compiler_list=
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  $as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -2105,7 +2246,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -3931,6 +4004,7 @@ else
+@@ -3931,6 +4115,7 @@ else
    # instance it was reported that on HP-UX the gcc test will end up
    # making a dummy file named `D' -- because `-MD' means `put the output
    # in D'.
@@ -2113,7 +2254,7 @@ Index: libffi/configure
    mkdir conftest.dir
    # Copy depcomp to subdir because otherwise we won't find it if we're
    # using a relative directory.
-@@ -3990,7 +4064,7 @@ else
+@@ -3990,7 +4175,7 @@ else
        break
        fi
        ;;
@@ -2122,7 +2263,7 @@ Index: libffi/configure
        # 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.
-@@ -4045,6 +4119,8 @@ else
+@@ -4045,6 +4230,8 @@ else
  fi
  
  
@@ -2131,7 +2272,7 @@ Index: libffi/configure
  
  
  
-@@ -4060,7 +4136,7 @@ depcc="$CCAS"   am_compiler_list=
+@@ -4060,7 +4247,7 @@ depcc="$CCAS"   am_compiler_list=
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  $as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -2140,7 +2281,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -4069,6 +4145,7 @@ else
+@@ -4069,6 +4256,7 @@ else
    # instance it was reported that on HP-UX the gcc test will end up
    # making a dummy file named `D' -- because `-MD' means `put the output
    # in D'.
@@ -2148,7 +2289,7 @@ Index: libffi/configure
    mkdir conftest.dir
    # Copy depcomp to subdir because otherwise we won't find it if we're
    # using a relative directory.
-@@ -4126,7 +4203,7 @@ else
+@@ -4126,7 +4314,7 @@ else
        break
        fi
        ;;
@@ -2157,7 +2298,7 @@ Index: libffi/configure
        # 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.
-@@ -4190,7 +4267,7 @@ $as_echo_n "checking whether cc understa
+@@ -4190,7 +4378,7 @@ $as_echo_n "checking whether cc understa
  fi
  set dummy $CC; ac_cc=`$as_echo "$2" |
                      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
@@ -2166,7 +2307,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -4315,8 +4392,8 @@ esac
+@@ -4315,8 +4503,8 @@ esac
  
  
  
@@ -2177,7 +2318,7 @@ Index: libffi/configure
  
  
  
-@@ -4356,7 +4433,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -4356,7 +4544,7 @@ 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.
@@ -2186,7 +2327,7 @@ Index: libffi/configure
     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
-@@ -4403,7 +4480,7 @@ esac
+@@ -4403,7 +4591,7 @@ esac
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  $as_echo_n "checking for a sed that does not truncate output... " >&6; }
@@ -2195,7 +2336,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
              ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-@@ -4458,7 +4535,7 @@ esac
+@@ -4458,7 +4646,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_SED"; then
@@ -2204,7 +2345,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_SED=$SED
-@@ -4485,7 +4562,7 @@ Xsed="$SED -e 1s/^X//"
+@@ -4485,7 +4673,7 @@ Xsed="$SED -e 1s/^X//"
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
  $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
@@ -2213,7 +2354,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$GREP"; then
-@@ -4534,7 +4611,7 @@ esac
+@@ -4534,7 +4722,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_GREP"; then
@@ -2222,7 +2363,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_GREP=$GREP
-@@ -4548,7 +4625,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
+@@ -4548,7 +4736,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
  $as_echo_n "checking for egrep... " >&6; }
@@ -2231,7 +2372,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-@@ -4600,7 +4677,7 @@ esac
+@@ -4600,7 +4788,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_EGREP"; then
@@ -2240,7 +2381,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_EGREP=$EGREP
-@@ -4615,7 +4692,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
+@@ -4615,7 +4803,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
  $as_echo_n "checking for fgrep... " >&6; }
@@ -2249,7 +2390,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-@@ -4667,7 +4744,7 @@ esac
+@@ -4667,7 +4855,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_FGREP"; then
@@ -2258,7 +2399,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_FGREP=$FGREP
-@@ -4746,7 +4823,7 @@ else
+@@ -4746,7 +4934,7 @@ else
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
  $as_echo_n "checking for non-GNU ld... " >&6; }
  fi
@@ -2267,7 +2408,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$LD"; then
-@@ -4783,10 +4860,10 @@ else
+@@ -4783,10 +4971,10 @@ else
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  fi
@@ -2280,7 +2421,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    # I'd rather use --version here, but apparently some GNU lds only accept -v.
-@@ -4813,7 +4890,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+@@ -4813,7 +5001,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
  $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
@@ -2289,7 +2430,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$NM"; then
-@@ -4876,7 +4953,7 @@ else
+@@ -4876,7 +5064,7 @@ else
  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; }
@@ -2298,7 +2439,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$DUMPBIN"; then
-@@ -4920,7 +4997,7 @@ do
+@@ -4920,7 +5108,7 @@ do
  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; }
@@ -2307,7 +2448,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_DUMPBIN"; then
-@@ -4992,7 +5069,7 @@ test -z "$NM" && NM=nm
+@@ -4992,7 +5180,7 @@ test -z "$NM" && NM=nm
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
  $as_echo_n "checking the name lister ($NM) interface... " >&6; }
@@ -2316,7 +2457,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_nm_interface="BSD nm"
-@@ -5027,7 +5104,7 @@ fi
+@@ -5027,7 +5215,7 @@ fi
  # find the maximum length of command line arguments
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
  $as_echo_n "checking the maximum length of command line arguments... " >&6; }
@@ -2325,28 +2466,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
      i=0
-@@ -5090,6 +5167,11 @@ else
-     lt_cv_sys_max_cmd_len=196608
-     ;;
-+  os2*)
-+    # The test takes a long time on OS/2.
-+    lt_cv_sys_max_cmd_len=8192
-+    ;;
-+
-   osf*)
-     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-@@ -5129,7 +5211,7 @@ else
-       # 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` \
-+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-       do
-@@ -5172,8 +5254,8 @@ $as_echo_n "checking whether the shell u
+@@ -5172,8 +5360,8 @@ $as_echo_n "checking whether the shell u
  # Try some XSI features
  xsi_shell=no
  ( _lt_dummy="a/b/c"
@@ -2357,15 +2477,19 @@ Index: libffi/configure
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -5222,9 +5304,83 @@ esac
+@@ -5222,15 +5410,89 @@ esac
  
  
  
+-{ $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 test "${lt_cv_ld_reload_flag+set}" = set; then :
 +{ $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
+   $as_echo_n "(cached) " >&6
+ else
+-  lt_cv_ld_reload_flag='-r'
 +  case $host in
 +  *-*-mingw* )
 +    case $build in
@@ -2398,7 +2522,9 @@ Index: libffi/configure
 +    ;;
 +esac
 +
-+fi
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+-$as_echo "$lt_cv_ld_reload_flag" >&6; }
 +
 +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
@@ -2435,14 +2561,19 @@ Index: libffi/configure
 +
 +
 +
- { $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 test "${lt_cv_ld_reload_flag+set}" = set; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
++$as_echo_n "checking for $LD option to reload object files... " >&6; }
 +if ${lt_cv_ld_reload_flag+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   lt_cv_ld_reload_flag='-r'
-@@ -5238,6 +5394,11 @@ case $reload_flag in
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_ld_reload_flag='-r'
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
++$as_echo "$lt_cv_ld_reload_flag" >&6; }
+ reload_flag=$lt_cv_ld_reload_flag
+ case $reload_flag in
+ "" | " "*) ;;
+@@ -5238,6 +5500,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -2454,7 +2585,7 @@ Index: libffi/configure
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5260,7 +5421,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5260,7 +5527,7 @@ if test -n "$ac_tool_prefix"; then
  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; }
@@ -2463,7 +2594,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OBJDUMP"; then
-@@ -5300,7 +5461,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
+@@ -5300,7 +5567,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
  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; }
@@ -2472,7 +2603,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OBJDUMP"; then
-@@ -5359,7 +5520,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
+@@ -5359,7 +5626,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
  $as_echo_n "checking how to recognize dependent libraries... " >&6; }
@@ -2481,7 +2612,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_file_magic_cmd='$MAGIC_CMD'
-@@ -5406,7 +5567,8 @@ mingw* | pw32*)
+@@ -5406,7 +5673,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -2491,16 +2622,7 @@ Index: libffi/configure
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -5478,7 +5640,7 @@ irix5* | irix6* | nonstopux*)
-   lt_cv_deplibs_check_method=pass_all
-   ;;
--# This must be Linux ELF.
-+# This must be glibc/ELF.
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-@@ -5560,6 +5722,21 @@ esac
+@@ -5560,6 +5828,21 @@ esac
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
  $as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2522,7 +2644,7 @@ Index: libffi/configure
  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
-@@ -5575,16 +5752,26 @@ test -z "$deplibs_check_method" && depli
+@@ -5575,12 +5858,166 @@ test -z "$deplibs_check_method" && depli
  
  
  
@@ -2536,53 +2658,45 @@ Index: libffi/configure
 +
 +
 +
- 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
++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_AR+set}" = set; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
 +if ${ac_cv_prog_DLLTOOL+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
--  if test -n "$AR"; then
--  ac_cv_prog_AR="$AR" # Let the user override the test.
++  $as_echo_n "(cached) " >&6
++else
 +  if test -n "$DLLTOOL"; then
 +  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
- else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- for as_dir in $PATH
-@@ -5593,7 +5780,7 @@ do
-   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"
++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_DLLTOOL="${ac_tool_prefix}dlltool"
-     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
-@@ -5603,10 +5790,10 @@ IFS=$as_save_IFS
- fi
- fi
--AR=$ac_cv_prog_AR
--if test -n "$AR"; then
--  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
--$as_echo "$AR" >&6; }
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
 +DLLTOOL=$ac_cv_prog_DLLTOOL
 +if test -n "$DLLTOOL"; then
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
 +$as_echo "$DLLTOOL" >&6; }
- else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-@@ -5614,13 +5801,161 @@ fi
- fi
--if test -z "$ac_cv_prog_AR"; then
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
 +if test -z "$ac_cv_prog_DLLTOOL"; then
 +  ac_ct_DLLTOOL=$DLLTOOL
 +  # Extract the first word of "dlltool", so it can be a program name with args.
@@ -2686,49 +2800,37 @@ Index: libffi/configure
 +
 +
 +
-+if test -n "$ac_tool_prefix"; then
+ 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
 +  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; }
+ { $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_AR+set}" = set; then :
 +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
+   $as_echo_n "(cached) " >&6
+ else
+   if test -n "$AR"; then
+@@ -5593,7 +6030,7 @@ do
+   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"
 +    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+  done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+AR=$ac_cv_prog_AR
-+if test -n "$AR"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-+$as_echo "$AR" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -5613,14 +6050,18 @@ $as_echo "no" >&6; }
+ fi
 +    test -n "$AR" && break
 +  done
-+fi
+ fi
+-if test -z "$ac_cv_prog_AR"; then
 +if test -z "$AR"; then
    ac_ct_AR=$AR
 -  # Extract the first word of "ar", so it can be a program name with args.
@@ -2744,7 +2846,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_AR"; then
-@@ -5633,7 +5968,7 @@ do
+@@ -5633,7 +6074,7 @@ do
    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
@@ -2753,7 +2855,7 @@ Index: libffi/configure
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -5652,6 +5987,10 @@ else
+@@ -5652,6 +6093,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -2764,7 +2866,7 @@ Index: libffi/configure
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -5663,16 +6002,72 @@ ac_tool_warned=yes ;;
+@@ -5663,16 +6108,72 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -2841,7 +2943,7 @@ Index: libffi/configure
  
  
  
-@@ -5685,7 +6080,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5685,7 +6186,7 @@ if test -n "$ac_tool_prefix"; then
  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; }
@@ -2850,7 +2952,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$STRIP"; then
-@@ -5725,7 +6120,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -5725,7 +6226,7 @@ if test -z "$ac_cv_prog_STRIP"; then
  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; }
@@ -2859,7 +2961,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_STRIP"; then
-@@ -5784,7 +6179,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5784,7 +6285,7 @@ if test -n "$ac_tool_prefix"; then
  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; }
@@ -2868,7 +2970,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$RANLIB"; then
-@@ -5824,7 +6219,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
+@@ -5824,7 +6325,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
  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; }
@@ -2877,24 +2979,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_RANLIB"; then
-@@ -5886,13 +6281,13 @@ 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 -t \$tool_oldlib"
-     ;;
-   *)
--    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-     ;;
-   esac
--  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
- fi
- case $host_os in
-@@ -5953,7 +6348,7 @@ compiler=$CC
+@@ -5953,7 +6454,7 @@ compiler=$CC
  # Check for command to grab the raw symbol name followed by C symbol from nm.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
  $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
@@ -2903,7 +2988,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -6014,8 +6409,8 @@ esac
+@@ -6014,8 +6515,8 @@ esac
  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
@@ -2914,15 +2999,7 @@ Index: libffi/configure
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -6039,6 +6434,7 @@ for ac_symprfx in "" "_"; do
-     # which start with @ or ?.
-     lt_cv_sys_global_symbol_pipe="$AWK '"\
- "     {last_section=section; section=\$ 3};"\
-+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
- "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
- "     \$ 0!~/External *\|/{next};"\
- "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-@@ -6051,6 +6447,7 @@ for ac_symprfx in "" "_"; do
+@@ -6051,6 +6552,7 @@ for ac_symprfx in "" "_"; do
    else
      lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[    ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
    fi
@@ -2930,7 +3007,7 @@ Index: libffi/configure
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -6092,6 +6489,18 @@ _LT_EOF
+@@ -6092,6 +6594,18 @@ _LT_EOF
        if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
          cat <<_LT_EOF > conftest.$ac_ext
@@ -2949,7 +3026,7 @@ Index: libffi/configure
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -6103,7 +6512,7 @@ _LT_EOF
+@@ -6103,7 +6617,7 @@ _LT_EOF
          cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -2958,7 +3035,7 @@ Index: libffi/configure
    const char *name;
    void       *address;
  }
-@@ -6129,8 +6538,8 @@ static const void *lt_preloaded_setup()
+@@ -6129,8 +6643,8 @@ static const void *lt_preloaded_setup()
  _LT_EOF
          # Now try linking the two files.
          mv conftest.$ac_objext conftstm.$ac_objext
@@ -2969,7 +3046,7 @@ Index: libffi/configure
          LIBS="conftstm.$ac_objext"
          CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6140,8 +6549,8 @@ _LT_EOF
+@@ -6140,8 +6654,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
            pipe_works=yes
          fi
@@ -2980,7 +3057,7 @@ Index: libffi/configure
        else
          echo "cannot find nm_test_func in $nlist" >&5
        fi
-@@ -6178,6 +6587,17 @@ else
+@@ -6178,6 +6692,18 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -2995,10 +3072,11 @@ Index: libffi/configure
 +
 +
 +
++
  
  
  
-@@ -6200,6 +6620,43 @@ fi
+@@ -6199,6 +6725,42 @@ fi
  
  
  
@@ -3038,11 +3116,10 @@ Index: libffi/configure
 +
 +
 +
-+
  # Check whether --enable-libtool-lock was given.
  if test "${enable_libtool_lock+set}" = set; then :
-   enableval=$enable_libtool_lock;
-@@ -6282,14 +6739,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+@@ -6282,14 +6844,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
@@ -3058,7 +3135,7 @@ Index: libffi/configure
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
-@@ -6332,7 +6782,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+@@ -6332,7 +6887,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
    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; }
@@ -3067,133 +3144,132 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_ext=c
-@@ -6373,7 +6823,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
-     CFLAGS="$SAVE_CFLAGS"
-   fi
-   ;;
--sparc*-*solaris*)
-+*-*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
-@@ -6384,7 +6834,20 @@ sparc*-*solaris*)
-     case `/usr/bin/file conftest.o` in
-     *64-bit*)
-       case $lt_cv_prog_gnu_ld in
--      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-+      yes*)
-+        case $host in
-+        i?86-*-solaris*)
-+          LD="${LD-ld} -m elf_x86_64"
-+          ;;
-+        sparc*-*-solaris*)
-+          LD="${LD-ld} -m elf64_sparc"
-+          ;;
-+        esac
-+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-+          LD="${LD-ld}_sol2"
-+        fi
-+        ;;
-       *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-@@ -6400,6 +6863,123 @@ esac
+@@ -6400,19 +6955,16 @@ esac
  
  need_locks="$enable_libtool_lock"
  
+-
+-  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
 +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; }
+ { $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_DSYMUTIL+set}" = set; then :
 +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$DSYMUTIL"; then
+-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6421,7 +6973,7 @@ do
+   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_DSYMUTIL="${ac_tool_prefix}dsymutil"
 +    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
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -6431,10 +6983,10 @@ IFS=$as_save_IFS
+ fi
+ fi
+-DSYMUTIL=$ac_cv_prog_DSYMUTIL
+-if test -n "$DSYMUTIL"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+-$as_echo "$DSYMUTIL" >&6; }
 +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
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -6442,17 +6994,17 @@ fi
+ fi
+-if test -z "$ac_cv_prog_DSYMUTIL"; then
+-  ac_ct_DSYMUTIL=$DSYMUTIL
+-  # Extract the first word of "dsymutil", so it can be a program name with args.
+-set dummy dsymutil; ac_word=$2
 +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; }
+ { $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_DSYMUTIL+set}" = set; then :
 +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$ac_ct_DSYMUTIL"; then
+-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
 +  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
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6461,7 +7013,7 @@ do
+   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_DSYMUTIL="dsymutil"
 +    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
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -6471,17 +7023,17 @@ IFS=$as_save_IFS
+ fi
+ fi
+-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+-if test -n "$ac_ct_DSYMUTIL"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+-$as_echo "$ac_ct_DSYMUTIL" >&6; }
 +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
 +if test -n "$ac_ct_MANIFEST_TOOL"; then
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+-  if test "x$ac_ct_DSYMUTIL" = x; then
+-    DSYMUTIL=":"
 +  if test "x$ac_ct_MANIFEST_TOOL" = x; then
 +    MANIFEST_TOOL=":"
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
+   else
+     case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -6489,18 +7041,138 @@ yes:)
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+-    DSYMUTIL=$ac_ct_DSYMUTIL
 +    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+  fi
-+else
+   fi
+ else
+-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
 +  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-+fi
-+
+ 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 test "${ac_cv_prog_NMEDIT+set}" = set; then :
 +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; }
@@ -3219,37 +3295,111 @@ Index: libffi/configure
 +
 +
 +
-   case $host_os in
-     rhapsody* | darwin*)
-@@ -6408,7 +6988,7 @@ need_locks="$enable_libtool_lock"
- 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_DSYMUTIL+set}" = set; then :
++
++  case $host_os in
++    rhapsody* | darwin*)
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
 +if ${ac_cv_prog_DSYMUTIL+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if test -n "$DSYMUTIL"; then
-@@ -6448,7 +7028,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
- 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_DSYMUTIL+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$DSYMUTIL"; then
++  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++  ac_ct_DSYMUTIL=$DSYMUTIL
++  # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
 +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if test -n "$ac_ct_DSYMUTIL"; then
-@@ -6500,7 +7080,7 @@ fi
- 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 test "${ac_cv_prog_NMEDIT+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_DSYMUTIL"; then
++  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { 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_DSYMUTIL="dsymutil"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_DSYMUTIL" = x; then
++    DSYMUTIL=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    DSYMUTIL=$ac_ct_DSYMUTIL
++  fi
++else
++  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
 +if ${ac_cv_prog_NMEDIT+:} false; then :
    $as_echo_n "(cached) " >&6
  else
    if test -n "$NMEDIT"; then
-@@ -6540,7 +7120,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
+@@ -6540,7 +7212,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
  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; }
@@ -3258,7 +3408,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_NMEDIT"; then
-@@ -6592,7 +7172,7 @@ fi
+@@ -6592,7 +7264,7 @@ fi
  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; }
@@ -3267,7 +3417,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$LIPO"; then
-@@ -6632,7 +7212,7 @@ if test -z "$ac_cv_prog_LIPO"; then
+@@ -6632,7 +7304,7 @@ if test -z "$ac_cv_prog_LIPO"; then
  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; }
@@ -3276,7 +3426,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_LIPO"; then
-@@ -6684,7 +7264,7 @@ fi
+@@ -6684,7 +7356,7 @@ fi
  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; }
@@ -3285,7 +3435,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OTOOL"; then
-@@ -6724,7 +7304,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
+@@ -6724,7 +7396,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
  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; }
@@ -3294,7 +3444,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OTOOL"; then
-@@ -6776,7 +7356,7 @@ fi
+@@ -6776,7 +7448,7 @@ fi
  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; }
@@ -3303,7 +3453,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OTOOL64"; then
-@@ -6816,7 +7396,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
+@@ -6816,7 +7488,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
  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; }
@@ -3312,7 +3462,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OTOOL64"; then
-@@ -6891,7 +7471,7 @@ fi
+@@ -6891,7 +7563,7 @@ fi
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
  $as_echo_n "checking for -single_module linker flag... " >&6; }
@@ -3321,26 +3471,8 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_apple_cc_single_mod=no
-@@ -6907,7 +7487,13 @@ else
-       $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
-+      # If there is a non-empty error log, and "single_module"
-+      # appears in it, assume the flag caused a linker warning
-+        if test -s conftest.err && $GREP single_module conftest.err; then
-+        cat conftest.err >&5
-+      # Otherwise, if the output was created with a 0 exit code from
-+      # the compiler, it worked.
-+      elif test -f libconftest.dylib && test $_lt_result -eq 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-@@ -6918,9 +7504,10 @@ else
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+@@ -6920,7 +7592,7 @@ fi
  $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 test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
@@ -3348,11 +3480,8 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_ld_exported_symbols_list=no
-@@ -6950,9 +7537,10 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+@@ -6952,7 +7624,7 @@ fi
  $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 test "${lt_cv_ld_force_load+set}" = set; then :
@@ -3360,7 +3489,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_ld_force_load=no
-@@ -6963,13 +7551,17 @@ _LT_EOF
+@@ -6963,6 +7635,8 @@ _LT_EOF
        $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
@@ -3369,17 +3498,7 @@ Index: libffi/configure
        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
-+      if test -s conftest.err && $GREP force_load conftest.err; then
-+      cat conftest.err >&5
-+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
-       lt_cv_ld_force_load=yes
-       else
-       cat conftest.err >&5
-@@ -7027,7 +7619,7 @@ if test -n "$CPP" && test -d "$CPP"; the
+@@ -7027,7 +7701,7 @@ if test -n "$CPP" && test -d "$CPP"; the
    CPP=
  fi
  if test -z "$CPP"; then
@@ -3388,7 +3507,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
        # Double quotes because CPP needs to be expanded
-@@ -7057,7 +7649,7 @@ else
+@@ -7057,7 +7731,7 @@ else
    # Broken: fails on valid input.
  continue
  fi
@@ -3397,7 +3516,7 @@ Index: libffi/configure
  
    # OK, works on sane cases.  Now check whether nonexistent headers
    # can be detected and how.
-@@ -7073,11 +7665,11 @@ else
+@@ -7073,11 +7747,11 @@ else
  ac_preproc_ok=:
  break
  fi
@@ -3411,7 +3530,7 @@ Index: libffi/configure
  if $ac_preproc_ok; then :
    break
  fi
-@@ -7116,7 +7708,7 @@ else
+@@ -7116,7 +7790,7 @@ else
    # Broken: fails on valid input.
  continue
  fi
@@ -3420,7 +3539,7 @@ Index: libffi/configure
  
    # OK, works on sane cases.  Now check whether nonexistent headers
    # can be detected and how.
-@@ -7132,18 +7724,18 @@ else
+@@ -7132,18 +7806,18 @@ else
  ac_preproc_ok=:
  break
  fi
@@ -3443,7 +3562,7 @@ Index: libffi/configure
  fi
  
  ac_ext=c
-@@ -7155,7 +7747,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+@@ -7155,7 +7829,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
  $as_echo_n "checking for ANSI C header files... " >&6; }
@@ -3452,7 +3571,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -7272,8 +7864,7 @@ do :
+@@ -7272,8 +7946,7 @@ 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
  "
@@ -3462,7 +3581,7 @@ Index: libffi/configure
    cat >>confdefs.h <<_ACEOF
  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  _ACEOF
-@@ -7287,7 +7878,7 @@ for ac_header in dlfcn.h
+@@ -7287,7 +7960,7 @@ for ac_header in dlfcn.h
  do :
    ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
  "
@@ -3471,42 +3590,7 @@ Index: libffi/configure
    cat >>confdefs.h <<_ACEOF
  #define HAVE_DLFCN_H 1
  _ACEOF
-@@ -7375,7 +7966,22 @@ fi
- # Check whether --with-pic was given.
- if test "${with_pic+set}" = set; then :
--  withval=$with_pic; pic_mode="$withval"
-+  withval=$with_pic; lt_p=${PACKAGE-default}
-+    case $withval in
-+    yes|no) pic_mode=$withval ;;
-+    *)
-+      pic_mode=default
-+      # Look at the argument we got.  We use all the common list separators.
-+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-+      for lt_pkg in $withval; do
-+      IFS="$lt_save_ifs"
-+      if test "X$lt_pkg" = "X$lt_p"; then
-+        pic_mode=yes
-+      fi
-+      done
-+      IFS="$lt_save_ifs"
-+      ;;
-+    esac
- else
-   pic_mode=default
- fi
-@@ -7453,6 +8059,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo
-+
-+
-+
-+
- test -z "$LN_S" && LN_S="ln -s"
-@@ -7474,7 +8084,7 @@ fi
+@@ -7474,7 +8147,7 @@ fi
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
  $as_echo_n "checking for objdir... " >&6; }
@@ -3515,7 +3599,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    rm -f .libs 2>/dev/null
-@@ -7552,7 +8162,7 @@ file_magic*)
+@@ -7552,7 +8225,7 @@ 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; }
@@ -3524,7 +3608,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    case $MAGIC_CMD in
-@@ -7618,7 +8228,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
+@@ -7618,7 +8291,7 @@ 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; }
@@ -3533,18 +3617,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    case $MAGIC_CMD in
-@@ -7742,10 +8352,6 @@ _lt_linker_boilerplate=`cat conftest.err
- $RM -r conftest*
--## CAVEAT EMPTOR:
--## There is no encapsulation within the following macros, do not change
--## the running order or otherwise move them around unless you know exactly
--## what you are doing...
- if test -n "$compiler"; then
- lt_prog_compiler_no_builtin_flag=
-@@ -7760,7 +8366,7 @@ if test "$GCC" = yes; then
+@@ -7760,7 +8433,7 @@ if test "$GCC" = yes; then
  
    { $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; }
@@ -3553,7 +3626,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_rtti_exceptions=no
-@@ -7813,8 +8419,6 @@ fi
+@@ -7813,8 +8486,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -3562,7 +3635,7 @@ Index: libffi/configure
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -7827,7 +8431,6 @@ $as_echo_n "checking for $compiler optio
+@@ -7827,7 +8498,6 @@ $as_echo_n "checking for $compiler optio
        # AIX 5 now supports IA64 processor
        lt_prog_compiler_static='-Bstatic'
        fi
@@ -3570,18 +3643,7 @@ Index: libffi/configure
        ;;
  
      amigaos*)
-@@ -7915,7 +8518,9 @@ $as_echo_n "checking for $compiler optio
-     case $cc_basename in
-     nvcc*) # Cuda Compiler Driver 2.2
-       lt_prog_compiler_wl='-Xlinker '
--      lt_prog_compiler_pic='-Xcompiler -fPIC'
-+      if test -n "$lt_prog_compiler_pic"; then
-+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-+      fi
-       ;;
-     esac
-   else
-@@ -7980,6 +8585,12 @@ $as_echo_n "checking for $compiler optio
+@@ -7980,6 +8650,12 @@ $as_echo_n "checking for $compiler optio
        lt_prog_compiler_pic='--shared'
        lt_prog_compiler_static='--static'
        ;;
@@ -3594,42 +3656,7 @@ Index: libffi/configure
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
-@@ -8000,18 +8611,33 @@ $as_echo_n "checking for $compiler optio
-       ;;
-       *)
-       case `$CC -V 2>&1 | sed 5q` in
--      *Sun\ F* | *Sun*Fortran*)
-+      *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-+      *Sun\ F* | *Sun*Fortran*)
-+        lt_prog_compiler_pic='-KPIC'
-+        lt_prog_compiler_static='-Bstatic'
-+        lt_prog_compiler_wl='-Qoption ld '
-+        ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-+        *Intel*\ [CF]*Compiler*)
-+        lt_prog_compiler_wl='-Wl,'
-+        lt_prog_compiler_pic='-fPIC'
-+        lt_prog_compiler_static='-static'
-+        ;;
-+      *Portland\ Group*)
-+        lt_prog_compiler_wl='-Wl,'
-+        lt_prog_compiler_pic='-fpic'
-+        lt_prog_compiler_static='-Bstatic'
-+        ;;
-       esac
-       ;;
-       esac
-@@ -8042,7 +8668,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8042,7 +8718,7 @@ $as_echo_n "checking for $compiler optio
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-Bstatic'
        case $cc_basename in
@@ -3638,7 +3665,7 @@ Index: libffi/configure
        lt_prog_compiler_wl='-Qoption ld ';;
        *)
        lt_prog_compiler_wl='-Wl,';;
-@@ -8099,13 +8725,17 @@ case $host_os in
+@@ -8099,13 +8775,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -3662,7 +3689,7 @@ Index: libffi/configure
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -8113,7 +8743,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
+@@ -8113,7 +8793,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
  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; }
@@ -3671,7 +3698,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_pic_works=no
-@@ -8166,13 +8796,18 @@ fi
+@@ -8166,13 +8846,18 @@ fi
  
  
  
@@ -3691,7 +3718,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_static_works=no
-@@ -8215,7 +8850,7 @@ fi
+@@ -8215,7 +8900,7 @@ fi
  
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3700,7 +3727,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_c_o=no
-@@ -8270,7 +8905,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
+@@ -8270,7 +8955,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
  
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3709,15 +3736,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_c_o=no
-@@ -8364,7 +8999,6 @@ $as_echo_n "checking whether the $compil
-   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
-@@ -8516,7 +9150,8 @@ _LT_EOF
+@@ -8516,7 +9201,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -3727,7 +3746,7 @@ Index: libffi/configure
  
        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'
-@@ -8564,7 +9199,7 @@ _LT_EOF
+@@ -8564,7 +9250,7 @@ _LT_EOF
        if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
         && test "$tmp_diet" = no
        then
@@ -3736,14 +3755,11 @@ Index: libffi/configure
        tmp_sharedflag='-shared'
        case $cc_basename,$host_cpu in
          pgcc*)                                # Portland Group C compiler
-@@ -8613,14 +9248,13 @@ _LT_EOF
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+@@ -8615,12 +9301,12 @@ _LT_EOF
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
--        hardcode_libdir_flag_spec=
--        hardcode_libdir_flag_spec_ld='-rpath $libdir'
+         hardcode_libdir_flag_spec=
+         hardcode_libdir_flag_spec_ld='-rpath $libdir'
 -        archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-+        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$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~
@@ -3754,7 +3770,7 @@ Index: libffi/configure
          fi
          ;;
        esac
-@@ -8634,8 +9268,8 @@ _LT_EOF
+@@ -8634,8 +9320,8 @@ _LT_EOF
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
        else
@@ -3765,7 +3781,7 @@ Index: libffi/configure
        fi
        ;;
  
-@@ -8653,8 +9287,8 @@ _LT_EOF
+@@ -8653,8 +9339,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3776,7 +3792,7 @@ Index: libffi/configure
        else
        ld_shlibs=no
        fi
-@@ -8700,8 +9334,8 @@ _LT_EOF
+@@ -8700,8 +9386,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3787,7 +3803,7 @@ Index: libffi/configure
        else
        ld_shlibs=no
        fi
-@@ -8831,7 +9465,13 @@ _LT_EOF
+@@ -8831,7 +9517,13 @@ _LT_EOF
        allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -3802,7 +3818,7 @@ Index: libffi/configure
  /* end confdefs.h.  */
  
  int
-@@ -8844,22 +9484,29 @@ main ()
+@@ -8844,22 +9536,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -3845,7 +3861,7 @@ Index: libffi/configure
  
          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"
-@@ -8871,7 +9518,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8871,7 +9570,13 @@ if test -z "$aix_libpath"; then aix_libp
        else
         # Determine the default libpath from the value encoded in an
         # empty executable.
@@ -3860,7 +3876,7 @@ Index: libffi/configure
  /* end confdefs.h.  */
  
  int
-@@ -8884,22 +9537,29 @@ main ()
+@@ -8884,22 +9589,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -3903,7 +3919,7 @@ Index: libffi/configure
  
         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
          # Warning - without using the other run time loading flags,
-@@ -8944,20 +9604,64 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8944,20 +9656,63 @@ if test -z "$aix_libpath"; then aix_libp
        # Microsoft Visual C++.
        # hardcode_libdir_flag_spec is actually meaningless, as there is
        # no search path for DLLs.
@@ -3944,7 +3960,6 @@ Index: libffi/configure
 +      # The linker will not automatically build a static lib if we build a DLL.
 +      # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
 +      enable_shared_with_static_runtimes=yes
-+      exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
 +      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 +      # Don't use ranlib
 +      old_postinstall_cmds='chmod 644 $oldlib'
@@ -3982,15 +3997,27 @@ Index: libffi/configure
        ;;
  
      darwin* | rhapsody*)
-@@ -8969,6 +9673,7 @@ if test -z "$aix_libpath"; then aix_libp
-   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\"`'
+@@ -8997,6 +9752,10 @@ if test -z "$aix_libpath"; then aix_libp
+       hardcode_shlibpath_var=no
+       ;;
++    freebsd1*)
++      ld_shlibs=no
++      ;;
 +
-   else
-     whole_archive_flag_spec=''
-   fi
-@@ -9018,7 +9723,7 @@ if test -z "$aix_libpath"; then aix_libp
+     # 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
+@@ -9009,7 +9768,7 @@ if test -z "$aix_libpath"; then aix_libp
+       ;;
+     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+-    freebsd2.*)
++    freebsd2*)
+       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+       hardcode_direct=yes
+       hardcode_minus_L=yes
+@@ -9018,7 +9777,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
      freebsd* | dragonfly*)
@@ -3999,7 +4026,7 @@ Index: libffi/configure
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9026,7 +9731,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9026,7 +9785,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -4008,7 +4035,7 @@ Index: libffi/configure
        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
-@@ -9042,13 +9747,12 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9042,7 +9801,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -4017,13 +4044,7 @@ Index: libffi/configure
        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
-@@ -9066,10 +9770,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9066,10 +9825,10 @@ if test -z "$aix_libpath"; then aix_libp
          archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
@@ -4036,7 +4057,7 @@ Index: libffi/configure
          ;;
        esac
        else
-@@ -9086,7 +9790,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9086,7 +9845,7 @@ if test -z "$aix_libpath"; then aix_libp
          # (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; }
@@ -4045,7 +4066,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler__b=no
-@@ -9148,23 +9852,36 @@ fi
+@@ -9148,23 +9907,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -4090,7 +4111,7 @@ Index: libffi/configure
        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'
-@@ -9249,7 +9966,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9249,7 +10021,7 @@ rm -f core conftest.err conftest.$ac_obj
      osf4* | osf5*)    # as osf3* with the addition of -msym flag
        if test "$GCC" = yes; then
        allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -4099,7 +4120,7 @@ Index: libffi/configure
        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
        allow_undefined_flag=' -expect_unresolved \*'
-@@ -9268,9 +9985,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9268,9 +10040,9 @@ rm -f core conftest.err conftest.$ac_obj
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
        wlarc='${wl}'
@@ -4111,7 +4132,7 @@ Index: libffi/configure
        else
        case `$CC -V 2>&1` in
        *"Compilers 5.0"*)
-@@ -9458,7 +10175,7 @@ x|xyes)
+@@ -9458,7 +10230,7 @@ x|xyes)
        # 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; }
@@ -4120,46 +4141,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    $RM conftest*
-@@ -9659,11 +10376,6 @@ esac
--
--
--
--
--
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
- $as_echo_n "checking dynamic linker characteristics... " >&6; }
-@@ -9753,7 +10465,7 @@ need_version=unknown
- case $host_os in
- aix3*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-   shlibpath_var=LIBPATH
-@@ -9762,7 +10474,7 @@ aix3*)
-   ;;
- aix[4-9]*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   hardcode_into_libs=yes
-@@ -9827,7 +10539,7 @@ beos*)
-   ;;
- bsdi[45]*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-   soname_spec='${libname}${release}${shared_ext}$major'
-@@ -9846,8 +10558,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9846,8 +10618,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -4171,7 +4153,7 @@ Index: libffi/configure
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -9880,13 +10593,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9880,13 +10653,71 @@ cygwin* | mingw* | pw32* | cegcc*)
        library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
        ;;
      esac
@@ -4244,37 +4226,36 @@ Index: libffi/configure
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -9907,7 +10678,7 @@ darwin* | rhapsody*)
-   ;;
- dgux*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-@@ -9960,17 +10731,18 @@ freebsd* | dragonfly*)
-   ;;
- gnu*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-   soname_spec='${libname}${release}${shared_ext}$major'
+@@ -9915,6 +10746,10 @@ dgux*)
    shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-   hardcode_into_libs=yes
    ;;
  
- haiku*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   dynamic_linker="$host_os runtime_loader"
-@@ -9978,7 +10750,7 @@ haiku*)
++freebsd1*)
++  dynamic_linker=no
++  ;;
++
+ freebsd* | dragonfly*)
+   # DragonFly does not have aout.  When/if they implement a new
+   # versioning mechanism, adjust this.
+@@ -9922,7 +10757,7 @@ freebsd* | dragonfly*)
+     objformat=`/usr/bin/objformat`
+   else
+     case $host_os in
+-    freebsd[23].*) objformat=aout ;;
++    freebsd[123]*) objformat=aout ;;
+     *) objformat=elf ;;
+     esac
+   fi
+@@ -9940,7 +10775,7 @@ freebsd* | dragonfly*)
+   esac
+   shlibpath_var=LD_LIBRARY_PATH
+   case $host_os in
+-  freebsd2.*)
++  freebsd2*)
+     shlibpath_overrides_runpath=yes
+     ;;
+   freebsd3.[01]* | freebsdelf3.[01]*)
+@@ -9978,7 +10813,7 @@ haiku*)
    soname_spec='${libname}${release}${shared_ext}$major'
    shlibpath_var=LIBRARY_PATH
    shlibpath_overrides_runpath=yes
@@ -4283,37 +4264,7 @@ Index: libffi/configure
    hardcode_into_libs=yes
    ;;
  
-@@ -10031,7 +10803,7 @@ hpux9* | hpux10* | hpux11*)
-   ;;
- interix[3-9]*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-@@ -10047,7 +10819,7 @@ irix5* | irix6* | nonstopux*)
-     nonstopux*) version_type=nonstopux ;;
-     *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
--              version_type=linux
-+              version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-@@ -10084,9 +10856,9 @@ linux*oldld* | linux*aout* | linux*coff*
-   dynamic_linker=no
-   ;;
--# This must be Linux ELF.
-+# This must be glibc/ELF.
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-@@ -10096,7 +10868,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+@@ -10096,7 +10931,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
    shlibpath_overrides_runpath=no
  
    # Some binutils ld are patched to set DT_RUNPATH
@@ -4322,77 +4273,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_shlibpath_overrides_runpath=no
-@@ -10134,10 +10906,14 @@ fi
-   # before this can be enabled.
-   hardcode_into_libs=yes
-+  # Add ABI-specific directories to the system library path.
-+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-+
-   # Append ld.so.conf contents to the search path
-   if test -f /etc/ld.so.conf; then
-     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[     ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
--    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-+    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
-@@ -10168,7 +10944,7 @@ netbsd*)
-   ;;
- newsos6)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-   shlibpath_var=LD_LIBRARY_PATH
-   shlibpath_overrides_runpath=yes
-@@ -10237,7 +11013,7 @@ rdos*)
-   ;;
- solaris*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-@@ -10262,7 +11038,7 @@ sunos4*)
-   ;;
- sysv4 | sysv4.3*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-   soname_spec='${libname}${release}${shared_ext}$major'
-   shlibpath_var=LD_LIBRARY_PATH
-@@ -10286,7 +11062,7 @@ sysv4 | sysv4.3*)
- sysv4*MP*)
-   if test -d /usr/nec ;then
--    version_type=linux
-+    version_type=linux # correct to gnu/linux during the next big refactor
-     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-     soname_spec='$libname${shared_ext}.$major'
-     shlibpath_var=LD_LIBRARY_PATH
-@@ -10317,7 +11093,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware*
- tpf*)
-   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   need_lib_prefix=no
-   need_version=no
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-@@ -10327,7 +11103,7 @@ tpf*)
-   ;;
- uts4*)
--  version_type=linux
-+  version_type=linux # correct to gnu/linux during the next big refactor
-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-   soname_spec='${libname}${release}${shared_ext}$major'
-   shlibpath_var=LD_LIBRARY_PATH
-@@ -10516,7 +11292,7 @@ else
+@@ -10516,7 +11351,7 @@ else
    # 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; }
@@ -4401,7 +4282,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10550,7 +11326,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10550,7 +11385,7 @@ 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; }
@@ -4410,7 +4291,7 @@ Index: libffi/configure
    lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
  else
  
-@@ -10564,12 +11340,12 @@ fi
+@@ -10564,12 +11399,12 @@ fi
  
    *)
      ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
@@ -4425,7 +4306,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10603,16 +11379,16 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10603,16 +11438,16 @@ 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; }
@@ -4445,7 +4326,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10646,12 +11422,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10646,12 +11481,12 @@ 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; }
@@ -4460,7 +4341,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10685,12 +11461,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10685,12 +11520,12 @@ 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; }
@@ -4475,7 +4356,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10724,7 +11500,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10724,7 +11559,7 @@ 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; }
@@ -4484,7 +4365,7 @@ Index: libffi/configure
    lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
  fi
  
-@@ -10765,7 +11541,7 @@ fi
+@@ -10765,7 +11600,7 @@ fi
  
      { $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; }
@@ -4493,7 +4374,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
          if test "$cross_compiling" = yes; then :
-@@ -10774,7 +11550,7 @@ else
+@@ -10774,7 +11609,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -4502,7 +4383,7 @@ Index: libffi/configure
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -10818,10 +11594,10 @@ else
+@@ -10818,10 +11653,10 @@ else
  /* 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))
@@ -4515,7 +4396,7 @@ Index: libffi/configure
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10871,7 +11647,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
+@@ -10871,7 +11706,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
        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; }
@@ -4524,7 +4405,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
          if test "$cross_compiling" = yes; then :
-@@ -10880,7 +11656,7 @@ else
+@@ -10880,7 +11715,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -4533,7 +4414,7 @@ Index: libffi/configure
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -10924,10 +11700,10 @@ else
+@@ -10924,10 +11759,10 @@ else
  /* 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))
@@ -4546,22362 +4427,15607 @@ Index: libffi/configure
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11109,6 +11885,8 @@ CC="$lt_save_CC"
+@@ -11095,28 +11930,1032 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
+ 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"
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++CC="$lt_save_CC"
 +
 +
-         ac_config_commands="$ac_config_commands libtool"
-@@ -11119,6 +11897,13 @@ CC="$lt_save_CC"
-+AX_CC_MAXOPT
-+AX_CFLAGS_WARN_ALL
-+if test "x$GCC" = "xyes"; then
-+  CFLAGS="$CFLAGS -fexceptions"
-+fi
 +
 +
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
- $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-     # Check whether --enable-maintainer-mode was given.
-@@ -11145,7 +11930,7 @@ fi
- for ac_header in sys/mman.h
- do :
-   ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
--if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
-+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_SYS_MMAN_H 1
- _ACEOF
-@@ -11157,7 +11942,7 @@ done
- for ac_func in mmap
- do :
-   ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
--if test "x$ac_cv_func_mmap" = x""yes; then :
-+if test "x$ac_cv_func_mmap" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_MMAP 1
- _ACEOF
-@@ -11167,7 +11952,7 @@ done
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
--if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
-+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-   libffi_header_sys_mman_h=yes
- else
-   libffi_header_sys_mman_h=no
-@@ -11175,7 +11960,7 @@ fi
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
--if test "x$ac_cv_func_mmap" = x""yes; then :
-+if test "x$ac_cv_func_mmap" = xyes; then :
-   libffi_func_mmap=yes
- else
-   libffi_func_mmap=no
-@@ -11189,7 +11974,7 @@ if test "$libffi_header_sys_mman_h" != y
- else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
- $as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
--if test "${ac_cv_func_mmap_file+set}" = set; then :
-+if ${ac_cv_func_mmap_file+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if
-@@ -11208,7 +11993,7 @@ fi
- $as_echo "$ac_cv_func_mmap_file" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
- $as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
--if test "${ac_cv_func_mmap_dev_zero+set}" = set; then :
-+if ${ac_cv_func_mmap_dev_zero+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if it has mmap() but /dev/zero
-@@ -11234,7 +12019,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
-    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
- $as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
--if test "${ac_cv_decl_map_anon+set}" = set; then :
-+if ${ac_cv_decl_map_anon+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11270,7 +12055,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
- $as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
--if test "${ac_cv_func_mmap_anon+set}" = set; then :
-+if ${ac_cv_func_mmap_anon+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if it has mmap() and MAP_ANON or
-@@ -11330,6 +12115,10 @@ case "$host" in
-   amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-+      ;;
 +
-+  amd64-*-freebsd*)
-+      TARGET=X86_64; TARGETDIR=x86
-       ;;
-   avr32*-*-*)
-@@ -11344,7 +12133,7 @@ case "$host" in
-       TARGET=FRV; TARGETDIR=frv
-       ;;
--  hppa*-*-linux* | parisc*-*-linux*)
-+  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-   hppa*64-*-hpux*)
-@@ -11357,7 +12146,7 @@ case "$host" in
-   i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
--  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-+  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-@@ -11394,28 +12183,35 @@ case "$host" in
-   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
--  mips*-*-linux*)
-+  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-+  moxie-*-*)
-+        TARGET=MOXIE; TARGETDIR=moxie
-+      ;;
 +
-   powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-+  powerpc-*-amigaos*)
-+      TARGET=POWERPC; TARGETDIR=powerpc
-+      ;;
-   powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
--  powerpc-*-darwin*)
-+  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-   powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
--  powerpc-*-freebsd*)
-+  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-- powerpc64-*-freebsd*)
-+  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-   powerpc*-*-rtems*)
-@@ -11463,7 +12259,7 @@ esac
- if test $TARGETDIR = unknown; then
--  as_fn_error "\"libffi has not been ported to $host.\"" "$LINENO" 5
-+  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
- fi
-  if test x$TARGET = xMIPS; then
-@@ -11554,6 +12350,14 @@ else
-   M68K_FALSE=
- fi
-+ if test x$TARGET = xMOXIE; then
-+  MOXIE_TRUE=
-+  MOXIE_FALSE='#'
-+else
-+  MOXIE_TRUE='#'
-+  MOXIE_FALSE=
-+fi
 +
-  if test x$TARGET = xPOWERPC; then
-   POWERPC_TRUE=
-   POWERPC_FALSE='#'
-@@ -11677,7 +12481,7 @@ fi
- { $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 test "${ac_cv_header_stdc+set}" = set; then :
-+if ${ac_cv_header_stdc+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11790,7 +12594,7 @@ fi
- for ac_func in memcpy
- do :
-   ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
--if test "x$ac_cv_func_memcpy" = x""yes; then :
-+if test "x$ac_cv_func_memcpy" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_MEMCPY 1
- _ACEOF
-@@ -11798,11 +12602,22 @@ _ACEOF
- fi
- done
-+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-+if test "x$ac_cv_type_size_t" = xyes; then :
 +
-+else
 +
-+cat >>confdefs.h <<_ACEOF
-+#define size_t unsigned int
-+_ACEOF
 +
-+fi
 +
- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
- # for constant arguments.  Useless!
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
- $as_echo_n "checking for working alloca.h... " >&6; }
--if test "${ac_cv_working_alloca_h+set}" = set; then :
-+if ${ac_cv_working_alloca_h+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11835,7 +12650,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
- $as_echo_n "checking for alloca... " >&6; }
--if test "${ac_cv_func_alloca_works+set}" = set; then :
-+if ${ac_cv_func_alloca_works+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11854,7 +12669,7 @@ else
-  #pragma alloca
- #   else
- #    ifndef alloca /* predefined by HP cc +Olibcalls */
--char *alloca ();
-+void *alloca (size_t);
- #    endif
- #   endif
- #  endif
-@@ -11898,7 +12713,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
- $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
--if test "${ac_cv_os_cray+set}" = set; then :
-+if ${ac_cv_os_cray+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11925,8 +12740,7 @@ if test $ac_cv_os_cray = yes; then
-   for ac_func in _getb67 GETB67 getb67; do
-     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
--eval as_val=\$$as_ac_var
--   if test "x$as_val" = x""yes; then :
-+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
- #define CRAY_STACKSEG_END $ac_func
-@@ -11940,7 +12754,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
- $as_echo_n "checking stack direction for C alloca... " >&6; }
--if test "${ac_cv_c_stack_direction+set}" = set; then :
-+if ${ac_cv_c_stack_direction+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if test "$cross_compiling" = yes; then :
-@@ -11995,7 +12809,7 @@ fi
- # This bug is HP SR number 8606223364.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
- $as_echo_n "checking size of double... " >&6; }
--if test "${ac_cv_sizeof_double+set}" = set; then :
-+if ${ac_cv_sizeof_double+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-@@ -12004,9 +12818,8 @@ else
-   if test "$ac_cv_type_double" = yes; then
-      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--{ as_fn_set_status 77
--as_fn_error "cannot compute sizeof (double)
--See \`config.log' for more details." "$LINENO" 5; }; }
-+as_fn_error 77 "cannot compute sizeof (double)
-+See \`config.log' for more details" "$LINENO" 5; }
-    else
-      ac_cv_sizeof_double=0
-    fi
-@@ -12029,7 +12842,7 @@ _ACEOF
- # This bug is HP SR number 8606223364.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
- $as_echo_n "checking size of long double... " >&6; }
--if test "${ac_cv_sizeof_long_double+set}" = set; then :
-+if ${ac_cv_sizeof_long_double+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-@@ -12038,9 +12851,8 @@ else
-   if test "$ac_cv_type_long_double" = yes; then
-      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--{ as_fn_set_status 77
--as_fn_error "cannot compute sizeof (long double)
--See \`config.log' for more details." "$LINENO" 5; }; }
-+as_fn_error 77 "cannot compute sizeof (long double)
-+See \`config.log' for more details" "$LINENO" 5; }
-    else
-      ac_cv_sizeof_long_double=0
-    fi
-@@ -12074,7 +12886,7 @@ fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
- $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
--if test "${ac_cv_c_bigendian+set}" = set; then :
-+if ${ac_cv_c_bigendian+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   ac_cv_c_bigendian=unknown
-@@ -12292,50 +13104,17 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
-      ;; #(
-    *)
--     as_fn_error "unknown endianness
-+     as_fn_error $? "unknown endianness
-  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
-  esac
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
--$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
--if test "${gcc_cv_as_cfi_pseudo_op+set}" = set; then :
--  $as_echo_n "(cached) " >&6
--else
--
--    gcc_cv_as_cfi_pseudo_op=unknown
--    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h.  */
--asm (".cfi_startproc\n\t.cfi_endproc");
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--if ac_fn_c_try_compile "$LINENO"; then :
--  gcc_cv_as_cfi_pseudo_op=yes
--else
--  gcc_cv_as_cfi_pseudo_op=no
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
--$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
-- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
--
--$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
--
-- fi
--
-+GCC_AS_CFI_PSEUDO_OP
- if test x$TARGET = xSPARC; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
- $as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
--if test "${libffi_cv_as_sparc_ua_pcrel+set}" = set; then :
-+if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12374,7 +13153,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
- $as_echo_n "checking assembler .register pseudo-op support... " >&6; }
--if test "${libffi_cv_as_register_pseudo_op+set}" = set; then :
-+if ${libffi_cv_as_register_pseudo_op+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12411,7 +13190,7 @@ fi
- if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
- $as_echo_n "checking assembler supports pc related relocs... " >&6; }
--if test "${libffi_cv_as_x86_pcrel+set}" = set; then :
-+if ${libffi_cv_as_x86_pcrel+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12432,7 +13211,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
- $as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
--if test "${libffi_cv_as_ascii_pseudo_op+set}" = set; then :
-+if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12467,7 +13246,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
- $as_echo_n "checking assembler .string pseudo-op support... " >&6; }
--if test "${libffi_cv_as_string_pseudo_op+set}" = set; then :
-+if ${libffi_cv_as_string_pseudo_op+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12501,18 +13280,90 @@ $as_echo "#define HAVE_AS_STRING_PSEUDO_
-     fi
- fi
-+if test x$TARGET = xX86_WIN64; then
-+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-+$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-+if ${lt_cv_sys_symbol_underscore+:} false; then :
++
++
++        ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
++$as_echo_n "checking for C compiler vendor... " >&6; }
++if ${ax_cv_c_compiler_vendor+:} false; then :
 +  $as_echo_n "(cached) " >&6
 +else
-+  lt_cv_sys_symbol_underscore=no
-+  cat > conftest.$ac_ext <<_LT_EOF
-+void nm_test_func(){}
-+int main(){nm_test_func;return 0;}
-+_LT_EOF
-+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-+  (eval $ac_compile) 2>&5
-+  ac_status=$?
-+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+  test $ac_status = 0; }; then
-+    # Now try to grab the symbols.
-+    ac_nlist=conftest.nm
-+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-+  ac_status=$?
-+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+  test $ac_status = 0; } && test -s "$ac_nlist"; then
-+      # See whether the symbols have a leading underscore.
-+      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-+        lt_cv_sys_symbol_underscore=yes
-+      else
-+        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-+        :
-+        else
-+        echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-+        fi
-+      fi
-+    else
-+      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-+    fi
-+  else
-+    echo "configure: failed program was:" >&5
-+    cat conftest.c >&5
-+  fi
-+  rm -rf conftest*
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-+$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-+  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++  # note: don't check for gcc first since some other compilers define __GNUC__
++  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
++           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
++           pathscale: __PATHCC__,__PATHSCALE__
++           clang:     __clang__
++           gnu:       __GNUC__
++           sun:       __SUNPRO_C,__SUNPRO_CC
++           hp:        __HP_cc,__HP_aCC
++           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++           borland:   __BORLANDC__,__TURBOC__
++           comeau:    __COMO__
++           cray:      _CRAYC
++           kai:       __KCC
++           lcc:       __LCC__
++           sgi:       __sgi,sgi
++           microsoft: _MSC_VER
++           metrowerks: __MWERKS__
++           watcom:    __WATCOMC__
++           portland:  __PGI
++           unknown:   UNKNOWN"
++  for ventest in $vendors; do
++    case $ventest in
++      *:) vendor=$ventest; continue ;;
++      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++    esac
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
 +
++int
++main ()
++{
 +
-+    if test "x$sys_symbol_underscore" = xyes; then
++      #if !($vencpp)
++        thisisanerror;
++      #endif
 +
-+$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
 +
-+    fi
 +fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
++$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 +
 +
-+FFI_EXEC_TRAMPOLINE_TABLE=0
- case "$target" in
--     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-+     *arm*-apple-darwin*)
-+       FFI_EXEC_TRAMPOLINE_TABLE=1
 +
-+$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
 +
-+     ;;
-+     *-apple-darwin1[10]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
- $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-      ;;
- esac
-+ if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
-+  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
-+  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
++
++
++# Check whether --enable-portable-binary was given.
++if test "${enable_portable_binary+set}" = set; then :
++  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 +else
-+  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
-+  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
++  acx_maxopt_portable=no
 +fi
 +
 +
- if test x$TARGET = xX86_64; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
- $as_echo_n "checking assembler supports unwind section type... " >&6; }
--if test "${libffi_cv_as_x86_64_unwind_section_type+set}" = set; then :
-+if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-@@ -12532,67 +13383,69 @@ $as_echo "#define HAVE_AS_X86_64_UNWIND_
-     fi
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-+if test "x$GCC" = "xyes"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
- $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
--if test "${libffi_cv_ro_eh_frame+set}" = set; then :
-+if ${libffi_cv_ro_eh_frame+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
--      libffi_cv_ro_eh_frame=no
--      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
--      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
--          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
--              libffi_cv_ro_eh_frame=yes
--          elif grep '.section.*eh_frame.*#alloc' conftest.c \
--               | grep -v '#write' > /dev/null; then
--              libffi_cv_ro_eh_frame=yes
--          fi
--      fi
--      rm -f conftest.*
-+      libffi_cv_ro_eh_frame=no
-+      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-+      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-+          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-+              libffi_cv_ro_eh_frame=yes
-+          elif grep '.section.*eh_frame.*#alloc' conftest.c \
-+               | grep -v '#write' > /dev/null; then
-+              libffi_cv_ro_eh_frame=yes
-+          fi
-+      fi
-+      rm -f conftest.*
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
- $as_echo "$libffi_cv_ro_eh_frame" >&6; }
--if test "x$libffi_cv_ro_eh_frame" = xyes; then
-+  if test "x$libffi_cv_ro_eh_frame" = xyes; then
- $as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
- $as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
--else
-+  else
- $as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
--fi
-+  fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
- $as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
--if test "${libffi_cv_hidden_visibility_attribute+set}" = set; then :
-+if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
--      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
--      libffi_cv_hidden_visibility_attribute=no
--      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-+      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-+      libffi_cv_hidden_visibility_attribute=no
-+      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }; then
--          if grep '\.hidden.*foo' conftest.s >/dev/null; then
--              libffi_cv_hidden_visibility_attribute=yes
--          fi
--      fi
--      rm -f conftest.*
-+          if grep '\.hidden.*foo' conftest.s >/dev/null; then
-+              libffi_cv_hidden_visibility_attribute=yes
-+          fi
-+      fi
-+      rm -f conftest.*
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
- $as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
--if test $libffi_cv_hidden_visibility_attribute = yes; then
-+  if test $libffi_cv_hidden_visibility_attribute = yes; then
- $as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-+  fi
- fi
-@@ -12611,6 +13464,14 @@ $as_echo "#define FFI_DEBUG 1" >>confdef
-   fi
- fi
-+ if test "$enable_debug" = "yes"; then
-+  FFI_DEBUG_TRUE=
-+  FFI_DEBUG_FALSE='#'
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++  CFLAGS=""
++  case $ax_cv_c_compiler_vendor in
++    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++       if test "x$acx_maxopt_portable" = xno; then
++           CFLAGS="$CFLAGS -arch host"
++         fi;;
++
++    sun) CFLAGS="-native -fast -xO5 -dalign"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS -xarch=generic"
++         fi;;
++
++    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS +DAportable"
++       fi;;
++
++    ibm) if test "x$acx_maxopt_portable" = xno; then
++           xlc_opt="-qarch=auto -qtune=auto"
++       else
++           xlc_opt="-qtune=auto"
++       fi
++         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
++$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
 +else
-+  FFI_DEBUG_TRUE='#'
-+  FFI_DEBUG_FALSE=
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $xlc_opt"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  CFLAGS="-O3 -qansialias -w $xlc_opt"
++else
++  CFLAGS="-O3 -qansialias -w"
++                echo "******************************************************"
++                echo "*  You seem to have the IBM  C compiler.  It is      *"
++                echo "*  recommended for best performance that you use:    *"
++                echo "*                                                    *"
++                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++                echo "*                      ^^^        ^^^                *"
++                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
++                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
++                echo "*  and re-run configure.)  For more info, man cc.    *"
++                echo "******************************************************"
 +fi
 +
- # Check whether --enable-structs was given.
- if test "${enable_structs+set}" = set; then :
-@@ -12642,21 +13503,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
- fi
--if test -n "$with_cross_host" &&
--   test x"$with_cross_host" != x"no"; then
--  toolexecdir='$(exec_prefix)/$(target_alias)'
--  toolexeclibdir='$(toolexecdir)/lib'
--else
--  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
--  toolexeclibdir='$(libdir)'
--fi
--multi_os_directory=`$CC -print-multi-os-directory`
--case $multi_os_directory in
--  .) ;; # Avoid trailing /.
--  *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
--esac
-+# These variables are only ever used when we cross-build to X86_WIN32.
-+# And we only support this with GCC, so...
-+if test x"$GCC" != x"no"; then
-+  if test -n "$with_cross_host" &&
-+     test x"$with_cross_host" != x"no"; then
-+    toolexecdir='$(exec_prefix)/$(target_alias)'
-+    toolexeclibdir='$(toolexecdir)/lib'
-+  else
-+    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-+    toolexeclibdir='$(libdir)'
-+  fi
-+  multi_os_directory=`$CC -print-multi-os-directory`
-+  case $multi_os_directory in
-+    .) ;; # Avoid trailing /.
-+    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-+  esac
++         ;;
++
++    intel) CFLAGS="-O3 -ansi_alias"
++      if test "x$acx_maxopt_portable" = xno; then
++        icc_archflag=unknown
++        icc_flags=""
++        case $host_cpu in
++          i686*|x86_64*)
++              # icc accepts gcc assembly syntax, so these should work:
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
 +fi
- if test "${multilib}" = "yes"; then
-   multilib_arg="--enable-multilib"
-@@ -12672,7 +13537,7 @@ ac_config_commands="$ac_config_commands
- ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
--ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile"
-+ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
- cat >confcache <<\_ACEOF
-@@ -12739,10 +13604,21 @@ $as_echo "$as_me: WARNING: cache variabl
-      :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" &&
-+    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;}
--    cat confcache >$cache_file
-+      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;}
-@@ -12758,6 +13634,7 @@ DEFS=-DHAVE_CONFIG_H
- ac_libobjs=
- ac_ltlibobjs=
-+U=
- for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-   # 1. Remove the extension, and $U if already installed.
-   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-@@ -12781,132 +13658,144 @@ else
- fi
- if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
--  as_fn_error "conditional \"AMDEP\" was never defined.
-+  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.
-+  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__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
--  as_fn_error "conditional \"am__fastdepCCAS\" was never defined.
-+  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
--  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
-+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
--  as_fn_error "conditional \"TESTSUBDIR\" was never defined.
-+  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
--  as_fn_error "conditional \"MIPS\" was never defined.
-+  as_fn_error $? "conditional \"MIPS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
--  as_fn_error "conditional \"SPARC\" was never defined.
-+  as_fn_error $? "conditional \"SPARC\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
--  as_fn_error "conditional \"X86\" was never defined.
-+  as_fn_error $? "conditional \"X86\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
--  as_fn_error "conditional \"X86_FREEBSD\" was never defined.
-+  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
--  as_fn_error "conditional \"X86_WIN32\" was never defined.
-+  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
--  as_fn_error "conditional \"X86_WIN64\" was never defined.
-+  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
--  as_fn_error "conditional \"X86_DARWIN\" was never defined.
-+  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
--  as_fn_error "conditional \"ALPHA\" was never defined.
-+  as_fn_error $? "conditional \"ALPHA\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
--  as_fn_error "conditional \"IA64\" was never defined.
-+  as_fn_error $? "conditional \"IA64\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
--  as_fn_error "conditional \"M32R\" was never defined.
-+  as_fn_error $? "conditional \"M32R\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
--  as_fn_error "conditional \"M68K\" was never defined.
-+  as_fn_error $? "conditional \"M68K\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
 +fi
-+if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-+  as_fn_error $? "conditional \"MOXIE\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
--  as_fn_error "conditional \"POWERPC\" was never defined.
-+  as_fn_error $? "conditional \"POWERPC\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
--  as_fn_error "conditional \"POWERPC_AIX\" was never defined.
-+  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
--  as_fn_error "conditional \"POWERPC_DARWIN\" was never defined.
-+  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
--  as_fn_error "conditional \"POWERPC_FREEBSD\" was never defined.
-+  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
--  as_fn_error "conditional \"ARM\" was never defined.
-+  as_fn_error $? "conditional \"ARM\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
--  as_fn_error "conditional \"AVR32\" was never defined.
-+  as_fn_error $? "conditional \"AVR32\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
--  as_fn_error "conditional \"LIBFFI_CRIS\" was never defined.
-+  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
--  as_fn_error "conditional \"FRV\" was never defined.
-+  as_fn_error $? "conditional \"FRV\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
--  as_fn_error "conditional \"S390\" was never defined.
-+  as_fn_error $? "conditional \"S390\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
--  as_fn_error "conditional \"X86_64\" was never defined.
-+  as_fn_error $? "conditional \"X86_64\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
--  as_fn_error "conditional \"SH\" was never defined.
-+  as_fn_error $? "conditional \"SH\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
--  as_fn_error "conditional \"SH64\" was never defined.
-+  as_fn_error $? "conditional \"SH64\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
--  as_fn_error "conditional \"PA_LINUX\" was never defined.
-+  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
--  as_fn_error "conditional \"PA_HPUX\" was never defined.
-+  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
--  as_fn_error "conditional \"PA64_HPUX\" was never defined.
-+  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
-+  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
++
 +fi
-+if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-+  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_1=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
 +fi
--: ${CONFIG_STATUS=./config.status}
-+: "${CONFIG_STATUS=./config.status}"
- ac_write_fail=0
- ac_clean_files_save=$ac_clean_files
- ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-@@ -13007,6 +13896,7 @@ fi
- IFS=" ""      $as_nl"
- # Find who we are.  Look in the path if we contain no directory separator.
-+as_myself=
- case $0 in #((
-   *[\\/]* ) as_myself=$0 ;;
-   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -13052,19 +13942,19 @@ export LANGUAGE
- (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
--# as_fn_error ERROR [LINENO LOG_FD]
--# ---------------------------------
-+# 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.
-+# script with STATUS, using 1 if that was 0.
- as_fn_error ()
- {
--  as_status=$?; test $as_status -eq 0 && as_status=1
--  if test "$3"; then
--    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
--    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-+  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: $1" >&2
-+  $as_echo "$as_me: error: $2" >&2
-   as_fn_exit $as_status
- } # as_fn_error
-@@ -13260,7 +14150,7 @@ $as_echo X"$as_dir" |
-       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"
-+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
- } # as_fn_mkdir_p
-@@ -13313,8 +14203,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
- # report actual input values of CONFIG_FILES etc. instead of their
- # values after options handling.
- ac_log="
--This file was extended by libffi $as_me 3.0.9, which was
--generated by GNU Autoconf 2.64.  Invocation command line was
-+This file was extended by libffi $as_me 3.0.11-rc4, which was
-+generated by GNU Autoconf 2.68.  Invocation command line was
-   CONFIG_FILES    = $CONFIG_FILES
-   CONFIG_HEADERS  = $CONFIG_HEADERS
-@@ -13355,6 +14245,7 @@ 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
-@@ -13376,16 +14267,17 @@ $config_links
- Configuration commands:
- $config_commands
--Report bugs to <http://gcc.gnu.org/bugs.html>."
-+Report bugs to <http://github.com/atgreen/libffi/issues>."
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
- ac_cs_version="\\
--libffi config.status 3.0.9
--configured by $0, generated by GNU Autoconf 2.64,
--  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-+libffi config.status 3.0.11-rc4
-+configured by $0, generated by GNU Autoconf 2.68,
-+  with options \\"\$ac_cs_config\\"
--Copyright (C) 2009 Free Software Foundation, Inc.
-+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."
-@@ -13403,11 +14295,16 @@ 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
-@@ -13421,12 +14318,15 @@ do
-     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;;
-@@ -13439,7 +14339,7 @@ do
-     ac_need_defaults=false;;
-   --he | --h)
-     # Conflict between --help and --header
--    as_fn_error "ambiguous option: \`$1'
-+    as_fn_error $? "ambiguous option: \`$1'
- Try \`$0 --help' for more information.";;
-   --help | --hel | -h )
-     $as_echo "$ac_cs_usage"; exit ;;
-@@ -13448,7 +14348,7 @@ Try \`$0 --help' for more information.";
-     ac_cs_silent=: ;;
-   # This is an error.
--  -*) as_fn_error "unrecognized option: \`$1'
-+  -*) as_fn_error $? "unrecognized option: \`$1'
- Try \`$0 --help' for more information." ;;
-   *) as_fn_append ac_config_targets " $1"
-@@ -13492,20 +14392,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
- #
- # INIT-COMMANDS
- #
--
--srcdir="$srcdir"
--host="$host"
--target="$target"
--with_multisubdir="$with_multisubdir"
--with_multisrctop="$with_multisrctop"
--with_target_subdir="$with_target_subdir"
--ac_configure_args="${multilib_arg} ${ac_configure_args}"
--multi_basedir="$multi_basedir"
--CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
--CC="$CC"
--CXX="$CXX"
--GFORTRAN="$GFORTRAN"
--GCJ="$GCJ"
- AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-@@ -13524,6 +14410,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$de
- 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"`'
-+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
- host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
- host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
- host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-@@ -13544,13 +14431,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
- 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"`'
-@@ -13565,14 +14459,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
- 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_wl='`$ECHO "$lt_prog_compiler_wl" | $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"`'
-@@ -13596,7 +14493,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SE
- 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"`'
-@@ -13605,12 +14501,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
- 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"`'
--fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $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"`'
-@@ -13652,6 +14548,7 @@ _LTECHO_EOF'
- # Quote evaled strings.
- for var in SHELL \
- ECHO \
-+PATH_SEPARATOR \
- SED \
- GREP \
- EGREP \
-@@ -13665,8 +14562,13 @@ 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 \
-@@ -13676,12 +14578,14 @@ 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_wl \
- 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 \
-@@ -13695,9 +14599,7 @@ with_gnu_ld \
- allow_undefined_flag \
- no_undefined_flag \
- hardcode_libdir_flag_spec \
--hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
--fix_srcfile_path \
- exclude_expsyms \
- include_expsyms \
- file_list_spec \
-@@ -13733,6 +14635,7 @@ module_cmds \
- module_expsym_cmds \
- export_symbols_cmds \
- prelink_cmds \
-+postlink_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- finish_cmds \
-@@ -13778,7 +14681,6 @@ for ac_config_target in $ac_config_targe
- do
-   case $ac_config_target in
-     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
--    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-@@ -13789,8 +14691,9 @@ do
-     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-     "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-     "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-+    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
--  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-   esac
- done
-@@ -13814,9 +14717,10 @@ fi
- # after its creation but before its name has been assigned to `$tmp'.
- $debug ||
- {
--  tmp=
-+  tmp= ac_tmp=
-   trap 'exit_status=$?
--  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $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
- }
-@@ -13824,12 +14728,13 @@ $debug ||
- {
-   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
--  test -n "$tmp" && test -d "$tmp"
-+  test -d "$tmp"
- }  ||
- {
-   tmp=./conf$$-$RANDOM
-   (umask 077 && mkdir "$tmp")
--} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
-+} || 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.
-@@ -13846,12 +14751,12 @@ if test "x$ac_cr" = x; then
- fi
- ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
- if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
--  ac_cs_awk_cr='\r'
-+  ac_cs_awk_cr='\\r'
- else
-   ac_cs_awk_cr=$ac_cr
- fi
--echo 'BEGIN {' >"$tmp/subs1.awk" &&
-+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
- _ACEOF
-@@ -13860,18 +14765,18 @@ _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 '$'`
-+  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
-+    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
-+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-   else
-     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-   fi
-@@ -13879,7 +14784,7 @@ done
- rm -f conf$$subs.sh
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
--cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
- _ACEOF
- sed -n '
- h
-@@ -13893,7 +14798,7 @@ s/'"$ac_delim"'$//
- t delim
- :nl
- h
--s/\(.\{148\}\).*/\1/
-+s/\(.\{148\}\)..*/\1/
- t more1
- s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
- p
-@@ -13907,7 +14812,7 @@ s/.\{148\}//
- t nl
- :delim
- h
--s/\(.\{148\}\).*/\1/
-+s/\(.\{148\}\)..*/\1/
- t more2
- s/["\\]/\\&/g; s/^/"/; s/$/"/
- p
-@@ -13927,7 +14832,7 @@ t delim
- rm -f conf$$subs.awk
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- _ACAWK
--cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-   for (key in S) S_is_set[key] = 1
-   FS = "\a"
-@@ -13959,21 +14864,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
-   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
- else
-   cat
--fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
--  || as_fn_error "could not setup config files machinery" "$LINENO" 5
-+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 $(srcdir),
--# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-+# 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[        ]*=/{
--s/:*\$(srcdir):*/:/
--s/:*\${srcdir}:*/:/
--s/:*@srcdir@:*/:/
--s/^\([^=]*=[   ]*\):*/\1/
-+  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
-@@ -13985,7 +14898,7 @@ fi # test -n "$CONFIG_FILES"
- # 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 ||
-+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
- BEGIN {
- _ACEOF
-@@ -13997,11 +14910,11 @@ _ACEOF
- # 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
-+  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
-+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-   else
-     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-   fi
-@@ -14086,7 +14999,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
- _ACAWK
- _ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
--  as_fn_error "could not setup config headers machinery" "$LINENO" 5
-+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
- fi # test -n "$CONFIG_HEADERS"
-@@ -14099,7 +15012,7 @@ do
-   esac
-   case $ac_mode$ac_tag in
-   :[FHL]*:*);;
--  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
-+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-   :[FH]-) ac_tag=-:-;;
-   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-   esac
-@@ -14118,7 +15031,7 @@ do
-     for ac_f
-     do
-       case $ac_f in
--      -) ac_f="$tmp/stdin";;
-+      -) 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 `:'.
-@@ -14127,7 +15040,7 @@ do
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
--         as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-+         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'"
-@@ -14153,8 +15066,8 @@ $as_echo "$as_me: creating $ac_file" >&6
-     esac
-     case $ac_tag in
--    *:-:* | *:-) cat >"$tmp/stdin" \
--      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
-+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-     esac
-     ;;
-   esac
-@@ -14290,23 +15203,24 @@ 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_fn_error "could not create $ac_file" "$LINENO" 5
-+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' "$tmp/out"`; test -n "$ac_out"; } &&
--  { ac_out=`sed -n '/^[        ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-+  { 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
-+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;}
-+which seems to be undefined.  Please make sure it is defined" >&2;}
--  rm -f "$tmp/stdin"
-+  rm -f "$ac_tmp/stdin"
-   case $ac_file in
--  -) cat "$tmp/out" && rm -f "$tmp/out";;
--  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-+  -) 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
-+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-  ;;
-   :H)
-   #
-@@ -14315,21 +15229,21 @@ which seems to be undefined.  Please mak
-   if test x"$ac_file" != x-; then
-     {
-       $as_echo "/* $configure_input  */" \
--      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
--    } >"$tmp/config.h" \
--      || as_fn_error "could not create $ac_file" "$LINENO" 5
--    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-+      && 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 "$tmp/config.h" "$ac_file" \
--      || as_fn_error "could not create $ac_file" "$LINENO" 5
-+      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 "$tmp/defines.awk"' "$ac_file_inputs" \
--      || as_fn_error "could not create -" "$LINENO" 5
-+      && 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"
-@@ -14383,19 +15297,19 @@ $as_echo X"$_am_arg" |
- $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-     if test ! -r "$ac_source"; then
--      as_fn_error "$ac_source: file not found" "$LINENO" 5
-+      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-     fi
-     rm -f "$ac_file"
-     # Try a relative symlink, then a hard link, then a copy.
--    case $srcdir in
-+    case $ac_source in
-     [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-     esac
-     ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-       ln "$ac_source" "$ac_file" 2>/dev/null ||
-       cp -p "$ac_source" "$ac_file" ||
--      as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-+      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-   fi
-  ;;
-   :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-@@ -14405,14 +15319,6 @@ $as_echo "$as_me: executing $ac_file com
-   case $ac_file$ac_mode in
--    "default-1":C)
--# Only add multilib support code if we just rebuilt the top-level
--# Makefile.
--case " $CONFIG_FILES " in
-- *" Makefile "*)
--   ac_file=Makefile . ${multi_basedir}/config-ml.in
--   ;;
--esac ;;
-     "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
-@@ -14529,7 +15435,8 @@ $as_echo X"$file" |
- # 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 Free Software Foundation, Inc.
-+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+#                 Foundation, Inc.
- #   Written by Gordon Matzigkeit, 1996
- #
- #   This file is part of GNU Libtool.
-@@ -14583,6 +15490,9 @@ SHELL=$lt_SHELL
- # An echo program that protects backslashes.
- ECHO=$lt_ECHO
-+# The PATH separator for the build system.
-+PATH_SEPARATOR=$lt_PATH_SEPARATOR
-+
- # The host system.
- host_alias=$host_alias
- host=$host
-@@ -14632,19 +15542,42 @@ SP2NL=$lt_lt_SP2NL
- # turn newlines into spaces.
- NL2SP=$lt_lt_NL2SP
-+# convert \$build file names to \$host format.
-+to_host_file_cmd=$lt_cv_to_host_file_cmd
-+
-+# convert \$build files to toolchain format.
-+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-+
- # An object symbol dumper.
- OBJDUMP=$lt_OBJDUMP
- # Method to check whether dependent libraries are shared objects.
- deplibs_check_method=$lt_deplibs_check_method
--# Command to use when deplibs_check_method == "file_magic".
-+# Command to use when deplibs_check_method = "file_magic".
- file_magic_cmd=$lt_file_magic_cmd
-+# How to find potential files when deplibs_check_method = "file_magic".
-+file_magic_glob=$lt_file_magic_glob
-+
-+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-+want_nocaseglob=$lt_want_nocaseglob
-+
-+# DLL creation program.
-+DLLTOOL=$lt_DLLTOOL
-+
-+# Command to associate shared and link libraries.
-+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-+
- # The archiver.
- AR=$lt_AR
-+
-+# Flags to create an archive.
- AR_FLAGS=$lt_AR_FLAGS
-+# How to feed a file listing to the archiver.
-+archiver_list_spec=$lt_archiver_list_spec
-+
- # A symbol stripping program.
- STRIP=$lt_STRIP
-@@ -14674,6 +15607,12 @@ global_symbol_to_c_name_address=$lt_lt_c
- # 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
-+# Specify filename containing input files for \$NM.
-+nm_file_list_spec=$lt_nm_file_list_spec
-+
-+# The root where to search for dependent libraries,and in which our libraries should be installed.
-+lt_sysroot=$lt_sysroot
-+
- # The name of the directory that contains temporary libtool files.
- objdir=$objdir
-@@ -14683,6 +15622,9 @@ MAGIC_CMD=$MAGIC_CMD
- # Must we lock files when doing compilation?
- need_locks=$lt_need_locks
-+# Manifest tool.
-+MANIFEST_TOOL=$lt_MANIFEST_TOOL
-+
- # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
- DSYMUTIL=$lt_DSYMUTIL
-@@ -14797,12 +15739,12 @@ with_gcc=$GCC
- # Compiler flag to turn off builtin functions.
- no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
--# How to pass a linker flag through the compiler.
--wl=$lt_lt_prog_compiler_wl
--
- # Additional compiler flags for building library objects.
- pic_flag=$lt_lt_prog_compiler_pic
-+# How to pass a linker flag through the compiler.
-+wl=$lt_lt_prog_compiler_wl
-+
- # Compiler flag to prevent dynamic linking.
- link_static_flag=$lt_lt_prog_compiler_static
-@@ -14852,10 +15794,6 @@ no_undefined_flag=$lt_no_undefined_flag
- # This must work even if \$libdir does not exist
- hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
--# 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
--
- # Whether we need a single "-rpath" flag with a separated argument.
- hardcode_libdir_separator=$lt_hardcode_libdir_separator
-@@ -14889,9 +15827,6 @@ inherit_rpath=$inherit_rpath
- # Whether libtool must link a program against all its dependency libraries.
- link_all_deplibs=$link_all_deplibs
--# 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
-@@ -14907,6 +15842,9 @@ include_expsyms=$lt_include_expsyms
- # Commands necessary for linking programs (against libraries) with templates.
- prelink_cmds=$lt_prelink_cmds
-+# Commands necessary for finishing linking programs.
-+postlink_cmds=$lt_postlink_cmds
-+
- # Specify filename containing input files.
- file_list_spec=$lt_file_list_spec
-@@ -14939,210 +15877,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
-   # 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
--    || (rm -f "$cfgfile"; exit 1)
--
--  case $xsi_shell in
--  yes)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# 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 ()
--{
--  case ${1} in
--    */*) func_dirname_result="${1%/*}${2}" ;;
--    *  ) func_dirname_result="${3}" ;;
--  esac
--}
--
--# func_basename file
--func_basename ()
--{
--  func_basename_result="${1##*/}"
--}
--
--# 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 ()
--{
--  case ${1} in
--    */*) func_dirname_result="${1%/*}${2}" ;;
--    *  ) func_dirname_result="${3}" ;;
--  esac
--  func_basename_result="${1##*/}"
--}
--
--# 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_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}"}
--}
--
--# func_opt_split
--func_opt_split ()
--{
--  func_opt_split_opt=${1%%=*}
--  func_opt_split_arg=${1#*=}
--}
--
--# func_lo2o object
--func_lo2o ()
--{
--  case ${1} in
--    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
--    *)    func_lo2o_result=${1} ;;
--  esac
--}
--
--# func_xform libobj-or-source
--func_xform ()
--{
--  func_xform_result=${1%.*}.lo
--}
--
--# func_arith arithmetic-term...
--func_arith ()
--{
--  func_arith_result=$(( $* ))
--}
--
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
--  func_len_result=${#1}
--}
--
--_LT_EOF
--    ;;
--  *) # Bourne compatible functions.
--    cat << \_LT_EOF >> "$cfgfile"
--
--# 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 ()
--{
--  # Extract subdirectory from the argument.
--  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_basename file
--func_basename ()
--{
--  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
--}
--
--
--# 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
--}
--
--# sed scripts:
--my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
--my_sed_long_arg='1s/^-[^=]*=//'
--
--# func_opt_split
--func_opt_split ()
--{
--  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
--  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
--}
--
--# func_lo2o object
--func_lo2o ()
--{
--  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
--}
--
--# func_xform libobj-or-source
--func_xform ()
--{
--  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
--}
--
--# func_arith arithmetic-term...
--func_arith ()
--{
--  func_arith_result=`expr "$@"`
--}
--
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
--  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
--}
--
--_LT_EOF
--esac
--
--case $lt_shell_append in
--  yes)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
--  eval "$1+=\$2"
--}
--_LT_EOF
--    ;;
--  *)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
--  eval "$1=\$$1\$2"
--}
--
--_LT_EOF
--    ;;
--  esac
-+  sed '$q' "$ltmain" >> "$cfgfile" \
-+     || (rm -f "$cfgfile"; exit 1)
-+  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
--  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
--    || (rm -f "$cfgfile"; exit 1)
--  mv -f "$cfgfile" "$ofile" ||
-+   mv -f "$cfgfile" "$ofile" ||
-     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-   chmod +x "$ofile"
-@@ -15162,7 +16059,7 @@ _ACEOF
- ac_clean_files=$ac_clean_files_save
- test $ac_write_fail = 0 ||
--  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
-+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
- # configure is writing to config.log, and then calls config.status.
-@@ -15183,7 +16080,7 @@ if test "$no_create" != yes; then
-   exec 5>>config.log
-   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-   # would make configure fail if this is the last instruction.
--  $ac_cs_success || as_fn_exit $?
-+  $ac_cs_success || as_fn_exit 1
- fi
- if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-Index: libffi/configure.ac
-===================================================================
---- libffi.orig/configure.ac
-+++ libffi/configure.ac
-@@ -1,34 +1,46 @@
- dnl Process this with autoconf to create configure
--AC_PREREQ(2.64)
-+AC_PREREQ(2.68)
--AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
-+AC_INIT([libffi], [3.0.11-rc4], [http://github.com/atgreen/libffi/issues])
- AC_CONFIG_HEADERS([fficonfig.h])
--AM_ENABLE_MULTILIB(, ..)
--
- AC_CANONICAL_SYSTEM
- target_alias=${target_alias-$host_alias}
- . ${srcdir}/configure.host
-+AX_ENABLE_BUILDDIR
-+
- AM_INIT_AUTOMAKE
- # The same as in boehm-gc and libstdc++. Have to borrow it from there.
- # We must force CC to /not/ be precious variables; otherwise
- # the wrong, non-multilib-adjusted value will be used in multilibs.
- # As a side effect, we have to subst CFLAGS ourselves.
-+# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-+# defaults of its own if none are provided.
- m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
- m4_define([_AC_ARG_VAR_PRECIOUS],[])
-+save_CFLAGS=$CFLAGS
- AC_PROG_CC
--m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-+CFLAGS=$save_CFLAGS
-+m4_undefine([_AC_ARG_VAR_PRECIOUS])
-+m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
- AC_SUBST(CFLAGS)
- AM_PROG_AS
- AM_PROG_CC_C_O
- AC_PROG_LIBTOOL
-+AC_CONFIG_MACRO_DIR([m4])
-+
-+AX_CC_MAXOPT
-+AX_CFLAGS_WARN_ALL
-+if test "x$GCC" = "xyes"; then
-+  CFLAGS="$CFLAGS -fexceptions"
-+fi
- AM_MAINTAINER_MODE
-@@ -53,6 +65,10 @@ case "$host" in
-   amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-+      ;;
-+
-+  amd64-*-freebsd*)
-+      TARGET=X86_64; TARGETDIR=x86
-       ;;
-   avr32*-*-*)
-@@ -67,7 +83,7 @@ case "$host" in
-       TARGET=FRV; TARGETDIR=frv
-       ;;
--  hppa*-*-linux* | parisc*-*-linux*)
-+  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-   hppa*64-*-hpux*)
-@@ -80,7 +96,7 @@ case "$host" in
-   i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
--  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-+  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-@@ -117,28 +133,35 @@ case "$host" in
-   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
--  mips*-*-linux*)
-+  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-+  moxie-*-*)
-+        TARGET=MOXIE; TARGETDIR=moxie
-+      ;;
-+
-   powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-+  powerpc-*-amigaos*)
-+      TARGET=POWERPC; TARGETDIR=powerpc
-+      ;;
-   powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
--  powerpc-*-darwin*)
-+  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-   powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
--  powerpc-*-freebsd*)
-+  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-- powerpc64-*-freebsd*)
-+  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-   powerpc*-*-rtems*)
-@@ -200,6 +223,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
- AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
- AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
- AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-+AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
- AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
- AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
- AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-@@ -311,13 +335,30 @@ if test x$TARGET = xX86 || test x$TARGET
-     fi
- fi
-+if test x$TARGET = xX86_WIN64; then
-+    LT_SYS_SYMBOL_USCORE
-+    if test "x$sys_symbol_underscore" = xyes; then
-+        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-+    fi
-+fi
-+
-+
-+FFI_EXEC_TRAMPOLINE_TABLE=0
- case "$target" in
--     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-+     *arm*-apple-darwin*)
-+       FFI_EXEC_TRAMPOLINE_TABLE=1
-+       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-+                 [Cannot use PROT_EXEC on this target, so, we revert to
-+                   alternative means])
-+     ;;
-+     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
-        AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                  [Cannot use malloc on this target, so, we revert to
-                    alternative means])
-      ;;
- esac
-+AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-+AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
- if test x$TARGET = xX86_64; then
-     AC_CACHE_CHECK([assembler supports unwind section type],
-@@ -334,44 +375,46 @@ if test x$TARGET = xX86_64; then
-     fi
- fi
--AC_CACHE_CHECK([whether .eh_frame section should be read-only],
--    libffi_cv_ro_eh_frame, [
--      libffi_cv_ro_eh_frame=no
--      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
--      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
--          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
--              libffi_cv_ro_eh_frame=yes
--          elif grep '.section.*eh_frame.*#alloc' conftest.c \
--               | grep -v '#write' > /dev/null; then
--              libffi_cv_ro_eh_frame=yes
--          fi
--      fi
--      rm -f conftest.*
--    ])
--if test "x$libffi_cv_ro_eh_frame" = xyes; then
--    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
--            [Define if .eh_frame sections should be read-only.])
--    AC_DEFINE(EH_FRAME_FLAGS, "a",
--            [Define to the flags needed for the .section .eh_frame directive.])
--else
--    AC_DEFINE(EH_FRAME_FLAGS, "aw",
--            [Define to the flags needed for the .section .eh_frame directive.])
--fi
-+if test "x$GCC" = "xyes"; then
-+  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-+      libffi_cv_ro_eh_frame, [
-+      libffi_cv_ro_eh_frame=no
-+      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-+      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-+          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-+              libffi_cv_ro_eh_frame=yes
-+          elif grep '.section.*eh_frame.*#alloc' conftest.c \
-+               | grep -v '#write' > /dev/null; then
-+              libffi_cv_ro_eh_frame=yes
-+          fi
-+      fi
-+      rm -f conftest.*
-+      ])
-+  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-+      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-+            [Define if .eh_frame sections should be read-only.])
-+      AC_DEFINE(EH_FRAME_FLAGS, "a",
-+            [Define to the flags needed for the .section .eh_frame directive.  ])
-+  else
-+      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-+            [Define to the flags needed for the .section .eh_frame directive.  ])
-+  fi
--AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
--    libffi_cv_hidden_visibility_attribute, [
--      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
--      libffi_cv_hidden_visibility_attribute=no
--      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
--          if grep '\.hidden.*foo' conftest.s >/dev/null; then
--              libffi_cv_hidden_visibility_attribute=yes
--          fi
--      fi
--      rm -f conftest.*
--    ])
--if test $libffi_cv_hidden_visibility_attribute = yes; then
--    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
--            [Define if __attribute__((visibility("hidden"))) is supported.])
-+  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-+      libffi_cv_hidden_visibility_attribute, [
-+      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-+      libffi_cv_hidden_visibility_attribute=no
-+      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-+          if grep '\.hidden.*foo' conftest.s >/dev/null; then
-+              libffi_cv_hidden_visibility_attribute=yes
-+          fi
-+      fi
-+      rm -f conftest.*
-+      ])
-+  if test $libffi_cv_hidden_visibility_attribute = yes; then
-+      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-+            [Define if __attribute__((visibility("hidden"))) is supported.])
-+  fi
- fi
- AH_BOTTOM([
-@@ -400,6 +443,7 @@ AC_ARG_ENABLE(debug,
-   if test "$enable_debug" = "yes"; then
-     AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-   fi)
-+AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
- AC_ARG_ENABLE(structs,
- [  --disable-structs       omit code for struct support],
-@@ -419,21 +463,25 @@ AC_ARG_ENABLE(purify-safety,
-     AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-   fi)
--if test -n "$with_cross_host" &&
--   test x"$with_cross_host" != x"no"; then
--  toolexecdir='$(exec_prefix)/$(target_alias)'
--  toolexeclibdir='$(toolexecdir)/lib'
--else
--  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
--  toolexeclibdir='$(libdir)'
-+# These variables are only ever used when we cross-build to X86_WIN32.
-+# And we only support this with GCC, so...
-+if test x"$GCC" != x"no"; then
-+  if test -n "$with_cross_host" &&
-+     test x"$with_cross_host" != x"no"; then
-+    toolexecdir='$(exec_prefix)/$(target_alias)'
-+    toolexeclibdir='$(toolexecdir)/lib'
-+  else
-+    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-+    toolexeclibdir='$(libdir)'
-+  fi
-+  multi_os_directory=`$CC -print-multi-os-directory`
-+  case $multi_os_directory in
-+    .) ;; # Avoid trailing /.
-+    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-+  esac
-+  AC_SUBST(toolexecdir)
-+  AC_SUBST(toolexeclibdir)
- fi
--multi_os_directory=`$CC -print-multi-os-directory`
--case $multi_os_directory in
--  .) ;; # Avoid trailing /.
--  *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
--esac
--AC_SUBST(toolexecdir)
--AC_SUBST(toolexeclibdir)
- if test "${multilib}" = "yes"; then
-   multilib_arg="--enable-multilib"
-@@ -449,6 +497,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
- AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
--AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile)
-+AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
- AC_OUTPUT
-Index: libffi/libffi.pc.in
-===================================================================
---- /dev/null
-+++ libffi/libffi.pc.in
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-+
-+Name: @PACKAGE_NAME@
-+Description: Library supporting Foreign Function Interfaces
-+Version: @PACKAGE_VERSION@
-+Libs: -L${libdir} -lffi
-+Cflags: -I${includedir}
-Index: libffi/libtool-version
-===================================================================
---- libffi.orig/libtool-version
-+++ libffi/libtool-version
-@@ -2,5 +2,28 @@
- # the libtool manual to understand the meaning of the fields.  This is
- # a separate file so that version updates don't involve re-running
- # automake.
-+#
-+# Here are a set of rules to help you update your library version
-+# information:
-+# 
-+# 1. Start with version information of `0:0:0' for each libtool library.
-+#
-+# 2. Update the version information only immediately before a public
-+#    release of your software. More frequent updates are unnecessary,
-+#    and only guarantee that the current interface number gets larger
-+#    faster.
-+#
-+# 3. If the library source code has changed at all since the last
-+#    update, then increment revision (`c:r:a' becomes `c:r+1:a').
-+#
-+# 4. If any interfaces have been added, removed, or changed since the
-+#    last update, increment current, and set revision to 0.
-+#
-+# 5. If any interfaces have been added since the last public release,
-+#    then increment age.
-+#
-+# 6. If any interfaces have been removed since the last public
-+#    release, then set age to 0.
-+#
- # CURRENT:REVISION:AGE
--4:1:0
-+6:0:0
-Index: libffi/mdate-sh
-===================================================================
---- /dev/null
-+++ libffi/mdate-sh
-@@ -0,0 +1,201 @@
-+#!/bin/sh
-+# Get modification time of a file or directory and pretty-print it.
-+
-+scriptversion=2005-06-29.22
-+
-+# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
-+# Foundation, Inc.
-+# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
-+#
-+# 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, 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.
-+
-+# This file is maintained in Automake, please report
-+# bugs to <bug-automake@gnu.org> or send patches to
-+# <automake-patches@gnu.org>.
-+
-+case $1 in
-+  '')
-+     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
-+     exit 1;
-+     ;;
-+  -h | --h*)
-+    cat <<\EOF
-+Usage: mdate-sh [--help] [--version] FILE
-+
-+Pretty-print the modification time of FILE.
-+
-+Report bugs to <bug-automake@gnu.org>.
-+EOF
-+    exit $?
-+    ;;
-+  -v | --v*)
-+    echo "mdate-sh $scriptversion"
-+    exit $?
-+    ;;
-+esac
-+
-+# Prevent date giving response in another language.
-+LANG=C
-+export LANG
-+LC_ALL=C
-+export LC_ALL
-+LC_TIME=C
-+export LC_TIME
-+
-+# GNU ls changes its time format in response to the TIME_STYLE
-+# variable.  Since we cannot assume `unset' works, revert this
-+# variable to its documented default.
-+if test "${TIME_STYLE+set}" = set; then
-+  TIME_STYLE=posix-long-iso
-+  export TIME_STYLE
-+fi
-+
-+save_arg1=$1
-+
-+# Find out how to get the extended ls output of a file or directory.
-+if ls -L /dev/null 1>/dev/null 2>&1; then
-+  ls_command='ls -L -l -d'
-+else
-+  ls_command='ls -l -d'
-+fi
-+
-+# A `ls -l' line looks as follows on OS/2.
-+#  drwxrwx---        0 Aug 11  2001 foo
-+# This differs from Unix, which adds ownership information.
-+#  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
-+#
-+# To find the date, we split the line on spaces and iterate on words
-+# until we find a month.  This cannot work with files whose owner is a
-+# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
-+# will be owned by a user whose name is a month.  So we first look at
-+# the extended ls output of the root directory to decide how many
-+# words should be skipped to get the date.
-+
-+# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
-+set x`ls -l -d /`
-+
-+# Find which argument is the month.
-+month=
-+command=
-+until test $month
-+do
-+  shift
-+  # Add another shift to the command.
-+  command="$command shift;"
-+  case $1 in
-+    Jan) month=January; nummonth=1;;
-+    Feb) month=February; nummonth=2;;
-+    Mar) month=March; nummonth=3;;
-+    Apr) month=April; nummonth=4;;
-+    May) month=May; nummonth=5;;
-+    Jun) month=June; nummonth=6;;
-+    Jul) month=July; nummonth=7;;
-+    Aug) month=August; nummonth=8;;
-+    Sep) month=September; nummonth=9;;
-+    Oct) month=October; nummonth=10;;
-+    Nov) month=November; nummonth=11;;
-+    Dec) month=December; nummonth=12;;
-+  esac
-+done
-+
-+# Get the extended ls output of the file or directory.
-+set dummy x`eval "$ls_command \"\$save_arg1\""`
-+
-+# Remove all preceding arguments
-+eval $command
-+
-+# Because of the dummy argument above, month is in $2.
-+#
-+# On a POSIX system, we should have
-+#
-+# $# = 5
-+# $1 = file size
-+# $2 = month
-+# $3 = day
-+# $4 = year or time
-+# $5 = filename
-+#
-+# On Darwin 7.7.0 and 7.6.0, we have
-+#
-+# $# = 4
-+# $1 = day
-+# $2 = month
-+# $3 = year or time
-+# $4 = filename
-+
-+# Get the month.
-+case $2 in
-+  Jan) month=January; nummonth=1;;
-+  Feb) month=February; nummonth=2;;
-+  Mar) month=March; nummonth=3;;
-+  Apr) month=April; nummonth=4;;
-+  May) month=May; nummonth=5;;
-+  Jun) month=June; nummonth=6;;
-+  Jul) month=July; nummonth=7;;
-+  Aug) month=August; nummonth=8;;
-+  Sep) month=September; nummonth=9;;
-+  Oct) month=October; nummonth=10;;
-+  Nov) month=November; nummonth=11;;
-+  Dec) month=December; nummonth=12;;
-+esac
-+
-+case $3 in
-+  ???*) day=$1;;
-+  *) day=$3; shift;;
-+esac
-+
-+# Here we have to deal with the problem that the ls output gives either
-+# the time of day or the year.
-+case $3 in
-+  *:*) set `date`; eval year=\$$#
-+       case $2 in
-+       Jan) nummonthtod=1;;
-+       Feb) nummonthtod=2;;
-+       Mar) nummonthtod=3;;
-+       Apr) nummonthtod=4;;
-+       May) nummonthtod=5;;
-+       Jun) nummonthtod=6;;
-+       Jul) nummonthtod=7;;
-+       Aug) nummonthtod=8;;
-+       Sep) nummonthtod=9;;
-+       Oct) nummonthtod=10;;
-+       Nov) nummonthtod=11;;
-+       Dec) nummonthtod=12;;
-+       esac
-+       # For the first six month of the year the time notation can also
-+       # be used for files modified in the last year.
-+       if (expr $nummonth \> $nummonthtod) > /dev/null;
-+       then
-+       year=`expr $year - 1`
-+       fi;;
-+  *) year=$3;;
-+esac
-+
-+# The result.
-+echo $day $month $year
-+
-+# Local Variables:
-+# mode: shell-script
-+# sh-indentation: 2
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-end: "$"
-+# End:
-Index: libffi/texinfo.tex
-===================================================================
---- /dev/null
-+++ libffi/texinfo.tex
-@@ -0,0 +1,7210 @@
-+% texinfo.tex -- TeX macros to handle Texinfo files.
-+%
-+% Load plain if necessary, i.e., if running under initex.
-+\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-+%
-+\def\texinfoversion{2005-07-05.19}
-+%
-+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
-+% Foundation, Inc.
-+%
-+% This texinfo.tex file 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, or (at
-+% your option) any later version.
-+%
-+% This texinfo.tex file 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 texinfo.tex file; see the file COPYING.  If not, write
-+% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+% Boston, MA 02110-1301, USA.
-+%
-+% As a special exception, when this file is read by TeX when processing
-+% a Texinfo source document, you may use the result without
-+% restriction.  (This has been our intent since Texinfo was invented.)
-+%
-+% Please try the latest version of texinfo.tex before submitting bug
-+% reports; you can get the latest version from:
-+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-+%   ftp://tug.org/tex/texinfo.tex
-+%     (and all CTAN mirrors, see http://www.ctan.org).
-+% The texinfo.tex in any given distribution could well be out
-+% of date, so if that's what you're using, please check.
-+%
-+% Send bug reports to bug-texinfo@gnu.org.  Please include including a
-+% complete document in each bug report with which we can reproduce the
-+% problem.  Patches are, of course, greatly appreciated.
-+%
-+% To process a Texinfo manual with TeX, it's most reliable to use the
-+% texi2dvi shell script that comes with the distribution.  For a simple
-+% manual foo.texi, however, you can get away with this:
-+%   tex foo.texi
-+%   texindex foo.??
-+%   tex foo.texi
-+%   tex foo.texi
-+%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
-+% The extra TeX runs get the cross-reference information correct.
-+% Sometimes one run after texindex suffices, and sometimes you need more
-+% than two; texi2dvi does it as many times as necessary.
-+%
-+% It is possible to adapt texinfo.tex for other languages, to some
-+% extent.  You can get the existing language-specific files from the
-+% full Texinfo distribution.
-+%
-+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-+
-+
-+\message{Loading texinfo [version \texinfoversion]:}
-+
-+% If in a .fmt file, print the version number
-+% and turn on active characters that we couldn't do earlier because
-+% they might have appeared in the input file name.
-+\everyjob{\message{[Texinfo version \texinfoversion]}%
-+  \catcode`+=\active \catcode`\_=\active}
-+
-+\message{Basics,}
-+\chardef\other=12
-+
-+% We never want plain's \outer definition of \+ in Texinfo.
-+% For @tex, we can use \tabalign.
-+\let\+ = \relax
-+
-+% Save some plain tex macros whose names we will redefine.
-+\let\ptexb=\b
-+\let\ptexbullet=\bullet
-+\let\ptexc=\c
-+\let\ptexcomma=\,
-+\let\ptexdot=\.
-+\let\ptexdots=\dots
-+\let\ptexend=\end
-+\let\ptexequiv=\equiv
-+\let\ptexexclam=\!
-+\let\ptexfootnote=\footnote
-+\let\ptexgtr=>
-+\let\ptexhat=^
-+\let\ptexi=\i
-+\let\ptexindent=\indent
-+\let\ptexinsert=\insert
-+\let\ptexlbrace=\{
-+\let\ptexless=<
-+\let\ptexnewwrite\newwrite
-+\let\ptexnoindent=\noindent
-+\let\ptexplus=+
-+\let\ptexrbrace=\}
-+\let\ptexslash=\/
-+\let\ptexstar=\*
-+\let\ptext=\t
-+
-+% If this character appears in an error message or help string, it
-+% starts a new line in the output.
-+\newlinechar = `^^J
-+
-+% Use TeX 3.0's \inputlineno to get the line number, for better error
-+% messages, but if we're using an old version of TeX, don't do anything.
-+%
-+\ifx\inputlineno\thisisundefined
-+  \let\linenumber = \empty % Pre-3.0.
-+\else
-+  \def\linenumber{l.\the\inputlineno:\space}
-+\fi
-+
-+% Set up fixed words for English if not already set.
-+\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
-+\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
-+\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
-+\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
-+\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
-+\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
-+\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
-+\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
-+\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
-+\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
-+\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
-+\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
-+\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
-+\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
-+\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
-+\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
-+\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
-+\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
-+%
-+\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
-+\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
-+\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
-+\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
-+\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
-+\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
-+\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
-+\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
-+\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
-+\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
-+\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
-+\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
-+%
-+\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
-+\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
-+\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
-+\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
-+\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
-+
-+% In some macros, we cannot use the `\? notation---the left quote is
-+% in some cases the escape char.
-+\chardef\backChar  = `\\
-+\chardef\colonChar = `\:
-+\chardef\commaChar = `\,
-+\chardef\dotChar   = `\.
-+\chardef\exclamChar= `\!
-+\chardef\plusChar  = `\+
-+\chardef\questChar = `\?
-+\chardef\semiChar  = `\;
-+\chardef\underChar = `\_
-+
-+\chardef\spaceChar = `\ %
-+\chardef\spacecat = 10
-+\def\spaceisspace{\catcode\spaceChar=\spacecat}
-+
-+{% for help with debugging.
-+ % example usage: \expandafter\show\activebackslash
-+ \catcode`\! = 0 \catcode`\\ = \active
-+ !global!def!activebackslash{\}
-+}
-+
-+% Ignore a token.
-+%
-+\def\gobble#1{}
-+
-+% The following is used inside several \edef's.
-+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
-+
-+% Hyphenation fixes.
-+\hyphenation{
-+  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
-+  ap-pen-dix bit-map bit-maps
-+  data-base data-bases eshell fall-ing half-way long-est man-u-script
-+  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
-+  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
-+  spell-ing spell-ings
-+  stand-alone strong-est time-stamp time-stamps which-ever white-space
-+  wide-spread wrap-around
-+}
-+
-+% Margin to add to right of even pages, to left of odd pages.
-+\newdimen\bindingoffset
-+\newdimen\normaloffset
-+\newdimen\pagewidth \newdimen\pageheight
-+
-+% For a final copy, take out the rectangles
-+% that mark overfull boxes (in case you have decided
-+% that the text looks ok even though it passes the margin).
-+%
-+\def\finalout{\overfullrule=0pt}
-+
-+% @| inserts a changebar to the left of the current line.  It should
-+% surround any changed text.  This approach does *not* work if the
-+% change spans more than two lines of output.  To handle that, we would
-+% have adopt a much more difficult approach (putting marks into the main
-+% vertical list for the beginning and end of each change).
-+%
-+\def\|{%
-+  % \vadjust can only be used in horizontal mode.
-+  \leavevmode
-+  %
-+  % Append this vertical mode material after the current line in the output.
-+  \vadjust{%
-+    % We want to insert a rule with the height and depth of the current
-+    % leading; that is exactly what \strutbox is supposed to record.
-+    \vskip-\baselineskip
-+    %
-+    % \vadjust-items are inserted at the left edge of the type.  So
-+    % the \llap here moves out into the left-hand margin.
-+    \llap{%
-+      %
-+      % For a thicker or thinner bar, change the `1pt'.
-+      \vrule height\baselineskip width1pt
-+      %
-+      % This is the space between the bar and the text.
-+      \hskip 12pt
-+    }%
-+  }%
-+}
-+
-+% Sometimes it is convenient to have everything in the transcript file
-+% and nothing on the terminal.  We don't just call \tracingall here,
-+% since that produces some useless output on the terminal.  We also make
-+% some effort to order the tracing commands to reduce output in the log
-+% file; cf. trace.sty in LaTeX.
-+%
-+\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-+\def\loggingall{%
-+  \tracingstats2
-+  \tracingpages1
-+  \tracinglostchars2  % 2 gives us more in etex
-+  \tracingparagraphs1
-+  \tracingoutput1
-+  \tracingmacros2
-+  \tracingrestores1
-+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
-+  \ifx\eTeXversion\undefined\else % etex gives us more logging
-+    \tracingscantokens1
-+    \tracingifs1
-+    \tracinggroups1
-+    \tracingnesting2
-+    \tracingassigns1
-+  \fi
-+  \tracingcommands3  % 3 gives us more in etex
-+  \errorcontextlines16
-+}%
-+
-+% add check for \lastpenalty to plain's definitions.  If the last thing
-+% we did was a \nobreak, we don't want to insert more space.
-+%
-+\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
-+  \removelastskip\penalty-50\smallskip\fi\fi}
-+\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
-+  \removelastskip\penalty-100\medskip\fi\fi}
-+\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
-+  \removelastskip\penalty-200\bigskip\fi\fi}
-+
-+% For @cropmarks command.
-+% Do @cropmarks to get crop marks.
-+%
-+\newif\ifcropmarks
-+\let\cropmarks = \cropmarkstrue
-+%
-+% Dimensions to add cropmarks at corners.
-+% Added by P. A. MacKay, 12 Nov. 1986
-+%
-+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-+\newdimen\cornerlong  \cornerlong=1pc
-+\newdimen\cornerthick \cornerthick=.3pt
-+\newdimen\topandbottommargin \topandbottommargin=.75in
-+
-+% Main output routine.
-+\chardef\PAGE = 255
-+\output = {\onepageout{\pagecontents\PAGE}}
-+
-+\newbox\headlinebox
-+\newbox\footlinebox
-+
-+% \onepageout takes a vbox as an argument.  Note that \pagecontents
-+% does insertions, but you have to call it yourself.
-+\def\onepageout#1{%
-+  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
-+  %
-+  \ifodd\pageno  \advance\hoffset by \bindingoffset
-+  \else \advance\hoffset by -\bindingoffset\fi
-+  %
-+  % Do this outside of the \shipout so @code etc. will be expanded in
-+  % the headline as they should be, not taken literally (outputting ''code).
-+  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
-+  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
-+  %
-+  {%
-+    % Have to do this stuff outside the \shipout because we want it to
-+    % take effect in \write's, yet the group defined by the \vbox ends
-+    % before the \shipout runs.
-+    %
-+    \indexdummies         % don't expand commands in the output.
-+    \shipout\vbox{%
-+      % Do this early so pdf references go to the beginning of the page.
-+      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
-+      %
-+      \ifcropmarks \vbox to \outervsize\bgroup
-+        \hsize = \outerhsize
-+        \vskip-\topandbottommargin
-+        \vtop to0pt{%
-+          \line{\ewtop\hfil\ewtop}%
-+          \nointerlineskip
-+          \line{%
-+            \vbox{\moveleft\cornerthick\nstop}%
-+            \hfill
-+            \vbox{\moveright\cornerthick\nstop}%
-+          }%
-+          \vss}%
-+        \vskip\topandbottommargin
-+        \line\bgroup
-+          \hfil % center the page within the outer (page) hsize.
-+          \ifodd\pageno\hskip\bindingoffset\fi
-+          \vbox\bgroup
-+      \fi
-+      %
-+      \unvbox\headlinebox
-+      \pagebody{#1}%
-+      \ifdim\ht\footlinebox > 0pt
-+        % Only leave this space if the footline is nonempty.
-+        % (We lessened \vsize for it in \oddfootingxxx.)
-+        % The \baselineskip=24pt in plain's \makefootline has no effect.
-+        \vskip 2\baselineskip
-+        \unvbox\footlinebox
-+      \fi
-+      %
-+      \ifcropmarks
-+          \egroup % end of \vbox\bgroup
-+        \hfil\egroup % end of (centering) \line\bgroup
-+        \vskip\topandbottommargin plus1fill minus1fill
-+        \boxmaxdepth = \cornerthick
-+        \vbox to0pt{\vss
-+          \line{%
-+            \vbox{\moveleft\cornerthick\nsbot}%
-+            \hfill
-+            \vbox{\moveright\cornerthick\nsbot}%
-+          }%
-+          \nointerlineskip
-+          \line{\ewbot\hfil\ewbot}%
-+        }%
-+      \egroup % \vbox from first cropmarks clause
-+      \fi
-+    }% end of \shipout\vbox
-+  }% end of group with \indexdummies
-+  \advancepageno
-+  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
-+}
-+
-+\newinsert\margin \dimen\margin=\maxdimen
-+
-+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-+{\catcode`\@ =11
-+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-+% marginal hacks, juha@viisa.uucp (Juha Takala)
-+\ifvoid\margin\else % marginal info is present
-+  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-+\dimen@=\dp#1 \unvbox#1
-+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-+\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-+}
-+
-+% Here are the rules for the cropmarks.  Note that they are
-+% offset so that the space between them is truly \outerhsize or \outervsize
-+% (P. A. MacKay, 12 November, 1986)
-+%
-+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-+\def\nstop{\vbox
-+  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-+\def\nsbot{\vbox
-+  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-+
-+% Parse an argument, then pass it to #1.  The argument is the rest of
-+% the input line (except we remove a trailing comment).  #1 should be a
-+% macro which expects an ordinary undelimited TeX argument.
-+%
-+\def\parsearg{\parseargusing{}}
-+\def\parseargusing#1#2{%
-+  \def\next{#2}%
-+  \begingroup
-+    \obeylines
-+    \spaceisspace
-+    #1%
-+    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
-+}
-+
-+{\obeylines %
-+  \gdef\parseargline#1^^M{%
-+    \endgroup % End of the group started in \parsearg.
-+    \argremovecomment #1\comment\ArgTerm%
-+  }%
-+}
-+
-+% First remove any @comment, then any @c comment.
-+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-+
-+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
-+%
-+% \argremovec might leave us with trailing space, e.g.,
-+%    @end itemize  @c foo
-+% This space token undergoes the same procedure and is eventually removed
-+% by \finishparsearg.
-+%
-+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
-+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
-+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
-+  \def\temp{#3}%
-+  \ifx\temp\empty
-+    % We cannot use \next here, as it holds the macro to run;
-+    % thus we reuse \temp.
-+    \let\temp\finishparsearg
-+  \else
-+    \let\temp\argcheckspaces
-+  \fi
-+  % Put the space token in:
-+  \temp#1 #3\ArgTerm
-+}
-+
-+% If a _delimited_ argument is enclosed in braces, they get stripped; so
-+% to get _exactly_ the rest of the line, we had to prevent such situation.
-+% We prepended an \empty token at the very beginning and we expand it now,
-+% just before passing the control to \next.
-+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
-+% either the null string, or it ends with \^^M---thus there is no danger
-+% that a pair of braces would be stripped.
-+%
-+% But first, we have to remove the trailing space token.
-+%
-+\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
-+
-+% \parseargdef\foo{...}
-+%     is roughly equivalent to
-+% \def\foo{\parsearg\Xfoo}
-+% \def\Xfoo#1{...}
-+%
-+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-+% favourite TeX trick.  --kasal, 16nov03
-+
-+\def\parseargdef#1{%
-+  \expandafter \doparseargdef \csname\string#1\endcsname #1%
-+}
-+\def\doparseargdef#1#2{%
-+  \def#2{\parsearg#1}%
-+  \def#1##1%
-+}
-+
-+% Several utility definitions with active space:
-+{
-+  \obeyspaces
-+  \gdef\obeyedspace{ }
-+
-+  % Make each space character in the input produce a normal interword
-+  % space in the output.  Don't allow a line break at this space, as this
-+  % is used only in environments like @example, where each line of input
-+  % should produce a line of output anyway.
-+  %
-+  \gdef\sepspaces{\obeyspaces\let =\tie}
-+
-+  % If an index command is used in an @example environment, any spaces
-+  % therein should become regular spaces in the raw index file, not the
-+  % expansion of \tie (\leavevmode \penalty \@M \ ).
-+  \gdef\unsepspaces{\let =\space}
-+}
-+
-+
-+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-+
-+% Define the framework for environments in texinfo.tex.  It's used like this:
-+%
-+%   \envdef\foo{...}
-+%   \def\Efoo{...}
-+%
-+% It's the responsibility of \envdef to insert \begingroup before the
-+% actual body; @end closes the group after calling \Efoo.  \envdef also
-+% defines \thisenv, so the current environment is known; @end checks
-+% whether the environment name matches.  The \checkenv macro can also be
-+% used to check whether the current environment is the one expected.
-+%
-+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-+% are not treated as enviroments; they don't open a group.  (The
-+% implementation of @end takes care not to call \endgroup in this
-+% special case.)
-+
-+
-+% At runtime, environments start with this:
-+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
-+% initialize
-+\let\thisenv\empty
-+
-+% ... but they get defined via ``\envdef\foo{...}'':
-+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
-+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-+
-+% Check whether we're in the right environment:
-+\def\checkenv#1{%
-+  \def\temp{#1}%
-+  \ifx\thisenv\temp
-+  \else
-+    \badenverr
-+  \fi
-+}
-+
-+% Evironment mismatch, #1 expected:
-+\def\badenverr{%
-+  \errhelp = \EMsimple
-+  \errmessage{This command can appear only \inenvironment\temp,
-+    not \inenvironment\thisenv}%
-+}
-+\def\inenvironment#1{%
-+  \ifx#1\empty
-+    out of any environment%
-+  \else
-+    in environment \expandafter\string#1%
-+  \fi
-+}
-+
-+% @end foo executes the definition of \Efoo.
-+% But first, it executes a specialized version of \checkenv
-+%
-+\parseargdef\end{%
-+  \if 1\csname iscond.#1\endcsname
-+  \else
-+    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
-+    \expandafter\checkenv\csname#1\endcsname
-+    \csname E#1\endcsname
-+    \endgroup
-+  \fi
-+}
-+
-+\newhelp\EMsimple{Press RETURN to continue.}
-+
-+
-+%% Simple single-character @ commands
-+
-+% @@ prints an @
-+% Kludge this until the fonts are right (grr).
-+\def\@{{\tt\char64}}
-+
-+% This is turned off because it was never documented
-+% and you can use @w{...} around a quote to suppress ligatures.
-+%% Define @` and @' to be the same as ` and '
-+%% but suppressing ligatures.
-+%\def\`{{`}}
-+%\def\'{{'}}
-+
-+% Used to generate quoted braces.
-+\def\mylbrace {{\tt\char123}}
-+\def\myrbrace {{\tt\char125}}
-+\let\{=\mylbrace
-+\let\}=\myrbrace
-+\begingroup
-+  % Definitions to produce \{ and \} commands for indices,
-+  % and @{ and @} for the aux/toc files.
-+  \catcode`\{ = \other \catcode`\} = \other
-+  \catcode`\[ = 1 \catcode`\] = 2
-+  \catcode`\! = 0 \catcode`\\ = \other
-+  !gdef!lbracecmd[\{]%
-+  !gdef!rbracecmd[\}]%
-+  !gdef!lbraceatcmd[@{]%
-+  !gdef!rbraceatcmd[@}]%
-+!endgroup
-+
-+% @comma{} to avoid , parsing problems.
-+\let\comma = ,
-+
-+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-+\let\, = \c
-+\let\dotaccent = \.
-+\def\ringaccent#1{{\accent23 #1}}
-+\let\tieaccent = \t
-+\let\ubaraccent = \b
-+\let\udotaccent = \d
-+
-+% Other special characters: @questiondown @exclamdown @ordf @ordm
-+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-+\def\questiondown{?`}
-+\def\exclamdown{!`}
-+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-+
-+% Dotless i and dotless j, used for accents.
-+\def\imacro{i}
-+\def\jmacro{j}
-+\def\dotless#1{%
-+  \def\temp{#1}%
-+  \ifx\temp\imacro \ptexi
-+  \else\ifx\temp\jmacro \j
-+  \else \errmessage{@dotless can be used only with i or j}%
-+  \fi\fi
-+}
-+
-+% The \TeX{} logo, as in plain, but resetting the spacing so that a
-+% period following counts as ending a sentence.  (Idea found in latex.)
-+%
-+\edef\TeX{\TeX \spacefactor=1000 }
-+
-+% @LaTeX{} logo.  Not quite the same results as the definition in
-+% latex.ltx, since we use a different font for the raised A; it's most
-+% convenient for us to use an explicitly smaller font, rather than using
-+% the \scriptstyle font (since we don't reset \scriptstyle and
-+% \scriptscriptstyle).
-+%
-+\def\LaTeX{%
-+  L\kern-.36em
-+  {\setbox0=\hbox{T}%
-+   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
-+  \kern-.15em
-+  \TeX
-+}
-+
-+% Be sure we're in horizontal mode when doing a tie, since we make space
-+% equivalent to this in @example-like environments. Otherwise, a space
-+% at the beginning of a line will start with \penalty -- and
-+% since \penalty is valid in vertical mode, we'd end up putting the
-+% penalty on the vertical list instead of in the new paragraph.
-+{\catcode`@ = 11
-+ % Avoid using \@M directly, because that causes trouble
-+ % if the definition is written into an index file.
-+ \global\let\tiepenalty = \@M
-+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-+}
-+
-+% @: forces normal size whitespace following.
-+\def\:{\spacefactor=1000 }
-+
-+% @* forces a line break.
-+\def\*{\hfil\break\hbox{}\ignorespaces}
-+
-+% @/ allows a line break.
-+\let\/=\allowbreak
-+
-+% @. is an end-of-sentence period.
-+\def\.{.\spacefactor=\endofsentencespacefactor\space}
-+
-+% @! is an end-of-sentence bang.
-+\def\!{!\spacefactor=\endofsentencespacefactor\space}
-+
-+% @? is an end-of-sentence query.
-+\def\?{?\spacefactor=\endofsentencespacefactor\space}
-+
-+% @frenchspacing on|off  says whether to put extra space after punctuation.
-+% 
-+\def\onword{on}
-+\def\offword{off}
-+%
-+\parseargdef\frenchspacing{%
-+  \def\temp{#1}%
-+  \ifx\temp\onword \plainfrenchspacing
-+  \else\ifx\temp\offword \plainnonfrenchspacing
-+  \else
-+    \errhelp = \EMsimple
-+    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
-+  \fi\fi
-+}
-+
-+% @w prevents a word break.  Without the \leavevmode, @w at the
-+% beginning of a paragraph, when TeX is still in vertical mode, would
-+% produce a whole line of output instead of starting the paragraph.
-+\def\w#1{\leavevmode\hbox{#1}}
-+
-+% @group ... @end group forces ... to be all on one page, by enclosing
-+% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
-+% to keep its height that of a normal line.  According to the rules for
-+% \topskip (p.114 of the TeXbook), the glue inserted is
-+% max (\topskip - \ht (first item), 0).  If that height is large,
-+% therefore, no glue is inserted, and the space between the headline and
-+% the text is small, which looks bad.
-+%
-+% Another complication is that the group might be very large.  This can
-+% cause the glue on the previous page to be unduly stretched, because it
-+% does not have much material.  In this case, it's better to add an
-+% explicit \vfill so that the extra space is at the bottom.  The
-+% threshold for doing this is if the group is more than \vfilllimit
-+% percent of a page (\vfilllimit can be changed inside of @tex).
-+%
-+\newbox\groupbox
-+\def\vfilllimit{0.7}
-+%
-+\envdef\group{%
-+  \ifnum\catcode`\^^M=\active \else
-+    \errhelp = \groupinvalidhelp
-+    \errmessage{@group invalid in context where filling is enabled}%
-+  \fi
-+  \startsavinginserts
-+  %
-+  \setbox\groupbox = \vtop\bgroup
-+    % Do @comment since we are called inside an environment such as
-+    % @example, where each end-of-line in the input causes an
-+    % end-of-line in the output.  We don't want the end-of-line after
-+    % the `@group' to put extra space in the output.  Since @group
-+    % should appear on a line by itself (according to the Texinfo
-+    % manual), we don't worry about eating any user text.
-+    \comment
-+}
-+%
-+% The \vtop produces a box with normal height and large depth; thus, TeX puts
-+% \baselineskip glue before it, and (when the next line of text is done)
-+% \lineskip glue after it.  Thus, space below is not quite equal to space
-+% above.  But it's pretty close.
-+\def\Egroup{%
-+    % To get correct interline space between the last line of the group
-+    % and the first line afterwards, we have to propagate \prevdepth.
-+    \endgraf % Not \par, as it may have been set to \lisppar.
-+    \global\dimen1 = \prevdepth
-+  \egroup           % End the \vtop.
-+  % \dimen0 is the vertical size of the group's box.
-+  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
-+  % \dimen2 is how much space is left on the page (more or less).
-+  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
-+  % if the group doesn't fit on the current page, and it's a big big
-+  % group, force a page break.
-+  \ifdim \dimen0 > \dimen2
-+    \ifdim \pagetotal < \vfilllimit\pageheight
-+      \page
-+    \fi
-+  \fi
-+  \box\groupbox
-+  \prevdepth = \dimen1
-+  \checkinserts
-+}
-+%
-+% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-+% message, so this ends up printing `@group can only ...'.
-+%
-+\newhelp\groupinvalidhelp{%
-+group can only be used in environments such as @example,^^J%
-+where each line of input produces a line of output.}
-+
-+% @need space-in-mils
-+% forces a page break if there is not space-in-mils remaining.
-+
-+\newdimen\mil  \mil=0.001in
-+
-+% Old definition--didn't work.
-+%\parseargdef\need{\par %
-+%% This method tries to make TeX break the page naturally
-+%% if the depth of the box does not fit.
-+%{\baselineskip=0pt%
-+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-+%\prevdepth=-1000pt
-+%}}
-+
-+\parseargdef\need{%
-+  % Ensure vertical mode, so we don't make a big box in the middle of a
-+  % paragraph.
-+  \par
-+  %
-+  % If the @need value is less than one line space, it's useless.
-+  \dimen0 = #1\mil
-+  \dimen2 = \ht\strutbox
-+  \advance\dimen2 by \dp\strutbox
-+  \ifdim\dimen0 > \dimen2
-+    %
-+    % Do a \strut just to make the height of this box be normal, so the
-+    % normal leading is inserted relative to the preceding line.
-+    % And a page break here is fine.
-+    \vtop to #1\mil{\strut\vfil}%
-+    %
-+    % TeX does not even consider page breaks if a penalty added to the
-+    % main vertical list is 10000 or more.  But in order to see if the
-+    % empty box we just added fits on the page, we must make it consider
-+    % page breaks.  On the other hand, we don't want to actually break the
-+    % page after the empty box.  So we use a penalty of 9999.
-+    %
-+    % There is an extremely small chance that TeX will actually break the
-+    % page at this \penalty, if there are no other feasible breakpoints in
-+    % sight.  (If the user is using lots of big @group commands, which
-+    % almost-but-not-quite fill up a page, TeX will have a hard time doing
-+    % good page breaking, for example.)  However, I could not construct an
-+    % example where a page broke at this \penalty; if it happens in a real
-+    % document, then we can reconsider our strategy.
-+    \penalty9999
-+    %
-+    % Back up by the size of the box, whether we did a page break or not.
-+    \kern -#1\mil
-+    %
-+    % Do not allow a page break right after this kern.
-+    \nobreak
-+  \fi
-+}
-+
-+% @br   forces paragraph break (and is undocumented).
-+
-+\let\br = \par
-+
-+% @page forces the start of a new page.
-+%
-+\def\page{\par\vfill\supereject}
-+
-+% @exdent text....
-+% outputs text on separate line in roman font, starting at standard page margin
-+
-+% This records the amount of indent in the innermost environment.
-+% That's how much \exdent should take out.
-+\newskip\exdentamount
-+
-+% This defn is used inside fill environments such as @defun.
-+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
-+
-+% This defn is used inside nofill environments such as @example.
-+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
-+  \leftline{\hskip\leftskip{\rm#1}}}}
-+
-+% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
-+% paragraph.  For more general purposes, use the \margin insertion
-+% class.  WHICH is `l' or `r'.
-+%
-+\newskip\inmarginspacing \inmarginspacing=1cm
-+\def\strutdepth{\dp\strutbox}
-+%
-+\def\doinmargin#1#2{\strut\vadjust{%
-+  \nobreak
-+  \kern-\strutdepth
-+  \vtop to \strutdepth{%
-+    \baselineskip=\strutdepth
-+    \vss
-+    % if you have multiple lines of stuff to put here, you'll need to
-+    % make the vbox yourself of the appropriate size.
-+    \ifx#1l%
-+      \llap{\ignorespaces #2\hskip\inmarginspacing}%
-+    \else
-+      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
-+    \fi
-+    \null
-+  }%
-+}}
-+\def\inleftmargin{\doinmargin l}
-+\def\inrightmargin{\doinmargin r}
-+%
-+% @inmargin{TEXT [, RIGHT-TEXT]}
-+% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
-+% else use TEXT for both).
-+%
-+\def\inmargin#1{\parseinmargin #1,,\finish}
-+\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
-+  \setbox0 = \hbox{\ignorespaces #2}%
-+  \ifdim\wd0 > 0pt
-+    \def\lefttext{#1}%  have both texts
-+    \def\righttext{#2}%
-+  \else
-+    \def\lefttext{#1}%  have only one text
-+    \def\righttext{#1}%
-+  \fi
-+  %
-+  \ifodd\pageno
-+    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
-+  \else
-+    \def\temp{\inleftmargin\lefttext}%
-+  \fi
-+  \temp
-+}
-+
-+% @include file    insert text of that file as input.
-+%
-+\def\include{\parseargusing\filenamecatcodes\includezzz}
-+\def\includezzz#1{%
-+  \pushthisfilestack
-+  \def\thisfile{#1}%
-+  {%
-+    \makevalueexpandable
-+    \def\temp{\input #1 }%
-+    \expandafter
-+  }\temp
-+  \popthisfilestack
-+}
-+\def\filenamecatcodes{%
-+  \catcode`\\=\other
-+  \catcode`~=\other
-+  \catcode`^=\other
-+  \catcode`_=\other
-+  \catcode`|=\other
-+  \catcode`<=\other
-+  \catcode`>=\other
-+  \catcode`+=\other
-+  \catcode`-=\other
-+}
-+
-+\def\pushthisfilestack{%
-+  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
-+}
-+\def\pushthisfilestackX{%
-+  \expandafter\pushthisfilestackY\thisfile\StackTerm
-+}
-+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
-+  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
-+}
-+
-+\def\popthisfilestack{\errthisfilestackempty}
-+\def\errthisfilestackempty{\errmessage{Internal error:
-+  the stack of filenames is empty.}}
-+
-+\def\thisfile{}
-+
-+% @center line
-+% outputs that line, centered.
-+%
-+\parseargdef\center{%
-+  \ifhmode
-+    \let\next\centerH
-+  \else
-+    \let\next\centerV
-+  \fi
-+  \next{\hfil \ignorespaces#1\unskip \hfil}%
-+}
-+\def\centerH#1{%
-+  {%
-+    \hfil\break
-+    \advance\hsize by -\leftskip
-+    \advance\hsize by -\rightskip
-+    \line{#1}%
-+    \break
-+  }%
-+}
-+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
-+
-+% @sp n   outputs n lines of vertical space
-+
-+\parseargdef\sp{\vskip #1\baselineskip}
-+
-+% @comment ...line which is ignored...
-+% @c is the same as @comment
-+% @ignore ... @end ignore  is another way to write a comment
-+
-+\def\comment{\begingroup \catcode`\^^M=\other%
-+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-+\commentxxx}
-+{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-+
-+\let\c=\comment
-+
-+% @paragraphindent NCHARS
-+% We'll use ems for NCHARS, close enough.
-+% NCHARS can also be the word `asis' or `none'.
-+% We cannot feasibly implement @paragraphindent asis, though.
-+%
-+\def\asisword{asis} % no translation, these are keywords
-+\def\noneword{none}
-+%
-+\parseargdef\paragraphindent{%
-+  \def\temp{#1}%
-+  \ifx\temp\asisword
-+  \else
-+    \ifx\temp\noneword
-+      \defaultparindent = 0pt
-+    \else
-+      \defaultparindent = #1em
-+    \fi
-+  \fi
-+  \parindent = \defaultparindent
-+}
-+
-+% @exampleindent NCHARS
-+% We'll use ems for NCHARS like @paragraphindent.
-+% It seems @exampleindent asis isn't necessary, but
-+% I preserve it to make it similar to @paragraphindent.
-+\parseargdef\exampleindent{%
-+  \def\temp{#1}%
-+  \ifx\temp\asisword
-+  \else
-+    \ifx\temp\noneword
-+      \lispnarrowing = 0pt
-+    \else
-+      \lispnarrowing = #1em
-+    \fi
-+  \fi
-+}
-+
-+% @firstparagraphindent WORD
-+% If WORD is `none', then suppress indentation of the first paragraph
-+% after a section heading.  If WORD is `insert', then do indent at such
-+% paragraphs.
-+%
-+% The paragraph indentation is suppressed or not by calling
-+% \suppressfirstparagraphindent, which the sectioning commands do.
-+% We switch the definition of this back and forth according to WORD.
-+% By default, we suppress indentation.
-+%
-+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
-+\def\insertword{insert}
-+%
-+\parseargdef\firstparagraphindent{%
-+  \def\temp{#1}%
-+  \ifx\temp\noneword
-+    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
-+  \else\ifx\temp\insertword
-+    \let\suppressfirstparagraphindent = \relax
-+  \else
-+    \errhelp = \EMsimple
-+    \errmessage{Unknown @firstparagraphindent option `\temp'}%
-+  \fi\fi
-+}
-+
-+% Here is how we actually suppress indentation.  Redefine \everypar to
-+% \kern backwards by \parindent, and then reset itself to empty.
-+%
-+% We also make \indent itself not actually do anything until the next
-+% paragraph.
-+%
-+\gdef\dosuppressfirstparagraphindent{%
-+  \gdef\indent{%
-+    \restorefirstparagraphindent
-+    \indent
-+  }%
-+  \gdef\noindent{%
-+    \restorefirstparagraphindent
-+    \noindent
-+  }%
-+  \global\everypar = {%
-+    \kern -\parindent
-+    \restorefirstparagraphindent
-+  }%
-+}
-+
-+\gdef\restorefirstparagraphindent{%
-+  \global \let \indent = \ptexindent
-+  \global \let \noindent = \ptexnoindent
-+  \global \everypar = {}%
-+}
-+
-+
-+% @asis just yields its argument.  Used with @table, for example.
-+%
-+\def\asis#1{#1}
-+
-+% @math outputs its argument in math mode.
-+%
-+% One complication: _ usually means subscripts, but it could also mean
-+% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
-+% _ active, and distinguish by seeing if the current family is \slfam,
-+% which is what @var uses.
-+{
-+  \catcode\underChar = \active
-+  \gdef\mathunderscore{%
-+    \catcode\underChar=\active
-+    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
-+  }
-+}
-+% Another complication: we want \\ (and @\) to output a \ character.
-+% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-+% this is not advertised and we don't care.  Texinfo does not
-+% otherwise define @\.
-+%
-+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-+%
-+\def\math{%
-+  \tex
-+  \mathunderscore
-+  \let\\ = \mathbackslash
-+  \mathactive
-+  $\finishmath
-+}
-+\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
-+
-+% Some active characters (such as <) are spaced differently in math.
-+% We have to reset their definitions in case the @math was an argument
-+% to a command which sets the catcodes (such as @item or @section).
-+%
-+{
-+  \catcode`^ = \active
-+  \catcode`< = \active
-+  \catcode`> = \active
-+  \catcode`+ = \active
-+  \gdef\mathactive{%
-+    \let^ = \ptexhat
-+    \let< = \ptexless
-+    \let> = \ptexgtr
-+    \let+ = \ptexplus
-+  }
-+}
-+
-+% @bullet and @minus need the same treatment as @math, just above.
-+\def\bullet{$\ptexbullet$}
-+\def\minus{$-$}
-+
-+% @dots{} outputs an ellipsis using the current font.
-+% We do .5em per period so that it has the same spacing in a typewriter
-+% font as three actual period characters.
-+%
-+\def\dots{%
-+  \leavevmode
-+  \hbox to 1.5em{%
-+    \hskip 0pt plus 0.25fil
-+    .\hfil.\hfil.%
-+    \hskip 0pt plus 0.5fil
-+  }%
-+}
-+
-+% @enddots{} is an end-of-sentence ellipsis.
-+%
-+\def\enddots{%
-+  \dots
-+  \spacefactor=\endofsentencespacefactor
-+}
-+
-+% @comma{} is so commas can be inserted into text without messing up
-+% Texinfo's parsing.
-+%
-+\let\comma = ,
-+
-+% @refill is a no-op.
-+\let\refill=\relax
-+
-+% If working on a large document in chapters, it is convenient to
-+% be able to disable indexing, cross-referencing, and contents, for test runs.
-+% This is done with @novalidate (before @setfilename).
-+%
-+\newif\iflinks \linkstrue % by default we want the aux files.
-+\let\novalidate = \linksfalse
-+
-+% @setfilename is done at the beginning of every texinfo file.
-+% So open here the files we need to have open while reading the input.
-+% This makes it possible to make a .fmt file for texinfo.
-+\def\setfilename{%
-+   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-+   \iflinks
-+     \tryauxfile
-+     % Open the new aux file.  TeX will close it automatically at exit.
-+     \immediate\openout\auxfile=\jobname.aux
-+   \fi % \openindices needs to do some work in any case.
-+   \openindices
-+   \let\setfilename=\comment % Ignore extra @setfilename cmds.
-+   %
-+   % If texinfo.cnf is present on the system, read it.
-+   % Useful for site-wide @afourpaper, etc.
-+   \openin 1 texinfo.cnf
-+   \ifeof 1 \else \input texinfo.cnf \fi
-+   \closein 1
-+   %
-+   \comment % Ignore the actual filename.
-+}
-+
-+% Called from \setfilename.
-+%
-+\def\openindices{%
-+  \newindex{cp}%
-+  \newcodeindex{fn}%
-+  \newcodeindex{vr}%
-+  \newcodeindex{tp}%
-+  \newcodeindex{ky}%
-+  \newcodeindex{pg}%
-+}
-+
-+% @bye.
-+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-+
-+
-+\message{pdf,}
-+% adobe `portable' document format
-+\newcount\tempnum
-+\newcount\lnkcount
-+\newtoks\filename
-+\newcount\filenamelength
-+\newcount\pgn
-+\newtoks\toksA
-+\newtoks\toksB
-+\newtoks\toksC
-+\newtoks\toksD
-+\newbox\boxA
-+\newcount\countA
-+\newif\ifpdf
-+\newif\ifpdfmakepagedest
-+
-+% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-+% can be set).  So we test for \relax and 0 as well as \undefined,
-+% borrowed from ifpdf.sty.
-+\ifx\pdfoutput\undefined
-+\else
-+  \ifx\pdfoutput\relax
-+  \else
-+    \ifcase\pdfoutput
-+    \else
-+      \pdftrue
-+    \fi
-+  \fi
-+\fi
-+
-+% PDF uses PostScript string constants for the names of xref targets, to
-+% for display in the outlines, and in other places.  Thus, we have to
-+% double any backslashes.  Otherwise, a name like "\node" will be
-+% interpreted as a newline (\n), followed by o, d, e.  Not good.
-+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-+% (and related messages, the final outcome is that it is up to the TeX
-+% user to double the backslashes and otherwise make the string valid, so
-+% that's we do).
-+
-+% double active backslashes.
-+% 
-+{\catcode`\@=0 \catcode`\\=\active
-+ @gdef@activebackslash{@catcode`@\=@active @otherbackslash}
-+ @gdef@activebackslashdouble{%
-+   @catcode@backChar=@active
-+   @let\=@doublebackslash}
-+}
-+
-+% To handle parens, we must adopt a different approach, since parens are
-+% not active characters.  hyperref.dtx (which has the same problem as
-+% us) handles it with this amazing macro to replace tokens.  I've
-+% tinkered with it a little for texinfo, but it's definitely from there.
-+% 
-+% #1 is the tokens to replace.
-+% #2 is the replacement.
-+% #3 is the control sequence with the string.
-+% 
-+\def\HyPsdSubst#1#2#3{%
-+  \def\HyPsdReplace##1#1##2\END{%
-+    ##1%
-+    \ifx\\##2\\%
-+    \else
-+      #2%
-+      \HyReturnAfterFi{%
-+        \HyPsdReplace##2\END
-+      }%
-+    \fi
-+  }%
-+  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-+}
-+\long\def\HyReturnAfterFi#1\fi{\fi#1}
-+
-+% #1 is a control sequence in which to do the replacements.
-+\def\backslashparens#1{%
-+  \xdef#1{#1}% redefine it as its expansion; the definition is simply
-+             % \lastnode when called from \setref -> \pdfmkdest.
-+  \HyPsdSubst{(}{\backslashlparen}{#1}%
-+  \HyPsdSubst{)}{\backslashrparen}{#1}%
-+}
-+
-+{\catcode\exclamChar = 0 \catcode\backChar = \other
-+ !gdef!backslashlparen{\(}%
-+ !gdef!backslashrparen{\)}%
-+}
-+
-+\ifpdf
-+  \input pdfcolor
-+  \pdfcatalog{/PageMode /UseOutlines}%
-+  \def\dopdfimage#1#2#3{%
-+    \def\imagewidth{#2}%
-+    \def\imageheight{#3}%
-+    % without \immediate, pdftex seg faults when the same image is
-+    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
-+    \ifnum\pdftexversion < 14
-+      \immediate\pdfimage
-+    \else
-+      \immediate\pdfximage
-+    \fi
-+      \ifx\empty\imagewidth\else width \imagewidth \fi
-+      \ifx\empty\imageheight\else height \imageheight \fi
-+      \ifnum\pdftexversion<13
-+         #1.pdf%
-+       \else
-+         {#1.pdf}%
-+       \fi
-+    \ifnum\pdftexversion < 14 \else
-+      \pdfrefximage \pdflastximage
-+    \fi}
-+  \def\pdfmkdest#1{{%
-+    % We have to set dummies so commands such as @code, and characters
-+    % such as \, aren't expanded when present in a section title.
-+    \atdummies
-+    \activebackslashdouble
-+    \def\pdfdestname{#1}%
-+    \backslashparens\pdfdestname
-+    \pdfdest name{\pdfdestname} xyz%
-+  }}%
-+  %
-+  % used to mark target names; must be expandable.
-+  \def\pdfmkpgn#1{#1}%
-+  %
-+  \let\linkcolor = \Blue  % was Cyan, but that seems light?
-+  \def\endlink{\Black\pdfendlink}
-+  % Adding outlines to PDF; macros for calculating structure of outlines
-+  % come from Petr Olsak
-+  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
-+    \else \csname#1\endcsname \fi}
-+  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
-+    \advance\tempnum by 1
-+    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
-+  %
-+  % #1 is the section text, which is what will be displayed in the
-+  % outline by the pdf viewer.  #2 is the pdf expression for the number
-+  % of subentries (or empty, for subsubsections).  #3 is the node text,
-+  % which might be empty if this toc entry had no corresponding node.
-+  % #4 is the page number
-+  %
-+  \def\dopdfoutline#1#2#3#4{%
-+    % Generate a link to the node text if that exists; else, use the
-+    % page number.  We could generate a destination for the section
-+    % text in the case where a section has no node, but it doesn't
-+    % seem worth the trouble, since most documents are normally structured.
-+    \def\pdfoutlinedest{#3}%
-+    \ifx\pdfoutlinedest\empty
-+      \def\pdfoutlinedest{#4}%
-+    \else
-+      % Doubled backslashes in the name.
-+      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
-+       \backslashparens\pdfoutlinedest}%
-+    \fi
-+    %
-+    % Also double the backslashes in the display string.
-+    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
-+     \backslashparens\pdfoutlinetext}%
-+    %
-+    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
-+  }
-+  %
-+  \def\pdfmakeoutlines{%
-+    \begingroup
-+      % Thanh's hack / proper braces in bookmarks
-+      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
-+      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
-+      %
-+      % Read toc silently, to get counts of subentries for \pdfoutline.
-+      \def\numchapentry##1##2##3##4{%
-+      \def\thischapnum{##2}%
-+      \def\thissecnum{0}%
-+      \def\thissubsecnum{0}%
-+      }%
-+      \def\numsecentry##1##2##3##4{%
-+      \advancenumber{chap\thischapnum}%
-+      \def\thissecnum{##2}%
-+      \def\thissubsecnum{0}%
-+      }%
-+      \def\numsubsecentry##1##2##3##4{%
-+      \advancenumber{sec\thissecnum}%
-+      \def\thissubsecnum{##2}%
-+      }%
-+      \def\numsubsubsecentry##1##2##3##4{%
-+      \advancenumber{subsec\thissubsecnum}%
-+      }%
-+      \def\thischapnum{0}%
-+      \def\thissecnum{0}%
-+      \def\thissubsecnum{0}%
-+      %
-+      % use \def rather than \let here because we redefine \chapentry et
-+      % al. a second time, below.
-+      \def\appentry{\numchapentry}%
-+      \def\appsecentry{\numsecentry}%
-+      \def\appsubsecentry{\numsubsecentry}%
-+      \def\appsubsubsecentry{\numsubsubsecentry}%
-+      \def\unnchapentry{\numchapentry}%
-+      \def\unnsecentry{\numsecentry}%
-+      \def\unnsubsecentry{\numsubsecentry}%
-+      \def\unnsubsubsecentry{\numsubsubsecentry}%
-+      \readdatafile{toc}%
-+      %
-+      % Read toc second time, this time actually producing the outlines.
-+      % The `-' means take the \expnumber as the absolute number of
-+      % subentries, which we calculated on our first read of the .toc above.
-+      %
-+      % We use the node names as the destinations.
-+      \def\numchapentry##1##2##3##4{%
-+        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
-+      \def\numsecentry##1##2##3##4{%
-+        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
-+      \def\numsubsecentry##1##2##3##4{%
-+        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
-+      \def\numsubsubsecentry##1##2##3##4{% count is always zero
-+        \dopdfoutline{##1}{}{##3}{##4}}%
-+      %
-+      % PDF outlines are displayed using system fonts, instead of
-+      % document fonts.  Therefore we cannot use special characters,
-+      % since the encoding is unknown.  For example, the eogonek from
-+      % Latin 2 (0xea) gets translated to a | character.  Info from
-+      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
-+      %
-+      % xx to do this right, we have to translate 8-bit characters to
-+      % their "best" equivalent, based on the @documentencoding.  Right
-+      % now, I guess we'll just let the pdf reader have its way.
-+      \indexnofonts
-+      \setupdatafile
-+      \activebackslash
-+      \input \jobname.toc
-+    \endgroup
-+  }
-+  %
-+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
-+    \ifx\PP\D\let\nextsp\relax
-+    \else\let\nextsp\skipspaces
-+      \ifx\p\space\else\addtokens{\filename}{\PP}%
-+        \advance\filenamelength by 1
-+      \fi
-+    \fi
-+    \nextsp}
-+  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
-+  \ifnum\pdftexversion < 14
-+    \let \startlink \pdfannotlink
-+  \else
-+    \let \startlink \pdfstartlink
-+  \fi
-+  \def\pdfurl#1{%
-+    \begingroup
-+      \normalturnoffactive\def\@{@}%
-+      \makevalueexpandable
-+      \leavevmode\Red
-+      \startlink attr{/Border [0 0 0]}%
-+        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
-+    \endgroup}
-+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
-+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
-+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
-+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
-+  \def\maketoks{%
-+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
-+    \ifx\first0\adn0
-+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
-+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
-+    \else
-+      \ifnum0=\countA\else\makelink\fi
-+      \ifx\first.\let\next=\done\else
-+        \let\next=\maketoks
-+        \addtokens{\toksB}{\the\toksD}
-+        \ifx\first,\addtokens{\toksB}{\space}\fi
-+      \fi
-+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-+    \next}
-+  \def\makelink{\addtokens{\toksB}%
-+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
-+  \def\pdflink#1{%
-+    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
-+    \linkcolor #1\endlink}
-+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-+\else
-+  \let\pdfmkdest = \gobble
-+  \let\pdfurl = \gobble
-+  \let\endlink = \relax
-+  \let\linkcolor = \relax
-+  \let\pdfmakeoutlines = \relax
-+\fi  % \ifx\pdfoutput
-+
-+
-+\message{fonts,}
-+
-+% Change the current font style to #1, remembering it in \curfontstyle.
-+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-+% italics, not bold italics.
-+%
-+\def\setfontstyle#1{%
-+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-+  \csname ten#1\endcsname  % change the current font
-+}
-+
-+% Select #1 fonts with the current style.
-+%
-+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-+
-+\def\rm{\fam=0 \setfontstyle{rm}}
-+\def\it{\fam=\itfam \setfontstyle{it}}
-+\def\sl{\fam=\slfam \setfontstyle{sl}}
-+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-+\def\tt{\fam=\ttfam \setfontstyle{tt}}
-+
-+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-+% So we set up a \sf.
-+\newfam\sffam
-+\def\sf{\fam=\sffam \setfontstyle{sf}}
-+\let\li = \sf % Sometimes we call it \li, not \sf.
-+
-+% We don't need math for this font style.
-+\def\ttsl{\setfontstyle{ttsl}}
-+
-+% Default leading.
-+\newdimen\textleading  \textleading = 13.2pt
-+
-+% Set the baselineskip to #1, and the lineskip and strut size
-+% correspondingly.  There is no deep meaning behind these magic numbers
-+% used as factors; they just match (closely enough) what Knuth defined.
-+%
-+\def\lineskipfactor{.08333}
-+\def\strutheightpercent{.70833}
-+\def\strutdepthpercent {.29167}
-+%
-+\def\setleading#1{%
-+  \normalbaselineskip = #1\relax
-+  \normallineskip = \lineskipfactor\normalbaselineskip
-+  \normalbaselines
-+  \setbox\strutbox =\hbox{%
-+    \vrule width0pt height\strutheightpercent\baselineskip
-+                    depth \strutdepthpercent \baselineskip
-+  }%
-+}
-+
-+% Set the font macro #1 to the font named #2, adding on the
-+% specified font prefix (normally `cm').
-+% #3 is the font's design size, #4 is a scale factor
-+\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
-+
-+% Use cm as the default font prefix.
-+% To specify the font prefix, you must define \fontprefix
-+% before you read in texinfo.tex.
-+\ifx\fontprefix\undefined
-+\def\fontprefix{cm}
-+\fi
-+% Support font families that don't use the same naming scheme as CM.
-+\def\rmshape{r}
-+\def\rmbshape{bx}               %where the normal face is bold
-+\def\bfshape{b}
-+\def\bxshape{bx}
-+\def\ttshape{tt}
-+\def\ttbshape{tt}
-+\def\ttslshape{sltt}
-+\def\itshape{ti}
-+\def\itbshape{bxti}
-+\def\slshape{sl}
-+\def\slbshape{bxsl}
-+\def\sfshape{ss}
-+\def\sfbshape{ss}
-+\def\scshape{csc}
-+\def\scbshape{csc}
-+
-+% Text fonts (11.2pt, magstep1).
-+\def\textnominalsize{11pt}
-+\edef\mainmagstep{\magstephalf}
-+\setfont\textrm\rmshape{10}{\mainmagstep}
-+\setfont\texttt\ttshape{10}{\mainmagstep}
-+\setfont\textbf\bfshape{10}{\mainmagstep}
-+\setfont\textit\itshape{10}{\mainmagstep}
-+\setfont\textsl\slshape{10}{\mainmagstep}
-+\setfont\textsf\sfshape{10}{\mainmagstep}
-+\setfont\textsc\scshape{10}{\mainmagstep}
-+\setfont\textttsl\ttslshape{10}{\mainmagstep}
-+\font\texti=cmmi10 scaled \mainmagstep
-+\font\textsy=cmsy10 scaled \mainmagstep
-+
-+% A few fonts for @defun names and args.
-+\setfont\defbf\bfshape{10}{\magstep1}
-+\setfont\deftt\ttshape{10}{\magstep1}
-+\setfont\defttsl\ttslshape{10}{\magstep1}
-+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-+
-+% Fonts for indices, footnotes, small examples (9pt).
-+\def\smallnominalsize{9pt}
-+\setfont\smallrm\rmshape{9}{1000}
-+\setfont\smalltt\ttshape{9}{1000}
-+\setfont\smallbf\bfshape{10}{900}
-+\setfont\smallit\itshape{9}{1000}
-+\setfont\smallsl\slshape{9}{1000}
-+\setfont\smallsf\sfshape{9}{1000}
-+\setfont\smallsc\scshape{10}{900}
-+\setfont\smallttsl\ttslshape{10}{900}
-+\font\smalli=cmmi9
-+\font\smallsy=cmsy9
-+
-+% Fonts for small examples (8pt).
-+\def\smallernominalsize{8pt}
-+\setfont\smallerrm\rmshape{8}{1000}
-+\setfont\smallertt\ttshape{8}{1000}
-+\setfont\smallerbf\bfshape{10}{800}
-+\setfont\smallerit\itshape{8}{1000}
-+\setfont\smallersl\slshape{8}{1000}
-+\setfont\smallersf\sfshape{8}{1000}
-+\setfont\smallersc\scshape{10}{800}
-+\setfont\smallerttsl\ttslshape{10}{800}
-+\font\smalleri=cmmi8
-+\font\smallersy=cmsy8
-+
-+% Fonts for title page (20.4pt):
-+\def\titlenominalsize{20pt}
-+\setfont\titlerm\rmbshape{12}{\magstep3}
-+\setfont\titleit\itbshape{10}{\magstep4}
-+\setfont\titlesl\slbshape{10}{\magstep4}
-+\setfont\titlett\ttbshape{12}{\magstep3}
-+\setfont\titlettsl\ttslshape{10}{\magstep4}
-+\setfont\titlesf\sfbshape{17}{\magstep1}
-+\let\titlebf=\titlerm
-+\setfont\titlesc\scbshape{10}{\magstep4}
-+\font\titlei=cmmi12 scaled \magstep3
-+\font\titlesy=cmsy10 scaled \magstep4
-+\def\authorrm{\secrm}
-+\def\authortt{\sectt}
-+
-+% Chapter (and unnumbered) fonts (17.28pt).
-+\def\chapnominalsize{17pt}
-+\setfont\chaprm\rmbshape{12}{\magstep2}
-+\setfont\chapit\itbshape{10}{\magstep3}
-+\setfont\chapsl\slbshape{10}{\magstep3}
-+\setfont\chaptt\ttbshape{12}{\magstep2}
-+\setfont\chapttsl\ttslshape{10}{\magstep3}
-+\setfont\chapsf\sfbshape{17}{1000}
-+\let\chapbf=\chaprm
-+\setfont\chapsc\scbshape{10}{\magstep3}
-+\font\chapi=cmmi12 scaled \magstep2
-+\font\chapsy=cmsy10 scaled \magstep3
-+
-+% Section fonts (14.4pt).
-+\def\secnominalsize{14pt}
-+\setfont\secrm\rmbshape{12}{\magstep1}
-+\setfont\secit\itbshape{10}{\magstep2}
-+\setfont\secsl\slbshape{10}{\magstep2}
-+\setfont\sectt\ttbshape{12}{\magstep1}
-+\setfont\secttsl\ttslshape{10}{\magstep2}
-+\setfont\secsf\sfbshape{12}{\magstep1}
-+\let\secbf\secrm
-+\setfont\secsc\scbshape{10}{\magstep2}
-+\font\seci=cmmi12 scaled \magstep1
-+\font\secsy=cmsy10 scaled \magstep2
-+
-+% Subsection fonts (13.15pt).
-+\def\ssecnominalsize{13pt}
-+\setfont\ssecrm\rmbshape{12}{\magstephalf}
-+\setfont\ssecit\itbshape{10}{1315}
-+\setfont\ssecsl\slbshape{10}{1315}
-+\setfont\ssectt\ttbshape{12}{\magstephalf}
-+\setfont\ssecttsl\ttslshape{10}{1315}
-+\setfont\ssecsf\sfbshape{12}{\magstephalf}
-+\let\ssecbf\ssecrm
-+\setfont\ssecsc\scbshape{10}{1315}
-+\font\sseci=cmmi12 scaled \magstephalf
-+\font\ssecsy=cmsy10 scaled 1315
-+
-+% Reduced fonts for @acro in text (10pt).
-+\def\reducednominalsize{10pt}
-+\setfont\reducedrm\rmshape{10}{1000}
-+\setfont\reducedtt\ttshape{10}{1000}
-+\setfont\reducedbf\bfshape{10}{1000}
-+\setfont\reducedit\itshape{10}{1000}
-+\setfont\reducedsl\slshape{10}{1000}
-+\setfont\reducedsf\sfshape{10}{1000}
-+\setfont\reducedsc\scshape{10}{1000}
-+\setfont\reducedttsl\ttslshape{10}{1000}
-+\font\reducedi=cmmi10
-+\font\reducedsy=cmsy10
-+
-+% In order for the font changes to affect most math symbols and letters,
-+% we have to define the \textfont of the standard families.  Since
-+% texinfo doesn't allow for producing subscripts and superscripts except
-+% in the main text, we don't bother to reset \scriptfont and
-+% \scriptscriptfont (which would also require loading a lot more fonts).
-+%
-+\def\resetmathfonts{%
-+  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-+  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-+  \textfont\ttfam=\tentt \textfont\sffam=\tensf
-+}
-+
-+% The font-changing commands redefine the meanings of \tenSTYLE, instead
-+% of just \STYLE.  We do this because \STYLE needs to also set the
-+% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
-+% \tenSTYLE to set the current font.
-+%
-+% Each font-changing command also sets the names \lsize (one size lower)
-+% and \lllsize (three sizes lower).  These relative commands are used in
-+% the LaTeX logo and acronyms.
-+%
-+% This all needs generalizing, badly.
-+%
-+\def\textfonts{%
-+  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-+  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-+  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-+  \let\tenttsl=\textttsl
-+  \def\curfontsize{text}%
-+  \def\lsize{reduced}\def\lllsize{smaller}%
-+  \resetmathfonts \setleading{\textleading}}
-+\def\titlefonts{%
-+  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-+  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-+  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-+  \let\tenttsl=\titlettsl
-+  \def\curfontsize{title}%
-+  \def\lsize{chap}\def\lllsize{subsec}%
-+  \resetmathfonts \setleading{25pt}}
-+\def\titlefont#1{{\titlefonts\rm #1}}
-+\def\chapfonts{%
-+  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-+  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-+  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-+  \let\tenttsl=\chapttsl
-+  \def\curfontsize{chap}%
-+  \def\lsize{sec}\def\lllsize{text}%
-+  \resetmathfonts \setleading{19pt}}
-+\def\secfonts{%
-+  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-+  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-+  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-+  \let\tenttsl=\secttsl
-+  \def\curfontsize{sec}%
-+  \def\lsize{subsec}\def\lllsize{reduced}%
-+  \resetmathfonts \setleading{16pt}}
-+\def\subsecfonts{%
-+  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-+  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-+  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-+  \let\tenttsl=\ssecttsl
-+  \def\curfontsize{ssec}%
-+  \def\lsize{text}\def\lllsize{small}%
-+  \resetmathfonts \setleading{15pt}}
-+\let\subsubsecfonts = \subsecfonts
-+\def\reducedfonts{%
-+  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-+  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-+  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-+  \let\tenttsl=\reducedttsl
-+  \def\curfontsize{reduced}%
-+  \def\lsize{small}\def\lllsize{smaller}%
-+  \resetmathfonts \setleading{10.5pt}}
-+\def\smallfonts{%
-+  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-+  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-+  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-+  \let\tenttsl=\smallttsl
-+  \def\curfontsize{small}%
-+  \def\lsize{smaller}\def\lllsize{smaller}%
-+  \resetmathfonts \setleading{10.5pt}}
-+\def\smallerfonts{%
-+  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-+  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-+  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-+  \let\tenttsl=\smallerttsl
-+  \def\curfontsize{smaller}%
-+  \def\lsize{smaller}\def\lllsize{smaller}%
-+  \resetmathfonts \setleading{9.5pt}}
-+
-+% Set the fonts to use with the @small... environments.
-+\let\smallexamplefonts = \smallfonts
-+
-+% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
-+% can fit this many characters:
-+%   8.5x11=86   smallbook=72  a4=90  a5=69
-+% If we use \scriptfonts (8pt), then we can fit this many characters:
-+%   8.5x11=90+  smallbook=80  a4=90+  a5=77
-+% For me, subjectively, the few extra characters that fit aren't worth
-+% the additional smallness of 8pt.  So I'm making the default 9pt.
-+%
-+% By the way, for comparison, here's what fits with @example (10pt):
-+%   8.5x11=71  smallbook=60  a4=75  a5=58
-+%
-+% I wish the USA used A4 paper.
-+% --karl, 24jan03.
-+
-+
-+% Set up the default fonts, so we can use them for creating boxes.
-+%
-+\textfonts \rm
-+
-+% Define these so they can be easily changed for other fonts.
-+\def\angleleft{$\langle$}
-+\def\angleright{$\rangle$}
-+
-+% Count depth in font-changes, for error checks
-+\newcount\fontdepth \fontdepth=0
-+
-+% Fonts for short table of contents.
-+\setfont\shortcontrm\rmshape{12}{1000}
-+\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
-+\setfont\shortcontsl\slshape{12}{1000}
-+\setfont\shortconttt\ttshape{12}{1000}
-+
-+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-+%% serif) and @ii for TeX italic
-+
-+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-+% unless the following character is such as not to need one.
-+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
-+                    \ptexslash\fi\fi\fi}
-+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
-+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
-+
-+% like \smartslanted except unconditionally uses \ttsl.
-+% @var is set to this for defun arguments.
-+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-+
-+% like \smartslanted except unconditionally use \sl.  We never want
-+% ttsl for book titles, do we?
-+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
-+
-+\let\i=\smartitalic
-+\let\slanted=\smartslanted
-+\let\var=\smartslanted
-+\let\dfn=\smartslanted
-+\let\emph=\smartitalic
-+
-+% @b, explicit bold.
-+\def\b#1{{\bf #1}}
-+\let\strong=\b
-+
-+% @sansserif, explicit sans.
-+\def\sansserif#1{{\sf #1}}
-+
-+% We can't just use \exhyphenpenalty, because that only has effect at
-+% the end of a paragraph.  Restore normal hyphenation at the end of the
-+% group within which \nohyphenation is presumably called.
-+%
-+\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
-+\def\restorehyphenation{\hyphenchar\font = `- }
-+
-+% Set sfcode to normal for the chars that usually have another value.
-+% Can't use plain's \frenchspacing because it uses the `\x notation, and
-+% sometimes \x has an active definition that messes things up.
-+%
-+\catcode`@=11
-+  \def\plainfrenchspacing{%
-+    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-+    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
-+    \def\endofsentencespacefactor{1000}% for @. and friends
-+  }
-+  \def\plainnonfrenchspacing{%
-+    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
-+    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
-+    \def\endofsentencespacefactor{3000}% for @. and friends
-+  }
-+\catcode`@=\other
-+\def\endofsentencespacefactor{3000}% default
-+
-+\def\t#1{%
-+  {\tt \rawbackslash \plainfrenchspacing #1}%
-+  \null
-+}
-+\def\samp#1{`\tclose{#1}'\null}
-+\setfont\keyrm\rmshape{8}{1000}
-+\font\keysy=cmsy9
-+\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-+  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-+    \vbox{\hrule\kern-0.4pt
-+     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-+    \kern-0.4pt\hrule}%
-+  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-+% The old definition, with no lozenge:
-+%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
-+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-+
-+% @file, @option are the same as @samp.
-+\let\file=\samp
-+\let\option=\samp
-+
-+% @code is a modification of @t,
-+% which makes spaces the same size as normal in the surrounding text.
-+\def\tclose#1{%
-+  {%
-+    % Change normal interword space to be same as for the current font.
-+    \spaceskip = \fontdimen2\font
-+    %
-+    % Switch to typewriter.
-+    \tt
-+    %
-+    % But `\ ' produces the large typewriter interword space.
-+    \def\ {{\spaceskip = 0pt{} }}%
-+    %
-+    % Turn off hyphenation.
-+    \nohyphenation
-+    %
-+    \rawbackslash
-+    \plainfrenchspacing
-+    #1%
-+  }%
-+  \null
-+}
-+
-+% We *must* turn on hyphenation at `-' and `_' in @code.
-+% Otherwise, it is too hard to avoid overfull hboxes
-+% in the Emacs manual, the Library manual, etc.
-+
-+% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-+% both hyphenation at - and hyphenation within words.
-+% We must therefore turn them both off (\tclose does that)
-+% and arrange explicitly to hyphenate at a dash.
-+%  -- rms.
-+{
-+  \catcode`\-=\active
-+  \catcode`\_=\active
-+  %
-+  \global\def\code{\begingroup
-+    \catcode`\-=\active  \catcode`\_=\active
-+    \ifallowcodebreaks
-+     \let-\codedash
-+     \let_\codeunder
-+    \else
-+     \let-\realdash
-+     \let_\realunder
-+    \fi
-+    \codex
-+  }
-+}
-+
-+\def\realdash{-}
-+\def\codedash{-\discretionary{}{}{}}
-+\def\codeunder{%
-+  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
-+  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
-+  % will therefore expand the active definition of _, which is us
-+  % (inside @code that is), therefore an endless loop.
-+  \ifusingtt{\ifmmode
-+               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
-+             \else\normalunderscore \fi
-+             \discretionary{}{}{}}%
-+            {\_}%
-+}
-+\def\codex #1{\tclose{#1}\endgroup}
-+
-+% An additional complication: the above will allow breaks after, e.g.,
-+% each of the four underscores in __typeof__.  This is undesirable in
-+% some manuals, especially if they don't have long identifiers in
-+% general.  @allowcodebreaks provides a way to control this.
-+% 
-+\newif\ifallowcodebreaks  \allowcodebreakstrue
-+
-+\def\keywordtrue{true}
-+\def\keywordfalse{false}
-+
-+\parseargdef\allowcodebreaks{%
-+  \def\txiarg{#1}%
-+  \ifx\txiarg\keywordtrue
-+    \allowcodebreakstrue
-+  \else\ifx\txiarg\keywordfalse
-+    \allowcodebreaksfalse
-+  \else
-+    \errhelp = \EMsimple
-+    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
-+  \fi\fi
-+}
-+
-+% @kbd is like @code, except that if the argument is just one @key command,
-+% then @kbd has no effect.
-+
-+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-+%   `example' (@kbd uses ttsl only inside of @example and friends),
-+%   or `code' (@kbd uses normal tty font always).
-+\parseargdef\kbdinputstyle{%
-+  \def\txiarg{#1}%
-+  \ifx\txiarg\worddistinct
-+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
-+  \else\ifx\txiarg\wordexample
-+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
-+  \else\ifx\txiarg\wordcode
-+    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
-+  \else
-+    \errhelp = \EMsimple
-+    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
-+  \fi\fi\fi
-+}
-+\def\worddistinct{distinct}
-+\def\wordexample{example}
-+\def\wordcode{code}
-+
-+% Default is `distinct.'
-+\kbdinputstyle distinct
-+
-+\def\xkey{\key}
-+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-+\ifx\one\xkey\ifx\threex\three \key{#2}%
-+\else{\tclose{\kbdfont\look}}\fi
-+\else{\tclose{\kbdfont\look}}\fi}
-+
-+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-+\let\indicateurl=\code
-+\let\env=\code
-+\let\command=\code
-+
-+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-+% second argument specifying the text to display and an optional third
-+% arg as text to display instead of (rather than in addition to) the url
-+% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
-+% a hypertex \special here.
-+%
-+\def\uref#1{\douref #1,,,\finish}
-+\def\douref#1,#2,#3,#4\finish{\begingroup
-+  \unsepspaces
-+  \pdfurl{#1}%
-+  \setbox0 = \hbox{\ignorespaces #3}%
-+  \ifdim\wd0 > 0pt
-+    \unhbox0 % third arg given, show only that
-+  \else
-+    \setbox0 = \hbox{\ignorespaces #2}%
-+    \ifdim\wd0 > 0pt
-+      \ifpdf
-+        \unhbox0             % PDF: 2nd arg given, show only it
-+      \else
-+        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
-+      \fi
-+    \else
-+      \code{#1}% only url given, so show it
-+    \fi
-+  \fi
-+  \endlink
-+\endgroup}
-+
-+% @url synonym for @uref, since that's how everyone uses it.
-+%
-+\let\url=\uref
-+
-+% rms does not like angle brackets --karl, 17may97.
-+% So now @email is just like @uref, unless we are pdf.
-+%
-+%\def\email#1{\angleleft{\tt #1}\angleright}
-+\ifpdf
-+  \def\email#1{\doemail#1,,\finish}
-+  \def\doemail#1,#2,#3\finish{\begingroup
-+    \unsepspaces
-+    \pdfurl{mailto:#1}%
-+    \setbox0 = \hbox{\ignorespaces #2}%
-+    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
-+    \endlink
-+  \endgroup}
-+\else
-+  \let\email=\uref
-+\fi
-+
-+% Check if we are currently using a typewriter font.  Since all the
-+% Computer Modern typewriter fonts have zero interword stretch (and
-+% shrink), and it is reasonable to expect all typewriter fonts to have
-+% this property, we can check that font parameter.
-+%
-+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-+
-+% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
-+% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
-+%
-+\def\dmn#1{\thinspace #1}
-+
-+\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-+
-+% @l was never documented to mean ``switch to the Lisp font'',
-+% and it is not used as such in any manual I can find.  We need it for
-+% Polish suppressed-l.  --karl, 22sep96.
-+%\def\l#1{{\li #1}\null}
-+
-+% Explicit font changes: @r, @sc, undocumented @ii.
-+\def\r#1{{\rm #1}}              % roman font
-+\def\sc#1{{\smallcaps#1}}       % smallcaps font
-+\def\ii#1{{\it #1}}             % italic font
-+
-+% @acronym for "FBI", "NATO", and the like.
-+% We print this one point size smaller, since it's intended for
-+% all-uppercase.
-+% 
-+\def\acronym#1{\doacronym #1,,\finish}
-+\def\doacronym#1,#2,#3\finish{%
-+  {\selectfonts\lsize #1}%
-+  \def\temp{#2}%
-+  \ifx\temp\empty \else
-+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-+  \fi
-+}
-+
-+% @abbr for "Comput. J." and the like.
-+% No font change, but don't do end-of-sentence spacing.
-+% 
-+\def\abbr#1{\doabbr #1,,\finish}
-+\def\doabbr#1,#2,#3\finish{%
-+  {\plainfrenchspacing #1}%
-+  \def\temp{#2}%
-+  \ifx\temp\empty \else
-+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-+  \fi
-+}
-+
-+% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
-+%
-+\def\pounds{{\it\$}}
-+
-+% @euro{} comes from a separate font, depending on the current style.
-+% We use the free feym* fonts from the eurosym package by Henrik
-+% Theiling, which support regular, slanted, bold and bold slanted (and
-+% "outlined" (blackboard board, sort of) versions, which we don't need).
-+% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
-+% 
-+% Although only regular is the truly official Euro symbol, we ignore
-+% that.  The Euro is designed to be slightly taller than the regular
-+% font height.
-+% 
-+% feymr - regular
-+% feymo - slanted
-+% feybr - bold
-+% feybo - bold slanted
-+% 
-+% There is no good (free) typewriter version, to my knowledge.
-+% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
-+% Hmm.
-+% 
-+% Also doesn't work in math.  Do we need to do math with euro symbols?
-+% Hope not.
-+% 
-+% 
-+\def\euro{{\eurofont e}}
-+\def\eurofont{%
-+  % We set the font at each command, rather than predefining it in
-+  % \textfonts and the other font-switching commands, so that
-+  % installations which never need the symbol don't have to have the
-+  % font installed.
-+  % 
-+  % There is only one designed size (nominal 10pt), so we always scale
-+  % that to the current nominal size.
-+  % 
-+  % By the way, simply using "at 1em" works for cmr10 and the like, but
-+  % does not work for cmbx10 and other extended/shrunken fonts.
-+  % 
-+  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
-+  %
-+  \ifx\curfontstyle\bfstylename 
-+    % bold:
-+    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
-+  \else 
-+    % regular:
-+    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
-+  \fi
-+  \thiseurofont
-+}
-+
-+% @registeredsymbol - R in a circle.  The font for the R should really
-+% be smaller yet, but lllsize is the best we can do for now.
-+% Adapted from the plain.tex definition of \copyright.
-+%
-+\def\registeredsymbol{%
-+  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
-+               \hfil\crcr\Orb}}%
-+    }$%
-+}
-+
-+% Laurent Siebenmann reports \Orb undefined with:
-+%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
-+% so we'll define it if necessary.
-+% 
-+\ifx\Orb\undefined
-+\def\Orb{\mathhexbox20D}
-+\fi
-+
-+
-+\message{page headings,}
-+
-+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-+
-+% First the title page.  Must do @settitle before @titlepage.
-+\newif\ifseenauthor
-+\newif\iffinishedtitlepage
-+
-+% Do an implicit @contents or @shortcontents after @end titlepage if the
-+% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-+%
-+\newif\ifsetcontentsaftertitlepage
-+ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-+\newif\ifsetshortcontentsaftertitlepage
-+ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-+
-+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
-+        \endgroup\page\hbox{}\page}
-+
-+\envdef\titlepage{%
-+  % Open one extra group, as we want to close it in the middle of \Etitlepage.
-+  \begingroup
-+    \parindent=0pt \textfonts
-+    % Leave some space at the very top of the page.
-+    \vglue\titlepagetopglue
-+    % No rule at page bottom unless we print one at the top with @title.
-+    \finishedtitlepagetrue
-+    %
-+    % Most title ``pages'' are actually two pages long, with space
-+    % at the top of the second.  We don't want the ragged left on the second.
-+    \let\oldpage = \page
-+    \def\page{%
-+      \iffinishedtitlepage\else
-+       \finishtitlepage
-+      \fi
-+      \let\page = \oldpage
-+      \page
-+      \null
-+    }%
-+}
-+
-+\def\Etitlepage{%
-+    \iffinishedtitlepage\else
-+      \finishtitlepage
-+    \fi
-+    % It is important to do the page break before ending the group,
-+    % because the headline and footline are only empty inside the group.
-+    % If we use the new definition of \page, we always get a blank page
-+    % after the title page, which we certainly don't want.
-+    \oldpage
-+  \endgroup
-+  %
-+  % Need this before the \...aftertitlepage checks so that if they are
-+  % in effect the toc pages will come out with page numbers.
-+  \HEADINGSon
-+  %
-+  % If they want short, they certainly want long too.
-+  \ifsetshortcontentsaftertitlepage
-+    \shortcontents
-+    \contents
-+    \global\let\shortcontents = \relax
-+    \global\let\contents = \relax
-+  \fi
-+  %
-+  \ifsetcontentsaftertitlepage
-+    \contents
-+    \global\let\contents = \relax
-+    \global\let\shortcontents = \relax
-+  \fi
-+}
-+
-+\def\finishtitlepage{%
-+  \vskip4pt \hrule height 2pt width \hsize
-+  \vskip\titlepagebottomglue
-+  \finishedtitlepagetrue
-+}
-+
-+%%% Macros to be used within @titlepage:
-+
-+\let\subtitlerm=\tenrm
-+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-+
-+\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
-+              \let\tt=\authortt}
-+
-+\parseargdef\title{%
-+  \checkenv\titlepage
-+  \leftline{\titlefonts\rm #1}
-+  % print a rule at the page bottom also.
-+  \finishedtitlepagefalse
-+  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
-+}
-+
-+\parseargdef\subtitle{%
-+  \checkenv\titlepage
-+  {\subtitlefont \rightline{#1}}%
-+}
-+
-+% @author should come last, but may come many times.
-+% It can also be used inside @quotation.
-+%
-+\parseargdef\author{%
-+  \def\temp{\quotation}%
-+  \ifx\thisenv\temp
-+    \def\quotationauthor{#1}% printed in \Equotation.
-+  \else
-+    \checkenv\titlepage
-+    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-+    {\authorfont \leftline{#1}}%
-+  \fi
-+}
-+
-+
-+%%% Set up page headings and footings.
-+
-+\let\thispage=\folio
-+
-+\newtoks\evenheadline    % headline on even pages
-+\newtoks\oddheadline     % headline on odd pages
-+\newtoks\evenfootline    % footline on even pages
-+\newtoks\oddfootline     % footline on odd pages
-+
-+% Now make TeX use those variables
-+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
-+                            \else \the\evenheadline \fi}}
-+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-+                            \else \the\evenfootline \fi}\HEADINGShook}
-+\let\HEADINGShook=\relax
-+
-+% Commands to set those variables.
-+% For example, this is what  @headings on  does
-+% @evenheading @thistitle|@thispage|@thischapter
-+% @oddheading @thischapter|@thispage|@thistitle
-+% @evenfooting @thisfile||
-+% @oddfooting ||@thisfile
-+
-+
-+\def\evenheading{\parsearg\evenheadingxxx}
-+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
-+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
-+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-+
-+\def\oddheading{\parsearg\oddheadingxxx}
-+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
-+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
-+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-+
-+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-+
-+\def\evenfooting{\parsearg\evenfootingxxx}
-+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
-+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
-+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-+
-+\def\oddfooting{\parsearg\oddfootingxxx}
-+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
-+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
-+  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
-+  %
-+  % Leave some space for the footline.  Hopefully ok to assume
-+  % @evenfooting will not be used by itself.
-+  \global\advance\pageheight by -\baselineskip
-+  \global\advance\vsize by -\baselineskip
-+}
-+
-+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-+
-+
-+% @headings double      turns headings on for double-sided printing.
-+% @headings single      turns headings on for single-sided printing.
-+% @headings off         turns them off.
-+% @headings on          same as @headings double, retained for compatibility.
-+% @headings after       turns on double-sided headings after this page.
-+% @headings doubleafter turns on double-sided headings after this page.
-+% @headings singleafter turns on single-sided headings after this page.
-+% By default, they are off at the start of a document,
-+% and turned `on' after @end titlepage.
-+
-+\def\headings #1 {\csname HEADINGS#1\endcsname}
-+
-+\def\HEADINGSoff{%
-+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-+\HEADINGSoff
-+% When we turn headings on, set the page number to 1.
-+% For double-sided printing, put current file name in lower left corner,
-+% chapter name on inside top of right hand pages, document
-+% title on inside top of left hand pages, and page numbers on outside top
-+% edge of all pages.
-+\def\HEADINGSdouble{%
-+\global\pageno=1
-+\global\evenfootline={\hfil}
-+\global\oddfootline={\hfil}
-+\global\evenheadline={\line{\folio\hfil\thistitle}}
-+\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\let\contentsalignmacro = \chapoddpage
-+}
-+\let\contentsalignmacro = \chappager
-+
-+% For single-sided printing, chapter title goes across top left of page,
-+% page number on top right.
-+\def\HEADINGSsingle{%
-+\global\pageno=1
-+\global\evenfootline={\hfil}
-+\global\oddfootline={\hfil}
-+\global\evenheadline={\line{\thischapter\hfil\folio}}
-+\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\let\contentsalignmacro = \chappager
-+}
-+\def\HEADINGSon{\HEADINGSdouble}
-+
-+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-+\let\HEADINGSdoubleafter=\HEADINGSafter
-+\def\HEADINGSdoublex{%
-+\global\evenfootline={\hfil}
-+\global\oddfootline={\hfil}
-+\global\evenheadline={\line{\folio\hfil\thistitle}}
-+\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\let\contentsalignmacro = \chapoddpage
-+}
-+
-+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-+\def\HEADINGSsinglex{%
-+\global\evenfootline={\hfil}
-+\global\oddfootline={\hfil}
-+\global\evenheadline={\line{\thischapter\hfil\folio}}
-+\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\let\contentsalignmacro = \chappager
-+}
-+
-+% Subroutines used in generating headings
-+% This produces Day Month Year style of output.
-+% Only define if not already defined, in case a txi-??.tex file has set
-+% up a different format (e.g., txi-cs.tex does this).
-+\ifx\today\undefined
-+\def\today{%
-+  \number\day\space
-+  \ifcase\month
-+  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
-+  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
-+  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
-+  \fi
-+  \space\number\year}
-+\fi
-+
-+% @settitle line...  specifies the title of the document, for headings.
-+% It generates no output of its own.
-+\def\thistitle{\putwordNoTitle}
-+\def\settitle{\parsearg{\gdef\thistitle}}
-+
-+
-+\message{tables,}
-+% Tables -- @table, @ftable, @vtable, @item(x).
-+
-+% default indentation of table text
-+\newdimen\tableindent \tableindent=.8in
-+% default indentation of @itemize and @enumerate text
-+\newdimen\itemindent  \itemindent=.3in
-+% margin between end of table item and start of table text.
-+\newdimen\itemmargin  \itemmargin=.1in
-+
-+% used internally for \itemindent minus \itemmargin
-+\newdimen\itemmax
-+
-+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
-+% these defs.
-+% They also define \itemindex
-+% to index the item name in whatever manner is desired (perhaps none).
-+
-+\newif\ifitemxneedsnegativevskip
-+
-+\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
-+
-+\def\internalBitem{\smallbreak \parsearg\itemzzz}
-+\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-+
-+\def\itemzzz #1{\begingroup %
-+  \advance\hsize by -\rightskip
-+  \advance\hsize by -\tableindent
-+  \setbox0=\hbox{\itemindicate{#1}}%
-+  \itemindex{#1}%
-+  \nobreak % This prevents a break before @itemx.
-+  %
-+  % If the item text does not fit in the space we have, put it on a line
-+  % by itself, and do not allow a page break either before or after that
-+  % line.  We do not start a paragraph here because then if the next
-+  % command is, e.g., @kindex, the whatsit would get put into the
-+  % horizontal list on a line by itself, resulting in extra blank space.
-+  \ifdim \wd0>\itemmax
-+    %
-+    % Make this a paragraph so we get the \parskip glue and wrapping,
-+    % but leave it ragged-right.
-+    \begingroup
-+      \advance\leftskip by-\tableindent
-+      \advance\hsize by\tableindent
-+      \advance\rightskip by0pt plus1fil
-+      \leavevmode\unhbox0\par
-+    \endgroup
-+    %
-+    % We're going to be starting a paragraph, but we don't want the
-+    % \parskip glue -- logically it's part of the @item we just started.
-+    \nobreak \vskip-\parskip
-+    %
-+    % Stop a page break at the \parskip glue coming up.  However, if
-+    % what follows is an environment such as @example, there will be no
-+    % \parskip glue; then the negative vskip we just inserted would
-+    % cause the example and the item to crash together.  So we use this
-+    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
-+    % \parskip glue after all.  Section titles are handled this way also.
-+    % 
-+    \penalty 10001
-+    \endgroup
-+    \itemxneedsnegativevskipfalse
-+  \else
-+    % The item text fits into the space.  Start a paragraph, so that the
-+    % following text (if any) will end up on the same line.
-+    \noindent
-+    % Do this with kerns and \unhbox so that if there is a footnote in
-+    % the item text, it can migrate to the main vertical list and
-+    % eventually be printed.
-+    \nobreak\kern-\tableindent
-+    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
-+    \unhbox0
-+    \nobreak\kern\dimen0
-+    \endgroup
-+    \itemxneedsnegativevskiptrue
-+  \fi
-+}
-+
-+\def\item{\errmessage{@item while not in a list environment}}
-+\def\itemx{\errmessage{@itemx while not in a list environment}}
-+
-+% @table, @ftable, @vtable.
-+\envdef\table{%
-+  \let\itemindex\gobble
-+  \tablecheck{table}%
-+}
-+\envdef\ftable{%
-+  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
-+  \tablecheck{ftable}%
-+}
-+\envdef\vtable{%
-+  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
-+  \tablecheck{vtable}%
-+}
-+\def\tablecheck#1{%
-+  \ifnum \the\catcode`\^^M=\active
-+    \endgroup
-+    \errmessage{This command won't work in this context; perhaps the problem is
-+      that we are \inenvironment\thisenv}%
-+    \def\next{\doignore{#1}}%
-+  \else
-+    \let\next\tablex
-+  \fi
-+  \next
-+}
-+\def\tablex#1{%
-+  \def\itemindicate{#1}%
-+  \parsearg\tabley
-+}
-+\def\tabley#1{%
-+  {%
-+    \makevalueexpandable
-+    \edef\temp{\noexpand\tablez #1\space\space\space}%
-+    \expandafter
-+  }\temp \endtablez
-+}
-+\def\tablez #1 #2 #3 #4\endtablez{%
-+  \aboveenvbreak
-+  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
-+  \ifnum 0#2>0 \tableindent=#2\mil \fi
-+  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
-+  \itemmax=\tableindent
-+  \advance \itemmax by -\itemmargin
-+  \advance \leftskip by \tableindent
-+  \exdentamount=\tableindent
-+  \parindent = 0pt
-+  \parskip = \smallskipamount
-+  \ifdim \parskip=0pt \parskip=2pt \fi
-+  \let\item = \internalBitem
-+  \let\itemx = \internalBitemx
-+}
-+\def\Etable{\endgraf\afterenvbreak}
-+\let\Eftable\Etable
-+\let\Evtable\Etable
-+\let\Eitemize\Etable
-+\let\Eenumerate\Etable
-+
-+% This is the counter used by @enumerate, which is really @itemize
-+
-+\newcount \itemno
-+
-+\envdef\itemize{\parsearg\doitemize}
-+
-+\def\doitemize#1{%
-+  \aboveenvbreak
-+  \itemmax=\itemindent
-+  \advance\itemmax by -\itemmargin
-+  \advance\leftskip by \itemindent
-+  \exdentamount=\itemindent
-+  \parindent=0pt
-+  \parskip=\smallskipamount
-+  \ifdim\parskip=0pt \parskip=2pt \fi
-+  \def\itemcontents{#1}%
-+  % @itemize with no arg is equivalent to @itemize @bullet.
-+  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
-+  \let\item=\itemizeitem
-+}
-+
-+% Definition of @item while inside @itemize and @enumerate.
-+%
-+\def\itemizeitem{%
-+  \advance\itemno by 1  % for enumerations
-+  {\let\par=\endgraf \smallbreak}% reasonable place to break
-+  {%
-+   % If the document has an @itemize directly after a section title, a
-+   % \nobreak will be last on the list, and \sectionheading will have
-+   % done a \vskip-\parskip.  In that case, we don't want to zero
-+   % parskip, or the item text will crash with the heading.  On the
-+   % other hand, when there is normal text preceding the item (as there
-+   % usually is), we do want to zero parskip, or there would be too much
-+   % space.  In that case, we won't have a \nobreak before.  At least
-+   % that's the theory.
-+   \ifnum\lastpenalty<10000 \parskip=0in \fi
-+   \noindent
-+   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
-+   \vadjust{\penalty 1200}}% not good to break after first line of item.
-+  \flushcr
-+}
-+
-+% \splitoff TOKENS\endmark defines \first to be the first token in
-+% TOKENS, and \rest to be the remainder.
-+%
-+\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-+
-+% Allow an optional argument of an uppercase letter, lowercase letter,
-+% or number, to specify the first label in the enumerated list.  No
-+% argument is the same as `1'.
-+%
-+\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
-+\def\enumeratey #1 #2\endenumeratey{%
-+  % If we were given no argument, pretend we were given `1'.
-+  \def\thearg{#1}%
-+  \ifx\thearg\empty \def\thearg{1}\fi
-+  %
-+  % Detect if the argument is a single token.  If so, it might be a
-+  % letter.  Otherwise, the only valid thing it can be is a number.
-+  % (We will always have one token, because of the test we just made.
-+  % This is a good thing, since \splitoff doesn't work given nothing at
-+  % all -- the first parameter is undelimited.)
-+  \expandafter\splitoff\thearg\endmark
-+  \ifx\rest\empty
-+    % Only one token in the argument.  It could still be anything.
-+    % A ``lowercase letter'' is one whose \lccode is nonzero.
-+    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
-+    %   not equal to itself.
-+    % Otherwise, we assume it's a number.
-+    %
-+    % We need the \relax at the end of the \ifnum lines to stop TeX from
-+    % continuing to look for a <number>.
-+    %
-+    \ifnum\lccode\expandafter`\thearg=0\relax
-+      \numericenumerate % a number (we hope)
-+    \else
-+      % It's a letter.
-+      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
-+        \lowercaseenumerate % lowercase letter
-+      \else
-+        \uppercaseenumerate % uppercase letter
-+      \fi
-+    \fi
-+  \else
-+    % Multiple tokens in the argument.  We hope it's a number.
-+    \numericenumerate
-+  \fi
-+}
-+
-+% An @enumerate whose labels are integers.  The starting integer is
-+% given in \thearg.
-+%
-+\def\numericenumerate{%
-+  \itemno = \thearg
-+  \startenumeration{\the\itemno}%
-+}
-+
-+% The starting (lowercase) letter is in \thearg.
-+\def\lowercaseenumerate{%
-+  \itemno = \expandafter`\thearg
-+  \startenumeration{%
-+    % Be sure we're not beyond the end of the alphabet.
-+    \ifnum\itemno=0
-+      \errmessage{No more lowercase letters in @enumerate; get a bigger
-+                  alphabet}%
-+    \fi
-+    \char\lccode\itemno
-+  }%
-+}
-+
-+% The starting (uppercase) letter is in \thearg.
-+\def\uppercaseenumerate{%
-+  \itemno = \expandafter`\thearg
-+  \startenumeration{%
-+    % Be sure we're not beyond the end of the alphabet.
-+    \ifnum\itemno=0
-+      \errmessage{No more uppercase letters in @enumerate; get a bigger
-+                  alphabet}
-+    \fi
-+    \char\uccode\itemno
-+  }%
-+}
-+
-+% Call \doitemize, adding a period to the first argument and supplying the
-+% common last two arguments.  Also subtract one from the initial value in
-+% \itemno, since @item increments \itemno.
-+%
-+\def\startenumeration#1{%
-+  \advance\itemno by -1
-+  \doitemize{#1.}\flushcr
-+}
-+
-+% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-+% to @enumerate.
-+%
-+\def\alphaenumerate{\enumerate{a}}
-+\def\capsenumerate{\enumerate{A}}
-+\def\Ealphaenumerate{\Eenumerate}
-+\def\Ecapsenumerate{\Eenumerate}
-+
-+
-+% @multitable macros
-+% Amy Hendrickson, 8/18/94, 3/6/96
-+%
-+% @multitable ... @end multitable will make as many columns as desired.
-+% Contents of each column will wrap at width given in preamble.  Width
-+% can be specified either with sample text given in a template line,
-+% or in percent of \hsize, the current width of text on page.
-+
-+% Table can continue over pages but will only break between lines.
-+
-+% To make preamble:
-+%
-+% Either define widths of columns in terms of percent of \hsize:
-+%   @multitable @columnfractions .25 .3 .45
-+%   @item ...
-+%
-+%   Numbers following @columnfractions are the percent of the total
-+%   current hsize to be used for each column. You may use as many
-+%   columns as desired.
-+
-+
-+% Or use a template:
-+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-+%   @item ...
-+%   using the widest term desired in each column.
-+
-+% Each new table line starts with @item, each subsequent new column
-+% starts with @tab. Empty columns may be produced by supplying @tab's
-+% with nothing between them for as many times as empty columns are needed,
-+% ie, @tab@tab@tab will produce two empty columns.
-+
-+% @item, @tab do not need to be on their own lines, but it will not hurt
-+% if they are.
-+
-+% Sample multitable:
-+
-+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-+%   @item first col stuff @tab second col stuff @tab third col
-+%   @item
-+%   first col stuff
-+%   @tab
-+%   second col stuff
-+%   @tab
-+%   third col
-+%   @item first col stuff @tab second col stuff
-+%   @tab Many paragraphs of text may be used in any column.
-+%
-+%         They will wrap at the width determined by the template.
-+%   @item@tab@tab This will be in third column.
-+%   @end multitable
-+
-+% Default dimensions may be reset by user.
-+% @multitableparskip is vertical space between paragraphs in table.
-+% @multitableparindent is paragraph indent in table.
-+% @multitablecolmargin is horizontal space to be left between columns.
-+% @multitablelinespace is space to leave between table items, baseline
-+%                                                            to baseline.
-+%   0pt means it depends on current normal line spacing.
-+%
-+\newskip\multitableparskip
-+\newskip\multitableparindent
-+\newdimen\multitablecolspace
-+\newskip\multitablelinespace
-+\multitableparskip=0pt
-+\multitableparindent=6pt
-+\multitablecolspace=12pt
-+\multitablelinespace=0pt
-+
-+% Macros used to set up halign preamble:
-+%
-+\let\endsetuptable\relax
-+\def\xendsetuptable{\endsetuptable}
-+\let\columnfractions\relax
-+\def\xcolumnfractions{\columnfractions}
-+\newif\ifsetpercent
-+
-+% #1 is the @columnfraction, usually a decimal number like .5, but might
-+% be just 1.  We just use it, whatever it is.
-+%
-+\def\pickupwholefraction#1 {%
-+  \global\advance\colcount by 1
-+  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
-+  \setuptable
-+}
-+
-+\newcount\colcount
-+\def\setuptable#1{%
-+  \def\firstarg{#1}%
-+  \ifx\firstarg\xendsetuptable
-+    \let\go = \relax
-+  \else
-+    \ifx\firstarg\xcolumnfractions
-+      \global\setpercenttrue
-+    \else
-+      \ifsetpercent
-+         \let\go\pickupwholefraction
-+      \else
-+         \global\advance\colcount by 1
-+         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
-+                   % separator; typically that is always in the input, anyway.
-+         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
-+      \fi
-+    \fi
-+    \ifx\go\pickupwholefraction
-+      % Put the argument back for the \pickupwholefraction call, so
-+      % we'll always have a period there to be parsed.
-+      \def\go{\pickupwholefraction#1}%
-+    \else
-+      \let\go = \setuptable
-+    \fi%
-+  \fi
-+  \go
-+}
-+
-+% multitable-only commands.
-+%
-+% @headitem starts a heading row, which we typeset in bold.
-+% Assignments have to be global since we are inside the implicit group
-+% of an alignment entry.  Note that \everycr resets \everytab.
-+\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
-+%
-+% A \tab used to include \hskip1sp.  But then the space in a template
-+% line is not enough.  That is bad.  So let's go back to just `&' until
-+% we encounter the problem it was intended to solve again.
-+%                                     --karl, nathan@acm.org, 20apr99.
-+\def\tab{\checkenv\multitable &\the\everytab}%
-+
-+% @multitable ... @end multitable definitions:
-+%
-+\newtoks\everytab  % insert after every tab.
-+%
-+\envdef\multitable{%
-+  \vskip\parskip
-+  \startsavinginserts
-+  %
-+  % @item within a multitable starts a normal row.
-+  % We use \def instead of \let so that if one of the multitable entries
-+  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
-+  % \endtemplate) expanding \doitemize.
-+  \def\item{\crcr}%
-+  %
-+  \tolerance=9500
-+  \hbadness=9500
-+  \setmultitablespacing
-+  \parskip=\multitableparskip
-+  \parindent=\multitableparindent
-+  \overfullrule=0pt
-+  \global\colcount=0
-+  %
-+  \everycr = {%
-+    \noalign{%
-+      \global\everytab={}%
-+      \global\colcount=0 % Reset the column counter.
-+      % Check for saved footnotes, etc.
-+      \checkinserts
-+      % Keeps underfull box messages off when table breaks over pages.
-+      %\filbreak
-+      % Maybe so, but it also creates really weird page breaks when the
-+      % table breaks over pages. Wouldn't \vfil be better?  Wait until the
-+      % problem manifests itself, so it can be fixed for real --karl.
-+    }%
-+  }%
-+  %
-+  \parsearg\domultitable
-+}
-+\def\domultitable#1{%
-+  % To parse everything between @multitable and @item:
-+  \setuptable#1 \endsetuptable
-+  %
-+  % This preamble sets up a generic column definition, which will
-+  % be used as many times as user calls for columns.
-+  % \vtop will set a single line and will also let text wrap and
-+  % continue for many paragraphs if desired.
-+  \halign\bgroup &%
-+    \global\advance\colcount by 1
-+    \multistrut
-+    \vtop{%
-+      % Use the current \colcount to find the correct column width:
-+      \hsize=\expandafter\csname col\the\colcount\endcsname
-+      %
-+      % In order to keep entries from bumping into each other
-+      % we will add a \leftskip of \multitablecolspace to all columns after
-+      % the first one.
-+      %
-+      % If a template has been used, we will add \multitablecolspace
-+      % to the width of each template entry.
-+      %
-+      % If the user has set preamble in terms of percent of \hsize we will
-+      % use that dimension as the width of the column, and the \leftskip
-+      % will keep entries from bumping into each other.  Table will start at
-+      % left margin and final column will justify at right margin.
-+      %
-+      % Make sure we don't inherit \rightskip from the outer environment.
-+      \rightskip=0pt
-+      \ifnum\colcount=1
-+      % The first column will be indented with the surrounding text.
-+      \advance\hsize by\leftskip
-+      \else
-+      \ifsetpercent \else
-+        % If user has not set preamble in terms of percent of \hsize
-+        % we will advance \hsize by \multitablecolspace.
-+        \advance\hsize by \multitablecolspace
-+      \fi
-+       % In either case we will make \leftskip=\multitablecolspace:
-+      \leftskip=\multitablecolspace
-+      \fi
-+      % Ignoring space at the beginning and end avoids an occasional spurious
-+      % blank line, when TeX decides to break the line at the space before the
-+      % box from the multistrut, so the strut ends up on a line by itself.
-+      % For example:
-+      % @multitable @columnfractions .11 .89
-+      % @item @code{#}
-+      % @tab Legal holiday which is valid in major parts of the whole country.
-+      % Is automatically provided with highlighting sequences respectively
-+      % marking characters.
-+      \noindent\ignorespaces##\unskip\multistrut
-+    }\cr
-+}
-+\def\Emultitable{%
-+  \crcr
-+  \egroup % end the \halign
-+  \global\setpercentfalse
-+}
-+
-+\def\setmultitablespacing{%
-+  \def\multistrut{\strut}% just use the standard line spacing
-+  %
-+  % Compute \multitablelinespace (if not defined by user) for use in
-+  % \multitableparskip calculation.  We used define \multistrut based on
-+  % this, but (ironically) that caused the spacing to be off.
-+  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
-+\ifdim\multitablelinespace=0pt
-+\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
-+\global\advance\multitablelinespace by-\ht0
-+\fi
-+%% Test to see if parskip is larger than space between lines of
-+%% table. If not, do nothing.
-+%%        If so, set to same dimension as multitablelinespace.
-+\ifdim\multitableparskip>\multitablelinespace
-+\global\multitableparskip=\multitablelinespace
-+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-+                                      %% than skip between lines in the table.
-+\fi%
-+\ifdim\multitableparskip=0pt
-+\global\multitableparskip=\multitablelinespace
-+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-+                                      %% than skip between lines in the table.
-+\fi}
-+
-+
-+\message{conditionals,}
-+
-+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
-+% @ifnotxml always succeed.  They currently do nothing; we don't
-+% attempt to check whether the conditionals are properly nested.  But we
-+% have to remember that they are conditionals, so that @end doesn't
-+% attempt to close an environment group.
-+%
-+\def\makecond#1{%
-+  \expandafter\let\csname #1\endcsname = \relax
-+  \expandafter\let\csname iscond.#1\endcsname = 1
-+}
-+\makecond{iftex}
-+\makecond{ifnotdocbook}
-+\makecond{ifnothtml}
-+\makecond{ifnotinfo}
-+\makecond{ifnotplaintext}
-+\makecond{ifnotxml}
-+
-+% Ignore @ignore, @ifhtml, @ifinfo, and the like.
-+%
-+\def\direntry{\doignore{direntry}}
-+\def\documentdescription{\doignore{documentdescription}}
-+\def\docbook{\doignore{docbook}}
-+\def\html{\doignore{html}}
-+\def\ifdocbook{\doignore{ifdocbook}}
-+\def\ifhtml{\doignore{ifhtml}}
-+\def\ifinfo{\doignore{ifinfo}}
-+\def\ifnottex{\doignore{ifnottex}}
-+\def\ifplaintext{\doignore{ifplaintext}}
-+\def\ifxml{\doignore{ifxml}}
-+\def\ignore{\doignore{ignore}}
-+\def\menu{\doignore{menu}}
-+\def\xml{\doignore{xml}}
-+
-+% Ignore text until a line `@end #1', keeping track of nested conditionals.
-+%
-+% A count to remember the depth of nesting.
-+\newcount\doignorecount
-+
-+\def\doignore#1{\begingroup
-+  % Scan in ``verbatim'' mode:
-+  \catcode`\@ = \other
-+  \catcode`\{ = \other
-+  \catcode`\} = \other
-+  %
-+  % Make sure that spaces turn into tokens that match what \doignoretext wants.
-+  \spaceisspace
-+  %
-+  % Count number of #1's that we've seen.
-+  \doignorecount = 0
-+  %
-+  % Swallow text until we reach the matching `@end #1'.
-+  \dodoignore{#1}%
-+}
-+
-+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
-+  \obeylines %
-+  %
-+  \gdef\dodoignore#1{%
-+    % #1 contains the command name as a string, e.g., `ifinfo'.
-+    %
-+    % Define a command to find the next `@end #1', which must be on a line
-+    % by itself.
-+    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
-+    % And this command to find another #1 command, at the beginning of a
-+    % line.  (Otherwise, we would consider a line `@c @ifset', for
-+    % example, to count as an @ifset for nesting.)
-+    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
-+    %
-+    % And now expand that command.
-+    \obeylines %
-+    \doignoretext ^^M%
-+  }%
-+}
-+
-+\def\doignoreyyy#1{%
-+  \def\temp{#1}%
-+  \ifx\temp\empty                     % Nothing found.
-+    \let\next\doignoretextzzz
-+  \else                                       % Found a nested condition, ...
-+    \advance\doignorecount by 1
-+    \let\next\doignoretextyyy         % ..., look for another.
-+    % If we're here, #1 ends with ^^M\ifinfo (for example).
-+  \fi
-+  \next #1% the token \_STOP_ is present just after this macro.
-+}
-+
-+% We have to swallow the remaining "\_STOP_".
-+%
-+\def\doignoretextzzz#1{%
-+  \ifnum\doignorecount = 0    % We have just found the outermost @end.
-+    \let\next\enddoignore
-+  \else                               % Still inside a nested condition.
-+    \advance\doignorecount by -1
-+    \let\next\doignoretext      % Look for the next @end.
-+  \fi
-+  \next
-+}
-+
-+% Finish off ignored text.
-+\def\enddoignore{\endgroup\ignorespaces}
-+
-+
-+% @set VAR sets the variable VAR to an empty value.
-+% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-+%
-+% Since we want to separate VAR from REST-OF-LINE (which might be
-+% empty), we can't just use \parsearg; we have to insert a space of our
-+% own to delimit the rest of the line, and then take it out again if we
-+% didn't need it.
-+% We rely on the fact that \parsearg sets \catcode`\ =10.
-+%
-+\parseargdef\set{\setyyy#1 \endsetyyy}
-+\def\setyyy#1 #2\endsetyyy{%
-+  {%
-+    \makevalueexpandable
-+    \def\temp{#2}%
-+    \edef\next{\gdef\makecsname{SET#1}}%
-+    \ifx\temp\empty
-+      \next{}%
-+    \else
-+      \setzzz#2\endsetzzz
-+    \fi
-+  }%
-+}
-+% Remove the trailing space \setxxx inserted.
-+\def\setzzz#1 \endsetzzz{\next{#1}}
-+
-+% @clear VAR clears (i.e., unsets) the variable VAR.
-+%
-+\parseargdef\clear{%
-+  {%
-+    \makevalueexpandable
-+    \global\expandafter\let\csname SET#1\endcsname=\relax
-+  }%
-+}
-+
-+% @value{foo} gets the text saved in variable foo.
-+\def\value{\begingroup\makevalueexpandable\valuexxx}
-+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-+{
-+  \catcode`\- = \active \catcode`\_ = \active
-+  %
-+  \gdef\makevalueexpandable{%
-+    \let\value = \expandablevalue
-+    % We don't want these characters active, ...
-+    \catcode`\-=\other \catcode`\_=\other
-+    % ..., but we might end up with active ones in the argument if
-+    % we're called from @code, as @code{@value{foo-bar_}}, though.
-+    % So \let them to their normal equivalents.
-+    \let-\realdash \let_\normalunderscore
-+  }
-+}
-+
-+% We have this subroutine so that we can handle at least some @value's
-+% properly in indexes (we call \makevalueexpandable in \indexdummies).
-+% The command has to be fully expandable (if the variable is set), since
-+% the result winds up in the index file.  This means that if the
-+% variable's value contains other Texinfo commands, it's almost certain
-+% it will fail (although perhaps we could fix that with sufficient work
-+% to do a one-level expansion on the result, instead of complete).
-+%
-+\def\expandablevalue#1{%
-+  \expandafter\ifx\csname SET#1\endcsname\relax
-+    {[No value for ``#1'']}%
-+    \message{Variable `#1', used in @value, is not set.}%
-+  \else
-+    \csname SET#1\endcsname
-+  \fi
-+}
-+
-+% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-+% with @set.
-+%
-+% To get special treatment of `@end ifset,' call \makeond and the redefine.
-+%
-+\makecond{ifset}
-+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
-+\def\doifset#1#2{%
-+  {%
-+    \makevalueexpandable
-+    \let\next=\empty
-+    \expandafter\ifx\csname SET#2\endcsname\relax
-+      #1% If not set, redefine \next.
-+    \fi
-+    \expandafter
-+  }\next
-+}
-+\def\ifsetfail{\doignore{ifset}}
-+
-+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-+% defined with @set, or has been undefined with @clear.
-+%
-+% The `\else' inside the `\doifset' parameter is a trick to reuse the
-+% above code: if the variable is not set, do nothing, if it is set,
-+% then redefine \next to \ifclearfail.
-+%
-+\makecond{ifclear}
-+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
-+\def\ifclearfail{\doignore{ifclear}}
-+
-+% @dircategory CATEGORY  -- specify a category of the dir file
-+% which this file should belong to.  Ignore this in TeX.
-+\let\dircategory=\comment
-+
-+% @defininfoenclose.
-+\let\definfoenclose=\comment
-+
-+
-+\message{indexing,}
-+% Index generation facilities
-+
-+% Define \newwrite to be identical to plain tex's \newwrite
-+% except not \outer, so it can be used within macros and \if's.
-+\edef\newwrite{\makecsname{ptexnewwrite}}
-+
-+% \newindex {foo} defines an index named foo.
-+% It automatically defines \fooindex such that
-+% \fooindex ...rest of line... puts an entry in the index foo.
-+% It also defines \fooindfile to be the number of the output channel for
-+% the file that accumulates this index.  The file's extension is foo.
-+% The name of an index should be no more than 2 characters long
-+% for the sake of vms.
-+%
-+\def\newindex#1{%
-+  \iflinks
-+    \expandafter\newwrite \csname#1indfile\endcsname
-+    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-+  \fi
-+  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
-+    \noexpand\doindex{#1}}
-+}
-+
-+% @defindex foo  ==  \newindex{foo}
-+%
-+\def\defindex{\parsearg\newindex}
-+
-+% Define @defcodeindex, like @defindex except put all entries in @code.
-+%
-+\def\defcodeindex{\parsearg\newcodeindex}
-+%
-+\def\newcodeindex#1{%
-+  \iflinks
-+    \expandafter\newwrite \csname#1indfile\endcsname
-+    \openout \csname#1indfile\endcsname \jobname.#1
-+  \fi
-+  \expandafter\xdef\csname#1index\endcsname{%
-+    \noexpand\docodeindex{#1}}%
-+}
-+
-+
-+% @synindex foo bar    makes index foo feed into index bar.
-+% Do this instead of @defindex foo if you don't want it as a separate index.
-+%
-+% @syncodeindex foo bar   similar, but put all entries made for index foo
-+% inside @code.
-+%
-+\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
-+\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
-+
-+% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
-+% #3 the target index (bar).
-+\def\dosynindex#1#2#3{%
-+  % Only do \closeout if we haven't already done it, else we'll end up
-+  % closing the target index.
-+  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
-+    % The \closeout helps reduce unnecessary open files; the limit on the
-+    % Acorn RISC OS is a mere 16 files.
-+    \expandafter\closeout\csname#2indfile\endcsname
-+    \expandafter\let\csname\donesynindex#2\endcsname = 1
-+  \fi
-+  % redefine \fooindfile:
-+  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
-+  \expandafter\let\csname#2indfile\endcsname=\temp
-+  % redefine \fooindex:
-+  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
-+}
-+
-+% Define \doindex, the driver for all \fooindex macros.
-+% Argument #1 is generated by the calling \fooindex macro,
-+%  and it is "foo", the name of the index.
-+
-+% \doindex just uses \parsearg; it calls \doind for the actual work.
-+% This is because \doind is more useful to call from other macros.
-+
-+% There is also \dosubind {index}{topic}{subtopic}
-+% which makes an entry in a two-level index such as the operation index.
-+
-+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-+\def\singleindexer #1{\doind{\indexname}{#1}}
-+
-+% like the previous two, but they put @code around the argument.
-+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-+
-+% Take care of Texinfo commands that can appear in an index entry.
-+% Since there are some commands we want to expand, and others we don't,
-+% we have to laboriously prevent expansion for those that we don't.
-+%
-+\def\indexdummies{%
-+  \escapechar = `\\     % use backslash in output files.
-+  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-+  \def\ {\realbackslash\space }%
-+  % Need these in case \tex is in effect and \{ is a \delimiter again.
-+  % But can't use \lbracecmd and \rbracecmd because texindex assumes
-+  % braces and backslashes are used only as delimiters.
-+  \let\{ = \mylbrace
-+  \let\} = \myrbrace
-+  %
-+  % Do the redefinitions.
-+  \commondummies
-+}
-+
-+% For the aux and toc files, @ is the escape character.  So we want to
-+% redefine everything using @ as the escape character (instead of
-+% \realbackslash, still used for index files).  When everything uses @,
-+% this will be simpler.
-+%
-+\def\atdummies{%
-+  \def\@{@@}%
-+  \def\ {@ }%
-+  \let\{ = \lbraceatcmd
-+  \let\} = \rbraceatcmd
-+  %
-+  % Do the redefinitions.
-+  \commondummies
-+}
-+
-+% Called from \indexdummies and \atdummies.
-+%
-+\def\commondummies{%
-+  %
-+  % \definedummyword defines \#1 as \string\#1\space, thus effectively
-+  % preventing its expansion.  This is used only for control% words,
-+  % not control letters, because the \space would be incorrect for
-+  % control characters, but is needed to separate the control word
-+  % from whatever follows.
-+  %
-+  % For control letters, we have \definedummyletter, which omits the
-+  % space.
-+  %
-+  % These can be used both for control words that take an argument and
-+  % those that do not.  If it is followed by {arg} in the input, then
-+  % that will dutifully get written to the index (or wherever).
-+  %
-+  \def\definedummyword  ##1{\def##1{\string##1\space}}%
-+  \def\definedummyletter##1{\def##1{\string##1}}%
-+  \let\definedummyaccent\definedummyletter
-+  %
-+  \commondummiesnofonts
-+  %
-+  \definedummyletter\_%
-+  %
-+  % Non-English letters.
-+  \definedummyword\AA
-+  \definedummyword\AE
-+  \definedummyword\L
-+  \definedummyword\OE
-+  \definedummyword\O
-+  \definedummyword\aa
-+  \definedummyword\ae
-+  \definedummyword\l
-+  \definedummyword\oe
-+  \definedummyword\o
-+  \definedummyword\ss
-+  \definedummyword\exclamdown
-+  \definedummyword\questiondown
-+  \definedummyword\ordf
-+  \definedummyword\ordm
-+  %
-+  % Although these internal commands shouldn't show up, sometimes they do.
-+  \definedummyword\bf
-+  \definedummyword\gtr
-+  \definedummyword\hat
-+  \definedummyword\less
-+  \definedummyword\sf
-+  \definedummyword\sl
-+  \definedummyword\tclose
-+  \definedummyword\tt
-+  %
-+  \definedummyword\LaTeX
-+  \definedummyword\TeX
-+  %
-+  % Assorted special characters.
-+  \definedummyword\bullet
-+  \definedummyword\comma
-+  \definedummyword\copyright
-+  \definedummyword\registeredsymbol
-+  \definedummyword\dots
-+  \definedummyword\enddots
-+  \definedummyword\equiv
-+  \definedummyword\error
-+  \definedummyword\euro
-+  \definedummyword\expansion
-+  \definedummyword\minus
-+  \definedummyword\pounds
-+  \definedummyword\point
-+  \definedummyword\print
-+  \definedummyword\result
-+  %
-+  % We want to disable all macros so that they are not expanded by \write.
-+  \macrolist
-+  %
-+  \normalturnoffactive
-+  %
-+  % Handle some cases of @value -- where it does not contain any
-+  % (non-fully-expandable) commands.
-+  \makevalueexpandable
-+}
-+
-+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-+%
-+% Better have this without active chars.
-+{
-+  \catcode`\~=\other
-+  \gdef\commondummiesnofonts{%
-+    % Control letters and accents.
-+    \definedummyletter\!%
-+    \definedummyaccent\"%
-+    \definedummyaccent\'%
-+    \definedummyletter\*%
-+    \definedummyaccent\,%
-+    \definedummyletter\.%
-+    \definedummyletter\/%
-+    \definedummyletter\:%
-+    \definedummyaccent\=%
-+    \definedummyletter\?%
-+    \definedummyaccent\^%
-+    \definedummyaccent\`%
-+    \definedummyaccent\~%
-+    \definedummyword\u
-+    \definedummyword\v
-+    \definedummyword\H
-+    \definedummyword\dotaccent
-+    \definedummyword\ringaccent
-+    \definedummyword\tieaccent
-+    \definedummyword\ubaraccent
-+    \definedummyword\udotaccent
-+    \definedummyword\dotless
-+    %
-+    % Texinfo font commands.
-+    \definedummyword\b
-+    \definedummyword\i
-+    \definedummyword\r
-+    \definedummyword\sc
-+    \definedummyword\t
-+    %
-+    % Commands that take arguments.
-+    \definedummyword\acronym
-+    \definedummyword\cite
-+    \definedummyword\code
-+    \definedummyword\command
-+    \definedummyword\dfn
-+    \definedummyword\emph
-+    \definedummyword\env
-+    \definedummyword\file
-+    \definedummyword\kbd
-+    \definedummyword\key
-+    \definedummyword\math
-+    \definedummyword\option
-+    \definedummyword\samp
-+    \definedummyword\strong
-+    \definedummyword\tie
-+    \definedummyword\uref
-+    \definedummyword\url
-+    \definedummyword\var
-+    \definedummyword\verb
-+    \definedummyword\w
-+  }
-+}
-+
-+% \indexnofonts is used when outputting the strings to sort the index
-+% by, and when constructing control sequence names.  It eliminates all
-+% control sequences and just writes whatever the best ASCII sort string
-+% would be for a given command (usually its argument).
-+%
-+\def\indexnofonts{%
-+  % Accent commands should become @asis.
-+  \def\definedummyaccent##1{\let##1\asis}%
-+  % We can just ignore other control letters.
-+  \def\definedummyletter##1{\let##1\empty}%
-+  % Hopefully, all control words can become @asis.
-+  \let\definedummyword\definedummyaccent
-+  %
-+  \commondummiesnofonts
-+  %
-+  % Don't no-op \tt, since it isn't a user-level command
-+  % and is used in the definitions of the active chars like <, >, |, etc.
-+  % Likewise with the other plain tex font commands.
-+  %\let\tt=\asis
-+  %
-+  \def\ { }%
-+  \def\@{@}%
-+  % how to handle braces?
-+  \def\_{\normalunderscore}%
-+  %
-+  % Non-English letters.
-+  \def\AA{AA}%
-+  \def\AE{AE}%
-+  \def\L{L}%
-+  \def\OE{OE}%
-+  \def\O{O}%
-+  \def\aa{aa}%
-+  \def\ae{ae}%
-+  \def\l{l}%
-+  \def\oe{oe}%
-+  \def\o{o}%
-+  \def\ss{ss}%
-+  \def\exclamdown{!}%
-+  \def\questiondown{?}%
-+  \def\ordf{a}%
-+  \def\ordm{o}%
-+  %
-+  \def\LaTeX{LaTeX}%
-+  \def\TeX{TeX}%
-+  %
-+  % Assorted special characters.
-+  % (The following {} will end up in the sort string, but that's ok.)
-+  \def\bullet{bullet}%
-+  \def\comma{,}%
-+  \def\copyright{copyright}%
-+  \def\registeredsymbol{R}%
-+  \def\dots{...}%
-+  \def\enddots{...}%
-+  \def\equiv{==}%
-+  \def\error{error}%
-+  \def\euro{euro}%
-+  \def\expansion{==>}%
-+  \def\minus{-}%
-+  \def\pounds{pounds}%
-+  \def\point{.}%
-+  \def\print{-|}%
-+  \def\result{=>}%
-+  %
-+  % We need to get rid of all macros, leaving only the arguments (if present).
-+  % Of course this is not nearly correct, but it is the best we can do for now.
-+  % makeinfo does not expand macros in the argument to @deffn, which ends up
-+  % writing an index entry, and texindex isn't prepared for an index sort entry
-+  % that starts with \.
-+  % 
-+  % Since macro invocations are followed by braces, we can just redefine them
-+  % to take a single TeX argument.  The case of a macro invocation that
-+  % goes to end-of-line is not handled.
-+  % 
-+  \macrolist
-+}
-+
-+\let\indexbackslash=0  %overridden during \printindex.
-+\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-+
-+% Most index entries go through here, but \dosubind is the general case.
-+% #1 is the index name, #2 is the entry text.
-+\def\doind#1#2{\dosubind{#1}{#2}{}}
-+
-+% Workhorse for all \fooindexes.
-+% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-+% empty if called from \doind, as we usually are (the main exception
-+% is with most defuns, which call us directly).
-+%
-+\def\dosubind#1#2#3{%
-+  \iflinks
-+  {%
-+    % Store the main index entry text (including the third arg).
-+    \toks0 = {#2}%
-+    % If third arg is present, precede it with a space.
-+    \def\thirdarg{#3}%
-+    \ifx\thirdarg\empty \else
-+      \toks0 = \expandafter{\the\toks0 \space #3}%
-+    \fi
-+    %
-+    \edef\writeto{\csname#1indfile\endcsname}%
-+    %
-+    \ifvmode
-+      \dosubindsanitize
-+    \else
-+      \dosubindwrite
-+    \fi
-+  }%
-+  \fi
-+}
-+
-+% Write the entry in \toks0 to the index file:
-+%
-+\def\dosubindwrite{%
-+  % Put the index entry in the margin if desired.
-+  \ifx\SETmarginindex\relax\else
-+    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
-+  \fi
-+  %
-+  % Remember, we are within a group.
-+  \indexdummies % Must do this here, since \bf, etc expand at this stage
-+  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-+      % so it will be output as is; and it will print as backslash.
-+  %
-+  % Process the index entry with all font commands turned off, to
-+  % get the string to sort by.
-+  {\indexnofonts
-+   \edef\temp{\the\toks0}% need full expansion
-+   \xdef\indexsorttmp{\temp}%
-+  }%
-+  %
-+  % Set up the complete index entry, with both the sort key and
-+  % the original text, including any font commands.  We write
-+  % three arguments to \entry to the .?? file (four in the
-+  % subentry case), texindex reduces to two when writing the .??s
-+  % sorted result.
-+  \edef\temp{%
-+    \write\writeto{%
-+      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
-+  }%
-+  \temp
-+}
-+
-+% Take care of unwanted page breaks:
-+%
-+% If a skip is the last thing on the list now, preserve it
-+% by backing up by \lastskip, doing the \write, then inserting
-+% the skip again.  Otherwise, the whatsit generated by the
-+% \write will make \lastskip zero.  The result is that sequences
-+% like this:
-+% @end defun
-+% @tindex whatever
-+% @defun ...
-+% will have extra space inserted, because the \medbreak in the
-+% start of the @defun won't see the skip inserted by the @end of
-+% the previous defun.
-+%
-+% But don't do any of this if we're not in vertical mode.  We
-+% don't want to do a \vskip and prematurely end a paragraph.
-+%
-+% Avoid page breaks due to these extra skips, too.
-+%
-+% But wait, there is a catch there:
-+% We'll have to check whether \lastskip is zero skip.  \ifdim is not
-+% sufficient for this purpose, as it ignores stretch and shrink parts
-+% of the skip.  The only way seems to be to check the textual
-+% representation of the skip.
-+%
-+% The following is almost like \def\zeroskipmacro{0.0pt} except that
-+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
-+%
-+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
-+%
-+% ..., ready, GO:
-+%
-+\def\dosubindsanitize{%
-+  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
-+  \skip0 = \lastskip
-+  \edef\lastskipmacro{\the\lastskip}%
-+  \count255 = \lastpenalty
-+  %
-+  % If \lastskip is nonzero, that means the last item was a
-+  % skip.  And since a skip is discardable, that means this
-+  % -\skip0 glue we're inserting is preceded by a
-+  % non-discardable item, therefore it is not a potential
-+  % breakpoint, therefore no \nobreak needed.
-+  \ifx\lastskipmacro\zeroskipmacro
-+  \else
-+    \vskip-\skip0
-+  \fi
-+  %
-+  \dosubindwrite
-+  %
-+  \ifx\lastskipmacro\zeroskipmacro
-+    % If \lastskip was zero, perhaps the last item was a penalty, and
-+    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
-+    % to re-insert the same penalty (values >10000 are used for various
-+    % signals); since we just inserted a non-discardable item, any
-+    % following glue (such as a \parskip) would be a breakpoint.  For example:
-+    % 
-+    %   @deffn deffn-whatever
-+    %   @vindex index-whatever
-+    %   Description.
-+    % would allow a break between the index-whatever whatsit
-+    % and the "Description." paragraph.
-+    \ifnum\count255>9999 \penalty\count255 \fi
-+  \else
-+    % On the other hand, if we had a nonzero \lastskip,
-+    % this make-up glue would be preceded by a non-discardable item
-+    % (the whatsit from the \write), so we must insert a \nobreak.
-+    \nobreak\vskip\skip0
-+  \fi
-+}
-+
-+% The index entry written in the file actually looks like
-+%  \entry {sortstring}{page}{topic}
-+% or
-+%  \entry {sortstring}{page}{topic}{subtopic}
-+% The texindex program reads in these files and writes files
-+% containing these kinds of lines:
-+%  \initial {c}
-+%     before the first topic whose initial is c
-+%  \entry {topic}{pagelist}
-+%     for a topic that is used without subtopics
-+%  \primary {topic}
-+%     for the beginning of a topic that is used with subtopics
-+%  \secondary {subtopic}{pagelist}
-+%     for each subtopic.
-+
-+% Define the user-accessible indexing commands
-+% @findex, @vindex, @kindex, @cindex.
-+
-+\def\findex {\fnindex}
-+\def\kindex {\kyindex}
-+\def\cindex {\cpindex}
-+\def\vindex {\vrindex}
-+\def\tindex {\tpindex}
-+\def\pindex {\pgindex}
-+
-+\def\cindexsub {\begingroup\obeylines\cindexsub}
-+{\obeylines %
-+\gdef\cindexsub "#1" #2^^M{\endgroup %
-+\dosubind{cp}{#2}{#1}}}
-+
-+% Define the macros used in formatting output of the sorted index material.
-+
-+% @printindex causes a particular index (the ??s file) to get printed.
-+% It does not print any chapter heading (usually an @unnumbered).
-+%
-+\parseargdef\printindex{\begingroup
-+  \dobreak \chapheadingskip{10000}%
-+  %
-+  \smallfonts \rm
-+  \tolerance = 9500
-+  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
-+  %
-+  % See if the index file exists and is nonempty.
-+  % Change catcode of @ here so that if the index file contains
-+  % \initial {@}
-+  % as its first line, TeX doesn't complain about mismatched braces
-+  % (because it thinks @} is a control sequence).
-+  \catcode`\@ = 11
-+  \openin 1 \jobname.#1s
-+  \ifeof 1
-+    % \enddoublecolumns gets confused if there is no text in the index,
-+    % and it loses the chapter title and the aux file entries for the
-+    % index.  The easiest way to prevent this problem is to make sure
-+    % there is some text.
-+    \putwordIndexNonexistent
-+  \else
-+    %
-+    % If the index file exists but is empty, then \openin leaves \ifeof
-+    % false.  We have to make TeX try to read something from the file, so
-+    % it can discover if there is anything in it.
-+    \read 1 to \temp
-+    \ifeof 1
-+      \putwordIndexIsEmpty
-+    \else
-+      % Index files are almost Texinfo source, but we use \ as the escape
-+      % character.  It would be better to use @, but that's too big a change
-+      % to make right now.
-+      \def\indexbackslash{\backslashcurfont}%
-+      \catcode`\\ = 0
-+      \escapechar = `\\
-+      \begindoublecolumns
-+      \input \jobname.#1s
-+      \enddoublecolumns
-+    \fi
-+  \fi
-+  \closein 1
-+\endgroup}
-+
-+% These macros are used by the sorted index file itself.
-+% Change them to control the appearance of the index.
-+
-+\def\initial#1{{%
-+  % Some minor font changes for the special characters.
-+  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-+  %
-+  % Remove any glue we may have, we'll be inserting our own.
-+  \removelastskip
-+  %
-+  % We like breaks before the index initials, so insert a bonus.
-+  \nobreak
-+  \vskip 0pt plus 3\baselineskip
-+  \penalty 0
-+  \vskip 0pt plus -3\baselineskip
-+  %
-+  % Typeset the initial.  Making this add up to a whole number of
-+  % baselineskips increases the chance of the dots lining up from column
-+  % to column.  It still won't often be perfect, because of the stretch
-+  % we need before each entry, but it's better.
-+  %
-+  % No shrink because it confuses \balancecolumns.
-+  \vskip 1.67\baselineskip plus .5\baselineskip
-+  \leftline{\secbf #1}%
-+  % Do our best not to break after the initial.
-+  \nobreak
-+  \vskip .33\baselineskip plus .1\baselineskip
-+}}
-+
-+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
-+% then page number (#2) flushed to the right margin.  It is used for index
-+% and table of contents entries.  The paragraph is indented by \leftskip.
-+%
-+% A straightforward implementation would start like this:
-+%     \def\entry#1#2{...
-+% But this frozes the catcodes in the argument, and can cause problems to
-+% @code, which sets - active.  This problem was fixed by a kludge---
-+% ``-'' was active throughout whole index, but this isn't really right.
-+%
-+% The right solution is to prevent \entry from swallowing the whole text.
-+%                                 --kasal, 21nov03
-+\def\entry{%
-+  \begingroup
-+    %
-+    % Start a new paragraph if necessary, so our assignments below can't
-+    % affect previous text.
-+    \par
-+    %
-+    % Do not fill out the last line with white space.
-+    \parfillskip = 0in
-+    %
-+    % No extra space above this paragraph.
-+    \parskip = 0in
-+    %
-+    % Do not prefer a separate line ending with a hyphen to fewer lines.
-+    \finalhyphendemerits = 0
-+    %
-+    % \hangindent is only relevant when the entry text and page number
-+    % don't both fit on one line.  In that case, bob suggests starting the
-+    % dots pretty far over on the line.  Unfortunately, a large
-+    % indentation looks wrong when the entry text itself is broken across
-+    % lines.  So we use a small indentation and put up with long leaders.
-+    %
-+    % \hangafter is reset to 1 (which is the value we want) at the start
-+    % of each paragraph, so we need not do anything with that.
-+    \hangindent = 2em
-+    %
-+    % When the entry text needs to be broken, just fill out the first line
-+    % with blank space.
-+    \rightskip = 0pt plus1fil
-+    %
-+    % A bit of stretch before each entry for the benefit of balancing
-+    % columns.
-+    \vskip 0pt plus1pt
-+    %
-+    % Swallow the left brace of the text (first parameter):
-+    \afterassignment\doentry
-+    \let\temp =
-+}
-+\def\doentry{%
-+    \bgroup % Instead of the swallowed brace.
-+      \noindent
-+      \aftergroup\finishentry
-+      % And now comes the text of the entry.
-+}
-+\def\finishentry#1{%
-+    % #1 is the page number.
-+    %
-+    % The following is kludged to not output a line of dots in the index if
-+    % there are no page numbers.  The next person who breaks this will be
-+    % cursed by a Unix daemon.
-+    \def\tempa{{\rm }}%
-+    \def\tempb{#1}%
-+    \edef\tempc{\tempa}%
-+    \edef\tempd{\tempb}%
-+    \ifx\tempc\tempd
-+      \ %
-+    \else
-+      %
-+      % If we must, put the page number on a line of its own, and fill out
-+      % this line with blank space.  (The \hfil is overwhelmed with the
-+      % fill leaders glue in \indexdotfill if the page number does fit.)
-+      \hfil\penalty50
-+      \null\nobreak\indexdotfill % Have leaders before the page number.
-+      %
-+      % The `\ ' here is removed by the implicit \unskip that TeX does as
-+      % part of (the primitive) \par.  Without it, a spurious underfull
-+      % \hbox ensues.
-+      \ifpdf
-+      \pdfgettoks#1.%
-+      \ \the\toksA
-+      \else
-+      \ #1%
-+      \fi
-+    \fi
-+    \par
-+  \endgroup
-+}
-+
-+% Like \dotfill except takes at least 1 em.
-+\def\indexdotfill{\cleaders
-+  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
-+
-+\def\primary #1{\line{#1\hfil}}
-+
-+\newskip\secondaryindent \secondaryindent=0.5cm
-+\def\secondary#1#2{{%
-+  \parfillskip=0in
-+  \parskip=0in
-+  \hangindent=1in
-+  \hangafter=1
-+  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
-+  \ifpdf
-+    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
-+  \else
-+    #2
-+  \fi
-+  \par
-+}}
-+
-+% Define two-column mode, which we use to typeset indexes.
-+% Adapted from the TeXbook, page 416, which is to say,
-+% the manmac.tex format used to print the TeXbook itself.
-+\catcode`\@=11
-+
-+\newbox\partialpage
-+\newdimen\doublecolumnhsize
-+
-+\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
-+  % Grab any single-column material above us.
-+  \output = {%
-+    %
-+    % Here is a possibility not foreseen in manmac: if we accumulate a
-+    % whole lot of material, we might end up calling this \output
-+    % routine twice in a row (see the doublecol-lose test, which is
-+    % essentially a couple of indexes with @setchapternewpage off).  In
-+    % that case we just ship out what is in \partialpage with the normal
-+    % output routine.  Generally, \partialpage will be empty when this
-+    % runs and this will be a no-op.  See the indexspread.tex test case.
-+    \ifvoid\partialpage \else
-+      \onepageout{\pagecontents\partialpage}%
-+    \fi
-+    %
-+    \global\setbox\partialpage = \vbox{%
-+      % Unvbox the main output page.
-+      \unvbox\PAGE
-+      \kern-\topskip \kern\baselineskip
-+    }%
-+  }%
-+  \eject % run that output routine to set \partialpage
-+  %
-+  % Use the double-column output routine for subsequent pages.
-+  \output = {\doublecolumnout}%
-+  %
-+  % Change the page size parameters.  We could do this once outside this
-+  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
-+  % format, but then we repeat the same computation.  Repeating a couple
-+  % of assignments once per index is clearly meaningless for the
-+  % execution time, so we may as well do it in one place.
-+  %
-+  % First we halve the line length, less a little for the gutter between
-+  % the columns.  We compute the gutter based on the line length, so it
-+  % changes automatically with the paper format.  The magic constant
-+  % below is chosen so that the gutter has the same value (well, +-<1pt)
-+  % as it did when we hard-coded it.
-+  %
-+  % We put the result in a separate register, \doublecolumhsize, so we
-+  % can restore it in \pagesofar, after \hsize itself has (potentially)
-+  % been clobbered.
-+  %
-+  \doublecolumnhsize = \hsize
-+    \advance\doublecolumnhsize by -.04154\hsize
-+    \divide\doublecolumnhsize by 2
-+  \hsize = \doublecolumnhsize
-+  %
-+  % Double the \vsize as well.  (We don't need a separate register here,
-+  % since nobody clobbers \vsize.)
-+  \vsize = 2\vsize
-+}
-+
-+% The double-column output routine for all double-column pages except
-+% the last.
-+%
-+\def\doublecolumnout{%
-+  \splittopskip=\topskip \splitmaxdepth=\maxdepth
-+  % Get the available space for the double columns -- the normal
-+  % (undoubled) page height minus any material left over from the
-+  % previous page.
-+  \dimen@ = \vsize
-+  \divide\dimen@ by 2
-+  \advance\dimen@ by -\ht\partialpage
-+  %
-+  % box0 will be the left-hand column, box2 the right.
-+  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-+  \onepageout\pagesofar
-+  \unvbox255
-+  \penalty\outputpenalty
-+}
-+%
-+% Re-output the contents of the output page -- any previous material,
-+% followed by the two boxes we just split, in box0 and box2.
-+\def\pagesofar{%
-+  \unvbox\partialpage
-+  %
-+  \hsize = \doublecolumnhsize
-+  \wd0=\hsize \wd2=\hsize
-+  \hbox to\pagewidth{\box0\hfil\box2}%
-+}
-+%
-+% All done with double columns.
-+\def\enddoublecolumns{%
-+  \output = {%
-+    % Split the last of the double-column material.  Leave it on the
-+    % current page, no automatic page break.
-+    \balancecolumns
-+    %
-+    % If we end up splitting too much material for the current page,
-+    % though, there will be another page break right after this \output
-+    % invocation ends.  Having called \balancecolumns once, we do not
-+    % want to call it again.  Therefore, reset \output to its normal
-+    % definition right away.  (We hope \balancecolumns will never be
-+    % called on to balance too much material, but if it is, this makes
-+    % the output somewhat more palatable.)
-+    \global\output = {\onepageout{\pagecontents\PAGE}}%
-+  }%
-+  \eject
-+  \endgroup % started in \begindoublecolumns
-+  %
-+  % \pagegoal was set to the doubled \vsize above, since we restarted
-+  % the current page.  We're now back to normal single-column
-+  % typesetting, so reset \pagegoal to the normal \vsize (after the
-+  % \endgroup where \vsize got restored).
-+  \pagegoal = \vsize
-+}
-+%
-+% Called at the end of the double column material.
-+\def\balancecolumns{%
-+  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
-+  \dimen@ = \ht0
-+  \advance\dimen@ by \topskip
-+  \advance\dimen@ by-\baselineskip
-+  \divide\dimen@ by 2 % target to split to
-+  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-+  \splittopskip = \topskip
-+  % Loop until we get a decent breakpoint.
-+  {%
-+    \vbadness = 10000
-+    \loop
-+      \global\setbox3 = \copy0
-+      \global\setbox1 = \vsplit3 to \dimen@
-+    \ifdim\ht3>\dimen@
-+      \global\advance\dimen@ by 1pt
-+    \repeat
-+  }%
-+  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-+  \setbox0=\vbox to\dimen@{\unvbox1}%
-+  \setbox2=\vbox to\dimen@{\unvbox3}%
-+  %
-+  \pagesofar
-+}
-+\catcode`\@ = \other
-+
-+
-+\message{sectioning,}
-+% Chapters, sections, etc.
-+
-+% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
-+% sections so that we can refer to them unambiguously in the pdf
-+% outlines by their "section number".  We avoid collisions with chapter
-+% numbers by starting them at 10000.  (If a document ever has 10000
-+% chapters, we're in trouble anyway, I'm sure.)
-+\newcount\unnumberedno \unnumberedno = 10000
-+\newcount\chapno
-+\newcount\secno        \secno=0
-+\newcount\subsecno     \subsecno=0
-+\newcount\subsubsecno  \subsubsecno=0
-+
-+% This counter is funny since it counts through charcodes of letters A, B, ...
-+\newcount\appendixno  \appendixno = `\@
-+%
-+% \def\appendixletter{\char\the\appendixno}
-+% We do the following ugly conditional instead of the above simple
-+% construct for the sake of pdftex, which needs the actual
-+% letter in the expansion, not just typeset.
-+%
-+\def\appendixletter{%
-+  \ifnum\appendixno=`A A%
-+  \else\ifnum\appendixno=`B B%
-+  \else\ifnum\appendixno=`C C%
-+  \else\ifnum\appendixno=`D D%
-+  \else\ifnum\appendixno=`E E%
-+  \else\ifnum\appendixno=`F F%
-+  \else\ifnum\appendixno=`G G%
-+  \else\ifnum\appendixno=`H H%
-+  \else\ifnum\appendixno=`I I%
-+  \else\ifnum\appendixno=`J J%
-+  \else\ifnum\appendixno=`K K%
-+  \else\ifnum\appendixno=`L L%
-+  \else\ifnum\appendixno=`M M%
-+  \else\ifnum\appendixno=`N N%
-+  \else\ifnum\appendixno=`O O%
-+  \else\ifnum\appendixno=`P P%
-+  \else\ifnum\appendixno=`Q Q%
-+  \else\ifnum\appendixno=`R R%
-+  \else\ifnum\appendixno=`S S%
-+  \else\ifnum\appendixno=`T T%
-+  \else\ifnum\appendixno=`U U%
-+  \else\ifnum\appendixno=`V V%
-+  \else\ifnum\appendixno=`W W%
-+  \else\ifnum\appendixno=`X X%
-+  \else\ifnum\appendixno=`Y Y%
-+  \else\ifnum\appendixno=`Z Z%
-+  % The \the is necessary, despite appearances, because \appendixletter is
-+  % expanded while writing the .toc file.  \char\appendixno is not
-+  % expandable, thus it is written literally, thus all appendixes come out
-+  % with the same letter (or @) in the toc without it.
-+  \else\char\the\appendixno
-+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-+
-+% Each @chapter defines this as the name of the chapter.
-+% page headings and footings can use it.  @section does likewise.
-+% However, they are not reliable, because we don't use marks.
-+\def\thischapter{}
-+\def\thissection{}
-+
-+\newcount\absseclevel % used to calculate proper heading level
-+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
-+
-+% @raisesections: treat @section as chapter, @subsection as section, etc.
-+\def\raisesections{\global\advance\secbase by -1}
-+\let\up=\raisesections % original BFox name
-+
-+% @lowersections: treat @chapter as section, @section as subsection, etc.
-+\def\lowersections{\global\advance\secbase by 1}
-+\let\down=\lowersections % original BFox name
-+
-+% we only have subsub.
-+\chardef\maxseclevel = 3
-+%
-+% A numbered section within an unnumbered changes to unnumbered too.
-+% To achive this, remember the "biggest" unnum. sec. we are currently in:
-+\chardef\unmlevel = \maxseclevel
-+%
-+% Trace whether the current chapter is an appendix or not:
-+% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
-+\def\chapheadtype{N}
-+
-+% Choose a heading macro
-+% #1 is heading type
-+% #2 is heading level
-+% #3 is text for heading
-+\def\genhead#1#2#3{%
-+  % Compute the abs. sec. level:
-+  \absseclevel=#2
-+  \advance\absseclevel by \secbase
-+  % Make sure \absseclevel doesn't fall outside the range:
-+  \ifnum \absseclevel < 0
-+    \absseclevel = 0
-+  \else
-+    \ifnum \absseclevel > 3
-+      \absseclevel = 3
-+    \fi
-+  \fi
-+  % The heading type:
-+  \def\headtype{#1}%
-+  \if \headtype U%
-+    \ifnum \absseclevel < \unmlevel
-+      \chardef\unmlevel = \absseclevel
-+    \fi
-+  \else
-+    % Check for appendix sections:
-+    \ifnum \absseclevel = 0
-+      \edef\chapheadtype{\headtype}%
-+    \else
-+      \if \headtype A\if \chapheadtype N%
-+      \errmessage{@appendix... within a non-appendix chapter}%
-+      \fi\fi
-+    \fi
-+    % Check for numbered within unnumbered:
-+    \ifnum \absseclevel > \unmlevel
-+      \def\headtype{U}%
-+    \else
-+      \chardef\unmlevel = 3
-+    \fi
-+  \fi
-+  % Now print the heading:
-+  \if \headtype U%
-+    \ifcase\absseclevel
-+      \unnumberedzzz{#3}%
-+    \or \unnumberedseczzz{#3}%
-+    \or \unnumberedsubseczzz{#3}%
-+    \or \unnumberedsubsubseczzz{#3}%
-+    \fi
-+  \else
-+    \if \headtype A%
-+      \ifcase\absseclevel
-+        \appendixzzz{#3}%
-+      \or \appendixsectionzzz{#3}%
-+      \or \appendixsubseczzz{#3}%
-+      \or \appendixsubsubseczzz{#3}%
-+      \fi
-+    \else
-+      \ifcase\absseclevel
-+        \chapterzzz{#3}%
-+      \or \seczzz{#3}%
-+      \or \numberedsubseczzz{#3}%
-+      \or \numberedsubsubseczzz{#3}%
-+      \fi
-+    \fi
-+  \fi
-+  \suppressfirstparagraphindent
-+}
-+
-+% an interface:
-+\def\numhead{\genhead N}
-+\def\apphead{\genhead A}
-+\def\unnmhead{\genhead U}
-+
-+% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
-+% all lower-level sectioning counters to zero.
-+%
-+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
-+% (e.g., figures), q.v.  By default (before any chapter), that is empty.
-+\let\chaplevelprefix = \empty
-+%
-+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
-+\def\chapterzzz#1{%
-+  % section resetting is \global in case the chapter is in a group, such
-+  % as an @include file.
-+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-+    \global\advance\chapno by 1
-+  %
-+  % Used for \float.
-+  \gdef\chaplevelprefix{\the\chapno.}%
-+  \resetallfloatnos
-+  %
-+  \message{\putwordChapter\space \the\chapno}%
-+  %
-+  % Write the actual heading.
-+  \chapmacro{#1}{Ynumbered}{\the\chapno}%
-+  %
-+  % So @section and the like are numbered underneath this chapter.
-+  \global\let\section = \numberedsec
-+  \global\let\subsection = \numberedsubsec
-+  \global\let\subsubsection = \numberedsubsubsec
-+}
-+
-+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
-+\def\appendixzzz#1{%
-+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-+    \global\advance\appendixno by 1
-+  \gdef\chaplevelprefix{\appendixletter.}%
-+  \resetallfloatnos
-+  %
-+  \def\appendixnum{\putwordAppendix\space \appendixletter}%
-+  \message{\appendixnum}%
-+  %
-+  \chapmacro{#1}{Yappendix}{\appendixletter}%
-+  %
-+  \global\let\section = \appendixsec
-+  \global\let\subsection = \appendixsubsec
-+  \global\let\subsubsection = \appendixsubsubsec
-+}
-+
-+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-+\def\unnumberedzzz#1{%
-+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-+    \global\advance\unnumberedno by 1
-+  %
-+  % Since an unnumbered has no number, no prefix for figures.
-+  \global\let\chaplevelprefix = \empty
-+  \resetallfloatnos
-+  %
-+  % This used to be simply \message{#1}, but TeX fully expands the
-+  % argument to \message.  Therefore, if #1 contained @-commands, TeX
-+  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
-+  % expanded @cite (which turns out to cause errors because \cite is meant
-+  % to be executed, not expanded).
-+  %
-+  % Anyway, we don't want the fully-expanded definition of @cite to appear
-+  % as a result of the \message, we just want `@cite' itself.  We use
-+  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
-+  % simply yielding the contents of <toks register>.  (We also do this for
-+  % the toc entries.)
-+  \toks0 = {#1}%
-+  \message{(\the\toks0)}%
-+  %
-+  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
-+  %
-+  \global\let\section = \unnumberedsec
-+  \global\let\subsection = \unnumberedsubsec
-+  \global\let\subsubsection = \unnumberedsubsubsec
-+}
-+
-+% @centerchap is like @unnumbered, but the heading is centered.
-+\outer\parseargdef\centerchap{%
-+  % Well, we could do the following in a group, but that would break
-+  % an assumption that \chapmacro is called at the outermost level.
-+  % Thus we are safer this way:               --kasal, 24feb04
-+  \let\centerparametersmaybe = \centerparameters
-+  \unnmhead0{#1}%
-+  \let\centerparametersmaybe = \relax
-+}
-+
-+% @top is like @unnumbered.
-+\let\top\unnumbered
-+
-+% Sections.
-+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
-+\def\seczzz#1{%
-+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-+  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
-+}
-+
-+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
-+\def\appendixsectionzzz#1{%
-+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-+  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
-+}
-+\let\appendixsec\appendixsection
-+
-+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
-+\def\unnumberedseczzz#1{%
-+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-+  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
-+}
-+
-+% Subsections.
-+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
-+\def\numberedsubseczzz#1{%
-+  \global\subsubsecno=0  \global\advance\subsecno by 1
-+  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
-+}
-+
-+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
-+\def\appendixsubseczzz#1{%
-+  \global\subsubsecno=0  \global\advance\subsecno by 1
-+  \sectionheading{#1}{subsec}{Yappendix}%
-+                 {\appendixletter.\the\secno.\the\subsecno}%
-+}
-+
-+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-+\def\unnumberedsubseczzz#1{%
-+  \global\subsubsecno=0  \global\advance\subsecno by 1
-+  \sectionheading{#1}{subsec}{Ynothing}%
-+                 {\the\unnumberedno.\the\secno.\the\subsecno}%
-+}
-+
-+% Subsubsections.
-+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
-+\def\numberedsubsubseczzz#1{%
-+  \global\advance\subsubsecno by 1
-+  \sectionheading{#1}{subsubsec}{Ynumbered}%
-+                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
-+}
-+
-+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
-+\def\appendixsubsubseczzz#1{%
-+  \global\advance\subsubsecno by 1
-+  \sectionheading{#1}{subsubsec}{Yappendix}%
-+                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
-+}
-+
-+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-+\def\unnumberedsubsubseczzz#1{%
-+  \global\advance\subsubsecno by 1
-+  \sectionheading{#1}{subsubsec}{Ynothing}%
-+                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
-+}
-+
-+% These macros control what the section commands do, according
-+% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-+% Define them by default for a numbered chapter.
-+\let\section = \numberedsec
-+\let\subsection = \numberedsubsec
-+\let\subsubsection = \numberedsubsubsec
-+
-+% Define @majorheading, @heading and @subheading
-+
-+% NOTE on use of \vbox for chapter headings, section headings, and such:
-+%       1) We use \vbox rather than the earlier \line to permit
-+%          overlong headings to fold.
-+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-+%          heading is obnoxious; this forbids it.
-+%       3) Likewise, headings look best if no \parindent is used, and
-+%          if justification is not attempted.  Hence \raggedright.
-+
-+
-+\def\majorheading{%
-+  {\advance\chapheadingskip by 10pt \chapbreak }%
-+  \parsearg\chapheadingzzz
-+}
-+
-+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
-+\def\chapheadingzzz#1{%
-+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-+                    \parindent=0pt\raggedright
-+                    \rm #1\hfill}}%
-+  \bigskip \par\penalty 200\relax
-+  \suppressfirstparagraphindent
-+}
-+
-+% @heading, @subheading, @subsubheading.
-+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
-+  \suppressfirstparagraphindent}
-+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
-+  \suppressfirstparagraphindent}
-+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
-+  \suppressfirstparagraphindent}
-+
-+% These macros generate a chapter, section, etc. heading only
-+% (including whitespace, linebreaking, etc. around it),
-+% given all the information in convenient, parsed form.
-+
-+%%% Args are the skip and penalty (usually negative)
-+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-+
-+%%% Define plain chapter starts, and page on/off switching for it
-+% Parameter controlling skip before chapter headings (if needed)
-+
-+\newskip\chapheadingskip
-+
-+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-+\def\chappager{\par\vfill\supereject}
-+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-+
-+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-+
-+\def\CHAPPAGoff{%
-+\global\let\contentsalignmacro = \chappager
-+\global\let\pchapsepmacro=\chapbreak
-+\global\let\pagealignmacro=\chappager}
-+
-+\def\CHAPPAGon{%
-+\global\let\contentsalignmacro = \chappager
-+\global\let\pchapsepmacro=\chappager
-+\global\let\pagealignmacro=\chappager
-+\global\def\HEADINGSon{\HEADINGSsingle}}
-+
-+\def\CHAPPAGodd{%
-+\global\let\contentsalignmacro = \chapoddpage
-+\global\let\pchapsepmacro=\chapoddpage
-+\global\let\pagealignmacro=\chapoddpage
-+\global\def\HEADINGSon{\HEADINGSdouble}}
-+
-+\CHAPPAGon
-+
-+% Chapter opening.
-+%
-+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
-+% Yappendix, Yomitfromtoc), #3 the chapter number.
-+%
-+% To test against our argument.
-+\def\Ynothingkeyword{Ynothing}
-+\def\Yomitfromtockeyword{Yomitfromtoc}
-+\def\Yappendixkeyword{Yappendix}
-+%
-+\def\chapmacro#1#2#3{%
-+  \pchapsepmacro
-+  {%
-+    \chapfonts \rm
-+    %
-+    % Have to define \thissection before calling \donoderef, because the
-+    % xref code eventually uses it.  On the other hand, it has to be called
-+    % after \pchapsepmacro, or the headline will change too soon.
-+    \gdef\thissection{#1}%
-+    \gdef\thischaptername{#1}%
-+    %
-+    % Only insert the separating space if we have a chapter/appendix
-+    % number, and don't print the unnumbered ``number''.
-+    \def\temptype{#2}%
-+    \ifx\temptype\Ynothingkeyword
-+      \setbox0 = \hbox{}%
-+      \def\toctype{unnchap}%
-+      \gdef\thischapter{#1}%
-+    \else\ifx\temptype\Yomitfromtockeyword
-+      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
-+      \def\toctype{omit}%
-+      \gdef\thischapter{}%
-+    \else\ifx\temptype\Yappendixkeyword
-+      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
-+      \def\toctype{app}%
-+      % We don't substitute the actual chapter name into \thischapter
-+      % because we don't want its macros evaluated now.  And we don't
-+      % use \thissection because that changes with each section.
-+      %
-+      \xdef\thischapter{\putwordAppendix{} \appendixletter:
-+                        \noexpand\thischaptername}%
-+    \else
-+      \setbox0 = \hbox{#3\enspace}%
-+      \def\toctype{numchap}%
-+      \xdef\thischapter{\putwordChapter{} \the\chapno:
-+                        \noexpand\thischaptername}%
-+    \fi\fi\fi
-+    %
-+    % Write the toc entry for this chapter.  Must come before the
-+    % \donoderef, because we include the current node name in the toc
-+    % entry, and \donoderef resets it to empty.
-+    \writetocentry{\toctype}{#1}{#3}%
-+    %
-+    % For pdftex, we have to write out the node definition (aka, make
-+    % the pdfdest) after any page break, but before the actual text has
-+    % been typeset.  If the destination for the pdf outline is after the
-+    % text, then jumping from the outline may wind up with the text not
-+    % being visible, for instance under high magnification.
-+    \donoderef{#2}%
-+    %
-+    % Typeset the actual heading.
-+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
-+          \hangindent=\wd0 \centerparametersmaybe
-+          \unhbox0 #1\par}%
-+  }%
-+  \nobreak\bigskip % no page break after a chapter title
-+  \nobreak
-+}
-+
-+% @centerchap -- centered and unnumbered.
-+\let\centerparametersmaybe = \relax
-+\def\centerparameters{%
-+  \advance\rightskip by 3\rightskip
-+  \leftskip = \rightskip
-+  \parfillskip = 0pt
-+}
-+
-+
-+% I don't think this chapter style is supported any more, so I'm not
-+% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
-+%
-+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-+%
-+\def\unnchfopen #1{%
-+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-+                       \parindent=0pt\raggedright
-+                       \rm #1\hfill}}\bigskip \par\nobreak
-+}
-+\def\chfopen #1#2{\chapoddpage {\chapfonts
-+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-+\par\penalty 5000 %
-+}
-+\def\centerchfopen #1{%
-+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-+                       \parindent=0pt
-+                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
-+}
-+\def\CHAPFopen{%
-+  \global\let\chapmacro=\chfopen
-+  \global\let\centerchapmacro=\centerchfopen}
-+
-+
-+% Section titles.  These macros combine the section number parts and
-+% call the generic \sectionheading to do the printing.
-+%
-+\newskip\secheadingskip
-+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
-+
-+% Subsection titles.
-+\newskip\subsecheadingskip
-+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
-+
-+% Subsubsection titles.
-+\def\subsubsecheadingskip{\subsecheadingskip}
-+\def\subsubsecheadingbreak{\subsecheadingbreak}
-+
-+
-+% Print any size, any type, section title.
-+%
-+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-+% section number.
-+%
-+\def\sectionheading#1#2#3#4{%
-+  {%
-+    % Switch to the right set of fonts.
-+    \csname #2fonts\endcsname \rm
-+    %
-+    % Insert space above the heading.
-+    \csname #2headingbreak\endcsname
-+    %
-+    % Only insert the space after the number if we have a section number.
-+    \def\sectionlevel{#2}%
-+    \def\temptype{#3}%
-+    %
-+    \ifx\temptype\Ynothingkeyword
-+      \setbox0 = \hbox{}%
-+      \def\toctype{unn}%
-+      \gdef\thissection{#1}%
-+    \else\ifx\temptype\Yomitfromtockeyword
-+      % for @headings -- no section number, don't include in toc,
-+      % and don't redefine \thissection.
-+      \setbox0 = \hbox{}%
-+      \def\toctype{omit}%
-+      \let\sectionlevel=\empty
-+    \else\ifx\temptype\Yappendixkeyword
-+      \setbox0 = \hbox{#4\enspace}%
-+      \def\toctype{app}%
-+      \gdef\thissection{#1}%
-+    \else
-+      \setbox0 = \hbox{#4\enspace}%
-+      \def\toctype{num}%
-+      \gdef\thissection{#1}%
-+    \fi\fi\fi
-+    %
-+    % Write the toc entry (before \donoderef).  See comments in \chfplain.
-+    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
-+    %
-+    % Write the node reference (= pdf destination for pdftex).
-+    % Again, see comments in \chfplain.
-+    \donoderef{#3}%
-+    %
-+    % Output the actual section heading.
-+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
-+          \hangindent=\wd0  % zero if no section number
-+          \unhbox0 #1}%
-+  }%
-+  % Add extra space after the heading -- half of whatever came above it.
-+  % Don't allow stretch, though.
-+  \kern .5 \csname #2headingskip\endcsname
-+  %
-+  % Do not let the kern be a potential breakpoint, as it would be if it
-+  % was followed by glue.
-+  \nobreak
-+  %
-+  % We'll almost certainly start a paragraph next, so don't let that
-+  % glue accumulate.  (Not a breakpoint because it's preceded by a
-+  % discardable item.)
-+  \vskip-\parskip
-+  % 
-+  % This is purely so the last item on the list is a known \penalty >
-+  % 10000.  This is so \startdefun can avoid allowing breakpoints after
-+  % section headings.  Otherwise, it would insert a valid breakpoint between:
-+  % 
-+  %   @section sec-whatever
-+  %   @deffn def-whatever
-+  \penalty 10001
-+}
-+
-+
-+\message{toc,}
-+% Table of contents.
-+\newwrite\tocfile
-+
-+% Write an entry to the toc file, opening it if necessary.
-+% Called from @chapter, etc.
-+%
-+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
-+% We append the current node name (if any) and page number as additional
-+% arguments for the \{chap,sec,...}entry macros which will eventually
-+% read this.  The node name is used in the pdf outlines as the
-+% destination to jump to.
-+%
-+% We open the .toc file for writing here instead of at @setfilename (or
-+% any other fixed time) so that @contents can be anywhere in the document.
-+% But if #1 is `omit', then we don't do anything.  This is used for the
-+% table of contents chapter openings themselves.
-+%
-+\newif\iftocfileopened
-+\def\omitkeyword{omit}%
-+%
-+\def\writetocentry#1#2#3{%
-+  \edef\writetoctype{#1}%
-+  \ifx\writetoctype\omitkeyword \else
-+    \iftocfileopened\else
-+      \immediate\openout\tocfile = \jobname.toc
-+      \global\tocfileopenedtrue
-+    \fi
-+    %
-+    \iflinks
-+      {\atdummies
-+       \edef\temp{%
-+         \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
-+       \temp
-+      }
-+    \fi
-+  \fi
-+  %
-+  % Tell \shipout to create a pdf destination on each page, if we're
-+  % writing pdf.  These are used in the table of contents.  We can't
-+  % just write one on every page because the title pages are numbered
-+  % 1 and 2 (the page numbers aren't printed), and so are the first
-+  % two pages of the document.  Thus, we'd have two destinations named
-+  % `1', and two named `2'.
-+  \ifpdf \global\pdfmakepagedesttrue \fi
-+}
-+
-+
-+% These characters do not print properly in the Computer Modern roman
-+% fonts, so we must take special care.  This is more or less redundant
-+% with the Texinfo input format setup at the end of this file.
-+% 
-+\def\activecatcodes{%
-+  \catcode`\"=\active
-+  \catcode`\$=\active
-+  \catcode`\<=\active
-+  \catcode`\>=\active
-+  \catcode`\\=\active
-+  \catcode`\^=\active
-+  \catcode`\_=\active
-+  \catcode`\|=\active
-+  \catcode`\~=\active
-+}
-+
-+
-+% Read the toc file, which is essentially Texinfo input.
-+\def\readtocfile{%
-+  \setupdatafile
-+  \activecatcodes
-+  \input \jobname.toc
-+}
-+
-+\newskip\contentsrightmargin \contentsrightmargin=1in
-+\newcount\savepageno
-+\newcount\lastnegativepageno \lastnegativepageno = -1
-+
-+% Prepare to read what we've written to \tocfile.
-+%
-+\def\startcontents#1{%
-+  % If @setchapternewpage on, and @headings double, the contents should
-+  % start on an odd page, unlike chapters.  Thus, we maintain
-+  % \contentsalignmacro in parallel with \pagealignmacro.
-+  % From: Torbjorn Granlund <tege@matematik.su.se>
-+  \contentsalignmacro
-+  \immediate\closeout\tocfile
-+  %
-+  % Don't need to put `Contents' or `Short Contents' in the headline.
-+  % It is abundantly clear what they are.
-+  \def\thischapter{}%
-+  \chapmacro{#1}{Yomitfromtoc}{}%
-+  %
-+  \savepageno = \pageno
-+  \begingroup                  % Set up to handle contents files properly.
-+    \raggedbottom              % Worry more about breakpoints than the bottom.
-+    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
-+    %
-+    % Roman numerals for page numbers.
-+    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
-+}
-+
-+
-+% Normal (long) toc.
-+\def\contents{%
-+  \startcontents{\putwordTOC}%
-+    \openin 1 \jobname.toc
-+    \ifeof 1 \else
-+      \readtocfile
-+    \fi
-+    \vfill \eject
-+    \contentsalignmacro % in case @setchapternewpage odd is in effect
-+    \ifeof 1 \else
-+      \pdfmakeoutlines
-+    \fi
-+    \closein 1
-+  \endgroup
-+  \lastnegativepageno = \pageno
-+  \global\pageno = \savepageno
-+}
-+
-+% And just the chapters.
-+\def\summarycontents{%
-+  \startcontents{\putwordShortTOC}%
-+    %
-+    \let\numchapentry = \shortchapentry
-+    \let\appentry = \shortchapentry
-+    \let\unnchapentry = \shortunnchapentry
-+    % We want a true roman here for the page numbers.
-+    \secfonts
-+    \let\rm=\shortcontrm \let\bf=\shortcontbf
-+    \let\sl=\shortcontsl \let\tt=\shortconttt
-+    \rm
-+    \hyphenpenalty = 10000
-+    \advance\baselineskip by 1pt % Open it up a little.
-+    \def\numsecentry##1##2##3##4{}
-+    \let\appsecentry = \numsecentry
-+    \let\unnsecentry = \numsecentry
-+    \let\numsubsecentry = \numsecentry
-+    \let\appsubsecentry = \numsecentry
-+    \let\unnsubsecentry = \numsecentry
-+    \let\numsubsubsecentry = \numsecentry
-+    \let\appsubsubsecentry = \numsecentry
-+    \let\unnsubsubsecentry = \numsecentry
-+    \openin 1 \jobname.toc
-+    \ifeof 1 \else
-+      \readtocfile
-+    \fi
-+    \closein 1
-+    \vfill \eject
-+    \contentsalignmacro % in case @setchapternewpage odd is in effect
-+  \endgroup
-+  \lastnegativepageno = \pageno
-+  \global\pageno = \savepageno
-+}
-+\let\shortcontents = \summarycontents
-+
-+% Typeset the label for a chapter or appendix for the short contents.
-+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
-+%
-+\def\shortchaplabel#1{%
-+  % This space should be enough, since a single number is .5em, and the
-+  % widest letter (M) is 1em, at least in the Computer Modern fonts.
-+  % But use \hss just in case.
-+  % (This space doesn't include the extra space that gets added after
-+  % the label; that gets put in by \shortchapentry above.)
-+  %
-+  % We'd like to right-justify chapter numbers, but that looks strange
-+  % with appendix letters.  And right-justifying numbers and
-+  % left-justifying letters looks strange when there is less than 10
-+  % chapters.  Have to read the whole toc once to know how many chapters
-+  % there are before deciding ...
-+  \hbox to 1em{#1\hss}%
-+}
-+
-+% These macros generate individual entries in the table of contents.
-+% The first argument is the chapter or section name.
-+% The last argument is the page number.
-+% The arguments in between are the chapter number, section number, ...
-+
-+% Chapters, in the main contents.
-+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
-+%
-+% Chapters, in the short toc.
-+% See comments in \dochapentry re vbox and related settings.
-+\def\shortchapentry#1#2#3#4{%
-+  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
-+}
-+
-+% Appendices, in the main contents.
-+% Need the word Appendix, and a fixed-size box.
-+%
-+\def\appendixbox#1{%
-+  % We use M since it's probably the widest letter.
-+  \setbox0 = \hbox{\putwordAppendix{} M}%
-+  \hbox to \wd0{\putwordAppendix{} #1\hss}}
-+%
-+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
-+
-+% Unnumbered chapters.
-+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
-+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
-+
-+% Sections.
-+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
-+\let\appsecentry=\numsecentry
-+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
-+
-+% Subsections.
-+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
-+\let\appsubsecentry=\numsubsecentry
-+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
-+
-+% And subsubsections.
-+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
-+\let\appsubsubsecentry=\numsubsubsecentry
-+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
-+
-+% This parameter controls the indentation of the various levels.
-+% Same as \defaultparindent.
-+\newdimen\tocindent \tocindent = 15pt
-+
-+% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-+% page number.
-+%
-+% If the toc has to be broken over pages, we want it to be at chapters
-+% if at all possible; hence the \penalty.
-+\def\dochapentry#1#2{%
-+   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
-+   \begingroup
-+     \chapentryfonts
-+     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-+   \endgroup
-+   \nobreak\vskip .25\baselineskip plus.1\baselineskip
-+}
-+
-+\def\dosecentry#1#2{\begingroup
-+  \secentryfonts \leftskip=\tocindent
-+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-+\endgroup}
-+
-+\def\dosubsecentry#1#2{\begingroup
-+  \subsecentryfonts \leftskip=2\tocindent
-+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-+\endgroup}
-+
-+\def\dosubsubsecentry#1#2{\begingroup
-+  \subsubsecentryfonts \leftskip=3\tocindent
-+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-+\endgroup}
-+
-+% We use the same \entry macro as for the index entries.
-+\let\tocentry = \entry
-+
-+% Space between chapter (or whatever) number and the title.
-+\def\labelspace{\hskip1em \relax}
-+
-+\def\dopageno#1{{\rm #1}}
-+\def\doshortpageno#1{{\rm #1}}
-+
-+\def\chapentryfonts{\secfonts \rm}
-+\def\secentryfonts{\textfonts}
-+\def\subsecentryfonts{\textfonts}
-+\def\subsubsecentryfonts{\textfonts}
-+
-+
-+\message{environments,}
-+% @foo ... @end foo.
-+
-+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-+%
-+% Since these characters are used in examples, it should be an even number of
-+% \tt widths. Each \tt character is 1en, so two makes it 1em.
-+%
-+\def\point{$\star$}
-+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-+
-+% The @error{} command.
-+% Adapted from the TeXbook's \boxit.
-+%
-+\newbox\errorbox
-+%
-+{\tentt \global\dimen0 = 3em}% Width of the box.
-+\dimen2 = .55pt % Thickness of rules
-+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-+\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-+%
-+\setbox\errorbox=\hbox to \dimen0{\hfil
-+   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
-+   \advance\hsize by -2\dimen2 % Rules.
-+   \vbox{%
-+      \hrule height\dimen2
-+      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
-+         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
-+         \kern3pt\vrule width\dimen2}% Space to right.
-+      \hrule height\dimen2}
-+    \hfil}
-+%
-+\def\error{\leavevmode\lower.7ex\copy\errorbox}
-+
-+% @tex ... @end tex    escapes into raw Tex temporarily.
-+% One exception: @ is still an escape character, so that @end tex works.
-+% But \@ or @@ will get a plain tex @ character.
-+
-+\envdef\tex{%
-+  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
-+  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
-+  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
-+  \catcode `\%=14
-+  \catcode `\+=\other
-+  \catcode `\"=\other
-+  \catcode `\|=\other
-+  \catcode `\<=\other
-+  \catcode `\>=\other
-+  \escapechar=`\\
-+  %
-+  \let\b=\ptexb
-+  \let\bullet=\ptexbullet
-+  \let\c=\ptexc
-+  \let\,=\ptexcomma
-+  \let\.=\ptexdot
-+  \let\dots=\ptexdots
-+  \let\equiv=\ptexequiv
-+  \let\!=\ptexexclam
-+  \let\i=\ptexi
-+  \let\indent=\ptexindent
-+  \let\noindent=\ptexnoindent
-+  \let\{=\ptexlbrace
-+  \let\+=\tabalign
-+  \let\}=\ptexrbrace
-+  \let\/=\ptexslash
-+  \let\*=\ptexstar
-+  \let\t=\ptext
-+  \let\frenchspacing=\plainfrenchspacing
-+  %
-+  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
-+  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
-+  \def\@{@}%
-+}
-+% There is no need to define \Etex.
-+
-+% Define @lisp ... @end lisp.
-+% @lisp environment forms a group so it can rebind things,
-+% including the definition of @end lisp (which normally is erroneous).
-+
-+% Amount to narrow the margins by for @lisp.
-+\newskip\lispnarrowing \lispnarrowing=0.4in
-+
-+% This is the definition that ^^M gets inside @lisp, @example, and other
-+% such environments.  \null is better than a space, since it doesn't
-+% have any width.
-+\def\lisppar{\null\endgraf}
-+
-+% This space is always present above and below environments.
-+\newskip\envskipamount \envskipamount = 0pt
-+
-+% Make spacing and below environment symmetrical.  We use \parskip here
-+% to help in doing that, since in @example-like environments \parskip
-+% is reset to zero; thus the \afterenvbreak inserts no space -- but the
-+% start of the next paragraph will insert \parskip.
-+%
-+\def\aboveenvbreak{{%
-+  % =10000 instead of <10000 because of a special case in \itemzzz and
-+  % \sectionheading, q.v.
-+  \ifnum \lastpenalty=10000 \else
-+    \advance\envskipamount by \parskip
-+    \endgraf
-+    \ifdim\lastskip<\envskipamount
-+      \removelastskip
-+      % it's not a good place to break if the last penalty was \nobreak
-+      % or better ...
-+      \ifnum\lastpenalty<10000 \penalty-50 \fi
-+      \vskip\envskipamount
-+    \fi
-+  \fi
-+}}
-+
-+\let\afterenvbreak = \aboveenvbreak
-+
-+% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
-+% also clear it, so that its embedded environments do the narrowing again.
-+\let\nonarrowing=\relax
-+
-+% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-+% environment contents.
-+\font\circle=lcircle10
-+\newdimen\circthick
-+\newdimen\cartouter\newdimen\cartinner
-+\newskip\normbskip\newskip\normpskip\newskip\normlskip
-+\circthick=\fontdimen8\circle
-+%
-+\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-+\def\ctr{{\hskip 6pt\circle\char'010}}
-+\def\cbl{{\circle\char'012\hskip -6pt}}
-+\def\cbr{{\hskip 6pt\circle\char'011}}
-+\def\carttop{\hbox to \cartouter{\hskip\lskip
-+        \ctl\leaders\hrule height\circthick\hfil\ctr
-+        \hskip\rskip}}
-+\def\cartbot{\hbox to \cartouter{\hskip\lskip
-+        \cbl\leaders\hrule height\circthick\hfil\cbr
-+        \hskip\rskip}}
-+%
-+\newskip\lskip\newskip\rskip
-+
-+\envdef\cartouche{%
-+  \ifhmode\par\fi  % can't be in the midst of a paragraph.
-+  \startsavinginserts
-+  \lskip=\leftskip \rskip=\rightskip
-+  \leftskip=0pt\rightskip=0pt % we want these *outside*.
-+  \cartinner=\hsize \advance\cartinner by-\lskip
-+  \advance\cartinner by-\rskip
-+  \cartouter=\hsize
-+  \advance\cartouter by 18.4pt        % allow for 3pt kerns on either
-+                              % side, and for 6pt waste from
-+                              % each corner char, and rule thickness
-+  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
-+  % Flag to tell @lisp, etc., not to narrow margin.
-+  \let\nonarrowing = t%
-+  \vbox\bgroup
-+      \baselineskip=0pt\parskip=0pt\lineskip=0pt
-+      \carttop
-+      \hbox\bgroup
-+        \hskip\lskip
-+        \vrule\kern3pt
-+        \vbox\bgroup
-+            \kern3pt
-+            \hsize=\cartinner
-+            \baselineskip=\normbskip
-+            \lineskip=\normlskip
-+            \parskip=\normpskip
-+            \vskip -\parskip
-+            \comment % For explanation, see the end of \def\group.
-+}
-+\def\Ecartouche{%
-+              \ifhmode\par\fi
-+            \kern3pt
-+        \egroup
-+        \kern3pt\vrule
-+        \hskip\rskip
-+      \egroup
-+      \cartbot
-+  \egroup
-+  \checkinserts
-+}
-+
-+
-+% This macro is called at the beginning of all the @example variants,
-+% inside a group.
-+\def\nonfillstart{%
-+  \aboveenvbreak
-+  \hfuzz = 12pt % Don't be fussy
-+  \sepspaces % Make spaces be word-separators rather than space tokens.
-+  \let\par = \lisppar % don't ignore blank lines
-+  \obeylines % each line of input is a line of output
-+  \parskip = 0pt
-+  \parindent = 0pt
-+  \emergencystretch = 0pt % don't try to avoid overfull boxes
-+  \ifx\nonarrowing\relax
-+    \advance \leftskip by \lispnarrowing
-+    \exdentamount=\lispnarrowing
-+  \else
-+    \let\nonarrowing = \relax
-+  \fi
-+  \let\exdent=\nofillexdent
-+}
-+
-+% If you want all examples etc. small: @set dispenvsize small.
-+% If you want even small examples the full size: @set dispenvsize nosmall.
-+% This affects the following displayed environments:
-+%    @example, @display, @format, @lisp
-+%
-+\def\smallword{small}
-+\def\nosmallword{nosmall}
-+\let\SETdispenvsize\relax
-+\def\setnormaldispenv{%
-+  \ifx\SETdispenvsize\smallword
-+    \smallexamplefonts \rm
-+  \fi
-+}
-+\def\setsmalldispenv{%
-+  \ifx\SETdispenvsize\nosmallword
-+  \else
-+    \smallexamplefonts \rm
-+  \fi
-+}
-+
-+% We often define two environments, @foo and @smallfoo.
-+% Let's do it by one command:
-+\def\makedispenv #1#2{
-+  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
-+  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
-+  \expandafter\let\csname E#1\endcsname \afterenvbreak
-+  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
-+}
-+
-+% Define two synonyms:
-+\def\maketwodispenvs #1#2#3{
-+  \makedispenv{#1}{#3}
-+  \makedispenv{#2}{#3}
-+}
-+
-+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
-+%
-+% @smallexample and @smalllisp: use smaller fonts.
-+% Originally contributed by Pavel@xerox.
-+%
-+\maketwodispenvs {lisp}{example}{%
-+  \nonfillstart
-+  \tt
-+  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
-+  \gobble       % eat return
-+}
-+
-+% @display/@smalldisplay: same as @lisp except keep current font.
-+%
-+\makedispenv {display}{%
-+  \nonfillstart
-+  \gobble
-+}
-+
-+% @format/@smallformat: same as @display except don't narrow margins.
-+%
-+\makedispenv{format}{%
-+  \let\nonarrowing = t%
-+  \nonfillstart
-+  \gobble
-+}
-+
-+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
-+\envdef\flushleft{%
-+  \let\nonarrowing = t%
-+  \nonfillstart
-+  \gobble
-+}
-+\let\Eflushleft = \afterenvbreak
-+
-+% @flushright.
-+%
-+\envdef\flushright{%
-+  \let\nonarrowing = t%
-+  \nonfillstart
-+  \advance\leftskip by 0pt plus 1fill
-+  \gobble
-+}
-+\let\Eflushright = \afterenvbreak
-+
-+
-+% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-+% and narrows the margins.  We keep \parskip nonzero in general, since
-+% we're doing normal filling.  So, when using \aboveenvbreak and
-+% \afterenvbreak, temporarily make \parskip 0.
-+%
-+\envdef\quotation{%
-+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-+  \parindent=0pt
-+  %
-+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
-+  \ifx\nonarrowing\relax
-+    \advance\leftskip by \lispnarrowing
-+    \advance\rightskip by \lispnarrowing
-+    \exdentamount = \lispnarrowing
-+  \else
-+    \let\nonarrowing = \relax
-+  \fi
-+  \parsearg\quotationlabel
-+}
-+
-+% We have retained a nonzero parskip for the environment, since we're
-+% doing normal filling.
-+%
-+\def\Equotation{%
-+  \par
-+  \ifx\quotationauthor\undefined\else
-+    % indent a bit.
-+    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
-+  \fi
-+  {\parskip=0pt \afterenvbreak}%
-+}
-+
-+% If we're given an argument, typeset it in bold with a colon after.
-+\def\quotationlabel#1{%
-+  \def\temp{#1}%
-+  \ifx\temp\empty \else
-+    {\bf #1: }%
-+  \fi
-+}
-+
-+
-+% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-+% If we want to allow any <char> as delimiter,
-+% we need the curly braces so that makeinfo sees the @verb command, eg:
-+% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
-+%
-+% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
-+%
-+% [Knuth] p.344; only we need to do the other characters Texinfo sets
-+% active too.  Otherwise, they get lost as the first character on a
-+% verbatim line.
-+\def\dospecials{%
-+  \do\ \do\\\do\{\do\}\do\$\do\&%
-+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
-+  \do\<\do\>\do\|\do\@\do+\do\"%
-+}
-+%
-+% [Knuth] p. 380
-+\def\uncatcodespecials{%
-+  \def\do##1{\catcode`##1=\other}\dospecials}
-+%
-+% [Knuth] pp. 380,381,391
-+% Disable Spanish ligatures ?` and !` of \tt font
-+\begingroup
-+  \catcode`\`=\active\gdef`{\relax\lq}
-+\endgroup
-+%
-+% Setup for the @verb command.
-+%
-+% Eight spaces for a tab
-+\begingroup
-+  \catcode`\^^I=\active
-+  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
-+\endgroup
-+%
-+\def\setupverb{%
-+  \tt  % easiest (and conventionally used) font for verbatim
-+  \def\par{\leavevmode\endgraf}%
-+  \catcode`\`=\active
-+  \tabeightspaces
-+  % Respect line breaks,
-+  % print special symbols as themselves, and
-+  % make each space count
-+  % must do in this order:
-+  \obeylines \uncatcodespecials \sepspaces
-+}
-+
-+% Setup for the @verbatim environment
-+%
-+% Real tab expansion
-+\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
-+%
-+\def\starttabbox{\setbox0=\hbox\bgroup}
-+\begingroup
-+  \catcode`\^^I=\active
-+  \gdef\tabexpand{%
-+    \catcode`\^^I=\active
-+    \def^^I{\leavevmode\egroup
-+      \dimen0=\wd0 % the width so far, or since the previous tab
-+      \divide\dimen0 by\tabw
-+      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
-+      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
-+      \wd0=\dimen0 \box0 \starttabbox
-+    }%
-+  }
-+\endgroup
-+\def\setupverbatim{%
-+  \let\nonarrowing = t%
-+  \nonfillstart
-+  % Easiest (and conventionally used) font for verbatim
-+  \tt
-+  \def\par{\leavevmode\egroup\box0\endgraf}%
-+  \catcode`\`=\active
-+  \tabexpand
-+  % Respect line breaks,
-+  % print special symbols as themselves, and
-+  % make each space count
-+  % must do in this order:
-+  \obeylines \uncatcodespecials \sepspaces
-+  \everypar{\starttabbox}%
-+}
-+
-+% Do the @verb magic: verbatim text is quoted by unique
-+% delimiter characters.  Before first delimiter expect a
-+% right brace, after last delimiter expect closing brace:
-+%
-+%    \def\doverb'{'<char>#1<char>'}'{#1}
-+%
-+% [Knuth] p. 382; only eat outer {}
-+\begingroup
-+  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
-+  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
-+\endgroup
-+%
-+\def\verb{\begingroup\setupverb\doverb}
-+%
-+%
-+% Do the @verbatim magic: define the macro \doverbatim so that
-+% the (first) argument ends when '@end verbatim' is reached, ie:
-+%
-+%     \def\doverbatim#1@end verbatim{#1}
-+%
-+% For Texinfo it's a lot easier than for LaTeX,
-+% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
-+% we need not redefine '\', '{' and '}'.
-+%
-+% Inspired by LaTeX's verbatim command set [latex.ltx]
-+%
-+\begingroup
-+  \catcode`\ =\active
-+  \obeylines %
-+  % ignore everything up to the first ^^M, that's the newline at the end
-+  % of the @verbatim input line itself.  Otherwise we get an extra blank
-+  % line in the output.
-+  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
-+  % We really want {...\end verbatim} in the body of the macro, but
-+  % without the active space; thus we have to use \xdef and \gobble.
-+\endgroup
-+%
-+\envdef\verbatim{%
-+    \setupverbatim\doverbatim
-+}
-+\let\Everbatim = \afterenvbreak
-+
-+
-+% @verbatiminclude FILE - insert text of file in verbatim environment.
-+%
-+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
-+%
-+\def\doverbatiminclude#1{%
-+  {%
-+    \makevalueexpandable
-+    \setupverbatim
-+    \input #1
-+    \afterenvbreak
-+  }%
-+}
-+
-+% @copying ... @end copying.
-+% Save the text away for @insertcopying later.
-+%
-+% We save the uninterpreted tokens, rather than creating a box.
-+% Saving the text in a box would be much easier, but then all the
-+% typesetting commands (@smallbook, font changes, etc.) have to be done
-+% beforehand -- and a) we want @copying to be done first in the source
-+% file; b) letting users define the frontmatter in as flexible order as
-+% possible is very desirable.
-+%
-+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
-+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
-+%
-+\def\insertcopying{%
-+  \begingroup
-+    \parindent = 0pt  % paragraph indentation looks wrong on title page
-+    \scanexp\copyingtext
-+  \endgroup
-+}
-+
-+\message{defuns,}
-+% @defun etc.
-+
-+\newskip\defbodyindent \defbodyindent=.4in
-+\newskip\defargsindent \defargsindent=50pt
-+\newskip\deflastargmargin \deflastargmargin=18pt
-+
-+% Start the processing of @deffn:
-+\def\startdefun{%
-+  \ifnum\lastpenalty<10000
-+    \medbreak
-+  \else
-+    % If there are two @def commands in a row, we'll have a \nobreak,
-+    % which is there to keep the function description together with its
-+    % header.  But if there's nothing but headers, we need to allow a
-+    % break somewhere.  Check specifically for penalty 10002, inserted
-+    % by \defargscommonending, instead of 10000, since the sectioning
-+    % commands also insert a nobreak penalty, and we don't want to allow
-+    % a break between a section heading and a defun.
-+    % 
-+    \ifnum\lastpenalty=10002 \penalty2000 \fi
-+    %
-+    % Similarly, after a section heading, do not allow a break.
-+    % But do insert the glue.
-+    \medskip  % preceded by discardable penalty, so not a breakpoint
-+  \fi
-+  %
-+  \parindent=0in
-+  \advance\leftskip by \defbodyindent
-+  \exdentamount=\defbodyindent
-+}
-+
-+\def\dodefunx#1{%
-+  % First, check whether we are in the right environment:
-+  \checkenv#1%
-+  %
-+  % As above, allow line break if we have multiple x headers in a row.
-+  % It's not a great place, though.
-+  \ifnum\lastpenalty=10002 \penalty3000 \fi
-+  %
-+  % And now, it's time to reuse the body of the original defun:
-+  \expandafter\gobbledefun#1%
-+}
-+\def\gobbledefun#1\startdefun{}
-+
-+% \printdefunline \deffnheader{text}
-+%
-+\def\printdefunline#1#2{%
-+  \begingroup
-+    % call \deffnheader:
-+    #1#2 \endheader
-+    % common ending:
-+    \interlinepenalty = 10000
-+    \advance\rightskip by 0pt plus 1fil
-+    \endgraf
-+    \nobreak\vskip -\parskip
-+    \penalty 10002  % signal to \startdefun and \dodefunx
-+    % Some of the @defun-type tags do not enable magic parentheses,
-+    % rendering the following check redundant.  But we don't optimize.
-+    \checkparencounts
-+  \endgroup
-+}
-+
-+\def\Edefun{\endgraf\medbreak}
-+
-+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
-+% the only thing remainnig is to define \deffnheader.
-+%
-+\def\makedefun#1{%
-+  \expandafter\let\csname E#1\endcsname = \Edefun
-+  \edef\temp{\noexpand\domakedefun
-+    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
-+  \temp
-+}
-+
-+% \domakedefun \deffn \deffnx \deffnheader
-+%
-+% Define \deffn and \deffnx, without parameters.
-+% \deffnheader has to be defined explicitly.
-+%
-+\def\domakedefun#1#2#3{%
-+  \envdef#1{%
-+    \startdefun
-+    \parseargusing\activeparens{\printdefunline#3}%
-+  }%
-+  \def#2{\dodefunx#1}%
-+  \def#3%
-+}
-+
-+%%% Untyped functions:
-+
-+% @deffn category name args
-+\makedefun{deffn}{\deffngeneral{}}
-+
-+% @deffn category class name args
-+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-+
-+% \defopon {category on}class name args
-+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-+
-+% \deffngeneral {subind}category name args
-+%
-+\def\deffngeneral#1#2 #3 #4\endheader{%
-+  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
-+  \dosubind{fn}{\code{#3}}{#1}%
-+  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
-+}
-+
-+%%% Typed functions:
-+
-+% @deftypefn category type name args
-+\makedefun{deftypefn}{\deftypefngeneral{}}
-+
-+% @deftypeop category class type name args
-+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-+
-+% \deftypeopon {category on}class type name args
-+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-+
-+% \deftypefngeneral {subind}category type name args
-+%
-+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
-+  \dosubind{fn}{\code{#4}}{#1}%
-+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-+}
-+
-+%%% Typed variables:
-+
-+% @deftypevr category type var args
-+\makedefun{deftypevr}{\deftypecvgeneral{}}
-+
-+% @deftypecv category class type var args
-+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-+
-+% \deftypecvof {category of}class type var args
-+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-+
-+% \deftypecvgeneral {subind}category type var args
-+%
-+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
-+  \dosubind{vr}{\code{#4}}{#1}%
-+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-+}
-+
-+%%% Untyped variables:
-+
-+% @defvr category var args
-+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
-+
-+% @defcv category class var args
-+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-+
-+% \defcvof {category of}class var args
-+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-+
-+%%% Type:
-+% @deftp category name args
-+\makedefun{deftp}#1 #2 #3\endheader{%
-+  \doind{tp}{\code{#2}}%
-+  \defname{#1}{}{#2}\defunargs{#3\unskip}%
-+}
-+
-+% Remaining @defun-like shortcuts:
-+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
-+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
-+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
-+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
-+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
-+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
-+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
-+\makedefun{defmethod}{\defopon\putwordMethodon}
-+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
-+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
-+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
-+
-+% \defname, which formats the name of the @def (not the args).
-+% #1 is the category, such as "Function".
-+% #2 is the return type, if any.
-+% #3 is the function name.
-+%
-+% We are followed by (but not passed) the arguments, if any.
-+%
-+\def\defname#1#2#3{%
-+  % Get the values of \leftskip and \rightskip as they were outside the @def...
-+  \advance\leftskip by -\defbodyindent
-+  %
-+  % How we'll format the type name.  Putting it in brackets helps
-+  % distinguish it from the body text that may end up on the next line
-+  % just below it.
-+  \def\temp{#1}%
-+  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
-+  %
-+  % Figure out line sizes for the paragraph shape.
-+  % The first line needs space for \box0; but if \rightskip is nonzero,
-+  % we need only space for the part of \box0 which exceeds it:
-+  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
-+  % The continuations:
-+  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
-+  % (plain.tex says that \dimen1 should be used only as global.)
-+  \parshape 2 0in \dimen0 \defargsindent \dimen2
-+  %
-+  % Put the type name to the right margin.
-+  \noindent
-+  \hbox to 0pt{%
-+    \hfil\box0 \kern-\hsize
-+    % \hsize has to be shortened this way:
-+    \kern\leftskip
-+    % Intentionally do not respect \rightskip, since we need the space.
-+  }%
-+  %
-+  % Allow all lines to be underfull without complaint:
-+  \tolerance=10000 \hbadness=10000
-+  \exdentamount=\defbodyindent
-+  {%
-+    % defun fonts. We use typewriter by default (used to be bold) because:
-+    % . we're printing identifiers, they should be in tt in principle.
-+    % . in languages with many accents, such as Czech or French, it's
-+    %   common to leave accents off identifiers.  The result looks ok in
-+    %   tt, but exceedingly strange in rm.
-+    % . we don't want -- and --- to be treated as ligatures.
-+    % . this still does not fix the ?` and !` ligatures, but so far no
-+    %   one has made identifiers using them :).
-+    \df \tt
-+    \def\temp{#2}% return value type
-+    \ifx\temp\empty\else \tclose{\temp} \fi
-+    #3% output function name
-+  }%
-+  {\rm\enskip}% hskip 0.5 em of \tenrm
-+  %
-+  \boldbrax
-+  % arguments will be output next, if any.
-+}
-+
-+% Print arguments in slanted roman (not ttsl), inconsistently with using
-+% tt for the name.  This is because literal text is sometimes needed in
-+% the argument list (groff manual), and ttsl and tt are not very
-+% distinguishable.  Prevent hyphenation at `-' chars.
-+%
-+\def\defunargs#1{%
-+  % use sl by default (not ttsl),
-+  % tt for the names.
-+  \df \sl \hyphenchar\font=0
-+  %
-+  % On the other hand, if an argument has two dashes (for instance), we
-+  % want a way to get ttsl.  Let's try @var for that.
-+  \let\var=\ttslanted
-+  #1%
-+  \sl\hyphenchar\font=45
-+}
-+
-+% We want ()&[] to print specially on the defun line.
-+%
-+\def\activeparens{%
-+  \catcode`\(=\active \catcode`\)=\active
-+  \catcode`\[=\active \catcode`\]=\active
-+  \catcode`\&=\active
-+}
-+
-+% Make control sequences which act like normal parenthesis chars.
-+\let\lparen = ( \let\rparen = )
-+
-+% Be sure that we always have a definition for `(', etc.  For example,
-+% if the fn name has parens in it, \boldbrax will not be in effect yet,
-+% so TeX would otherwise complain about undefined control sequence.
-+{
-+  \activeparens
-+  \global\let(=\lparen \global\let)=\rparen
-+  \global\let[=\lbrack \global\let]=\rbrack
-+  \global\let& = \&
-+
-+  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-+  \gdef\magicamp{\let&=\amprm}
-+}
-+
-+\newcount\parencount
-+
-+% If we encounter &foo, then turn on ()-hacking afterwards
-+\newif\ifampseen
-+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
-+
-+\def\parenfont{%
-+  \ifampseen
-+    % At the first level, print parens in roman,
-+    % otherwise use the default font.
-+    \ifnum \parencount=1 \rm \fi
-+  \else
-+    % The \sf parens (in \boldbrax) actually are a little bolder than
-+    % the contained text.  This is especially needed for [ and ] .
-+    \sf
-+  \fi
-+}
-+\def\infirstlevel#1{%
-+  \ifampseen
-+    \ifnum\parencount=1
-+      #1%
-+    \fi
-+  \fi
-+}
-+\def\bfafterword#1 {#1 \bf}
-+
-+\def\opnr{%
-+  \global\advance\parencount by 1
-+  {\parenfont(}%
-+  \infirstlevel \bfafterword
-+}
-+\def\clnr{%
-+  {\parenfont)}%
-+  \infirstlevel \sl
-+  \global\advance\parencount by -1
-+}
-+
-+\newcount\brackcount
-+\def\lbrb{%
-+  \global\advance\brackcount by 1
-+  {\bf[}%
-+}
-+\def\rbrb{%
-+  {\bf]}%
-+  \global\advance\brackcount by -1
-+}
-+
-+\def\checkparencounts{%
-+  \ifnum\parencount=0 \else \badparencount \fi
-+  \ifnum\brackcount=0 \else \badbrackcount \fi
-+}
-+\def\badparencount{%
-+  \errmessage{Unbalanced parentheses in @def}%
-+  \global\parencount=0
-+}
-+\def\badbrackcount{%
-+  \errmessage{Unbalanced square braces in @def}%
-+  \global\brackcount=0
-+}
-+
-+
-+\message{macros,}
-+% @macro.
-+
-+% To do this right we need a feature of e-TeX, \scantokens,
-+% which we arrange to emulate with a temporary file in ordinary TeX.
-+\ifx\eTeXversion\undefined
-+  \newwrite\macscribble
-+  \def\scantokens#1{%
-+    \toks0={#1}%
-+    \immediate\openout\macscribble=\jobname.tmp
-+    \immediate\write\macscribble{\the\toks0}%
-+    \immediate\closeout\macscribble
-+    \input \jobname.tmp
-+  }
-+\fi
-+
-+\def\scanmacro#1{%
-+  \begingroup
-+    \newlinechar`\^^M
-+    \let\xeatspaces\eatspaces
-+    % Undo catcode changes of \startcontents and \doprintindex
-+    % When called from @insertcopying or (short)caption, we need active
-+    % backslash to get it printed correctly.  Previously, we had
-+    % \catcode`\\=\other instead.  We'll see whether a problem appears
-+    % with macro expansion.                           --kasal, 19aug04
-+    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-+    % ... and \example
-+    \spaceisspace
-+    %
-+    % Append \endinput to make sure that TeX does not see the ending newline.
-+    %
-+    % I've verified that it is necessary both for e-TeX and for ordinary TeX
-+    %                                                 --kasal, 29nov03
-+    \scantokens{#1\endinput}%
-+  \endgroup
-+}
-+
-+\def\scanexp#1{%
-+  \edef\temp{\noexpand\scanmacro{#1}}%
-+  \temp
-+}
-+
-+\newcount\paramno   % Count of parameters
-+\newtoks\macname    % Macro name
-+\newif\ifrecursive  % Is it recursive?
-+
-+% List of all defined macros in the form
-+%    \definedummyword\macro1\definedummyword\macro2...
-+% Currently is also contains all @aliases; the list can be split
-+% if there is a need.
-+\def\macrolist{}
-+
-+% Add the macro to \macrolist
-+\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
-+\def\addtomacrolistxxx#1{%
-+     \toks0 = \expandafter{\macrolist\definedummyword#1}%
-+     \xdef\macrolist{\the\toks0}%
-+}
-+
-+% Utility routines.
-+% This does \let #1 = #2, with \csnames; that is,
-+%   \let \csname#1\endcsname = \csname#2\endcsname
-+% (except of course we have to play expansion games).
-+% 
-+\def\cslet#1#2{%
-+  \expandafter\let
-+  \csname#1\expandafter\endcsname
-+  \csname#2\endcsname
-+}
-+
-+% Trim leading and trailing spaces off a string.
-+% Concepts from aro-bend problem 15 (see CTAN).
-+{\catcode`\@=11
-+\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-+\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-+\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-+\def\unbrace#1{#1}
-+\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-+}
-+
-+% Trim a single trailing ^^M off a string.
-+{\catcode`\^^M=\other \catcode`\Q=3%
-+\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-+\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-+\gdef\eatcrb#1Q#2Q{#1}%
-+}
-+
-+% Macro bodies are absorbed as an argument in a context where
-+% all characters are catcode 10, 11 or 12, except \ which is active
-+% (as in normal texinfo). It is necessary to change the definition of \.
-+
-+% It's necessary to have hard CRs when the macro is executed. This is
-+% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
-+% body, and then making it the \newlinechar in \scanmacro.
-+
-+\def\scanctxt{%
-+  \catcode`\"=\other
-+  \catcode`\+=\other
-+  \catcode`\<=\other
-+  \catcode`\>=\other
-+  \catcode`\@=\other
-+  \catcode`\^=\other
-+  \catcode`\_=\other
-+  \catcode`\|=\other
-+  \catcode`\~=\other
-+}
-+
-+\def\scanargctxt{%
-+  \scanctxt
-+  \catcode`\\=\other
-+  \catcode`\^^M=\other
-+}
-+
-+\def\macrobodyctxt{%
-+  \scanctxt
-+  \catcode`\{=\other
-+  \catcode`\}=\other
-+  \catcode`\^^M=\other
-+  \usembodybackslash
-+}
-+
-+\def\macroargctxt{%
-+  \scanctxt
-+  \catcode`\\=\other
-+}
-+
-+% \mbodybackslash is the definition of \ in @macro bodies.
-+% It maps \foo\ => \csname macarg.foo\endcsname => #N
-+% where N is the macro parameter number.
-+% We define \csname macarg.\endcsname to be \realbackslash, so
-+% \\ in macro replacement text gets you a backslash.
-+
-+{\catcode`@=0 @catcode`@\=@active
-+ @gdef@usembodybackslash{@let\=@mbodybackslash}
-+ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-+}
-+\expandafter\def\csname macarg.\endcsname{\realbackslash}
-+
-+\def\macro{\recursivefalse\parsearg\macroxxx}
-+\def\rmacro{\recursivetrue\parsearg\macroxxx}
-+
-+\def\macroxxx#1{%
-+  \getargs{#1}%           now \macname is the macname and \argl the arglist
-+  \ifx\argl\empty       % no arguments
-+     \paramno=0%
-+  \else
-+     \expandafter\parsemargdef \argl;%
-+  \fi
-+  \if1\csname ismacro.\the\macname\endcsname
-+     \message{Warning: redefining \the\macname}%
-+  \else
-+     \expandafter\ifx\csname \the\macname\endcsname \relax
-+     \else \errmessage{Macro name \the\macname\space already defined}\fi
-+     \global\cslet{macsave.\the\macname}{\the\macname}%
-+     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
-+     \addtomacrolist{\the\macname}%
-+  \fi
-+  \begingroup \macrobodyctxt
-+  \ifrecursive \expandafter\parsermacbody
-+  \else \expandafter\parsemacbody
-+  \fi}
-+
-+\parseargdef\unmacro{%
-+  \if1\csname ismacro.#1\endcsname
-+    \global\cslet{#1}{macsave.#1}%
-+    \global\expandafter\let \csname ismacro.#1\endcsname=0%
-+    % Remove the macro name from \macrolist:
-+    \begingroup
-+      \expandafter\let\csname#1\endcsname \relax
-+      \let\definedummyword\unmacrodo
-+      \xdef\macrolist{\macrolist}%
-+    \endgroup
-+  \else
-+    \errmessage{Macro #1 not defined}%
-+  \fi
-+}
-+
-+% Called by \do from \dounmacro on each macro.  The idea is to omit any
-+% macro definitions that have been changed to \relax.
-+%
-+\def\unmacrodo#1{%
-+  \ifx #1\relax
-+    % remove this
-+  \else
-+    \noexpand\definedummyword \noexpand#1%
-+  \fi
-+}
-+
-+% This makes use of the obscure feature that if the last token of a
-+% <parameter list> is #, then the preceding argument is delimited by
-+% an opening brace, and that opening brace is not consumed.
-+\def\getargs#1{\getargsxxx#1{}}
-+\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-+\def\getmacname #1 #2\relax{\macname={#1}}
-+\def\getmacargs#1{\def\argl{#1}}
-+
-+% Parse the optional {params} list.  Set up \paramno and \paramlist
-+% so \defmacro knows what to do.  Define \macarg.blah for each blah
-+% in the params list, to be ##N where N is the position in that list.
-+% That gets used by \mbodybackslash (above).
-+
-+% We need to get `macro parameter char #' into several definitions.
-+% The technique used is stolen from LaTeX:  let \hash be something
-+% unexpandable, insert that wherever you need a #, and then redefine
-+% it to # just before using the token list produced.
-+%
-+% The same technique is used to protect \eatspaces till just before
-+% the macro is used.
-+
-+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
-+        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-+\def\parsemargdefxxx#1,{%
-+  \if#1;\let\next=\relax
-+  \else \let\next=\parsemargdefxxx
-+    \advance\paramno by 1%
-+    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
-+        {\xeatspaces{\hash\the\paramno}}%
-+    \edef\paramlist{\paramlist\hash\the\paramno,}%
-+  \fi\next}
-+
-+% These two commands read recursive and nonrecursive macro bodies.
-+% (They're different since rec and nonrec macros end differently.)
-+
-+\long\def\parsemacbody#1@end macro%
-+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-+\long\def\parsermacbody#1@end rmacro%
-+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-+
-+% This defines the macro itself. There are six cases: recursive and
-+% nonrecursive macros of zero, one, and many arguments.
-+% Much magic with \expandafter here.
-+% \xdef is used so that macro definitions will survive the file
-+% they're defined in; @include reads the file inside a group.
-+\def\defmacro{%
-+  \let\hash=##% convert placeholders to macro parameter chars
-+  \ifrecursive
-+    \ifcase\paramno
-+    % 0
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+        \noexpand\scanmacro{\temp}}%
-+    \or % 1
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+         \bgroup\noexpand\macroargctxt
-+         \noexpand\braceorline
-+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-+         \egroup\noexpand\scanmacro{\temp}}%
-+    \else % many
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+         \bgroup\noexpand\macroargctxt
-+         \noexpand\csname\the\macname xx\endcsname}%
-+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-+      \expandafter\expandafter
-+      \expandafter\xdef
-+      \expandafter\expandafter
-+        \csname\the\macname xxx\endcsname
-+          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
-+    \fi
-+  \else
-+    \ifcase\paramno
-+    % 0
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+        \noexpand\norecurse{\the\macname}%
-+        \noexpand\scanmacro{\temp}\egroup}%
-+    \or % 1
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+         \bgroup\noexpand\macroargctxt
-+         \noexpand\braceorline
-+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-+        \egroup
-+        \noexpand\norecurse{\the\macname}%
-+        \noexpand\scanmacro{\temp}\egroup}%
-+    \else % many
-+      \expandafter\xdef\csname\the\macname\endcsname{%
-+         \bgroup\noexpand\macroargctxt
-+         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-+      \expandafter\expandafter
-+      \expandafter\xdef
-+      \expandafter\expandafter
-+      \csname\the\macname xxx\endcsname
-+      \paramlist{%
-+          \egroup
-+          \noexpand\norecurse{\the\macname}%
-+          \noexpand\scanmacro{\temp}\egroup}%
-+    \fi
-+  \fi}
-+
-+\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-+
-+% \braceorline decides whether the next nonwhitespace character is a
-+% {.  If so it reads up to the closing }, if not, it reads the whole
-+% line.  Whatever was read is then fed to the next control sequence
-+% as an argument (by \parsebrace or \parsearg)
-+\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
-+\def\braceorlinexxx{%
-+  \ifx\nchar\bgroup\else
-+    \expandafter\parsearg
-+  \fi \next}
-+
-+
-+% @alias.
-+% We need some trickery to remove the optional spaces around the equal
-+% sign.  Just make them active and then expand them all to nothing.
-+\def\alias{\parseargusing\obeyspaces\aliasxxx}
-+\def\aliasxxx #1{\aliasyyy#1\relax}
-+\def\aliasyyy #1=#2\relax{%
-+  {%
-+    \expandafter\let\obeyedspace=\empty
-+    \addtomacrolist{#1}%
-+    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
-+  }%
-+  \next
-+}
-+
-+
-+\message{cross references,}
-+
-+\newwrite\auxfile
-+
-+\newif\ifhavexrefs    % True if xref values are known.
-+\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
-+
-+% @inforef is relatively simple.
-+\def\inforef #1{\inforefzzz #1,,,,**}
-+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
-+  node \samp{\ignorespaces#1{}}}
-+
-+% @node's only job in TeX is to define \lastnode, which is used in
-+% cross-references.  The @node line might or might not have commas, and
-+% might or might not have spaces before the first comma, like:
-+% @node foo , bar , ...
-+% We don't want such trailing spaces in the node name.
-+%
-+\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
-+%
-+% also remove a trailing comma, in case of something like this:
-+% @node Help-Cross,  ,  , Cross-refs
-+\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
-+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
-+
-+\let\nwnode=\node
-+\let\lastnode=\empty
-+
-+% Write a cross-reference definition for the current node.  #1 is the
-+% type (Ynumbered, Yappendix, Ynothing).
-+%
-+\def\donoderef#1{%
-+  \ifx\lastnode\empty\else
-+    \setref{\lastnode}{#1}%
-+    \global\let\lastnode=\empty
-+  \fi
-+}
-+
-+% @anchor{NAME} -- define xref target at arbitrary point.
-+%
-+\newcount\savesfregister
-+%
-+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
-+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
-+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
-+
-+% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
-+% anchor), which consists of three parts:
-+% 1) NAME-title - the current sectioning name taken from \thissection,
-+%                 or the anchor name.
-+% 2) NAME-snt   - section number and type, passed as the SNT arg, or
-+%                 empty for anchors.
-+% 3) NAME-pg    - the page number.
-+%
-+% This is called from \donoderef, \anchor, and \dofloat.  In the case of
-+% floats, there is an additional part, which is not written here:
-+% 4) NAME-lof   - the text as it should appear in a @listoffloats.
-+%
-+\def\setref#1#2{%
-+  \pdfmkdest{#1}%
-+  \iflinks
-+    {%
-+      \atdummies  % preserve commands, but don't expand them
-+      \edef\writexrdef##1##2{%
-+      \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
-+        ##1}{##2}}% these are parameters of \writexrdef
-+      }%
-+      \toks0 = \expandafter{\thissection}%
-+      \immediate \writexrdef{title}{\the\toks0 }%
-+      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
-+      \writexrdef{pg}{\folio}% will be written later, during \shipout
-+    }%
-+  \fi
-+}
-+
-+% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
-+% the node name, #2 the name of the Info cross-reference, #3 the printed
-+% node name, #4 the name of the Info file, #5 the name of the printed
-+% manual.  All but the node name can be omitted.
-+%
-+\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-+\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-+\def\ref#1{\xrefX[#1,,,,,,,]}
-+\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
-+  \unsepspaces
-+  \def\printedmanual{\ignorespaces #5}%
-+  \def\printedrefname{\ignorespaces #3}%
-+  \setbox1=\hbox{\printedmanual\unskip}%
-+  \setbox0=\hbox{\printedrefname\unskip}%
-+  \ifdim \wd0 = 0pt
-+    % No printed node name was explicitly given.
-+    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
-+      % Use the node name inside the square brackets.
-+      \def\printedrefname{\ignorespaces #1}%
-+    \else
-+      % Use the actual chapter/section title appear inside
-+      % the square brackets.  Use the real section title if we have it.
-+      \ifdim \wd1 > 0pt
-+        % It is in another manual, so we don't have it.
-+        \def\printedrefname{\ignorespaces #1}%
-+      \else
-+        \ifhavexrefs
-+          % We know the real title if we have the xref values.
-+          \def\printedrefname{\refx{#1-title}{}}%
-+        \else
-+          % Otherwise just copy the Info node name.
-+          \def\printedrefname{\ignorespaces #1}%
-+        \fi%
-+      \fi
-+    \fi
-+  \fi
-+  %
-+  % Make link in pdf output.
-+  \ifpdf
-+    \leavevmode
-+    \getfilename{#4}%
-+    {\turnoffactive
-+     % See comments at \activebackslashdouble.
-+     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
-+      \backslashparens\pdfxrefdest}%
-+     %
-+     \ifnum\filenamelength>0
-+       \startlink attr{/Border [0 0 0]}%
-+         goto file{\the\filename.pdf} name{\pdfxrefdest}%
-+     \else
-+       \startlink attr{/Border [0 0 0]}%
-+         goto name{\pdfmkpgn{\pdfxrefdest}}%
-+     \fi
-+    }%
-+    \linkcolor
-+  \fi
-+  %
-+  % Float references are printed completely differently: "Figure 1.2"
-+  % instead of "[somenode], p.3".  We distinguish them by the
-+  % LABEL-title being set to a magic string.
-+  {%
-+    % Have to otherify everything special to allow the \csname to
-+    % include an _ in the xref name, etc.
-+    \indexnofonts
-+    \turnoffactive
-+    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
-+      \csname XR#1-title\endcsname
-+  }%
-+  \iffloat\Xthisreftitle
-+    % If the user specified the print name (third arg) to the ref,
-+    % print it instead of our usual "Figure 1.2".
-+    \ifdim\wd0 = 0pt
-+      \refx{#1-snt}%
-+    \else
-+      \printedrefname
-+    \fi
-+    %
-+    % if the user also gave the printed manual name (fifth arg), append
-+    % "in MANUALNAME".
-+    \ifdim \wd1 > 0pt
-+      \space \putwordin{} \cite{\printedmanual}%
-+    \fi
-+  \else
-+    % node/anchor (non-float) references.
-+    %
-+    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
-+    % insert empty discretionaries after hyphens, which means that it will
-+    % not find a line break at a hyphen in a node names.  Since some manuals
-+    % are best written with fairly long node names, containing hyphens, this
-+    % is a loss.  Therefore, we give the text of the node name again, so it
-+    % is as if TeX is seeing it for the first time.
-+    \ifdim \wd1 > 0pt
-+      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
-+    \else
-+      % _ (for example) has to be the character _ for the purposes of the
-+      % control sequence corresponding to the node, but it has to expand
-+      % into the usual \leavevmode...\vrule stuff for purposes of
-+      % printing. So we \turnoffactive for the \refx-snt, back on for the
-+      % printing, back off for the \refx-pg.
-+      {\turnoffactive
-+       % Only output a following space if the -snt ref is nonempty; for
-+       % @unnumbered and @anchor, it won't be.
-+       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
-+       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
-+      }%
-+      % output the `[mynode]' via a macro so it can be overridden.
-+      \xrefprintnodename\printedrefname
-+      %
-+      % But we always want a comma and a space:
-+      ,\space
-+      %
-+      % output the `page 3'.
-+      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-+    \fi
-+  \fi
-+  \endlink
-+\endgroup}
-+
-+% This macro is called from \xrefX for the `[nodename]' part of xref
-+% output.  It's a separate macro only so it can be changed more easily,
-+% since square brackets don't work well in some documents.  Particularly
-+% one that Bob is working on :).
-+%
-+\def\xrefprintnodename#1{[#1]}
-+
-+% Things referred to by \setref.
-+%
-+\def\Ynothing{}
-+\def\Yomitfromtoc{}
-+\def\Ynumbered{%
-+  \ifnum\secno=0
-+    \putwordChapter@tie \the\chapno
-+  \else \ifnum\subsecno=0
-+    \putwordSection@tie \the\chapno.\the\secno
-+  \else \ifnum\subsubsecno=0
-+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
-+  \else
-+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
-+  \fi\fi\fi
-+}
-+\def\Yappendix{%
-+  \ifnum\secno=0
-+     \putwordAppendix@tie @char\the\appendixno{}%
-+  \else \ifnum\subsecno=0
-+     \putwordSection@tie @char\the\appendixno.\the\secno
-+  \else \ifnum\subsubsecno=0
-+    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
-+  \else
-+    \putwordSection@tie
-+      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
-+  \fi\fi\fi
-+}
-+
-+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-+% If its value is nonempty, SUFFIX is output afterward.
-+%
-+\def\refx#1#2{%
-+  {%
-+    \indexnofonts
-+    \otherbackslash
-+    \expandafter\global\expandafter\let\expandafter\thisrefX
-+      \csname XR#1\endcsname
-+  }%
-+  \ifx\thisrefX\relax
-+    % If not defined, say something at least.
-+    \angleleft un\-de\-fined\angleright
-+    \iflinks
-+      \ifhavexrefs
-+        \message{\linenumber Undefined cross reference `#1'.}%
-+      \else
-+        \ifwarnedxrefs\else
-+          \global\warnedxrefstrue
-+          \message{Cross reference values unknown; you must run TeX again.}%
-+        \fi
-+      \fi
-+    \fi
-+  \else
-+    % It's defined, so just use it.
-+    \thisrefX
-+  \fi
-+  #2% Output the suffix in any case.
-+}
-+
-+% This is the macro invoked by entries in the aux file.  Usually it's
-+% just a \def (we prepend XR to the control sequence name to avoid
-+% collisions).  But if this is a float type, we have more work to do.
-+%
-+\def\xrdef#1#2{%
-+  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
-+  %
-+  % Was that xref control sequence that we just defined for a float?
-+  \expandafter\iffloat\csname XR#1\endcsname
-+    % it was a float, and we have the (safe) float type in \iffloattype.
-+    \expandafter\let\expandafter\floatlist
-+      \csname floatlist\iffloattype\endcsname
-+    %
-+    % Is this the first time we've seen this float type?
-+    \expandafter\ifx\floatlist\relax
-+      \toks0 = {\do}% yes, so just \do
-+    \else
-+      % had it before, so preserve previous elements in list.
-+      \toks0 = \expandafter{\floatlist\do}%
-+    \fi
-+    %
-+    % Remember this xref in the control sequence \floatlistFLOATTYPE,
-+    % for later use in \listoffloats.
-+    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
-+  \fi
-+}
-+
-+% Read the last existing aux file, if any.  No error if none exists.
-+%
-+\def\tryauxfile{%
-+  \openin 1 \jobname.aux
-+  \ifeof 1 \else
-+    \readdatafile{aux}%
-+    \global\havexrefstrue
-+  \fi
-+  \closein 1
-+}
-+
-+\def\setupdatafile{%
-+  \catcode`\^^@=\other
-+  \catcode`\^^A=\other
-+  \catcode`\^^B=\other
-+  \catcode`\^^C=\other
-+  \catcode`\^^D=\other
-+  \catcode`\^^E=\other
-+  \catcode`\^^F=\other
-+  \catcode`\^^G=\other
-+  \catcode`\^^H=\other
-+  \catcode`\^^K=\other
-+  \catcode`\^^L=\other
-+  \catcode`\^^N=\other
-+  \catcode`\^^P=\other
-+  \catcode`\^^Q=\other
-+  \catcode`\^^R=\other
-+  \catcode`\^^S=\other
-+  \catcode`\^^T=\other
-+  \catcode`\^^U=\other
-+  \catcode`\^^V=\other
-+  \catcode`\^^W=\other
-+  \catcode`\^^X=\other
-+  \catcode`\^^Z=\other
-+  \catcode`\^^[=\other
-+  \catcode`\^^\=\other
-+  \catcode`\^^]=\other
-+  \catcode`\^^^=\other
-+  \catcode`\^^_=\other
-+  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
-+  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
-+  % supported in the main text, it doesn't seem desirable.  Furthermore,
-+  % that is not enough: for node names that actually contain a ^
-+  % character, we would end up writing a line like this: 'xrdef {'hat
-+  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
-+  % argument, and \hat is not an expandable control sequence.  It could
-+  % all be worked out, but why?  Either we support ^^ or we don't.
-+  %
-+  % The other change necessary for this was to define \auxhat:
-+  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
-+  % and then to call \auxhat in \setq.
-+  %
-+  \catcode`\^=\other
-+  %
-+  % Special characters.  Should be turned off anyway, but...
-+  \catcode`\~=\other
-+  \catcode`\[=\other
-+  \catcode`\]=\other
-+  \catcode`\"=\other
-+  \catcode`\_=\other
-+  \catcode`\|=\other
-+  \catcode`\<=\other
-+  \catcode`\>=\other
-+  \catcode`\$=\other
-+  \catcode`\#=\other
-+  \catcode`\&=\other
-+  \catcode`\%=\other
-+  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
-+  %
-+  % This is to support \ in node names and titles, since the \
-+  % characters end up in a \csname.  It's easier than
-+  % leaving it active and making its active definition an actual \
-+  % character.  What I don't understand is why it works in the *value*
-+  % of the xrdef.  Seems like it should be a catcode12 \, and that
-+  % should not typeset properly.  But it works, so I'm moving on for
-+  % now.  --karl, 15jan04.
-+  \catcode`\\=\other
-+  %
-+  % Make the characters 128-255 be printing characters.
-+  {%
-+    \count1=128
-+    \def\loop{%
-+      \catcode\count1=\other
-+      \advance\count1 by 1
-+      \ifnum \count1<256 \loop \fi
-+    }%
-+  }%
-+  %
-+  % @ is our escape character in .aux files, and we need braces.
-+  \catcode`\{=1
-+  \catcode`\}=2
-+  \catcode`\@=0
-+}
-+
-+\def\readdatafile#1{%
-+\begingroup
-+  \setupdatafile
-+  \input\jobname.#1
-+\endgroup}
-+
-+\message{insertions,}
-+% including footnotes.
-+
-+\newcount \footnoteno
-+
-+% The trailing space in the following definition for supereject is
-+% vital for proper filling; pages come out unaligned when you do a
-+% pagealignmacro call if that space before the closing brace is
-+% removed. (Generally, numeric constants should always be followed by a
-+% space to prevent strange expansion errors.)
-+\def\supereject{\par\penalty -20000\footnoteno =0 }
-+
-+% @footnotestyle is meaningful for info output only.
-+\let\footnotestyle=\comment
-+
-+{\catcode `\@=11
-+%
-+% Auto-number footnotes.  Otherwise like plain.
-+\gdef\footnote{%
-+  \let\indent=\ptexindent
-+  \let\noindent=\ptexnoindent
-+  \global\advance\footnoteno by \@ne
-+  \edef\thisfootno{$^{\the\footnoteno}$}%
-+  %
-+  % In case the footnote comes at the end of a sentence, preserve the
-+  % extra spacing after we do the footnote number.
-+  \let\@sf\empty
-+  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
-+  %
-+  % Remove inadvertent blank space before typesetting the footnote number.
-+  \unskip
-+  \thisfootno\@sf
-+  \dofootnote
-+}%
-+
-+% Don't bother with the trickery in plain.tex to not require the
-+% footnote text as a parameter.  Our footnotes don't need to be so general.
-+%
-+% Oh yes, they do; otherwise, @ifset (and anything else that uses
-+% \parseargline) fails inside footnotes because the tokens are fixed when
-+% the footnote is read.  --karl, 16nov96.
-+%
-+\gdef\dofootnote{%
-+  \insert\footins\bgroup
-+  % We want to typeset this text as a normal paragraph, even if the
-+  % footnote reference occurs in (for example) a display environment.
-+  % So reset some parameters.
-+  \hsize=\pagewidth
-+  \interlinepenalty\interfootnotelinepenalty
-+  \splittopskip\ht\strutbox % top baseline for broken footnotes
-+  \splitmaxdepth\dp\strutbox
-+  \floatingpenalty\@MM
-+  \leftskip\z@skip
-+  \rightskip\z@skip
-+  \spaceskip\z@skip
-+  \xspaceskip\z@skip
-+  \parindent\defaultparindent
-+  %
-+  \smallfonts \rm
-+  %
-+  % Because we use hanging indentation in footnotes, a @noindent appears
-+  % to exdent this text, so make it be a no-op.  makeinfo does not use
-+  % hanging indentation so @noindent can still be needed within footnote
-+  % text after an @example or the like (not that this is good style).
-+  \let\noindent = \relax
-+  %
-+  % Hang the footnote text off the number.  Use \everypar in case the
-+  % footnote extends for more than one paragraph.
-+  \everypar = {\hang}%
-+  \textindent{\thisfootno}%
-+  %
-+  % Don't crash into the line above the footnote text.  Since this
-+  % expands into a box, it must come within the paragraph, lest it
-+  % provide a place where TeX can split the footnote.
-+  \footstrut
-+  \futurelet\next\fo@t
-+}
-+}%end \catcode `\@=11
-+
-+% In case a @footnote appears in a vbox, save the footnote text and create
-+% the real \insert just after the vbox finished.  Otherwise, the insertion
-+% would be lost.
-+% Similarily, if a @footnote appears inside an alignment, save the footnote
-+% text to a box and make the \insert when a row of the table is finished.
-+% And the same can be done for other insert classes.  --kasal, 16nov03.
-+
-+% Replace the \insert primitive by a cheating macro.
-+% Deeper inside, just make sure that the saved insertions are not spilled
-+% out prematurely.
-+%
-+\def\startsavinginserts{%
-+  \ifx \insert\ptexinsert
-+    \let\insert\saveinsert
-+  \else
-+    \let\checkinserts\relax
-+  \fi
-+}
-+
-+% This \insert replacement works for both \insert\footins{foo} and
-+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
-+%
-+\def\saveinsert#1{%
-+  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
-+  \afterassignment\next
-+  % swallow the left brace
-+  \let\temp =
-+}
-+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
-+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
-+
-+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
-+
-+\def\placesaveins#1{%
-+  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
-+    {\box#1}%
-+}
-+
-+% eat @SAVE -- beware, all of them have catcode \other:
-+{
-+  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
-+  \gdef\gobblesave @SAVE{}
-+}
-+
-+% initialization:
-+\def\newsaveins #1{%
-+  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
-+  \next
-+}
-+\def\newsaveinsX #1{%
-+  \csname newbox\endcsname #1%
-+  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
-+    \checksaveins #1}%
-+}
-+
-+% initialize:
-+\let\checkinserts\empty
-+\newsaveins\footins
-+\newsaveins\margin
-+
-+
-+% @image.  We use the macros from epsf.tex to support this.
-+% If epsf.tex is not installed and @image is used, we complain.
-+%
-+% Check for and read epsf.tex up front.  If we read it only at @image
-+% time, we might be inside a group, and then its definitions would get
-+% undone and the next image would fail.
-+\openin 1 = epsf.tex
-+\ifeof 1 \else
-+  % Do not bother showing banner with epsf.tex v2.7k (available in
-+  % doc/epsf.tex and on ctan).
-+  \def\epsfannounce{\toks0 = }%
-+  \input epsf.tex
-+\fi
-+\closein 1
-+%
-+% We will only complain once about lack of epsf.tex.
-+\newif\ifwarnednoepsf
-+\newhelp\noepsfhelp{epsf.tex must be installed for images to
-+  work.  It is also included in the Texinfo distribution, or you can get
-+  it from ftp://tug.org/tex/epsf.tex.}
-+%
-+\def\image#1{%
-+  \ifx\epsfbox\undefined
-+    \ifwarnednoepsf \else
-+      \errhelp = \noepsfhelp
-+      \errmessage{epsf.tex not found, images will be ignored}%
-+      \global\warnednoepsftrue
-+    \fi
-+  \else
-+    \imagexxx #1,,,,,\finish
-+  \fi
-+}
-+%
-+% Arguments to @image:
-+% #1 is (mandatory) image filename; we tack on .eps extension.
-+% #2 is (optional) width, #3 is (optional) height.
-+% #4 is (ignored optional) html alt text.
-+% #5 is (ignored optional) extension.
-+% #6 is just the usual extra ignored arg for parsing this stuff.
-+\newif\ifimagevmode
-+\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
-+  \catcode`\^^M = 5     % in case we're inside an example
-+  \normalturnoffactive  % allow _ et al. in names
-+  % If the image is by itself, center it.
-+  \ifvmode
-+    \imagevmodetrue
-+    \nobreak\bigskip
-+    % Usually we'll have text after the image which will insert
-+    % \parskip glue, so insert it here too to equalize the space
-+    % above and below.
-+    \nobreak\vskip\parskip
-+    \nobreak
-+    \line\bgroup\hss
-+  \fi
-+  %
-+  % Output the image.
-+  \ifpdf
-+    \dopdfimage{#1}{#2}{#3}%
-+  \else
-+    % \epsfbox itself resets \epsf?size at each figure.
-+    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-+    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-+    \epsfbox{#1.eps}%
-+  \fi
-+  %
-+  \ifimagevmode \hss \egroup \bigbreak \fi  % space after the image
-+\endgroup}
-+
-+
-+% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
-+% etc.  We don't actually implement floating yet, we always include the
-+% float "here".  But it seemed the best name for the future.
-+%
-+\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
-+
-+% There may be a space before second and/or third parameter; delete it.
-+\def\eatcommaspace#1, {#1,}
-+
-+% #1 is the optional FLOATTYPE, the text label for this float, typically
-+% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
-+% this float will not be numbered and cannot be referred to.
-+%
-+% #2 is the optional xref label.  Also must be present for the float to
-+% be referable.
-+%
-+% #3 is the optional positioning argument; for now, it is ignored.  It
-+% will somehow specify the positions allowed to float to (here, top, bottom).
-+%
-+% We keep a separate counter for each FLOATTYPE, which we reset at each
-+% chapter-level command.
-+\let\resetallfloatnos=\empty
-+%
-+\def\dofloat#1,#2,#3,#4\finish{%
-+  \let\thiscaption=\empty
-+  \let\thisshortcaption=\empty
-+  %
-+  % don't lose footnotes inside @float.
-+  %
-+  % BEWARE: when the floats start float, we have to issue warning whenever an
-+  % insert appears inside a float which could possibly float. --kasal, 26may04
-+  %
-+  \startsavinginserts
-+  %
-+  % We can't be used inside a paragraph.
-+  \par
-+  %
-+  \vtop\bgroup
-+    \def\floattype{#1}%
-+    \def\floatlabel{#2}%
-+    \def\floatloc{#3}% we do nothing with this yet.
-+    %
-+    \ifx\floattype\empty
-+      \let\safefloattype=\empty
-+    \else
-+      {%
-+        % the floattype might have accents or other special characters,
-+        % but we need to use it in a control sequence name.
-+        \indexnofonts
-+        \turnoffactive
-+        \xdef\safefloattype{\floattype}%
-+      }%
-+    \fi
-+    %
-+    % If label is given but no type, we handle that as the empty type.
-+    \ifx\floatlabel\empty \else
-+      % We want each FLOATTYPE to be numbered separately (Figure 1,
-+      % Table 1, Figure 2, ...).  (And if no label, no number.)
-+      %
-+      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
-+      \global\advance\floatno by 1
-+      %
-+      {%
-+        % This magic value for \thissection is output by \setref as the
-+        % XREFLABEL-title value.  \xrefX uses it to distinguish float
-+        % labels (which have a completely different output format) from
-+        % node and anchor labels.  And \xrdef uses it to construct the
-+        % lists of floats.
-+        %
-+        \edef\thissection{\floatmagic=\safefloattype}%
-+        \setref{\floatlabel}{Yfloat}%
-+      }%
-+    \fi
-+    %
-+    % start with \parskip glue, I guess.
-+    \vskip\parskip
-+    %
-+    % Don't suppress indentation if a float happens to start a section.
-+    \restorefirstparagraphindent
-+}
-+
-+% we have these possibilities:
-+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
-+% @float Foo,lbl & no caption:    Foo 1.1
-+% @float Foo & @caption{Cap}:     Foo: Cap
-+% @float Foo & no caption:        Foo
-+% @float ,lbl & Caption{Cap}:     1.1: Cap
-+% @float ,lbl & no caption:       1.1
-+% @float & @caption{Cap}:         Cap
-+% @float & no caption:
-+%
-+\def\Efloat{%
-+    \let\floatident = \empty
-+    %
-+    % In all cases, if we have a float type, it comes first.
-+    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
-+    %
-+    % If we have an xref label, the number comes next.
-+    \ifx\floatlabel\empty \else
-+      \ifx\floattype\empty \else % if also had float type, need tie first.
-+        \appendtomacro\floatident{\tie}%
-+      \fi
-+      % the number.
-+      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
-+    \fi
-+    %
-+    % Start the printed caption with what we've constructed in
-+    % \floatident, but keep it separate; we need \floatident again.
-+    \let\captionline = \floatident
-+    %
-+    \ifx\thiscaption\empty \else
-+      \ifx\floatident\empty \else
-+      \appendtomacro\captionline{: }% had ident, so need a colon between
-+      \fi
-+      %
-+      % caption text.
-+      \appendtomacro\captionline{\scanexp\thiscaption}%
-+    \fi
-+    %
-+    % If we have anything to print, print it, with space before.
-+    % Eventually this needs to become an \insert.
-+    \ifx\captionline\empty \else
-+      \vskip.5\parskip
-+      \captionline
-+      %
-+      % Space below caption.
-+      \vskip\parskip
-+    \fi
-+    %
-+    % If have an xref label, write the list of floats info.  Do this
-+    % after the caption, to avoid chance of it being a breakpoint.
-+    \ifx\floatlabel\empty \else
-+      % Write the text that goes in the lof to the aux file as
-+      % \floatlabel-lof.  Besides \floatident, we include the short
-+      % caption if specified, else the full caption if specified, else nothing.
-+      {%
-+        \atdummies
-+        % since we read the caption text in the macro world, where ^^M
-+        % is turned into a normal character, we have to scan it back, so
-+        % we don't write the literal three characters "^^M" into the aux file.
-+      \scanexp{%
-+        \xdef\noexpand\gtemp{%
-+          \ifx\thisshortcaption\empty
-+            \thiscaption
-+          \else
-+            \thisshortcaption
-+          \fi
-+        }%
-+      }%
-+        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-+        \ifx\gtemp\empty \else : \gtemp \fi}}%
-+      }%
-+    \fi
-+  \egroup  % end of \vtop
-+  %
-+  % place the captured inserts
-+  %
-+  % BEWARE: when the floats start float, we have to issue warning whenever an
-+  % insert appears inside a float which could possibly float. --kasal, 26may04
-+  %
-+  \checkinserts
-+}
-+
-+% Append the tokens #2 to the definition of macro #1, not expanding either.
-+%
-+\def\appendtomacro#1#2{%
-+  \expandafter\def\expandafter#1\expandafter{#1#2}%
-+}
-+
-+% @caption, @shortcaption
-+%
-+\def\caption{\docaption\thiscaption}
-+\def\shortcaption{\docaption\thisshortcaption}
-+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
-+\def\defcaption#1#2{\egroup \def#1{#2}}
-+
-+% The parameter is the control sequence identifying the counter we are
-+% going to use.  Create it if it doesn't exist and assign it to \floatno.
-+\def\getfloatno#1{%
-+  \ifx#1\relax
-+      % Haven't seen this figure type before.
-+      \csname newcount\endcsname #1%
-+      %
-+      % Remember to reset this floatno at the next chap.
-+      \expandafter\gdef\expandafter\resetallfloatnos
-+        \expandafter{\resetallfloatnos #1=0 }%
-+  \fi
-+  \let\floatno#1%
-+}
-+
-+% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
-+% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
-+% first read the @float command.
-+%
-+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
-+
-+% Magic string used for the XREFLABEL-title value, so \xrefX can
-+% distinguish floats from other xref types.
-+\def\floatmagic{!!float!!}
-+
-+% #1 is the control sequence we are passed; we expand into a conditional
-+% which is true if #1 represents a float ref.  That is, the magic
-+% \thissection value which we \setref above.
-+%
-+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
-+%
-+% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
-+% (safe) float type for this float.  We set \iffloattype to #2.
-+%
-+\def\doiffloat#1=#2=#3\finish{%
-+  \def\temp{#1}%
-+  \def\iffloattype{#2}%
-+  \ifx\temp\floatmagic
-+}
-+
-+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
-+%
-+\parseargdef\listoffloats{%
-+  \def\floattype{#1}% floattype
-+  {%
-+    % the floattype might have accents or other special characters,
-+    % but we need to use it in a control sequence name.
-+    \indexnofonts
-+    \turnoffactive
-+    \xdef\safefloattype{\floattype}%
-+  }%
-+  %
-+  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
-+  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
-+    \ifhavexrefs
-+      % if the user said @listoffloats foo but never @float foo.
-+      \message{\linenumber No `\safefloattype' floats to list.}%
-+    \fi
-+  \else
-+    \begingroup
-+      \leftskip=\tocindent  % indent these entries like a toc
-+      \let\do=\listoffloatsdo
-+      \csname floatlist\safefloattype\endcsname
-+    \endgroup
-+  \fi
-+}
-+
-+% This is called on each entry in a list of floats.  We're passed the
-+% xref label, in the form LABEL-title, which is how we save it in the
-+% aux file.  We strip off the -title and look up \XRLABEL-lof, which
-+% has the text we're supposed to typeset here.
-+%
-+% Figures without xref labels will not be included in the list (since
-+% they won't appear in the aux file).
-+%
-+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
-+\def\listoffloatsdoentry#1-title\finish{{%
-+  % Can't fully expand XR#1-lof because it can contain anything.  Just
-+  % pass the control sequence.  On the other hand, XR#1-pg is just the
-+  % page number, and we want to fully expand that so we can get a link
-+  % in pdf output.
-+  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
-+  %
-+  % use the same \entry macro we use to generate the TOC and index.
-+  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
-+  \writeentry
-+}}
-+
-+\message{localization,}
-+% and i18n.
-+
-+% @documentlanguage is usually given very early, just after
-+% @setfilename.  If done too late, it may not override everything
-+% properly.  Single argument is the language abbreviation.
-+% It would be nice if we could set up a hyphenation file here.
-+%
-+\parseargdef\documentlanguage{%
-+  \tex % read txi-??.tex file in plain TeX.
-+    % Read the file if it exists.
-+    \openin 1 txi-#1.tex
-+    \ifeof 1
-+      \errhelp = \nolanghelp
-+      \errmessage{Cannot read language file txi-#1.tex}%
-+    \else
-+      \input txi-#1.tex
-+    \fi
-+    \closein 1
-+  \endgroup
-+}
-+\newhelp\nolanghelp{The given language definition file cannot be found or
-+is empty.  Maybe you need to install it?  In the current directory
-+should work if nowhere else does.}
-+
-+
-+% @documentencoding should change something in TeX eventually, most
-+% likely, but for now just recognize it.
-+\let\documentencoding = \comment
-+
-+
-+% Page size parameters.
-+%
-+\newdimen\defaultparindent \defaultparindent = 15pt
-+
-+\chapheadingskip = 15pt plus 4pt minus 2pt
-+\secheadingskip = 12pt plus 3pt minus 2pt
-+\subsecheadingskip = 9pt plus 2pt minus 2pt
-+
-+% Prevent underfull vbox error messages.
-+\vbadness = 10000
-+
-+% Don't be so finicky about underfull hboxes, either.
-+\hbadness = 2000
-+
-+% Following George Bush, just get rid of widows and orphans.
-+\widowpenalty=10000
-+\clubpenalty=10000
-+
-+% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-+% using an old version of TeX, don't do anything.  We want the amount of
-+% stretch added to depend on the line length, hence the dependence on
-+% \hsize.  We call this whenever the paper size is set.
-+%
-+\def\setemergencystretch{%
-+  \ifx\emergencystretch\thisisundefined
-+    % Allow us to assign to \emergencystretch anyway.
-+    \def\emergencystretch{\dimen0}%
-+  \else
-+    \emergencystretch = .15\hsize
-+  \fi
-+}
-+
-+% Parameters in order: 1) textheight; 2) textwidth;
-+% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
-+% 7) physical page height; 8) physical page width.
-+%
-+% We also call \setleading{\textleading}, so the caller should define
-+% \textleading.  The caller should also set \parskip.
-+%
-+\def\internalpagesizes#1#2#3#4#5#6#7#8{%
-+  \voffset = #3\relax
-+  \topskip = #6\relax
-+  \splittopskip = \topskip
-+  %
-+  \vsize = #1\relax
-+  \advance\vsize by \topskip
-+  \outervsize = \vsize
-+  \advance\outervsize by 2\topandbottommargin
-+  \pageheight = \vsize
-+  %
-+  \hsize = #2\relax
-+  \outerhsize = \hsize
-+  \advance\outerhsize by 0.5in
-+  \pagewidth = \hsize
-+  %
-+  \normaloffset = #4\relax
-+  \bindingoffset = #5\relax
-+  %
-+  \ifpdf
-+    \pdfpageheight #7\relax
-+    \pdfpagewidth #8\relax
-+  \fi
-+  %
-+  \setleading{\textleading}
-+  %
-+  \parindent = \defaultparindent
-+  \setemergencystretch
-+}
-+
-+% @letterpaper (the default).
-+\def\letterpaper{{\globaldefs = 1
-+  \parskip = 3pt plus 2pt minus 1pt
-+  \textleading = 13.2pt
-+  %
-+  % If page is nothing but text, make it come out even.
-+  \internalpagesizes{46\baselineskip}{6in}%
-+                    {\voffset}{.25in}%
-+                    {\bindingoffset}{36pt}%
-+                    {11in}{8.5in}%
-+}}
-+
-+% Use @smallbook to reset parameters for 7x9.25 trim size.
-+\def\smallbook{{\globaldefs = 1
-+  \parskip = 2pt plus 1pt
-+  \textleading = 12pt
-+  %
-+  \internalpagesizes{7.5in}{5in}%
-+                    {\voffset}{.25in}%
-+                    {\bindingoffset}{16pt}%
-+                    {9.25in}{7in}%
-+  %
-+  \lispnarrowing = 0.3in
-+  \tolerance = 700
-+  \hfuzz = 1pt
-+  \contentsrightmargin = 0pt
-+  \defbodyindent = .5cm
-+}}
-+
-+% Use @smallerbook to reset parameters for 6x9 trim size.
-+% (Just testing, parameters still in flux.)
-+\def\smallerbook{{\globaldefs = 1
-+  \parskip = 1.5pt plus 1pt
-+  \textleading = 12pt
-+  %
-+  \internalpagesizes{7.4in}{4.8in}%
-+                    {-.2in}{-.4in}%
-+                    {0pt}{14pt}%
-+                    {9in}{6in}%
-+  %
-+  \lispnarrowing = 0.25in
-+  \tolerance = 700
-+  \hfuzz = 1pt
-+  \contentsrightmargin = 0pt
-+  \defbodyindent = .4cm
-+}}
-+
-+% Use @afourpaper to print on European A4 paper.
-+\def\afourpaper{{\globaldefs = 1
-+  \parskip = 3pt plus 2pt minus 1pt
-+  \textleading = 13.2pt
-+  %
-+  % Double-side printing via postscript on Laserjet 4050
-+  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
-+  % To change the settings for a different printer or situation, adjust
-+  % \normaloffset until the front-side and back-side texts align.  Then
-+  % do the same for \bindingoffset.  You can set these for testing in
-+  % your texinfo source file like this:
-+  % @tex
-+  % \global\normaloffset = -6mm
-+  % \global\bindingoffset = 10mm
-+  % @end tex
-+  \internalpagesizes{51\baselineskip}{160mm}
-+                    {\voffset}{\hoffset}%
-+                    {\bindingoffset}{44pt}%
-+                    {297mm}{210mm}%
-+  %
-+  \tolerance = 700
-+  \hfuzz = 1pt
-+  \contentsrightmargin = 0pt
-+  \defbodyindent = 5mm
-+}}
-+
-+% Use @afivepaper to print on European A5 paper.
-+% From romildo@urano.iceb.ufop.br, 2 July 2000.
-+% He also recommends making @example and @lisp be small.
-+\def\afivepaper{{\globaldefs = 1
-+  \parskip = 2pt plus 1pt minus 0.1pt
-+  \textleading = 12.5pt
-+  %
-+  \internalpagesizes{160mm}{120mm}%
-+                    {\voffset}{\hoffset}%
-+                    {\bindingoffset}{8pt}%
-+                    {210mm}{148mm}%
-+  %
-+  \lispnarrowing = 0.2in
-+  \tolerance = 800
-+  \hfuzz = 1.2pt
-+  \contentsrightmargin = 0pt
-+  \defbodyindent = 2mm
-+  \tableindent = 12mm
-+}}
-+
-+% A specific text layout, 24x15cm overall, intended for A4 paper.
-+\def\afourlatex{{\globaldefs = 1
-+  \afourpaper
-+  \internalpagesizes{237mm}{150mm}%
-+                    {\voffset}{4.6mm}%
-+                    {\bindingoffset}{7mm}%
-+                    {297mm}{210mm}%
-+  %
-+  % Must explicitly reset to 0 because we call \afourpaper.
-+  \globaldefs = 0
-+}}
-+
-+% Use @afourwide to print on A4 paper in landscape format.
-+\def\afourwide{{\globaldefs = 1
-+  \afourpaper
-+  \internalpagesizes{241mm}{165mm}%
-+                    {\voffset}{-2.95mm}%
-+                    {\bindingoffset}{7mm}%
-+                    {297mm}{210mm}%
-+  \globaldefs = 0
-+}}
-+
-+% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-+% Perhaps we should allow setting the margins, \topskip, \parskip,
-+% and/or leading, also. Or perhaps we should compute them somehow.
-+%
-+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
-+\def\pagesizesyyy#1,#2,#3\finish{{%
-+  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
-+  \globaldefs = 1
-+  %
-+  \parskip = 3pt plus 2pt minus 1pt
-+  \setleading{\textleading}%
-+  %
-+  \dimen0 = #1
-+  \advance\dimen0 by \voffset
-+  %
-+  \dimen2 = \hsize
-+  \advance\dimen2 by \normaloffset
-+  %
-+  \internalpagesizes{#1}{\hsize}%
-+                    {\voffset}{\normaloffset}%
-+                    {\bindingoffset}{44pt}%
-+                    {\dimen0}{\dimen2}%
-+}}
-+
-+% Set default to letter.
-+%
-+\letterpaper
-+
-+
-+\message{and turning on texinfo input format.}
-+
-+% Define macros to output various characters with catcode for normal text.
-+\catcode`\"=\other
-+\catcode`\~=\other
-+\catcode`\^=\other
-+\catcode`\_=\other
-+\catcode`\|=\other
-+\catcode`\<=\other
-+\catcode`\>=\other
-+\catcode`\+=\other
-+\catcode`\$=\other
-+\def\normaldoublequote{"}
-+\def\normaltilde{~}
-+\def\normalcaret{^}
-+\def\normalunderscore{_}
-+\def\normalverticalbar{|}
-+\def\normalless{<}
-+\def\normalgreater{>}
-+\def\normalplus{+}
-+\def\normaldollar{$}%$ font-lock fix
-+
-+% This macro is used to make a character print one way in \tt
-+% (where it can probably be output as-is), and another way in other fonts,
-+% where something hairier probably needs to be done.
-+%
-+% #1 is what to print if we are indeed using \tt; #2 is what to print
-+% otherwise.  Since all the Computer Modern typewriter fonts have zero
-+% interword stretch (and shrink), and it is reasonable to expect all
-+% typewriter fonts to have this, we can check that font parameter.
-+%
-+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-+
-+% Same as above, but check for italic font.  Actually this also catches
-+% non-italic slanted fonts since it is impossible to distinguish them from
-+% italic fonts.  But since this is only used by $ and it uses \sl anyway
-+% this is not a problem.
-+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-+
-+% Turn off all special characters except @
-+% (and those which the user can use as if they were ordinary).
-+% Most of these we simply print from the \tt font, but for some, we can
-+% use math or other variants that look better in normal text.
-+
-+\catcode`\"=\active
-+\def\activedoublequote{{\tt\char34}}
-+\let"=\activedoublequote
-+\catcode`\~=\active
-+\def~{{\tt\char126}}
-+\chardef\hat=`\^
-+\catcode`\^=\active
-+\def^{{\tt \hat}}
-+
-+\catcode`\_=\active
-+\def_{\ifusingtt\normalunderscore\_}
-+\let\realunder=_
-+% Subroutine for the previous macro.
-+\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
-+
-+\catcode`\|=\active
-+\def|{{\tt\char124}}
-+\chardef \less=`\<
-+\catcode`\<=\active
-+\def<{{\tt \less}}
-+\chardef \gtr=`\>
-+\catcode`\>=\active
-+\def>{{\tt \gtr}}
-+\catcode`\+=\active
-+\def+{{\tt \char 43}}
-+\catcode`\$=\active
-+\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-+
-+% If a .fmt file is being used, characters that might appear in a file
-+% name cannot be active until we have parsed the command line.
-+% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-+% \otherifyactive is called near the end of this file.
-+\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
-+
-+\catcode`\@=0
-+
-+% \backslashcurfont outputs one backslash character in current font,
-+% as in \char`\\.
-+\global\chardef\backslashcurfont=`\\
-+\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
-+
-+% \rawbackslash defines an active \ to do \backslashcurfont.
-+% \otherbackslash defines an active \ to be a literal `\' character with
-+% catcode other.
-+{\catcode`\\=\active
-+ @gdef@rawbackslash{@let\=@backslashcurfont}
-+ @gdef@otherbackslash{@let\=@realbackslash}
-+}
-+
-+% \realbackslash is an actual character `\' with catcode other, and
-+% \doublebackslash is two of them (for the pdf outlines).
-+{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
-+
-+% \normalbackslash outputs one backslash in fixed width font.
-+\def\normalbackslash{{\tt\backslashcurfont}}
-+
-+\catcode`\\=\active
-+
-+% Used sometimes to turn off (effectively) the active characters
-+% even after parsing them.
-+@def@turnoffactive{%
-+  @let"=@normaldoublequote
-+  @let\=@realbackslash
-+  @let~=@normaltilde
-+  @let^=@normalcaret
-+  @let_=@normalunderscore
-+  @let|=@normalverticalbar
-+  @let<=@normalless
-+  @let>=@normalgreater
-+  @let+=@normalplus
-+  @let$=@normaldollar %$ font-lock fix
-+  @unsepspaces
-+}
-+
-+% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-+% the literal character `\'.  (Thus, \ is not expandable when this is in
-+% effect.)
-+%
-+@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
-+
-+% Make _ and + \other characters, temporarily.
-+% This is canceled by @fixbackslash.
-+@otherifyactive
-+
-+% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-+% That is what \eatinput is for; after that, the `\' should revert to printing
-+% a backslash.
-+%
-+@gdef@eatinput input texinfo{@fixbackslash}
-+@global@let\ = @eatinput
-+
-+% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-+% the first `\{ in the file would cause an error. This macro tries to fix
-+% that, assuming it is called before the first `\' could plausibly occur.
-+% Also turn back on active characters that might appear in the input
-+% file name, in case not using a pre-dumped format.
-+%
-+@gdef@fixbackslash{%
-+  @ifx\@eatinput @let\ = @normalbackslash @fi
-+  @catcode`+=@active
-+  @catcode`@_=@active
-+}
-+
-+% Say @foo, not \foo, in error messages.
-+@escapechar = `@@
-+
-+% These look ok in all fonts, so just make them not special.
-+@catcode`@& = @other
-+@catcode`@# = @other
-+@catcode`@% = @other
-+
-+
-+@c Local variables:
-+@c eval: (add-hook 'write-file-hooks 'time-stamp)
-+@c page-delimiter: "^\\\\message"
-+@c time-stamp-start: "def\\\\texinfoversion{"
-+@c time-stamp-format: "%:y-%02m-%02d.%02H"
-+@c time-stamp-end: "}"
-+@c End:
-+
-+@c vim:sw=2:
-+
-+@ignore
-+   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
-+@end ignore
-Index: libffi/include/Makefile.am
-===================================================================
---- libffi.orig/include/Makefile.am
-+++ libffi/include/Makefile.am
-@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
- DISTCLEANFILES=ffitarget.h
- EXTRA_DIST=ffi.h.in ffi_common.h
--# Where generated headers like ffitarget.h get installed.
--gcc_version   := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
--toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
--
--toollibffi_HEADERS = ffi.h ffitarget.h
-+includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-+nodist_includes_HEADERS = ffi.h ffitarget.h
-Index: libffi/testsuite/Makefile.am
-===================================================================
---- libffi.orig/testsuite/Makefile.am
-+++ libffi/testsuite/Makefile.am
-@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
- AM_RUNTESTFLAGS =
- CLEANFILES = *.exe core* *.log *.sum
-+
-+EXTRA_DIST = libffi.special/special.exp       \
-+libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
-+libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
-+lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
-+libffi.call/cls_multi_schar.c libffi.call/float3.c \
-+libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
-+libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
-+libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
-+libffi.call/nested_struct.c libffi.call/closure_fn1.c \
-+libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
-+libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
-+libffi.call/return_fl2.c libffi.call/nested_struct7.c \
-+libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
-+libffi.call/float1.c libffi.call/cls_19byte.c \
-+libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
-+libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
-+libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
-+libffi.call/struct7.c libffi.call/nested_struct9.c \
-+libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
-+libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
-+libffi.call/testclosure.c libffi.call/cls_3byte1.c \
-+libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
-+libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
-+libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
-+libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
-+libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c       \
-+libffi.call/return_ll.c libffi.call/cls_pointer.c \
-+libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
-+libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c       \
-+libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
-+libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
-+libffi.call/cls_double.c libffi.call/many_win32.c \
-+libffi.call/cls_16byte.c libffi.call/cls_align_double.c       \
-+libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c       \
-+libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
-+libffi.call/closure_stdcall.c libffi.call/return_fl.c \
-+libffi.call/strlen_win32.c libffi.call/return_ldl.c \
-+libffi.call/cls_align_float.c libffi.call/struct3.c \
-+libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
-+libffi.call/cls_align_longdouble_split.c \
-+libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
-+libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
-+libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
-+libffi.call/return_dbl.c libffi.call/cls_20byte.c \
-+libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c       \
-+libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
-+libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
-+libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
-+libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c       \
-+libffi.call/struct2.c libffi.call/cls_3byte2.c \
-+libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
-+libffi.call/return_fl3.c libffi.call/cls_align_uint32.c       \
-+libffi.call/problem1.c libffi.call/float4.c \
-+libffi.call/cls_align_uint64.c libffi.call/struct9.c \
-+libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
-+libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
-+libffi.call/struct4.c libffi.call/nested_struct2.c \
-+libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
-+libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
-+libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
-+libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
-+libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
-+libffi.call/huge_struct.c
-Index: libffi/testsuite/lib/libffi.exp
-===================================================================
---- libffi.orig/testsuite/lib/libffi.exp
-+++ libffi/testsuite/lib/libffi.exp
-@@ -1,4 +1,4 @@
--#   Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
-+#   Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 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
-@@ -16,7 +16,7 @@
- proc load_gcc_lib { filename } {
-     global srcdir
--    load_file $srcdir/../../gcc/testsuite/lib/$filename
-+    load_file $srcdir/lib/$filename
- }
- load_lib dg.exp
-@@ -94,7 +94,6 @@ proc libffi-init { args } {
-     global srcdir
-     global blddirffi
-     global objdir
--    global blddircxx
-     global TOOL_OPTIONS
-     global tool
-     global libffi_include
-@@ -102,10 +101,8 @@ proc libffi-init { args } {
-     global tool_root_dir
-     global ld_library_path
--    set blddirffi [lookfor_file [get_multilibs] libffi]
-+    set blddirffi [pwd]/.. 
-     verbose "libffi $blddirffi"
--    set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
--    verbose "libstdc++ $blddircxx"
-     set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
-     if {$gccdir != ""} {
-@@ -132,8 +129,6 @@ proc libffi-init { args } {
-     }
-     # add the library path for libffi.
-     append ld_library_path ":${blddirffi}/.libs"
--    # add the library path for libstdc++ as well.
--    append ld_library_path ":${blddircxx}/src/.libs"
-     verbose "ld_library_path: $ld_library_path"
-@@ -146,7 +141,6 @@ proc libffi-init { args } {
-     if { $libffi_dir != "" } {
-       set libffi_dir [file dirname ${libffi_dir}]
-       set libffi_link_flags "-L${libffi_dir}/.libs"
--      lappend libffi_link_flags "-L${blddircxx}/src/.libs"
-     }
-     set_ld_library_path_env_vars
-Index: libffi/m4/asmcfi.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/asmcfi.m4
-@@ -0,0 +1,13 @@
-+AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
-+[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
-+    gcc_cv_as_cfi_pseudo_op, [
-+    gcc_cv_as_cfi_pseudo_op=unknown
-+    AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
-+                 [gcc_cv_as_cfi_pseudo_op=yes],
-+                 [gcc_cv_as_cfi_pseudo_op=no])
-+ ])
-+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-+    AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
-+            [Define if your assembler supports .cfi_* directives.])
-+ fi
-+])
-Index: libffi/testsuite/lib/target-libpath.exp
-===================================================================
---- /dev/null
-+++ libffi/testsuite/lib/target-libpath.exp
-@@ -0,0 +1,263 @@
-+# Copyright (C) 2004, 2005, 2007 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
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with GCC; see the file COPYING3.  If not see
-+# <http://www.gnu.org/licenses/>.
-+
-+# This file was contributed by John David Anglin (dave.anglin@nrc-cnrc.gc.ca)
-+
-+set orig_environment_saved 0
-+set orig_ld_library_path_saved 0
-+set orig_ld_run_path_saved 0
-+set orig_shlib_path_saved 0
-+set orig_ld_libraryn32_path_saved 0
-+set orig_ld_library64_path_saved 0
-+set orig_ld_library_path_32_saved 0
-+set orig_ld_library_path_64_saved 0
-+set orig_dyld_library_path_saved 0
-+
-+
-+#######################################
-+# proc set_ld_library_path_env_vars { }
-+#######################################
-+
-+proc set_ld_library_path_env_vars { } {
-+  global ld_library_path
-+  global orig_environment_saved
-+  global orig_ld_library_path_saved
-+  global orig_ld_run_path_saved
-+  global orig_shlib_path_saved
-+  global orig_ld_libraryn32_path_saved
-+  global orig_ld_library64_path_saved
-+  global orig_ld_library_path_32_saved
-+  global orig_ld_library_path_64_saved
-+  global orig_dyld_library_path_saved
-+  global orig_ld_library_path
-+  global orig_ld_run_path
-+  global orig_shlib_path
-+  global orig_ld_libraryn32_path
-+  global orig_ld_library64_path
-+  global orig_ld_library_path_32
-+  global orig_ld_library_path_64
-+  global orig_dyld_library_path
-+  global GCC_EXEC_PREFIX
-+
-+  # Set the relocated compiler prefix, but only if the user hasn't specified one.
-+  if { [info exists GCC_EXEC_PREFIX] && ![info exists env(GCC_EXEC_PREFIX)] } {
-+    setenv GCC_EXEC_PREFIX "$GCC_EXEC_PREFIX"
-+  }
-+
-+  # Setting the ld library path causes trouble when testing cross-compilers.
-+  if { [is_remote target] } {
-+    return
-+  }
-+
-+  if { $orig_environment_saved == 0 } {
-+    global env
-+
-+    set orig_environment_saved 1
-+
-+    # Save the original environment.
-+    if [info exists env(LD_LIBRARY_PATH)] {
-+      set orig_ld_library_path "$env(LD_LIBRARY_PATH)"
-+      set orig_ld_library_path_saved 1
-+    }
-+    if [info exists env(LD_RUN_PATH)] {
-+      set orig_ld_run_path "$env(LD_RUN_PATH)"
-+      set orig_ld_run_path_saved 1
-+    }
-+    if [info exists env(SHLIB_PATH)] {
-+      set orig_shlib_path "$env(SHLIB_PATH)"
-+      set orig_shlib_path_saved 1
-+    }
-+    if [info exists env(LD_LIBRARYN32_PATH)] {
-+      set orig_ld_libraryn32_path "$env(LD_LIBRARYN32_PATH)"
-+      set orig_ld_libraryn32_path_saved 1
-+    }
-+    if [info exists env(LD_LIBRARY64_PATH)] {
-+      set orig_ld_library64_path "$env(LD_LIBRARY64_PATH)"
-+      set orig_ld_library64_path_saved 1
-+    }
-+    if [info exists env(LD_LIBRARY_PATH_32)] {
-+      set orig_ld_library_path_32 "$env(LD_LIBRARY_PATH_32)"
-+      set orig_ld_library_path_32_saved 1
-+    }
-+    if [info exists env(LD_LIBRARY_PATH_64)] {
-+      set orig_ld_library_path_64 "$env(LD_LIBRARY_PATH_64)"
-+      set orig_ld_library_path_64_saved 1
-+    }
-+    if [info exists env(DYLD_LIBRARY_PATH)] {
-+      set orig_dyld_library_path "$env(DYLD_LIBRARY_PATH)"
-+      set orig_dyld_library_path_saved 1
-+    }
-+  }
-+
-+  # We need to set ld library path in the environment.  Currently,
-+  # unix.exp doesn't set the environment correctly for all systems.
-+  # It only sets SHLIB_PATH and LD_LIBRARY_PATH when it executes a
-+  # program.  We also need the environment set for compilations, etc.
-+  #
-+  # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-+  # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-+  # (for the 64-bit ABI).  The same applies to Darwin (DYLD_LIBRARY_PATH),
-+  # Solaris 32 bit (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64),
-+  # and HP-UX (SHLIB_PATH).  In some cases, the variables are independent
-+  # of LD_LIBRARY_PATH, and in other cases LD_LIBRARY_PATH is used if the
-+  # variable is not defined.
-+  #
-+  # Doing this is somewhat of a hack as ld_library_path gets repeated in
-+  # SHLIB_PATH and LD_LIBRARY_PATH when unix_load sets these variables.
-+  if { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path"
-+  } else {
-+    setenv LD_LIBRARY_PATH "$ld_library_path"
-+  }
-+  if { $orig_ld_run_path_saved } {
-+    setenv LD_RUN_PATH "$ld_library_path:$orig_ld_run_path"
-+  } else {
-+    setenv LD_RUN_PATH "$ld_library_path"
-+  }
-+  # The default shared library dynamic path search for 64-bit
-+  # HP-UX executables searches LD_LIBRARY_PATH before SHLIB_PATH.
-+  # LD_LIBRARY_PATH isn't used for 32-bit executables.  Thus, we
-+  # set LD_LIBRARY_PATH and SHLIB_PATH as if they were independent.
-+  if { $orig_shlib_path_saved } {
-+    setenv SHLIB_PATH "$ld_library_path:$orig_shlib_path"
-+  } else {
-+    setenv SHLIB_PATH "$ld_library_path"
-+  }
-+  if { $orig_ld_libraryn32_path_saved } {
-+    setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_libraryn32_path"
-+  } elseif { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_library_path"
-+  } else {
-+    setenv LD_LIBRARYN32_PATH "$ld_library_path"
-+  }
-+  if { $orig_ld_library64_path_saved } {
-+    setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library64_path"
-+  } elseif { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library_path"
-+  } else {
-+    setenv LD_LIBRARY64_PATH "$ld_library_path"
-+  }
-+  if { $orig_ld_library_path_32_saved } {
-+    setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path_32"
-+  } elseif { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path"
-+  } else {
-+    setenv LD_LIBRARY_PATH_32 "$ld_library_path"
-+  }
-+  if { $orig_ld_library_path_64_saved } {
-+    setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path_64"
-+  } elseif { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path"
-+  } else {
-+    setenv LD_LIBRARY_PATH_64 "$ld_library_path"
-+  }
-+  if { $orig_dyld_library_path_saved } {
-+    setenv DYLD_LIBRARY_PATH "$ld_library_path:$orig_dyld_library_path"
-+  } else {
-+    setenv DYLD_LIBRARY_PATH "$ld_library_path"
-+  }
-+
-+  verbose -log "set_ld_library_path_env_vars: ld_library_path=$ld_library_path"
-+}
-+
-+#######################################
-+# proc restore_ld_library_path_env_vars { }
-+#######################################
-+
-+proc restore_ld_library_path_env_vars { } {
-+  global orig_environment_saved
-+  global orig_ld_library_path_saved
-+  global orig_ld_run_path_saved
-+  global orig_shlib_path_saved
-+  global orig_ld_libraryn32_path_saved
-+  global orig_ld_library64_path_saved
-+  global orig_ld_library_path_32_saved
-+  global orig_ld_library_path_64_saved
-+  global orig_dyld_library_path_saved
-+  global orig_ld_library_path
-+  global orig_ld_run_path
-+  global orig_shlib_path
-+  global orig_ld_libraryn32_path
-+  global orig_ld_library64_path
-+  global orig_ld_library_path_32
-+  global orig_ld_library_path_64
-+  global orig_dyld_library_path
-+
-+  if { $orig_environment_saved == 0 } {
-+    return
-+  }
-+
-+  if { $orig_ld_library_path_saved } {
-+    setenv LD_LIBRARY_PATH "$orig_ld_library_path"
-+  } elseif [info exists env(LD_LIBRARY_PATH)] {
-+    unsetenv LD_LIBRARY_PATH
-+  }
-+  if { $orig_ld_run_path_saved } {
-+    setenv LD_RUN_PATH "$orig_ld_run_path"
-+  } elseif [info exists env(LD_RUN_PATH)] {
-+    unsetenv LD_RUN_PATH
-+  }
-+  if { $orig_shlib_path_saved } {
-+    setenv SHLIB_PATH "$orig_shlib_path"
-+  } elseif [info exists env(SHLIB_PATH)] {
-+    unsetenv SHLIB_PATH
-+  }
-+  if { $orig_ld_libraryn32_path_saved } {
-+    setenv LD_LIBRARYN32_PATH "$orig_ld_libraryn32_path"
-+  } elseif [info exists env(LD_LIBRARYN32_PATH)] {
-+    unsetenv LD_LIBRARYN32_PATH
-+  }
-+  if { $orig_ld_library64_path_saved } {
-+    setenv LD_LIBRARY64_PATH "$orig_ld_library64_path"
-+  } elseif [info exists env(LD_LIBRARY64_PATH)] {
-+    unsetenv LD_LIBRARY64_PATH
-+  }
-+  if { $orig_ld_library_path_32_saved } {
-+    setenv LD_LIBRARY_PATH_32 "$orig_ld_library_path_32"
-+  } elseif [info exists env(LD_LIBRARY_PATH_32)] {
-+    unsetenv LD_LIBRARY_PATH_32
-+  }
-+  if { $orig_ld_library_path_64_saved } {
-+    setenv LD_LIBRARY_PATH_64 "$orig_ld_library_path_64"
-+  } elseif [info exists env(LD_LIBRARY_PATH_64)] {
-+    unsetenv LD_LIBRARY_PATH_64
-+  }
-+  if { $orig_dyld_library_path_saved } {
-+    setenv DYLD_LIBRARY_PATH "$orig_dyld_library_path"
-+  } elseif [info exists env(DYLD_LIBRARY_PATH)] {
-+    unsetenv DYLD_LIBRARY_PATH
-+  }
-+}
-+
-+#######################################
-+# proc get_shlib_extension { }
-+#######################################
-+
-+proc get_shlib_extension { } {
-+    global shlib_ext
-+
-+    if { [ istarget *-*-darwin* ] } {
-+      set shlib_ext "dylib"
-+    } elseif { [ istarget *-*-cygwin* ] || [ istarget *-*-mingw* ] } {
-+      set shlib_ext "dll"
-+    } elseif { [ istarget hppa*-*-hpux* ] } {
-+      set shlib_ext "sl"
-+    } else {
-+      set shlib_ext "so"
-+    }
-+    return $shlib_ext
-+}
-+
-Index: libffi/testsuite/lib/wrapper.exp
-===================================================================
---- /dev/null
-+++ libffi/testsuite/lib/wrapper.exp
-@@ -0,0 +1,45 @@
-+#   Copyright (C) 2004, 2007 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
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+# 
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+# 
-+# You should have received a copy of the GNU General Public License
-+# along with GCC; see the file COPYING3.  If not see
-+# <http://www.gnu.org/licenses/>.
-+
-+# This file contains GCC-specifics for status wrappers for test programs.
-+
-+# ${tool}_maybe_build_wrapper -- Build wrapper object if the target
-+# needs it.  FILENAME is the path to the wrapper file.  If there are
-+# additional arguments, they are command-line options to provide to
-+# the compiler when compiling FILENAME.
-+
-+proc ${tool}_maybe_build_wrapper { filename args } {
-+    global gluefile wrap_flags
-+
-+    if { [target_info needs_status_wrapper] != "" \
-+       && [target_info needs_status_wrapper] != "0" \
-+       && ![info exists gluefile] } {
-+      set saved_wrap_compile_flags [target_info wrap_compile_flags]
-+      set flags [join $args " "]
-+      # The wrapper code may contain code that gcc objects on.  This
-+      # became true for dejagnu-1.4.4.  The set of warnings and code
-+      # that gcc objects on may change, so just make sure -w is always
-+      # passed to turn off all warnings.
-+      set_currtarget_info wrap_compile_flags \
-+          "$saved_wrap_compile_flags -w $flags"
-+      set result [build_wrapper $filename]
-+      set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
-+      if { $result != "" } {
-+          set gluefile [lindex $result 0]
-+          set wrap_flags [lindex $result 1]
-+      }
-+    }
-+}
-Index: libffi/m4/ax_cc_maxopt.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_cc_maxopt.m4
-@@ -0,0 +1,180 @@
-+# ===========================================================================
-+#       http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CC_MAXOPT
-+#
-+# DESCRIPTION
-+#
-+#   Try to turn on "good" C optimization flags for various compilers and
-+#   architectures, for some definition of "good". (In our case, good for
-+#   FFTW and hopefully for other scientific codes. Modify as needed.)
-+#
-+#   The user can override the flags by setting the CFLAGS environment
-+#   variable. The user can also specify --enable-portable-binary in order to
-+#   disable any optimization flags that might result in a binary that only
-+#   runs on the host architecture.
-+#
-+#   Note also that the flags assume that ANSI C aliasing rules are followed
-+#   by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
-+#   computations can be re-ordered as needed.
-+#
-+#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR,
-+#   AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+#   Copyright (c) 2008 Matteo Frigo
-+#
-+#   This program is free software: you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation, either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 12
-+
-+AC_DEFUN([AX_CC_MAXOPT],
-+[
-+AC_REQUIRE([AC_PROG_CC])
-+AC_REQUIRE([AX_COMPILER_VENDOR])
-+AC_REQUIRE([AC_CANONICAL_HOST])
-+
-+AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
-+      acx_maxopt_portable=$withval, acx_maxopt_portable=no)
-+
-+# Try to determine "good" native compiler flags if none specified via CFLAGS
-+if test "$ac_test_CFLAGS" != "set"; then
-+  CFLAGS=""
-+  case $ax_cv_c_compiler_vendor in
-+    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
-+       if test "x$acx_maxopt_portable" = xno; then
-+           CFLAGS="$CFLAGS -arch host"
-+         fi;;
-+
-+    sun) CFLAGS="-native -fast -xO5 -dalign"
-+       if test "x$acx_maxopt_portable" = xyes; then
-+         CFLAGS="$CFLAGS -xarch=generic"
-+         fi;;
-+
-+    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
-+       if test "x$acx_maxopt_portable" = xyes; then
-+         CFLAGS="$CFLAGS +DAportable"
-+       fi;;
-+
-+    ibm) if test "x$acx_maxopt_portable" = xno; then
-+           xlc_opt="-qarch=auto -qtune=auto"
-+       else
-+           xlc_opt="-qtune=auto"
-+       fi
-+         AX_CHECK_COMPILE_FLAG($xlc_opt,
-+              CFLAGS="-O3 -qansialias -w $xlc_opt",
-+               [CFLAGS="-O3 -qansialias -w"
-+                echo "******************************************************"
-+                echo "*  You seem to have the IBM  C compiler.  It is      *"
-+                echo "*  recommended for best performance that you use:    *"
-+                echo "*                                                    *"
-+                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
-+                echo "*                      ^^^        ^^^                *"
-+                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
-+                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
-+                echo "*  and re-run configure.)  For more info, man cc.    *"
-+                echo "******************************************************"])
-+         ;;
-+
-+    intel) CFLAGS="-O3 -ansi_alias"
-+      if test "x$acx_maxopt_portable" = xno; then
-+        icc_archflag=unknown
-+        icc_flags=""
-+        case $host_cpu in
-+          i686*|x86_64*)
-+              # icc accepts gcc assembly syntax, so these should work:
-+            AX_GCC_X86_CPUID(0)
-+              AX_GCC_X86_CPUID(1)
-+            case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
-+                *:756e6547:*:*) # Intel
-+                  case $ax_cv_gcc_x86_cpuid_1 in
-+                    *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
-+                    *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
-+                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
-+                  esac ;;
-+              esac ;;
-+          esac
-+          if test "x$icc_flags" != x; then
-+            for flag in $icc_flags; do
-+              AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break])
-+            done
-+          fi
-+          AC_MSG_CHECKING([for icc architecture flag])
-+        AC_MSG_RESULT($icc_archflag)
-+          if test "x$icc_archflag" != xunknown; then
-+            CFLAGS="$CFLAGS $icc_archflag"
-+          fi
-+        fi
-+      ;;
-+
-+    gnu)
-+     # default optimization flags for gcc on all systems
-+     CFLAGS="-O3 -fomit-frame-pointer"
-+
-+     # -malign-double for x86 systems
-+     AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
-+
-+     #  -fstrict-aliasing for gcc-2.95+
-+     AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
-+      CFLAGS="$CFLAGS -fstrict-aliasing")
-+
-+     # note that we enable "unsafe" fp optimization with other compilers, too
-+     AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
-+
-+     AX_GCC_ARCHFLAG($acx_maxopt_portable)
-+     ;;
-+  esac
-+
-+  if test -z "$CFLAGS"; then
-+      echo ""
-+      echo "********************************************************"
-+        echo "* WARNING: Don't know the best CFLAGS for this system  *"
-+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-+      echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
-+      echo "********************************************************"
-+      echo ""
-+        CFLAGS="-O3"
-+  fi
-+
-+  AX_CHECK_COMPILE_FLAG($CFLAGS, [], [
-+      echo ""
-+        echo "********************************************************"
-+        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
-+        echo "* your compiler.                                       *"
-+        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-+        echo "********************************************************"
-+        echo ""
-+        CFLAGS=""
-+  ])
-+
-+fi
-+])
-Index: libffi/m4/ax_cflags_warn_all.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_cflags_warn_all.m4
-@@ -0,0 +1,121 @@
-+# ===========================================================================
-+#    http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CFLAGS_WARN_ALL   [(shellvar [,default, [A/NA]])]
-+#   AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-+#   AX_FCFLAGS_WARN_ALL  [(shellvar [,default, [A/NA]])]
-+#
-+# DESCRIPTION
-+#
-+#   Try to find a compiler option that enables most reasonable warnings.
-+#
-+#   For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
-+#   is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
-+#
-+#   Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
-+#   HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
-+#   Intel compilers.  For a given compiler, the Fortran flags are much more
-+#   experimental than their C equivalents.
-+#
-+#    - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
-+#    - $2 add-value-if-not-found : nothing
-+#    - $3 action-if-found : add value to shellvariable
-+#    - $4 action-if-not-found : nothing
-+#
-+#   NOTE: These macros depend on AX_APPEND_FLAG.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-+#   Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
-+#
-+#   This program is free software; you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation; either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 13
-+
-+AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
-+AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
-+AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl
-+AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-+VAR,[VAR="no, unknown"
-+ac_save_[]FLAGS="$[]FLAGS"
-+for ac_arg dnl
-+in "-warn all  % -warn all"   dnl Intel
-+   "-pedantic  % -Wall"       dnl GCC
-+   "-xstrconst % -v"          dnl Solaris C
-+   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
-+   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
-+   "-ansi -ansiE % -fullwarn" dnl IRIX
-+   "+ESlit     % +w1"         dnl HP-UX C
-+   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
-+   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
-+   #
-+do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-+                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-+done
-+FLAGS="$ac_save_[]FLAGS"
-+])
-+AS_VAR_POPDEF([FLAGS])dnl
-+case ".$VAR" in
-+     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-+   .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;;
-+   *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;;
-+esac
-+AS_VAR_POPDEF([VAR])dnl
-+])dnl AX_FLAGS_WARN_ALL
-+dnl  implementation tactics:
-+dnl   the for-argument contains a list of options. The first part of
-+dnl   these does only exist to detect the compiler - usually it is
-+dnl   a global option to enable -ansi or -extrawarnings. All other
-+dnl   compilers will fail about it. That was needed since a lot of
-+dnl   compilers will give false positives for some option-syntax
-+dnl   like -Woption or -Xoption as they think of it is a pass-through
-+dnl   to later compile stages or something. The "%" is used as a
-+dnl   delimiter. A non-option comment can be given after "%%" marks
-+dnl   which will be shown but not added to the respective C/CXXFLAGS.
-+
-+AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
-+AC_LANG_PUSH([C])
-+AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
-+AC_LANG_POP([C])
-+])
-+
-+AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
-+AC_LANG_PUSH([C++])
-+AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
-+AC_LANG_POP([C++])
-+])
-+
-+AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
-+AC_LANG_PUSH([Fortran])
-+AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
-+AC_LANG_POP([Fortran])
-+])
-Index: libffi/m4/ax_check_compiler_flags.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_check_compiler_flags.m4
-@@ -0,0 +1,76 @@
-+# ===========================================================================
-+#  http://www.gnu.org/software/autoconf-archive/ax_check_compiler_flags.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
-+#
-+# DESCRIPTION
-+#
-+#   Check whether the given compiler FLAGS work with the current language's
-+#   compiler, or whether they give an error. (Warnings, however, are
-+#   ignored.)
-+#
-+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-+#   success/failure.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
-+#   Copyright (c) 2009 Matteo Frigo
-+#
-+#   This program is free software: you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation, either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 9
-+
-+AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
-+[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
-+AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
-+dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
-+AS_LITERAL_IF([$1],
-+  [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1]), [
-+      ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-+      _AC_LANG_PREFIX[]FLAGS="$1"
-+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-+        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-+        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-+      _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
-+  [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-+   _AC_LANG_PREFIX[]FLAGS="$1"
-+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-+     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-+     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-+   _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
-+eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])
-+AC_MSG_RESULT($ax_check_compiler_flags)
-+if test "x$ax_check_compiler_flags" = xyes; then
-+      m4_default([$2], :)
-+else
-+      m4_default([$3], :)
-+fi
-+])dnl AX_CHECK_COMPILER_FLAGS
-Index: libffi/m4/ax_compiler_vendor.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_compiler_vendor.m4
-@@ -0,0 +1,84 @@
-+# ===========================================================================
-+#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_COMPILER_VENDOR
-+#
-+# DESCRIPTION
-+#
-+#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
-+#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
-+#   watcom, etc. The vendor is returned in the cache variable
-+#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+#   Copyright (c) 2008 Matteo Frigo
-+#
-+#   This program is free software: you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation, either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 11
-+
-+AC_DEFUN([AX_COMPILER_VENDOR],
-+[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
-+  [# note: don't check for gcc first since some other compilers define __GNUC__
-+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
-+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
-+           pathscale: __PATHCC__,__PATHSCALE__
-+           clang:     __clang__
-+           gnu:       __GNUC__
-+           sun:       __SUNPRO_C,__SUNPRO_CC
-+           hp:        __HP_cc,__HP_aCC
-+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
-+           borland:   __BORLANDC__,__TURBOC__
-+           comeau:    __COMO__
-+           cray:      _CRAYC
-+           kai:       __KCC
-+           lcc:       __LCC__
-+           sgi:       __sgi,sgi
-+           microsoft: _MSC_VER
-+           metrowerks: __MWERKS__
-+           watcom:    __WATCOMC__
-+           portland:  __PGI
-+           unknown:   UNKNOWN"
-+  for ventest in $vendors; do
-+    case $ventest in
-+      *:) vendor=$ventest; continue ;;
-+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
-+    esac
-+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
-+      #if !($vencpp)
-+        thisisanerror;
-+      #endif
-+    ])], [break])
-+  done
-+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
-+ ])
-+])
-Index: libffi/m4/ax_configure_args.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_configure_args.m4
-@@ -0,0 +1,70 @@
-+# ===========================================================================
-+#     http://www.gnu.org/software/autoconf-archive/ax_configure_args.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CONFIGURE_ARGS
-+#
-+# DESCRIPTION
-+#
-+#   Helper macro for AX_ENABLE_BUILDDIR.
-+#
-+#   The traditional way of starting a subdir-configure is running the script
-+#   with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have
-+#   to rely on eval'ing $ac_configure_args however some old autoconf
-+#   versions do not provide that. To ensure maximum portability of autoconf
-+#   extension macros this helper can be AC_REQUIRE'd so that
-+#   $ac_configure_args will alsways be present.
-+#
-+#   Sadly, the traditional "exec $SHELL" of the enable_builddir macros is
-+#   spoiled now and must be replaced by "eval + exit $?".
-+#
-+#   Example:
-+#
-+#     AC_DEFUN([AX_ENABLE_SUBDIR],[dnl
-+#       AC_REQUIRE([AX_CONFIGURE_ARGS])dnl
-+#       eval $SHELL $ac_configure_args || exit $?
-+#       ...])
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-+#
-+#   This program is free software; you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation; either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 9
-+
-+AC_DEFUN([AX_CONFIGURE_ARGS],[
-+   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
-+   if test "${ac_configure_args+set}" != "set" ; then
-+      ac_configure_args=
-+      for ac_arg in ${1+"[$]@"}; do
-+         ac_configure_args="$ac_configure_args '$ac_arg'"
-+      done
-+   fi
-+])
-Index: libffi/m4/ax_enable_builddir.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_enable_builddir.m4
-@@ -0,0 +1,300 @@
-+# ===========================================================================
-+#    http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
-+#
-+# DESCRIPTION
-+#
-+#   If the current configure was run within the srcdir then we move all
-+#   configure-files into a subdir and let the configure steps continue
-+#   there. We provide an option --disable-builddir to suppress the move into
-+#   a separate builddir.
-+#
-+#   Defaults:
-+#
-+#     $1 = $host (overridden with $HOST)
-+#     $2 = Makefile.mk
-+#     $3 = -all
-+#
-+#   This macro must be called before AM_INIT_AUTOMAKE. It creates a default
-+#   toplevel srcdir Makefile from the information found in the created
-+#   toplevel builddir Makefile. It just copies the variables and
-+#   rule-targets, each extended with a default rule-execution that recurses
-+#   into the build directory of the current "HOST". You can override the
-+#   auto-dection through `config.guess` and build-time of course, as in
-+#
-+#     make HOST=i386-mingw-cross
-+#
-+#   which can of course set at configure time as well using
-+#
-+#     configure --host=i386-mingw-cross
-+#
-+#   After the default has been created, additional rules can be appended
-+#   that will not just recurse into the subdirectories and only ever exist
-+#   in the srcdir toplevel makefile - these parts are read from the $2 =
-+#   Makefile.mk file
-+#
-+#   The automatic rules are usually scanning the toplevel Makefile for lines
-+#   like '#### $host |$builddir' to recognize the place where to recurse
-+#   into. Usually, the last one is the only one used. However, almost all
-+#   targets have an additional "*-all" rule which makes the script to
-+#   recurse into _all_ variants of the current HOST (!!) setting. The "-all"
-+#   suffix can be overriden for the macro as well.
-+#
-+#   a special rule is only given for things like "dist" that will copy the
-+#   tarball from the builddir to the sourcedir (or $(PUB)) for reason of
-+#   convenience.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
-+#   Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
-+#
-+#   This program is free software; you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation; either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 23
-+
-+AC_DEFUN([AX_ENABLE_BUILDDIR],[
-+AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
-+AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
-+AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
-+AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
-+AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-+AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-+AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-+SUB="."
-+AC_ARG_ENABLE([builddir], AS_HELP_STRING(
-+  [--disable-builddir],[disable automatic build in subdir of sources])
-+  ,[SUB="$enableval"], [SUB="auto"])
-+if test ".$ac_srcdir_defaulted" != ".no" ; then
-+if test ".$srcdir" = ".." ; then
-+  if test -f config.status ; then
-+    AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
-+  else
-+    test ".$SUB" = "."  && SUB="."
-+    test ".$SUB" = ".no"  && SUB="."
-+    test ".$TARGET" = "." && TARGET="$target"
-+    test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
-+    if test ".$SUB" != ".." ; then    # we know where to go and
-+      AS_MKDIR_P([$SUB])
-+      echo __.$SUB.__ > $SUB/conftest.tmp
-+      cd $SUB
-+      if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
-+        rm conftest.tmp
-+        AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
-+      else
-+        AC_MSG_ERROR([could not change to default builddir "./$SUB"])
-+      fi
-+      srcdir=`echo "$SUB" |
-+              sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
-+      # going to restart from subdirectory location
-+      test -f $srcdir/config.log   && mv $srcdir/config.log   .
-+      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
-+      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
-+      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
-+      AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
-+      case "[$]0" in # restart
-+       [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
-+       *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
-+      esac ; exit $?
-+    fi
-+  fi
-+fi fi
-+test ".$SUB" = ".auto" && SUB="."
-+dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
-+AC_PATH_PROG(SED,gsed sed, sed)
-+AUX="$am_aux_dir"
-+AS_VAR_POPDEF([SED])dnl
-+AS_VAR_POPDEF([AUX])dnl
-+AS_VAR_POPDEF([SUB])dnl
-+AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
-+AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-+AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
-+AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
-+AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-+AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-+pushdef([END],[Makefile.mk])dnl
-+pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
-+  SRC="$ax_enable_builddir_srcdir"
-+  if test ".$SUB" = ".." ; then
-+    if test -f "$TOP/Makefile" ; then
-+      AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
-+    else
-+      AC_MSG_NOTICE([skipping TOP/Makefile - not created])
-+    fi
-+  else
-+    if test -f "$SRC/Makefile" ; then
-+      a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
-+      test "$a" != "$b" && rm "$SRC/Makefile"
-+    fi
-+    if test -f "$SRC/Makefile" ; then
-+      echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
-+      echo "  []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
-+      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
-+      if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
-+      then rm $SRC/Makefile ; fi
-+      cp $tmp/conftemp.mk $SRC/makefiles.mk~      ## DEBUGGING
-+    fi
-+    if test ! -f "$SRC/Makefile" ; then
-+      AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
-+      x='`' ; cat >$tmp/conftemp.sed <<_EOF
-+/^\$/n
-+x
-+/^\$/bS
-+x
-+/\\\\\$/{H;d;}
-+{H;s/.*//;x;}
-+bM
-+:S
-+x
-+/\\\\\$/{h;d;}
-+{h;s/.*//;x;}
-+:M
-+s/\\(\\n\\)   /\\1 /g
-+/^    /d
-+/^[[   ]]*[[\\#]]/d
-+/^VPATH *=/d
-+s/^srcdir *=.*/srcdir = ./
-+s/^top_srcdir *=.*/top_srcdir = ./
-+/[[:=]]/!d
-+/^\\./d
-+dnl Now handle rules (i.e. lines containing ":" but not " = ").
-+/ = /b
-+/ .= /b
-+/:/!b
-+s/:.*/:/
-+s/ /  /g
-+s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
-+s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
-+s/  / /g
-+/^all all[]_ALL[[ :]]/i\\
-+all-configured : all[]_ALL
-+dnl dist-all exists... and would make for dist-all-all
-+s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
-+/[]_ALL[]_ALL/d
-+a\\
-+      @ HOST="\$(HOST)\" \\\\\\
-+      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-+      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-+      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-+      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
-+      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
-+      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-+      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
-+      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-+      ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
-+dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
-+/dist[]_ALL *:/a\\
-+      @ HOST="\$(HOST)\" \\\\\\
-+      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-+      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-+      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-+      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
-+      ; if test "\$\$found" -eq "0" ; then : \\\\\\
-+      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-+      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-+      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
-+      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-+dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
-+/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
-+      @ HOST="\$(HOST)\" \\\\\\
-+      ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
-+      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-+      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-+      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
-+      ; if test "\$\$found" -eq "0" ; then : \\\\\\
-+      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-+      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-+      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
-+      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-+dnl special rule add-on: "distclean" removes all local builddirs completely
-+/distclean[]_ALL *:/a\\
-+      @ HOST="\$(HOST)\" \\\\\\
-+      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-+      ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
-+      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-+      ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
-+      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-+      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-+      ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
-+      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-+      ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
-+      ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
-+      ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
-+_EOF
-+      cp "$tmp/conftemp.sed" "$SRC/makefile.sed~"            ## DEBUGGING
-+      $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
-+      if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
-+        AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
-+        cat $SRC/END >>$SRC/Makefile
-+      fi ; xxxx="####"
-+      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
-+      # sanity check
-+      if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
-+        AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
-+        $SED -e '/^@ HOST=/s/^/       /' -e '/^; /s/^/        /' $SRC/Makefile \
-+          >$SRC/Makefile~
-+        (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
-+      fi
-+    else
-+      xxxx="\\#\\#\\#\\#"
-+      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
-+      echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
-+      $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
-+        cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~"         ## DEBUGGING
-+        cp "$tmp/mkfile.tmp"   "$SRC/makefiles.out~"         ## DEBUGGING
-+      if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
-+        AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
-+        rm "$tmp/mkfile.tmp"
-+      else
-+        AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
-+        mv "$tmp/mkfile.tmp" "$SRC/Makefile"
-+      fi
-+    fi
-+    AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
-+    xxxx="####"
-+    echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
-+  fi
-+popdef([END])dnl
-+AS_VAR_POPDEF([SED])dnl
-+AS_VAR_POPDEF([AUX])dnl
-+AS_VAR_POPDEF([SRC])dnl
-+AS_VAR_POPDEF([TOP])dnl
-+AS_VAR_POPDEF([SUB])dnl
-+],[dnl
-+ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
-+ax_enable_builddir_host="$HOST"                        # $HOST / $host
-+ax_enable_builddir_version="$VERSION"                  # $VERSION
-+ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
-+ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
-+ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
-+ax_enable_builddir="$ax_enable_builddir"               # $SUB
-+])dnl
-+])
-Index: libffi/m4/ax_gcc_archflag.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_gcc_archflag.m4
-@@ -0,0 +1,215 @@
-+# ===========================================================================
-+#      http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
-+#
-+# DESCRIPTION
-+#
-+#   This macro tries to guess the "native" arch corresponding to the target
-+#   architecture for use with gcc's -march=arch or -mtune=arch flags. If
-+#   found, the cache variable $ax_cv_gcc_archflag is set to this flag and
-+#   ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to
-+#   "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
-+#   to add $ax_cv_gcc_archflag to the end of $CFLAGS.
-+#
-+#   PORTABLE? should be either [yes] (default) or [no]. In the former case,
-+#   the flag is set to -mtune (or equivalent) so that the architecture is
-+#   only used for tuning, but the instruction set used is still portable. In
-+#   the latter case, the flag is set to -march (or equivalent) so that
-+#   architecture-specific instructions are enabled.
-+#
-+#   The user can specify --with-gcc-arch=<arch> in order to override the
-+#   macro's choice of architecture, or --without-gcc-arch to disable this.
-+#
-+#   When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
-+#   called unless the user specified --with-gcc-arch manually.
-+#
-+#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID
-+#
-+#   (The main emphasis here is on recent CPUs, on the principle that doing
-+#   high-performance computing on old hardware is uncommon.)
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+#   Copyright (c) 2008 Matteo Frigo
-+#
-+#   This program is free software: you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation, either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 10
-+
-+AC_DEFUN([AX_GCC_ARCHFLAG],
-+[AC_REQUIRE([AC_PROG_CC])
-+AC_REQUIRE([AC_CANONICAL_HOST])
-+
-+AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
-+      ax_gcc_arch=$withval, ax_gcc_arch=yes)
-+
-+AC_MSG_CHECKING([for gcc architecture flag])
-+AC_MSG_RESULT([])
-+AC_CACHE_VAL(ax_cv_gcc_archflag,
-+[
-+ax_cv_gcc_archflag="unknown"
-+
-+if test "$GCC" = yes; then
-+
-+if test "x$ax_gcc_arch" = xyes; then
-+ax_gcc_arch=""
-+if test "$cross_compiling" = no; then
-+case $host_cpu in
-+  i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
-+     AX_GCC_X86_CPUID(0)
-+     AX_GCC_X86_CPUID(1)
-+     case $ax_cv_gcc_x86_cpuid_0 in
-+       *:756e6547:*:*) # Intel
-+          case $ax_cv_gcc_x86_cpuid_1 in
-+          *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
-+          *5??:*:*:*) ax_gcc_arch=pentium ;;
-+          *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-+          *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-+          *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-+          *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
-+          *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-+          *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
-+            *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
-+              case $host_cpu in
-+                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
-+                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
-+                esac ;;
-+            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
-+          esac ;;
-+       *:68747541:*:*) # AMD
-+          case $ax_cv_gcc_x86_cpuid_1 in
-+          *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
-+          *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
-+          *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
-+          *60?:*:*:*) ax_gcc_arch=k7 ;;
-+          *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
-+          *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
-+          *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
-+          *6[[68a]]?:*:*:*)
-+             AX_GCC_X86_CPUID(0x80000006) # L2 cache size
-+             case $ax_cv_gcc_x86_cpuid_0x80000006 in
-+                 *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
-+                      ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
-+                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
-+             esac ;;
-+          *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
-+          *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
-+          *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
-+          *f??:*:*:*) ax_gcc_arch="k8" ;;
-+          esac ;;
-+      *:746e6543:*:*) # IDT
-+         case $ax_cv_gcc_x86_cpuid_1 in
-+           *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
-+           *58?:*:*:*) ax_gcc_arch=winchip2 ;;
-+           *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
-+           *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
-+         esac ;;
-+     esac
-+     if test x"$ax_gcc_arch" = x; then # fallback
-+      case $host_cpu in
-+        i586*) ax_gcc_arch=pentium ;;
-+        i686*) ax_gcc_arch=pentiumpro ;;
-+        esac
-+     fi
-+     ;;
-+
-+  sparc*)
-+     AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
-+     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
-+     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
-+     case $cputype in
-+         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
-+         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
-+         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
-+         *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
-+         *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
-+         *cypress*) ax_gcc_arch=cypress ;;
-+     esac ;;
-+
-+  alphaev5) ax_gcc_arch=ev5 ;;
-+  alphaev56) ax_gcc_arch=ev56 ;;
-+  alphapca56) ax_gcc_arch="pca56 ev56" ;;
-+  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
-+  alphaev6) ax_gcc_arch=ev6 ;;
-+  alphaev67) ax_gcc_arch=ev67 ;;
-+  alphaev68) ax_gcc_arch="ev68 ev67" ;;
-+  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
-+  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
-+  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
-+
-+  powerpc*)
-+     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
-+     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
-+     case $cputype in
-+       *750*) ax_gcc_arch="750 G3" ;;
-+       *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
-+       *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
-+       *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
-+       *970*) ax_gcc_arch="970 G5 power4";;
-+       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
-+       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
-+       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
-+       *) ax_gcc_arch=$cputype ;;
-+     esac
-+     ax_gcc_arch="$ax_gcc_arch powerpc"
-+     ;;
-+esac
-+fi # not cross-compiling
-+fi # guess arch
-+
-+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
-+for arch in $ax_gcc_arch; do
-+  if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
-+    flags="-mtune=$arch"
-+    # -mcpu=$arch and m$arch generate nonportable code on every arch except
-+    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
-+    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
-+  else
-+    flags="-march=$arch -mcpu=$arch -m$arch"
-+  fi
-+  for flag in $flags; do
-+    AX_CHECK_COMPILE_FLAG($flag, [ax_cv_gcc_archflag=$flag; break])
-+  done
-+  test "x$ax_cv_gcc_archflag" = xunknown || break
-+done
-+fi
-+
-+fi # $GCC=yes
-+])
-+AC_MSG_CHECKING([for gcc architecture flag])
-+AC_MSG_RESULT($ax_cv_gcc_archflag)
-+if test "x$ax_cv_gcc_archflag" = xunknown; then
-+  m4_default([$3],:)
-+else
-+  m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
-+fi
-+])
-Index: libffi/m4/ax_gcc_x86_cpuid.m4
-===================================================================
---- /dev/null
-+++ libffi/m4/ax_gcc_x86_cpuid.m4
-@@ -0,0 +1,79 @@
-+# ===========================================================================
-+#     http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_GCC_X86_CPUID(OP)
-+#
-+# DESCRIPTION
-+#
-+#   On Pentium and later x86 processors, with gcc or a compiler that has a
-+#   compatible syntax for inline assembly instructions, run a small program
-+#   that executes the cpuid instruction with input OP. This can be used to
-+#   detect the CPU type.
-+#
-+#   On output, the values of the eax, ebx, ecx, and edx registers are stored
-+#   as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
-+#   ax_cv_gcc_x86_cpuid_OP.
-+#
-+#   If the cpuid instruction fails (because you are running a
-+#   cross-compiler, or because you are not using gcc, or because you are on
-+#   a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
-+#   is set to the string "unknown".
-+#
-+#   This macro mainly exists to be used in AX_GCC_ARCHFLAG.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+#   Copyright (c) 2008 Matteo Frigo
-+#
-+#   This program is free software: you can redistribute it and/or modify it
-+#   under the terms of the GNU General Public License as published by the
-+#   Free Software Foundation, either version 3 of the License, or (at your
-+#   option) any later version.
-+#
-+#   This program is distributed in the hope that it will be useful, but
-+#   WITHOUT ANY WARRANTY; without even the implied warranty of
-+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+#   Public License for more details.
-+#
-+#   You should have received a copy of the GNU General Public License along
-+#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#
-+#   As a special exception, the respective Autoconf Macro's copyright owner
-+#   gives unlimited permission to copy, distribute and modify the configure
-+#   scripts that are the output of Autoconf when processing the Macro. You
-+#   need not follow the terms of the GNU General Public License when using
-+#   or distributing such scripts, even though portions of the text of the
-+#   Macro appear in them. The GNU General Public License (GPL) does govern
-+#   all other use of the material that constitutes the Autoconf Macro.
-+#
-+#   This special exception to the GPL applies to versions of the Autoconf
-+#   Macro released by the Autoconf Archive. When you make and distribute a
-+#   modified version of the Autoconf Macro, you may extend this special
-+#   exception to the GPL to apply to your modified version as well.
-+
-+#serial 7
-+
-+AC_DEFUN([AX_GCC_X86_CPUID],
-+[AC_REQUIRE([AC_PROG_CC])
-+AC_LANG_PUSH([C])
-+AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
-+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [
-+     int op = $1, eax, ebx, ecx, edx;
-+     FILE *f;
-+      __asm__("cpuid"
-+        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-+        : "a" (op));
-+     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-+     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-+     fclose(f);
-+     return 0;
-+])],
-+     [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid],
-+     [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid],
-+     [ax_cv_gcc_x86_cpuid_$1=unknown])])
-+AC_LANG_POP([C])
-+])
-Index: libffi/Makefile.in
-===================================================================
---- libffi.orig/Makefile.in
-+++ libffi/Makefile.in
-@@ -1,9 +1,9 @@
--# Makefile.in generated by automake 1.11.1 from Makefile.am.
-+# Makefile.in generated by automake 1.11.6 from Makefile.am.
- # @configure_input@
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
--# Inc.
-+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+# Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -15,7 +15,25 @@
- @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@
-@@ -35,55 +53,54 @@ POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
- target_triplet = @target@
--@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
--@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
--@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
--@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
--@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
--@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
--@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
--@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
--@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
--@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
--@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
--@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
--@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
--@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
--@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
--@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
--@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
--@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
--@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
--@S390_TRUE@am__append_20 = src/s390/sysv.S src/s390/ffi.c
--@X86_64_TRUE@am__append_21 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
--@SH_TRUE@am__append_22 = src/sh/sysv.S src/sh/ffi.c
--@SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c
--@PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
--@PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
-+@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
-+@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-+@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
-+@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
-+@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
-+@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
-+@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-+@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-+@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
-+@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
-+@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
-+@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
-+@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-+@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-+@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-+@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-+@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
-+@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
-+@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
-+@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
-+@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
-+@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
-+@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
-+@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-+@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
-+@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
-+@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
-+@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
-+# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-+# MSVC, it can link against the debug CRT.
-+@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
- subdir = .
--DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
--      $(srcdir)/../config.guess $(srcdir)/../config.sub \
--      $(srcdir)/../depcomp $(srcdir)/../install-sh \
--      $(srcdir)/../ltmain.sh $(srcdir)/../missing \
--      $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
--      $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
--      $(top_srcdir)/configure ChangeLog
-+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-+      $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-+      $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-+      $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-+      compile config.guess config.sub depcomp install-sh ltmain.sh \
-+      mdate-sh missing texinfo.tex
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
--      $(top_srcdir)/../config/lead-dot.m4 \
--      $(top_srcdir)/../config/multi.m4 \
--      $(top_srcdir)/../config/override.m4 \
--      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
--      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
--      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.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 \
-  configure.lineno config.status.lineno
--mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = fficonfig.h
--CONFIG_CLEAN_FILES =
-+CONFIG_CLEAN_FILES = libffi.pc
- CONFIG_CLEAN_VPATH_FILES =
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
- am__vpath_adj = case $$p in \
-@@ -106,50 +123,60 @@ am__nobase_list = $(am__nobase_strip_set
- am__base_list = \
-   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
--am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
--LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
-+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)$(infodir)" \
-+      "$(DESTDIR)$(pkgconfigdir)"
-+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
- libffi_la_LIBADD =
- am__dirstamp = $(am__leading_dot)dirstamp
--am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
--      src/raw_api.lo src/java_raw_api.lo src/closures.lo
--@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-+am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
-+      src/java_raw_api.lo src/closures.lo
-+@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
-+@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
- @MIPS_TRUE@   src/mips/n32.lo
--@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
--@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
--@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
--@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
--@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-+@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
-+@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
-+@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
-+@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
-+@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
- @X86_DARWIN_TRUE@     src/x86/ffi64.lo src/x86/darwin64.lo
--@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-+@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
- @SPARC_TRUE@  src/sparc/v9.lo
--@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
--@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
--@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
--@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
--@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-+@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
-+@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
-+@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
-+@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
-+@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
- @POWERPC_TRUE@        src/powerpc/ppc_closure.lo \
- @POWERPC_TRUE@        src/powerpc/linux64.lo \
- @POWERPC_TRUE@        src/powerpc/linux64_closure.lo
--@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-+@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
- @POWERPC_AIX_TRUE@    src/powerpc/aix.lo \
- @POWERPC_AIX_TRUE@    src/powerpc/aix_closure.lo
--@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-+@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
- @POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
- @POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
--@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-+@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
- @POWERPC_FREEBSD_TRUE@        src/powerpc/sysv.lo \
- @POWERPC_FREEBSD_TRUE@        src/powerpc/ppc_closure.lo
--@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
--@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
--@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
--@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
--@S390_TRUE@am__objects_20 = src/s390/sysv.lo src/s390/ffi.lo
--@X86_64_TRUE@am__objects_21 = src/x86/ffi64.lo src/x86/unix64.lo \
-+@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
-+@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
-+@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
-+@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
-+@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
-+@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
-+@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
-+@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
- @X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
--@SH_TRUE@am__objects_22 = src/sh/sysv.lo src/sh/ffi.lo
--@SH64_TRUE@am__objects_23 = src/sh64/sysv.lo src/sh64/ffi.lo
--@PA_LINUX_TRUE@am__objects_24 = src/pa/linux.lo src/pa/ffi.lo
--@PA_HPUX_TRUE@am__objects_25 = src/pa/hpux32.lo src/pa/ffi.lo
-+@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
-+@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
-+@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
-+@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
- nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-@@ -158,17 +185,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
--      $(am__objects_24) $(am__objects_25)
-+      $(am__objects_24) $(am__objects_25) $(am__objects_26) \
-+      $(am__objects_27) $(am__objects_28)
- libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
- libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
- libffi_convenience_la_LIBADD =
--am__objects_26 = src/debug.lo src/prep_cif.lo src/types.lo \
--      src/raw_api.lo src/java_raw_api.lo src/closures.lo
--am_libffi_convenience_la_OBJECTS = $(am__objects_26)
--am__objects_27 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-+am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
-+      src/java_raw_api.lo src/closures.lo
-+am_libffi_convenience_la_OBJECTS = $(am__objects_29)
-+am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-@@ -176,12 +204,13 @@ am__objects_27 = $(am__objects_1) $(am__
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
--      $(am__objects_25)
--nodist_libffi_convenience_la_OBJECTS = $(am__objects_27)
-+      $(am__objects_25) $(am__objects_26) $(am__objects_27) \
-+      $(am__objects_28)
-+nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
- libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
- DEFAULT_INCLUDES = -I.@am__isrc@
--depcomp = $(SHELL) $(top_srcdir)/../depcomp
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
- am__mv = mv -f
- CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-@@ -202,12 +231,18 @@ SOURCES = $(libffi_la_SOURCES) $(nodist_
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
- DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
--MULTISRCTOP = 
--MULTIBUILDTOP = 
--MULTIDIRS = 
--MULTISUBDIR = 
--MULTIDO = true
--MULTICLEAN = true
-+INFO_DEPS = $(srcdir)/doc/libffi.info
-+am__TEXINFO_TEX_DIR = $(srcdir)
-+DVIS = doc/libffi.dvi
-+PDFS = doc/libffi.pdf
-+PSS = doc/libffi.ps
-+HTMLS = doc/libffi.html
-+TEXINFOS = doc/libffi.texi
-+TEXI2DVI = texi2dvi
-+TEXI2PDF = $(TEXI2DVI) --pdf --batch
-+MAKEINFOHTML = $(MAKEINFO) --html
-+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-+DVIPS = dvips
- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-@@ -215,6 +250,12 @@ RECURSIVE_TARGETS = all-recursive check-
-       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
-+DATA = $(pkgconfig_DATA)
- RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
-   distclean-recursive maintainer-clean-recursive
- AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-@@ -227,9 +268,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCE
- 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,'; \
-@@ -258,6 +301,8 @@ am__relativize = \
- DIST_ARCHIVES = $(distdir).tar.gz
- GZIP_ENV = --best
- distuninstallcheck_listfiles = find . -type f -print
-+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
- distcleancheck_listfiles = find . -type f -print
- ACLOCAL = @ACLOCAL@
- ALLOCA = @ALLOCA@
-@@ -280,6 +325,7 @@ CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DEFS = @DEFS@
- DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
- DSYMUTIL = @DSYMUTIL@
- DUMPBIN = @DUMPBIN@
- ECHO_C = @ECHO_C@
-@@ -287,6 +333,7 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
- FGREP = @FGREP@
- GREP = @GREP@
- HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-@@ -305,6 +352,7 @@ LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
- MAINT = @MAINT@
- MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
- NM = @NM@
- NMEDIT = @NMEDIT@
-@@ -332,6 +380,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
- am__include = @am__include@
-@@ -366,7 +415,6 @@ localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
--multi_basedir = @multi_basedir@
- oldincludedir = @oldincludedir@
- pdfdir = @pdfdir@
- prefix = @prefix@
-@@ -375,6 +423,7 @@ psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
- srcdir = @srcdir@
-+sys_symbol_underscore = @sys_symbol_underscore@
- sysconfdir = @sysconfdir@
- target = @target@
- target_alias = @target_alias@
-@@ -387,7 +436,6 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = foreign subdir-objects
--ACLOCAL_AMFLAGS = -I .. -I ../config
- SUBDIRS = include testsuite man
- EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-@@ -395,27 +443,31 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
--      src/ia64/unix.S \
--      src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
--      src/mips/ffitarget.h \
--      src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
--      src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
--      src/powerpc/ffi.c src/powerpc/sysv.S \
-+      src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-+      src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-+      src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-+      src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
--      src/powerpc/ppc_closure.S src/powerpc/asm.h \
--      src/powerpc/aix.S src/powerpc/darwin.S \
--      src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
--      src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
--      src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
--      src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
--      src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
--      src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
--      src/sparc/ffi.c src/x86/darwin64.S \
-+      src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-+      src/powerpc/darwin.S src/powerpc/aix_closure.S \
-+      src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-+      src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-+      src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-+      src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-+      src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-+      src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
--      src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
--      src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
--      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
-+      src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-+      src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-+      src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-+      src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-+      src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-+      ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-+      m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
-+      m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
-+      msvcc.sh
-+info_TEXINFOS = doc/libffi.texi
- # Work around what appears to be a GNU make bug handling MAKEFLAGS
- # values defined in terms of make variables, as is the case for CC and
-@@ -455,15 +507,15 @@ AM_MAKEFLAGS = \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
--
--# Subdir rules rely on $(FLAGS_TO_PASS)
--FLAGS_TO_PASS = $(AM_MAKEFLAGS)
- MAKEOVERRIDES = 
--toolexeclib_LTLIBRARIES = libffi.la
-+ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-+lib_LTLIBRARIES = libffi.la
- noinst_LTLIBRARIES = libffi_convenience.la
--libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-+libffi_la_SOURCES = src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libffi.pc
- nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-@@ -472,20 +524,20 @@ nodist_libffi_la_SOURCES = $(am__append_
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
--      $(am__append_24) $(am__append_25)
-+      $(am__append_24) $(am__append_25) $(am__append_26) \
-+      $(am__append_27) $(am__append_28)
- libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
- nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
--AM_CFLAGS = -Wall -g -fexceptions
--LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-+AM_CFLAGS = -g $(am__append_29)
- libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
- AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
--AM_CCASFLAGS = $(AM_CPPFLAGS)
-+AM_CCASFLAGS = $(AM_CPPFLAGS) -g
- all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
- .SUFFIXES:
--.SUFFIXES: .S .c .lo .o .obj
--am--refresh:
-+.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-+am--refresh: Makefile
-       @:
- $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-@@ -521,10 +573,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(
- $(am__aclocal_m4_deps):
- fficonfig.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)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-@@ -536,41 +586,44 @@ $(srcdir)/fficonfig.h.in: @MAINTAINER_MO
- distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
--
--clean-noinstLTLIBRARIES:
--      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
--      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
--        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
--        test "$$dir" != "$$p" || dir=.; \
--        echo "rm -f \"$${dir}/so_locations\""; \
--        rm -f "$${dir}/so_locations"; \
--      done
--install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
-+libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-+      cd $(top_builddir) && $(SHELL) ./config.status $@
-+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
--      test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
--      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
-+      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
--        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
--        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
-+        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-toolexeclibLTLIBRARIES:
-+uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
--      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
-+      @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)$(toolexeclibdir)/$$f'"; \
--        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
-+        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-toolexeclibLTLIBRARIES:
--      -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
--      @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
-+clean-libLTLIBRARIES:
-+      -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-+      @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+        test "$$dir" != "$$p" || dir=.; \
-+        echo "rm -f \"$${dir}/so_locations\""; \
-+        rm -f "$${dir}/so_locations"; \
-+      done
-+
-+clean-noinstLTLIBRARIES:
-+      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-+      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-@@ -582,12 +635,12 @@ src/$(am__dirstamp):
- src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
--src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-+src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
- src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-@@ -710,6 +763,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
-       src/arm/$(DEPDIR)/$(am__dirstamp)
- src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-+src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
-+      src/arm/$(DEPDIR)/$(am__dirstamp)
- src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-@@ -740,6 +795,16 @@ src/frv/eabi.lo: src/frv/$(am__dirstamp)
-       src/frv/$(DEPDIR)/$(am__dirstamp)
- src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-+src/moxie/$(am__dirstamp):
-+      @$(MKDIR_P) src/moxie
-+      @: > src/moxie/$(am__dirstamp)
-+src/moxie/$(DEPDIR)/$(am__dirstamp):
-+      @$(MKDIR_P) src/moxie/$(DEPDIR)
-+      @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-+src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-+      src/moxie/$(DEPDIR)/$(am__dirstamp)
-+src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-+      src/moxie/$(DEPDIR)/$(am__dirstamp)
- src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-@@ -782,9 +847,9 @@ src/pa/linux.lo: src/pa/$(am__dirstamp)
- src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
- src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
--libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
--      $(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
--libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-+libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES) 
-+      $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-+libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
- mostlyclean-compile:
-@@ -797,6 +862,8 @@ mostlyclean-compile:
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-+      -rm -f src/arm/trampoline.$(OBJEXT)
-+      -rm -f src/arm/trampoline.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-@@ -833,6 +900,10 @@ mostlyclean-compile:
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-+      -rm -f src/moxie/eabi.$(OBJEXT)
-+      -rm -f src/moxie/eabi.lo
-+      -rm -f src/moxie/ffi.$(OBJEXT)
-+      -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-@@ -915,6 +986,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@@ -930,6 +1002,8 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@@ -1025,6 +1099,7 @@ clean-libtool:
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-+      -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-@@ -1035,23 +1110,190 @@ clean-libtool:
- distclean-libtool:
-       -rm -f libtool config.lt
-+doc/$(am__dirstamp):
-+      @$(MKDIR_P) doc
-+      @: > doc/$(am__dirstamp)
-+
-+$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-+      restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-+      am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-+      rm -rf $$backupdir && mkdir $$backupdir && \
-+      if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-+        for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-+          if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-+        done; \
-+      else :; fi && \
-+      cd "$$am__cwd"; \
-+      if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-+       -o $@ $(srcdir)/doc/libffi.texi; \
-+      then \
-+        rc=0; \
-+        $(am__cd) $(srcdir); \
-+      else \
-+        rc=$$?; \
-+        $(am__cd) $(srcdir) && \
-+        $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-+      fi; \
-+      rm -rf $$backupdir; exit $$rc
-+
-+doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-+      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-+      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-+      $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-+
-+doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-+      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-+      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-+      $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-+
-+doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-+      rm -rf $(@:.html=.htp)
-+      if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-+       -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-+      then \
-+        rm -rf $@; \
-+        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-+          mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-+      else \
-+        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-+          rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-+        exit 1; \
-+      fi
-+$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-+$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-+      test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-+      @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-+      set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-+      echo "@set UPDATED $$1 $$2 $$3"; \
-+      echo "@set UPDATED-MONTH $$2 $$3"; \
-+      echo "@set EDITION $(VERSION)"; \
-+      echo "@set VERSION $(VERSION)") > vti.tmp
-+      @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-+        || (echo "Updating $(srcdir)/doc/version.texi"; \
-+            cp vti.tmp $(srcdir)/doc/version.texi)
-+      -@rm -f vti.tmp
-+      @cp $(srcdir)/doc/version.texi $@
-+
-+mostlyclean-vti:
-+      -rm -f vti.tmp
-+
-+maintainer-clean-vti:
-+@MAINTAINER_MODE_TRUE@        -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-+.dvi.ps:
-+      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-+      $(DVIPS) -o $@ $<
-+
-+uninstall-dvi-am:
-+      @$(NORMAL_UNINSTALL)
-+      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-+      for p in $$list; do \
-+        $(am__strip_dir) \
-+        echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-+        rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-+      done
-+
-+uninstall-html-am:
-+      @$(NORMAL_UNINSTALL)
-+      @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-+      for p in $$list; do \
-+        $(am__strip_dir) \
-+        echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-+        rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-+      done
-+
-+uninstall-info-am:
-+      @$(PRE_UNINSTALL)
-+      @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
-+        list='$(INFO_DEPS)'; \
-+        for file in $$list; do \
-+          relfile=`echo "$$file" | sed 's|^.*/||'`; \
-+          echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-+          if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-+          then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-+        done; \
-+      else :; fi
-+      @$(NORMAL_UNINSTALL)
-+      @list='$(INFO_DEPS)'; \
-+      for file in $$list; do \
-+        relfile=`echo "$$file" | sed 's|^.*/||'`; \
-+        relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-+        (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-+           echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-+           rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-+         else :; fi); \
-+      done
-+
-+uninstall-pdf-am:
-+      @$(NORMAL_UNINSTALL)
-+      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-+      for p in $$list; do \
-+        $(am__strip_dir) \
-+        echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-+        rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-+      done
-+
-+uninstall-ps-am:
-+      @$(NORMAL_UNINSTALL)
-+      @list='$(PSS)'; test -n "$(psdir)" || list=; \
-+      for p in $$list; do \
-+        $(am__strip_dir) \
-+        echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-+        rm -f "$(DESTDIR)$(psdir)/$$f"; \
-+      done
--# GNU Make needs to see an explicit $(MAKE) variable in the command it
--# runs to enable its job server during parallel builds.  Hence the
--# comments below.
--all-multi:
--      $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
--install-multi:
--      $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
--
--mostlyclean-multi:
--      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
--clean-multi:
--      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
--distclean-multi:
--      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
--maintainer-clean-multi:
--      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-+dist-info: $(INFO_DEPS)
-+      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+      list='$(INFO_DEPS)'; \
-+      for base in $$list; do \
-+        case $$base in \
-+          $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-+        esac; \
-+        if test -f $$base; then d=.; else d=$(srcdir); fi; \
-+        base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-+        for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-+          if test -f $$file; then \
-+            relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-+            test -f "$(distdir)/$$relfile" || \
-+              cp -p $$file "$(distdir)/$$relfile"; \
-+          else :; fi; \
-+        done; \
-+      done
-+
-+mostlyclean-aminfo:
-+      -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-+        libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-+
-+clean-aminfo:
-+      -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-+      || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-+
-+maintainer-clean-aminfo:
-+      @list='$(INFO_DEPS)'; for i in $$list; do \
-+        i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-+        echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-+        rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-+      done
-+install-pkgconfigDATA: $(pkgconfig_DATA)
-+      @$(NORMAL_INSTALL)
-+      @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; \
-+        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)'; 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.
-@@ -1222,13 +1464,10 @@ distdir: $(DISTFILES)
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
--          test -d "$(distdir)/$$subdir" \
--          || $(MKDIR_P) "$(distdir)/$$subdir" \
--          || exit 1; \
--        fi; \
--      done
--      @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
--        if test "$$subdir" = .; then :; else \
-+          $(am__make_dryrun) \
-+            || test -d "$(distdir)/$$subdir" \
-+            || $(MKDIR_P) "$(distdir)/$$subdir" \
-+            || exit 1; \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-@@ -1248,6 +1487,9 @@ distdir: $(DISTFILES)
-             || exit 1; \
-         fi; \
-       done
-+      $(MAKE) $(AM_MAKEFLAGS) \
-+        top_distdir="$(top_distdir)" distdir="$(distdir)" \
-+        dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-@@ -1260,7 +1502,11 @@ dist-gzip: distdir
-       $(am__remove_distdir)
- dist-bzip2: distdir
--      tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-+      tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-+      $(am__remove_distdir)
-+
-+dist-lzip: distdir
-+      tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__remove_distdir)
- dist-lzma: distdir
-@@ -1268,7 +1514,7 @@ dist-lzma: distdir
-       $(am__remove_distdir)
- dist-xz: distdir
--      tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-+      tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
- dist-tarZ: distdir
-@@ -1299,6 +1545,8 @@ distcheck: dist
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-+      *.tar.lz*) \
-+        lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-@@ -1308,7 +1556,7 @@ distcheck: dist
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
--      chmod -R a-w $(distdir); chmod a+w $(distdir)
-+      chmod -R a-w $(distdir); chmod u+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-@@ -1318,6 +1566,7 @@ distcheck: dist
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-+          $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-@@ -1346,8 +1595,16 @@ distcheck: dist
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
- distuninstallcheck:
--      @$(am__cd) '$(distuninstallcheck_dir)' \
--      && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-+      @test -n '$(distuninstallcheck_dir)' || { \
-+        echo 'ERROR: trying to run $@ with an empty' \
-+             '$$(distuninstallcheck_dir)' >&2; \
-+        exit 1; \
-+      }; \
-+      $(am__cd) '$(distuninstallcheck_dir)' || { \
-+        echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-+        exit 1; \
-+      }; \
-+      test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-@@ -1365,10 +1622,10 @@ distcleancheck: distclean
-              exit 1; } >&2
- check-am: all-am
- check: check-recursive
--all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
-+all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
- installdirs: installdirs-recursive
- installdirs-am:
--      for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
-+      for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
- install: install-recursive
-@@ -1381,10 +1638,15 @@ install-am: all-am
- installcheck: installcheck-recursive
- install-strip:
--      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
--        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
--        `test -z '$(STRIP)' || \
--          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+      if test -z '$(STRIP)'; then \
-+        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+            install; \
-+      else \
-+        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-+      fi
- mostlyclean-generic:
- clean-generic:
-@@ -1392,6 +1654,7 @@ 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)
-+      -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-@@ -1412,6 +1675,8 @@ distclean-generic:
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-+      -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-+      -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-@@ -1430,114 +1695,201 @@ distclean-generic:
- 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-multi clean-recursive
-+clean: clean-recursive
--clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
--      clean-toolexeclibLTLIBRARIES mostlyclean-am
-+clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-+      clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
--distclean: distclean-multi distclean-recursive
-+distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
--      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-+      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
- distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
- dvi: dvi-recursive
--dvi-am:
-+dvi-am: $(DVIS)
- html: html-recursive
--html-am:
-+html-am: $(HTMLS)
- info: info-recursive
--info-am:
-+info-am: $(INFO_DEPS)
--install-data-am:
-+install-data-am: install-info-am install-pkgconfigDATA
- install-dvi: install-dvi-recursive
--install-dvi-am:
--
--install-exec-am: install-multi install-toolexeclibLTLIBRARIES
--
--install-html: install-html-recursive
--
--install-html-am:
-+install-dvi-am: $(DVIS)
-+      @$(NORMAL_INSTALL)
-+      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
-+      fi; \
-+      for p in $$list; do \
-+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+        echo "$$d$$p"; \
-+      done | $(am__base_list) | \
-+      while read files; do \
-+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-+        $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-+      done
-+install-exec-am: install-libLTLIBRARIES
-+install-html-am: $(HTMLS)
-+      @$(NORMAL_INSTALL)
-+      @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
-+      fi; \
-+      for p in $$list; do \
-+        if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+        $(am__strip_dir) \
-+        d2=$$d$$p; \
-+        if test -d "$$d2"; then \
-+          echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-+          $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-+          echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-+          $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-+        else \
-+          list2="$$list2 $$d2"; \
-+        fi; \
-+      done; \
-+      test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-+      while read files; do \
-+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-+        $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-+      done; }
- install-info: install-info-recursive
--install-info-am:
--
-+install-info-am: $(INFO_DEPS)
-+      @$(NORMAL_INSTALL)
-+      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+      list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
-+      fi; \
-+      for file in $$list; do \
-+        case $$file in \
-+          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+        esac; \
-+        if test -f $$file; then d=.; else d=$(srcdir); fi; \
-+        file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-+        for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-+                     $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-+          if test -f $$ifile; then \
-+            echo "$$ifile"; \
-+          else : ; fi; \
-+        done; \
-+      done | $(am__base_list) | \
-+      while read files; do \
-+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-+        $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-+      @$(POST_INSTALL)
-+      @if $(am__can_run_installinfo); then \
-+        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-+        for file in $$list; do \
-+          relfile=`echo "$$file" | sed 's|^.*/||'`; \
-+          echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-+          install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-+        done; \
-+      else : ; fi
- install-man:
--install-pdf: install-pdf-recursive
--
--install-pdf-am:
--
-+install-pdf-am: $(PDFS)
-+      @$(NORMAL_INSTALL)
-+      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
-+      fi; \
-+      for p in $$list; do \
-+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+        echo "$$d$$p"; \
-+      done | $(am__base_list) | \
-+      while read files; do \
-+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-+        $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
- install-ps: install-ps-recursive
--install-ps-am:
--
-+install-ps-am: $(PSS)
-+      @$(NORMAL_INSTALL)
-+      @list='$(PSS)'; test -n "$(psdir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
-+      fi; \
-+      for p in $$list; do \
-+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+        echo "$$d$$p"; \
-+      done | $(am__base_list) | \
-+      while read files; do \
-+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-+        $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
- installcheck-am:
--maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
-+maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
--      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-+      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
--maintainer-clean-am: distclean-am maintainer-clean-generic
-+maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-+      maintainer-clean-generic maintainer-clean-vti
--mostlyclean: mostlyclean-multi mostlyclean-recursive
-+mostlyclean: mostlyclean-recursive
--mostlyclean-am: mostlyclean-compile mostlyclean-generic \
--      mostlyclean-libtool
-+mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-+      mostlyclean-generic mostlyclean-libtool mostlyclean-vti
- pdf: pdf-recursive
--pdf-am:
-+pdf-am: $(PDFS)
- ps: ps-recursive
--ps-am:
-+ps-am: $(PSS)
--uninstall-am: uninstall-toolexeclibLTLIBRARIES
-+uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-+      uninstall-libLTLIBRARIES uninstall-pdf-am \
-+      uninstall-pkgconfigDATA uninstall-ps-am
--.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
--      clean-multi ctags-recursive distclean-multi install-am \
--      install-multi install-strip maintainer-clean-multi \
--      mostlyclean-multi tags-recursive
-+.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 all-multi am--refresh check check-am clean \
--      clean-generic clean-libtool clean-multi \
--      clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
--      ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
--      dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
-+      all all-am am--refresh check check-am clean clean-aminfo \
-+      clean-generic clean-libLTLIBRARIES clean-libtool \
-+      clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-+      dist-bzip2 dist-gzip dist-info dist-lzip dist-lzma dist-shar \
-+      dist-tarZ dist-xz dist-zip distcheck distclean \
-       distclean-compile distclean-generic distclean-hdr \
--      distclean-libtool distclean-multi 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-multi install-pdf \
--      install-pdf-am install-ps install-ps-am install-strip \
--      install-toolexeclibLTLIBRARIES installcheck installcheck-am \
--      installdirs installdirs-am maintainer-clean \
--      maintainer-clean-generic maintainer-clean-multi mostlyclean \
--      mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
--      mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
--      uninstall uninstall-am uninstall-toolexeclibLTLIBRARIES
--
--
--# Multilib support.  Automake should provide these on its own.
--all-recursive: all-multi
--install-recursive: install-multi
--mostlyclean-recursive: mostlyclean-multi
--clean-recursive: clean-multi
--distclean-recursive: distclean-multi
--maintainer-clean-recursive: maintainer-clean-multi
-+      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-libLTLIBRARIES 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-aminfo \
-+      maintainer-clean-generic maintainer-clean-vti mostlyclean \
-+      mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
-+      mostlyclean-libtool mostlyclean-vti pdf pdf-am ps ps-am tags \
-+      tags-recursive uninstall uninstall-am uninstall-dvi-am \
-+      uninstall-html-am uninstall-info-am uninstall-libLTLIBRARIES \
-+      uninstall-pdf-am uninstall-pkgconfigDATA uninstall-ps-am
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
++
++
++            case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++                *:756e6547:*:*) # Intel
++                  case $ax_cv_gcc_x86_cpuid_1 in
++                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
++                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
++                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
++                  esac ;;
++              esac ;;
++          esac
++          if test "x$icc_flags" != x; then
++            for flag in $icc_flags; do
++              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $flag"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  icc_archflag=$flag; break
++else
++  :
++fi
++
++            done
++          fi
++          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
++$as_echo_n "checking for icc architecture flag... " >&6; }
++        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
++$as_echo "$icc_archflag" >&6; }
++          if test "x$icc_archflag" != xunknown; then
++            CFLAGS="$CFLAGS $icc_archflag"
++          fi
++        fi
++      ;;
++
++    gnu)
++     # default optimization flags for gcc on all systems
++     CFLAGS="-O3 -fomit-frame-pointer"
++
++     # -malign-double for x86 systems
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
++$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
++if ${ax_cv_check_cflags___malign_double+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -malign-double"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___malign_double=yes
++else
++  ax_cv_check_cflags___malign_double=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
++$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
++if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
++  CFLAGS="$CFLAGS -malign-double"
++else
++  :
++fi
++
++
++     #  -fstrict-aliasing for gcc-2.95+
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
++$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
++if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -fstrict-aliasing"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___fstrict_aliasing=yes
++else
++  ax_cv_check_cflags___fstrict_aliasing=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
++$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
++if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
++  CFLAGS="$CFLAGS -fstrict-aliasing"
++else
++  :
++fi
++
++
++     # note that we enable "unsafe" fp optimization with other compilers, too
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
++$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
++if ${ax_cv_check_cflags___ffast_math+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -ffast-math"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___ffast_math=yes
++else
++  ax_cv_check_cflags___ffast_math=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
++$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
++if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
++  CFLAGS="$CFLAGS -ffast-math"
++else
++  :
++fi
++
++
++
++
++
++
++# Check whether --with-gcc-arch was given.
++if test "${with_gcc_arch+set}" = set; then :
++  withval=$with_gcc_arch; ax_gcc_arch=$withval
++else
++  ax_gcc_arch=yes
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
++$as_echo "" >&6; }
++if ${ax_cv_gcc_archflag+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++ax_cv_gcc_archflag="unknown"
++
++if test "$GCC" = yes; then
++
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++  i[3456]86*|x86_64*) # use cpuid codes
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&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
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_1=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&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
++
++
++     case $ax_cv_gcc_x86_cpuid_0 in
++       *:756e6547:*:*) # Intel
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++          *5??:*:*:*) ax_gcc_arch=pentium ;;
++          *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++          *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
++          *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
++          *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++          *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
++          ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
++              case $host_cpu in
++                x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++                *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++              esac ;;
++          ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++          esac ;;
++       *:68747541:*:*) # AMD
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
++          *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++          *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++          *60?:*:*:*) ax_gcc_arch=k7 ;;
++          *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++          *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++          *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++          *6[68a]?:*:*:*)
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
++$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0x80000006=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0x80000006, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&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
++
++ # L2 cache size
++             case $ax_cv_gcc_x86_cpuid_0x80000006 in
++                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
++                      ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
++             esac ;;
++          ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++          ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++          ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++          ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
++          ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
++          ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
++          *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
++          esac ;;
++      *:746e6543:*:*) # IDT
++         case $ax_cv_gcc_x86_cpuid_1 in
++           *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++           *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++           *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
++           *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++         esac ;;
++     esac
++     if test x"$ax_gcc_arch" = x; then # fallback
++      case $host_cpu in
++        i586*) ax_gcc_arch=pentium ;;
++        i686*) ax_gcc_arch=pentiumpro ;;
++        esac
++     fi
++     ;;
++
++  sparc*)
++     # Extract the first word of "prtdiag", so it can be a program name with args.
++set dummy prtdiag; 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_path_PRTDIAG+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $PRTDIAG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
++for as_dir in $as_dummy
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
++  ;;
++esac
++fi
++PRTDIAG=$ac_cv_path_PRTDIAG
++if test -n "$PRTDIAG"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
++$as_echo "$PRTDIAG" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++     case $cputype in
++         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
++         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
++         *cypress*) ax_gcc_arch=cypress ;;
++     esac ;;
++
++  alphaev5) ax_gcc_arch=ev5 ;;
++  alphaev56) ax_gcc_arch=ev56 ;;
++  alphapca56) ax_gcc_arch="pca56 ev56" ;;
++  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++  alphaev6) ax_gcc_arch=ev6 ;;
++  alphaev67) ax_gcc_arch=ev67 ;;
++  alphaev68) ax_gcc_arch="ev68 ev67" ;;
++  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
++
++  powerpc*)
++     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++     case $cputype in
++       *750*) ax_gcc_arch="750 G3" ;;
++       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
++       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
++       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
++       *970*) ax_gcc_arch="970 G5 power4";;
++       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++       *) ax_gcc_arch=$cputype ;;
++     esac
++     ax_gcc_arch="$ax_gcc_arch powerpc"
++     ;;
++esac
++fi # not cross-compiling
++fi # guess arch
++
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
++    flags="-mtune=$arch"
++    # -mcpu=$arch and m$arch generate nonportable code on every arch except
++    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
++    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++  else
++    flags="-march=$arch -mcpu=$arch -m$arch"
++  fi
++  for flag in $flags; do
++    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $flag"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  ax_cv_gcc_archflag=$flag; break
++else
++  :
++fi
++
++  done
++  test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
++
++fi # $GCC=yes
++
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
++$as_echo "$ax_cv_gcc_archflag" >&6; }
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++  :
++else
++  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
++fi
++
++     ;;
++  esac
++
++  if test -z "$CFLAGS"; then
++      echo ""
++      echo "********************************************************"
++        echo "* WARNING: Don't know the best CFLAGS for this system  *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++      echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
++      echo "********************************************************"
++      echo ""
++        CFLAGS="-O3"
++  fi
++
++  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
++$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $CFLAGS"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
 +
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  :
++else
 +
-+# No install-html or install-pdf support in automake yet
-+.PHONY: install-html install-pdf
-+install-html:
-+install-pdf:
- # 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.
-Index: libffi/include/Makefile.in
-===================================================================
---- libffi.orig/include/Makefile.in
-+++ libffi/include/Makefile.in
-@@ -1,9 +1,9 @@
--# Makefile.in generated by automake 1.11.1 from Makefile.am.
-+# Makefile.in generated by automake 1.11.6 from Makefile.am.
- # @configure_input@
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
--# Inc.
-+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+# Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -16,6 +16,23 @@
- @SET_MAKE@
- VPATH = @srcdir@
-+am__make_dryrun = \
-+  { \
-+    am__dry=no; \
-+    case $$MAKEFLAGS in \
-+      *\\[\ \ ]*) \
-+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-+      *) \
-+        for am__flg in $$MAKEFLAGS; do \
-+          case $$am__flg in \
-+            *=*|--*) ;; \
-+            *n*) am__dry=yes; break;; \
-+          esac; \
-+        done;; \
-+    esac; \
-+    test $$am__dry = yes; \
-+  }
- pkgdatadir = $(datadir)/@PACKAGE@
- pkgincludedir = $(includedir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
-@@ -37,24 +54,23 @@ host_triplet = @host@
- target_triplet = @target@
- subdir = include
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
--      $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
-+      $(srcdir)/ffi.h.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
--      $(top_srcdir)/../config/lead-dot.m4 \
--      $(top_srcdir)/../config/multi.m4 \
--      $(top_srcdir)/../config/override.m4 \
--      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
--      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
--      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/fficonfig.h
- CONFIG_CLEAN_FILES = ffi.h ffitarget.h
- CONFIG_CLEAN_VPATH_FILES =
- SOURCES =
- DIST_SOURCES =
-+am__can_run_installinfo = \
-+  case $$AM_UPDATE_INFO_DIR in \
-+    n|no|NO) false;; \
-+    *) (install-info --version) >/dev/null 2>&1;; \
-+  esac
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
- am__vpath_adj = case $$p in \
-     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-@@ -76,8 +92,14 @@ am__nobase_list = $(am__nobase_strip_set
- am__base_list = \
-   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
--am__installdirs = "$(DESTDIR)$(toollibffidir)"
--HEADERS = $(toollibffi_HEADERS)
-+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)$(includesdir)"
-+HEADERS = $(nodist_includes_HEADERS)
- ETAGS = etags
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-@@ -102,6 +124,7 @@ CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DEFS = @DEFS@
- DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
- DSYMUTIL = @DSYMUTIL@
- DUMPBIN = @DUMPBIN@
- ECHO_C = @ECHO_C@
-@@ -109,6 +132,7 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
- FGREP = @FGREP@
- GREP = @GREP@
- HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-@@ -127,6 +151,7 @@ LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
- MAINT = @MAINT@
- MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
- NM = @NM@
- NMEDIT = @NMEDIT@
-@@ -154,6 +179,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
- am__include = @am__include@
-@@ -188,7 +214,6 @@ localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
--multi_basedir = @multi_basedir@
- oldincludedir = @oldincludedir@
- pdfdir = @pdfdir@
- prefix = @prefix@
-@@ -197,6 +222,7 @@ psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
- srcdir = @srcdir@
-+sys_symbol_underscore = @sys_symbol_underscore@
- sysconfdir = @sysconfdir@
- target = @target@
- target_alias = @target_alias@
-@@ -211,11 +237,8 @@ top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = foreign
- DISTCLEANFILES = ffitarget.h
- EXTRA_DIST = ffi.h.in ffi_common.h
--
--# Where generated headers like ffitarget.h get installed.
--gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
--toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
--toollibffi_HEADERS = ffi.h ffitarget.h
-+includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-+nodist_includes_HEADERS = ffi.h ffitarget.h
- all: all-am
- .SUFFIXES:
-@@ -257,26 +280,27 @@ mostlyclean-libtool:
- clean-libtool:
-       -rm -rf .libs _libs
--install-toollibffiHEADERS: $(toollibffi_HEADERS)
-+install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
-       @$(NORMAL_INSTALL)
--      test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
--      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
-+      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
-+      if test -n "$$list"; then \
-+        echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
-+        $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
-+      fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
--        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
--        $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
-+        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
-+        $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
-       done
--uninstall-toollibffiHEADERS:
-+uninstall-nodist_includesHEADERS:
-       @$(NORMAL_UNINSTALL)
--      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
-+      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
--      test -n "$$files" || exit 0; \
--      echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
--      cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
-+      dir='$(DESTDIR)$(includesdir)'; $(am__uninstall_files_from_dir)
- ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-@@ -364,7 +388,7 @@ check-am: all-am
- check: check-am
- all-am: Makefile $(HEADERS)
- installdirs:
--      for dir in "$(DESTDIR)$(toollibffidir)"; do \
-+      for dir in "$(DESTDIR)$(includesdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
- install: install-am
-@@ -377,10 +401,15 @@ install-am: all-am
++      echo ""
++        echo "********************************************************"
++        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
++        echo "* your compiler.                                       *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++        echo "********************************************************"
++        echo ""
++        CFLAGS=""
++
++fi
++
++
++fi
++
++if ${CFLAGS+:} false; then :
++  case " $CFLAGS " in
++    *"  "*)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
++  (: CFLAGS already contains ) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      ;;
++    *)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
++  (: CFLAGS="$CFLAGS ") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      CFLAGS="$CFLAGS "
++      ;;
++   esac
++else
++  CFLAGS=""
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
++$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
++if ${ac_cv_cflags_warn_all+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_cflags_warn_all="no, unknown"
++ac_save_CFLAGS="$CFLAGS"
++for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
++do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
  
- 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:
+-        ac_config_commands="$ac_config_commands libtool"
++int
++main ()
++{
  
- clean-generic:
-@@ -413,7 +442,7 @@ info: info-am
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++CFLAGS="$ac_save_CFLAGS"
  
- info-am:
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
++$as_echo "$ac_cv_cflags_warn_all" >&6; }
++case ".$ac_cv_cflags_warn_all" in
++     .ok|.ok,*)  ;;
++   .|.no|.no,*)  ;;
++   *) if ${CFLAGS+:} false; then :
++  case " $CFLAGS " in
++    *" $ac_cv_cflags_warn_all "*)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
++  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      ;;
++    *)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
++  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
++      ;;
++   esac
++else
++  CFLAGS="$ac_cv_cflags_warn_all"
++fi
++ ;;
++esac
  
--install-data-am: install-toollibffiHEADERS
-+install-data-am: install-nodist_includesHEADERS
+-# Only expand once:
++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
  
- install-dvi: install-dvi-am
  
-@@ -457,7 +486,7 @@ ps: ps-am
++if test "x$GCC" = "xyes"; then
++  CFLAGS="$CFLAGS -fexceptions"
++fi
  
- ps-am:
  
--uninstall-am: uninstall-toollibffiHEADERS
-+uninstall-am: uninstall-nodist_includesHEADERS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+@@ -11145,7 +12984,7 @@ fi
+ for ac_header in sys/mman.h
+ do :
+   ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+-if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
++if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_MMAN_H 1
+ _ACEOF
+@@ -11157,7 +12996,7 @@ done
+ for ac_func in mmap
+ do :
+   ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+-if test "x$ac_cv_func_mmap" = x""yes; then :
++if test "x$ac_cv_func_mmap" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_MMAP 1
+ _ACEOF
+@@ -11167,7 +13006,7 @@ done
  
- .MAKE: install-am install-strip
  
-@@ -467,13 +496,12 @@ uninstall-am: uninstall-toollibffiHEADER
-       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 \
--      install-toollibffiHEADERS installcheck installcheck-am \
--      installdirs maintainer-clean maintainer-clean-generic \
--      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
--      ps ps-am tags uninstall uninstall-am \
--      uninstall-toollibffiHEADERS
-+      install-info-am install-man install-nodist_includesHEADERS \
-+      install-pdf install-pdf-am install-ps install-ps-am \
-+      install-strip installcheck installcheck-am installdirs \
-+      maintainer-clean maintainer-clean-generic mostlyclean \
-+      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-+      tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+-if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
++if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+   libffi_header_sys_mman_h=yes
+ else
+   libffi_header_sys_mman_h=no
+@@ -11175,7 +13014,7 @@ fi
  
  
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
-Index: libffi/man/Makefile.in
-===================================================================
---- libffi.orig/man/Makefile.in
-+++ libffi/man/Makefile.in
-@@ -1,9 +1,9 @@
--# Makefile.in generated by automake 1.11.1 from Makefile.am.
-+# Makefile.in generated by automake 1.11.6 from Makefile.am.
- # @configure_input@
+ ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+-if test "x$ac_cv_func_mmap" = x""yes; then :
++if test "x$ac_cv_func_mmap" = xyes; then :
+   libffi_func_mmap=yes
+ else
+   libffi_func_mmap=no
+@@ -11189,7 +13028,7 @@ if test "$libffi_header_sys_mman_h" != y
+ else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+ $as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+-if test "${ac_cv_func_mmap_file+set}" = set; then :
++if ${ac_cv_func_mmap_file+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if
+@@ -11208,7 +13047,7 @@ fi
+ $as_echo "$ac_cv_func_mmap_file" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+ $as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+-if test "${ac_cv_func_mmap_dev_zero+set}" = set; then :
++if ${ac_cv_func_mmap_dev_zero+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if it has mmap() but /dev/zero
+@@ -11234,7 +13073,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
+    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+ $as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+-if test "${ac_cv_decl_map_anon+set}" = set; then :
++if ${ac_cv_decl_map_anon+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11270,7 +13109,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+ $as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+-if test "${ac_cv_func_mmap_anon+set}" = set; then :
++if ${ac_cv_func_mmap_anon+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if it has mmap() and MAP_ANON or
+@@ -11330,6 +13169,10 @@ case "$host" in
  
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
--# Inc.
-+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+# Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -15,6 +15,23 @@
+   amd64-*-freebsd* | amd64-*-openbsd*)
+       TARGET=X86_64; TARGETDIR=x86
++      ;;
++
++  amd64-*-freebsd*)
++      TARGET=X86_64; TARGETDIR=x86
+       ;;
  
- @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@
-@@ -37,22 +54,21 @@ target_triplet = @target@
- subdir = man
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
--      $(top_srcdir)/../config/lead-dot.m4 \
--      $(top_srcdir)/../config/multi.m4 \
--      $(top_srcdir)/../config/override.m4 \
--      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
--      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
--      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/fficonfig.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
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
- am__vpath_adj = case $$p in \
-     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-@@ -74,6 +90,12 @@ am__nobase_list = $(am__nobase_strip_set
- 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; }; \
-+  }
- man3dir = $(mandir)/man3
- am__installdirs = "$(DESTDIR)$(man3dir)"
- NROFF = nroff
-@@ -100,6 +122,7 @@ CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DEFS = @DEFS@
- DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
- DSYMUTIL = @DSYMUTIL@
- DUMPBIN = @DUMPBIN@
- ECHO_C = @ECHO_C@
-@@ -107,6 +130,7 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
- FGREP = @FGREP@
- GREP = @GREP@
- HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-@@ -125,6 +149,7 @@ LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
- MAINT = @MAINT@
- MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
- NM = @NM@
- NMEDIT = @NMEDIT@
-@@ -152,6 +177,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
- am__include = @am__include@
-@@ -186,7 +212,6 @@ localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
--multi_basedir = @multi_basedir@
- oldincludedir = @oldincludedir@
- pdfdir = @pdfdir@
- prefix = @prefix@
-@@ -195,6 +220,7 @@ psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
- srcdir = @srcdir@
-+sys_symbol_underscore = @sys_symbol_underscore@
- sysconfdir = @sysconfdir@
- target = @target@
- target_alias = @target_alias@
-@@ -207,8 +233,8 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = foreign
--EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
--man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
-+EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
-+man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
- all: all-am
+   avr32*-*-*)
+@@ -11344,7 +13187,7 @@ case "$host" in
+       TARGET=FRV; TARGETDIR=frv
+       ;;
+-  hppa*-*-linux* | parisc*-*-linux*)
++  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+       TARGET=PA_LINUX; TARGETDIR=pa
+       ;;
+   hppa*64-*-hpux*)
+@@ -11357,7 +13200,7 @@ case "$host" in
+   i?86-*-freebsd* | i?86-*-openbsd*)
+       TARGET=X86_FREEBSD; TARGETDIR=x86
+       ;;
+-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+       TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+@@ -11394,28 +13237,35 @@ case "$host" in
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
+-  mips*-*-linux*)
++  mips*-*-linux* | mips*-*-openbsd*)
+       # Support 128-bit long double for NewABI.
+       HAVE_LONG_DOUBLE='defined(__mips64)'
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
  
- .SUFFIXES:
-@@ -250,11 +276,18 @@ clean-libtool:
-       -rm -rf .libs _libs
- install-man3: $(man_MANS)
-       @$(NORMAL_INSTALL)
--      test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
--      @list=''; test -n "$(man3dir)" || exit 0; \
--      { for i in $$list; do echo "$$i"; done; \
--      l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
--        sed -n '/\.3[a-z]*$$/p'; \
-+      @list1=''; \
-+      list2='$(man_MANS)'; \
-+      test -n "$(man3dir)" \
-+        && test -n "`echo $$list1$$list2`" \
-+        || exit 0; \
-+      echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
-+      $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
-+      { for i in $$list1; do echo "$$i"; done;  \
-+      if test -n "$$list2"; then \
-+        for i in $$list2; do echo "$$i"; done \
-+          | sed -n '/\.3[a-z]*$$/p'; \
-+      fi; \
-       } | while read p; do \
-         if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; echo "$$p"; \
-@@ -283,9 +316,7 @@ uninstall-man3:
-         sed -n '/\.3[a-z]*$$/p'; \
-       } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
--      test -z "$$files" || { \
--        echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
--        cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
-+      dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
- tags: TAGS
- TAGS:
++  moxie-*-*)
++        TARGET=MOXIE; TARGETDIR=moxie
++      ;;
++
+   powerpc*-*-linux* | powerpc-*-sysv*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
++  powerpc-*-amigaos*)
++      TARGET=POWERPC; TARGETDIR=powerpc
++      ;;
+   powerpc-*-beos*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc64-*-darwin*)
+       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+       ;;
+   powerpc-*-aix* | rs6000-*-aix*)
+       TARGET=POWERPC_AIX; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-freebsd*)
++  powerpc-*-freebsd* | powerpc-*-openbsd*)
+       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+       ;;
+- powerpc64-*-freebsd*)
++  powerpc64-*-freebsd*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+   powerpc*-*-rtems*)
+@@ -11463,7 +13313,7 @@ esac
  
-@@ -353,10 +384,15 @@ install-am: all-am
  
- installcheck: installcheck-am
- install-strip:
--      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
--        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
--        `test -z '$(STRIP)' || \
--          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+      if test -z '$(STRIP)'; then \
-+        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+            install; \
-+      else \
-+        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-+      fi
- mostlyclean-generic:
+ if test $TARGETDIR = unknown; then
+-  as_fn_error "\"libffi has not been ported to $host.\"" "$LINENO" 5
++  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
+ fi
  
- clean-generic:
-Index: libffi/testsuite/Makefile.in
-===================================================================
---- libffi.orig/testsuite/Makefile.in
-+++ libffi/testsuite/Makefile.in
-@@ -1,9 +1,9 @@
--# Makefile.in generated by automake 1.11.1 from Makefile.am.
-+# Makefile.in generated by automake 1.11.6 from Makefile.am.
- # @configure_input@
+  if test x$TARGET = xMIPS; then
+@@ -11554,6 +13404,14 @@ else
+   M68K_FALSE=
+ fi
  
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
--# Inc.
-+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+# Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -15,6 +15,23 @@
++ if test x$TARGET = xMOXIE; then
++  MOXIE_TRUE=
++  MOXIE_FALSE='#'
++else
++  MOXIE_TRUE='#'
++  MOXIE_FALSE=
++fi
++
+  if test x$TARGET = xPOWERPC; then
+   POWERPC_TRUE=
+   POWERPC_FALSE='#'
+@@ -11677,7 +13535,7 @@ fi
+ { $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 test "${ac_cv_header_stdc+set}" = set; then :
++if ${ac_cv_header_stdc+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11790,7 +13648,7 @@ fi
+ for ac_func in memcpy
+ do :
+   ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
+-if test "x$ac_cv_func_memcpy" = x""yes; then :
++if test "x$ac_cv_func_memcpy" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_MEMCPY 1
+ _ACEOF
+@@ -11798,11 +13656,22 @@ _ACEOF
+ fi
+ done
++ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
++if test "x$ac_cv_type_size_t" = xyes; then :
++
++else
++
++cat >>confdefs.h <<_ACEOF
++#define size_t unsigned int
++_ACEOF
++
++fi
++
+ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments.  Useless!
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+ $as_echo_n "checking for working alloca.h... " >&6; }
+-if test "${ac_cv_working_alloca_h+set}" = set; then :
++if ${ac_cv_working_alloca_h+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11835,7 +13704,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+ $as_echo_n "checking for alloca... " >&6; }
+-if test "${ac_cv_func_alloca_works+set}" = set; then :
++if ${ac_cv_func_alloca_works+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11854,7 +13723,7 @@ else
+  #pragma alloca
+ #   else
+ #    ifndef alloca /* predefined by HP cc +Olibcalls */
+-char *alloca ();
++void *alloca (size_t);
+ #    endif
+ #   endif
+ #  endif
+@@ -11898,7 +13767,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+ $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+-if test "${ac_cv_os_cray+set}" = set; then :
++if ${ac_cv_os_cray+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11925,8 +13794,7 @@ if test $ac_cv_os_cray = yes; then
+   for ac_func in _getb67 GETB67 getb67; do
+     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-eval as_val=\$$as_ac_var
+-   if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define CRAY_STACKSEG_END $ac_func
+@@ -11940,7 +13808,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+ $as_echo_n "checking stack direction for C alloca... " >&6; }
+-if test "${ac_cv_c_stack_direction+set}" = set; then :
++if ${ac_cv_c_stack_direction+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test "$cross_compiling" = yes; then :
+@@ -11995,7 +13863,7 @@ fi
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+ $as_echo_n "checking size of double... " >&6; }
+-if test "${ac_cv_sizeof_double+set}" = set; then :
++if ${ac_cv_sizeof_double+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
+@@ -12004,9 +13872,8 @@ else
+   if test "$ac_cv_type_double" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ as_fn_set_status 77
+-as_fn_error "cannot compute sizeof (double)
+-See \`config.log' for more details." "$LINENO" 5; }; }
++as_fn_error 77 "cannot compute sizeof (double)
++See \`config.log' for more details" "$LINENO" 5; }
+    else
+      ac_cv_sizeof_double=0
+    fi
+@@ -12029,7 +13896,7 @@ _ACEOF
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
+ $as_echo_n "checking size of long double... " >&6; }
+-if test "${ac_cv_sizeof_long_double+set}" = set; then :
++if ${ac_cv_sizeof_long_double+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
+@@ -12038,9 +13905,8 @@ else
+   if test "$ac_cv_type_long_double" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ as_fn_set_status 77
+-as_fn_error "cannot compute sizeof (long double)
+-See \`config.log' for more details." "$LINENO" 5; }; }
++as_fn_error 77 "cannot compute sizeof (long double)
++See \`config.log' for more details" "$LINENO" 5; }
+    else
+      ac_cv_sizeof_long_double=0
+    fi
+@@ -12074,7 +13940,7 @@ fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+ $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+-if test "${ac_cv_c_bigendian+set}" = set; then :
++if ${ac_cv_c_bigendian+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_cv_c_bigendian=unknown
+@@ -12292,14 +14158,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
  
- @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@
-@@ -37,22 +54,21 @@ target_triplet = @target@
- subdir = testsuite
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
--      $(top_srcdir)/../config/lead-dot.m4 \
--      $(top_srcdir)/../config/multi.m4 \
--      $(top_srcdir)/../config/override.m4 \
--      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
--      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
--      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/fficonfig.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
- DEJATOOL = $(PACKAGE)
- RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-@@ -77,6 +93,7 @@ CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DEFS = @DEFS@
- DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
- DSYMUTIL = @DSYMUTIL@
- DUMPBIN = @DUMPBIN@
- ECHO_C = @ECHO_C@
-@@ -84,6 +101,7 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
- FGREP = @FGREP@
- GREP = @GREP@
- HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-@@ -102,6 +120,7 @@ LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
- MAINT = @MAINT@
- MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
- NM = @NM@
- NMEDIT = @NMEDIT@
-@@ -129,6 +148,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
- am__include = @am__include@
-@@ -163,7 +183,6 @@ localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
--multi_basedir = @multi_basedir@
- oldincludedir = @oldincludedir@
- pdfdir = @pdfdir@
- prefix = @prefix@
-@@ -172,6 +191,7 @@ psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
- srcdir = @srcdir@
-+sys_symbol_underscore = @sys_symbol_underscore@
- sysconfdir = @sysconfdir@
- target = @target@
- target_alias = @target_alias@
-@@ -195,6 +215,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
-           else echo runtest; fi`
+      ;; #(
+    *)
+-     as_fn_error "unknown endianness
++     as_fn_error $? "unknown endianness
+  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+  esac
  
- CLEANFILES = *.exe core* *.log *.sum
-+EXTRA_DIST = libffi.special/special.exp       \
-+libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
-+libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
-+lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
-+libffi.call/cls_multi_schar.c libffi.call/float3.c \
-+libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
-+libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
-+libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
-+libffi.call/nested_struct.c libffi.call/closure_fn1.c \
-+libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
-+libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
-+libffi.call/return_fl2.c libffi.call/nested_struct7.c \
-+libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
-+libffi.call/float1.c libffi.call/cls_19byte.c \
-+libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
-+libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
-+libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
-+libffi.call/struct7.c libffi.call/nested_struct9.c \
-+libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
-+libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
-+libffi.call/testclosure.c libffi.call/cls_3byte1.c \
-+libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
-+libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
-+libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
-+libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
-+libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c       \
-+libffi.call/return_ll.c libffi.call/cls_pointer.c \
-+libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
-+libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c       \
-+libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
-+libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
-+libffi.call/cls_double.c libffi.call/many_win32.c \
-+libffi.call/cls_16byte.c libffi.call/cls_align_double.c       \
-+libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c       \
-+libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
-+libffi.call/closure_stdcall.c libffi.call/return_fl.c \
-+libffi.call/strlen_win32.c libffi.call/return_ldl.c \
-+libffi.call/cls_align_float.c libffi.call/struct3.c \
-+libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
-+libffi.call/cls_align_longdouble_split.c \
-+libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
-+libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
-+libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
-+libffi.call/return_dbl.c libffi.call/cls_20byte.c \
-+libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c       \
-+libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
-+libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
-+libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
-+libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c       \
-+libffi.call/struct2.c libffi.call/cls_3byte2.c \
-+libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
-+libffi.call/return_fl3.c libffi.call/cls_align_uint32.c       \
-+libffi.call/problem1.c libffi.call/float4.c \
-+libffi.call/cls_align_uint64.c libffi.call/struct9.c \
-+libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
-+libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
-+libffi.call/struct4.c libffi.call/nested_struct2.c \
-+libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
-+libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
-+libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
-+libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
-+libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
-+libffi.call/huge_struct.c
-+
- all: all-am
  
- .SUFFIXES:
-@@ -242,7 +326,7 @@ CTAGS:
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
+ $as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
+-if test "${gcc_cv_as_cfi_pseudo_op+set}" = set; then :
++if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
+@@ -12335,7 +14201,7 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP
+ if test x$TARGET = xSPARC; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
+ $as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
+-if test "${libffi_cv_as_sparc_ua_pcrel+set}" = set; then :
++if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
- check-DEJAGNU: site.exp
--      srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
-+      srcdir='$(srcdir)'; export srcdir; \
-       EXPECT=$(EXPECT); export EXPECT; \
-       runtest=$(RUNTEST); \
-       if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
-@@ -253,12 +337,12 @@ check-DEJAGNU: site.exp
-       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
-       fi; \
-       exit $$exit_status
--site.exp: Makefile
-+site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
-       @echo 'Making a new site.exp file...'
-       @echo '## these variables are automatically generated by make ##' >site.tmp
-       @echo '# Do not edit here.  If you wish to override these values' >>site.tmp
-       @echo '# edit the last section' >>site.tmp
--      @echo 'set srcdir $(srcdir)' >>site.tmp
-+      @echo 'set srcdir "$(srcdir)"' >>site.tmp
-       @echo "set objdir `pwd`" >>site.tmp
-       @echo 'set build_alias "$(build_alias)"' >>site.tmp
-       @echo 'set build_triplet $(build_triplet)' >>site.tmp
-@@ -266,9 +350,16 @@ site.exp: Makefile
-       @echo 'set host_triplet $(host_triplet)' >>site.tmp
-       @echo 'set target_alias "$(target_alias)"' >>site.tmp
-       @echo 'set target_triplet $(target_triplet)' >>site.tmp
--      @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
--      @test ! -f site.exp || \
--        sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
-+      @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
-+        echo "## Begin content included from file $$f.  Do not modify. ##" \
-+         && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
-+         && echo "## End content included from file $$f. ##" \
-+         || exit 1; \
-+       done >> site.tmp
-+      @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp
-+      @if test -f site.exp; then \
-+         sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
-+       fi
-       @-rm -f site.bak
-       @test ! -f site.exp || mv site.exp site.bak
-       @mv site.tmp site.exp
-@@ -324,10 +415,15 @@ install-am: all-am
+@@ -12374,7 +14240,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
  
- 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:
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
+ $as_echo_n "checking assembler .register pseudo-op support... " >&6; }
+-if test "${libffi_cv_as_register_pseudo_op+set}" = set; then :
++if ${libffi_cv_as_register_pseudo_op+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
- clean-generic:
-Index: libffi/man/Makefile.am
-===================================================================
---- libffi.orig/man/Makefile.am
-+++ libffi/man/Makefile.am
-@@ -2,7 +2,7 @@
+@@ -12411,7 +14277,7 @@ fi
+ if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
+ $as_echo_n "checking assembler supports pc related relocs... " >&6; }
+-if test "${libffi_cv_as_x86_pcrel+set}" = set; then :
++if ${libffi_cv_as_x86_pcrel+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
- AUTOMAKE_OPTIONS=foreign
+@@ -12432,7 +14298,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
  
--EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
-+EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
+ $as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
+-if test "${libffi_cv_as_ascii_pseudo_op+set}" = set; then :
++if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
--man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
-+man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+@@ -12467,7 +14333,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
  
-Index: libffi/config.guess
-===================================================================
---- libffi.orig/config.guess
-+++ libffi/config.guess
-@@ -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, 2007, 2008, 2009
--#   Free Software Foundation, Inc.
-+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+#   2011 Free Software Foundation, Inc.
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
+ $as_echo_n "checking assembler .string pseudo-op support... " >&6; }
+-if test "${libffi_cv_as_string_pseudo_op+set}" = set; then :
++if ${libffi_cv_as_string_pseudo_op+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
--timestamp='2009-11-20'
-+timestamp='2011-06-03'
+@@ -12501,18 +14367,90 @@ $as_echo "#define HAVE_AS_STRING_PSEUDO_
+     fi
+ fi
  
- # 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
-@@ -56,8 +56,9 @@ version="\
- GNU config.guess ($timestamp)
++if test x$TARGET = xX86_WIN64; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
++$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
++if ${lt_cv_sys_symbol_underscore+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_sys_symbol_underscore=no
++  cat > conftest.$ac_ext <<_LT_EOF
++void nm_test_func(){}
++int main(){nm_test_func;return 0;}
++_LT_EOF
++  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; then
++    # Now try to grab the symbols.
++    ac_nlist=conftest.nm
++    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
++  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && test -s "$ac_nlist"; then
++      # See whether the symbols have a leading underscore.
++      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
++        lt_cv_sys_symbol_underscore=yes
++      else
++        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
++        :
++        else
++        echo "configure: cannot find nm_test_func in $ac_nlist" >&5
++        fi
++      fi
++    else
++      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
++    fi
++  else
++    echo "configure: failed program was:" >&5
++    cat conftest.c >&5
++  fi
++  rm -rf conftest*
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
++$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
++  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++
++
++    if test "x$sys_symbol_underscore" = xyes; then
++
++$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
++
++    fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++     *arm*-apple-darwin*)
++       FFI_EXEC_TRAMPOLINE_TABLE=1
++
++$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
++
++     ;;
++     *-apple-darwin1[10]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
  
- Originally written by Per Bothner.
--Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
--2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-+Software Foundation, Inc.
+ $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
  
- This is free software; see the source for copying conditions.  There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
-               fi
-               ;;
-           *)
--              os=netbsd
-+              os=netbsd
-               ;;
-       esac
-       # The OS release
-@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
--              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-+              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
--      exit ;;
-+      # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-+      exitcode=$?
-+      trap '' 0
-+      exit $exitcode ;;
-     Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
-       echo s390-ibm-zvmoe
-       exit ;;
-     *:OS400:*:*)
--        echo powerpc-ibm-os400
-+      echo powerpc-ibm-os400
-       exit ;;
-     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
-     # MiNT.  But MiNT is downward compatible to TOS, so this should
-     # be no problem.
-     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
--        echo m68k-atari-mint${UNAME_RELEASE}
-+      echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
--        exit ;;
-+      exit ;;
-     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
--        echo m68k-atari-mint${UNAME_RELEASE}
-+      echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
--        echo m68k-milan-mint${UNAME_RELEASE}
--        exit ;;
-+      echo m68k-milan-mint${UNAME_RELEASE}
-+      exit ;;
-     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
--        echo m68k-hades-mint${UNAME_RELEASE}
--        exit ;;
-+      echo m68k-hades-mint${UNAME_RELEASE}
-+      exit ;;
-     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
--        echo m68k-unknown-mint${UNAME_RELEASE}
--        exit ;;
-+      echo m68k-unknown-mint${UNAME_RELEASE}
-+      exit ;;
-     m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
-@@ -480,8 +484,8 @@ EOF
-       echo m88k-motorola-sysv3
-       exit ;;
-     AViiON:dgux:*:*)
--        # DG/UX returns AViiON for all architectures
--        UNAME_PROCESSOR=`/usr/bin/uname -p`
-+      # DG/UX returns AViiON for all architectures
-+      UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-@@ -494,7 +498,7 @@ EOF
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
--      exit ;;
-+      exit ;;
-     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-@@ -551,7 +555,7 @@ EOF
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
--    *:AIX:*:[456])
-+    *:AIX:*:[4567])
-       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
-@@ -594,52 +598,52 @@ EOF
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
--                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
--                    case "${sc_cpu_version}" in
--                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
--                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
--                      532)                      # CPU_PA_RISC2_0
--                        case "${sc_kernel_bits}" in
--                          32) HP_ARCH="hppa2.0n" ;;
--                          64) HP_ARCH="hppa2.0w" ;;
-+                  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-+                  case "${sc_cpu_version}" in
-+                    523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-+                    528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-+                    532)                      # CPU_PA_RISC2_0
-+                      case "${sc_kernel_bits}" in
-+                        32) HP_ARCH="hppa2.0n" ;;
-+                        64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
--                        esac ;;
--                    esac
-+                      esac ;;
-+                  esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
--                  sed 's/^              //' << EOF >$dummy.c
-+                  sed 's/^            //' << EOF >$dummy.c
+      ;;
+ esac
++ if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
++  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
++  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
++else
++  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
++  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
++fi
 +
-+              #define _HPUX_SOURCE
-+              #include <stdlib.h>
-+              #include <unistd.h>
++
+ if test x$TARGET = xX86_64; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
+ $as_echo_n "checking assembler supports unwind section type... " >&6; }
+-if test "${libffi_cv_as_x86_64_unwind_section_type+set}" = set; then :
++if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
  
--              #define _HPUX_SOURCE
--              #include <stdlib.h>
--              #include <unistd.h>
--
--              int main ()
--              {
--              #if defined(_SC_KERNEL_BITS)
--                  long bits = sysconf(_SC_KERNEL_BITS);
--              #endif
--                  long cpu  = sysconf (_SC_CPU_VERSION);
--
--                  switch (cpu)
--                      {
--                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
--                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
--                      case CPU_PA_RISC2_0:
--              #if defined(_SC_KERNEL_BITS)
--                          switch (bits)
--                              {
--                              case 64: puts ("hppa2.0w"); break;
--                              case 32: puts ("hppa2.0n"); break;
--                              default: puts ("hppa2.0"); break;
--                              } break;
--              #else  /* !defined(_SC_KERNEL_BITS) */
--                          puts ("hppa2.0"); break;
--              #endif
--                      default: puts ("hppa1.0"); break;
--                      }
--                  exit (0);
--              }
-+              int main ()
-+              {
-+              #if defined(_SC_KERNEL_BITS)
-+                  long bits = sysconf(_SC_KERNEL_BITS);
-+              #endif
-+                  long cpu  = sysconf (_SC_CPU_VERSION);
+@@ -12532,67 +14470,69 @@ $as_echo "#define HAVE_AS_X86_64_UNWIND_
+     fi
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
++if test "x$GCC" = "xyes"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
+ $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
+-if test "${libffi_cv_ro_eh_frame+set}" = set; then :
++if ${libffi_cv_ro_eh_frame+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-      libffi_cv_ro_eh_frame=no
+-      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+-      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+-          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          elif grep '.section.*eh_frame.*#alloc' conftest.c \
+-               | grep -v '#write' > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          fi
+-      fi
+-      rm -f conftest.*
++      libffi_cv_ro_eh_frame=no
++      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          elif grep '.section.*eh_frame.*#alloc' conftest.c \
++               | grep -v '#write' > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          fi
++      fi
++      rm -f conftest.*
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
+ $as_echo "$libffi_cv_ro_eh_frame" >&6; }
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
++  if test "x$libffi_cv_ro_eh_frame" = xyes; then
+ $as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
+ $as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
+-else
++  else
+ $as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
+-fi
++  fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
+ $as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
+-if test "${libffi_cv_hidden_visibility_attribute+set}" = set; then :
++if ${libffi_cv_hidden_visibility_attribute+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+-      libffi_cv_hidden_visibility_attribute=no
+-      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
++      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
++      libffi_cv_hidden_visibility_attribute=no
++      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
+   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; }; then
+-          if grep '\.hidden.*foo' conftest.s >/dev/null; then
+-              libffi_cv_hidden_visibility_attribute=yes
+-          fi
+-      fi
+-      rm -f conftest.*
++          if grep '\.hidden.*foo' conftest.s >/dev/null; then
++              libffi_cv_hidden_visibility_attribute=yes
++          fi
++      fi
++      rm -f conftest.*
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
+ $as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
++  if test $libffi_cv_hidden_visibility_attribute = yes; then
+ $as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
++  fi
+ fi
+@@ -12611,6 +14551,14 @@ $as_echo "#define FFI_DEBUG 1" >>confdef
+   fi
+ fi
++ if test "$enable_debug" = "yes"; then
++  FFI_DEBUG_TRUE=
++  FFI_DEBUG_FALSE='#'
++else
++  FFI_DEBUG_TRUE='#'
++  FFI_DEBUG_FALSE=
++fi
 +
-+                  switch (cpu)
-+                      {
-+                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-+                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-+                      case CPU_PA_RISC2_0:
-+              #if defined(_SC_KERNEL_BITS)
-+                          switch (bits)
-+                              {
-+                              case 64: puts ("hppa2.0w"); break;
-+                              case 32: puts ("hppa2.0n"); break;
-+                              default: puts ("hppa2.0"); break;
-+                              } break;
-+              #else  /* !defined(_SC_KERNEL_BITS) */
-+                          puts ("hppa2.0"); break;
-+              #endif
-+                      default: puts ("hppa1.0"); break;
-+                      }
-+                  exit (0);
-+              }
- EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-@@ -730,22 +734,22 @@ EOF
-       exit ;;
-     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
--        exit ;;
-+      exit ;;
-     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
--        exit ;;
-+      exit ;;
-     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
--        exit ;;
-+      exit ;;
-     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
--        exit ;;
-+      exit ;;
-     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
--        exit ;;
-+      exit ;;
-     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-@@ -769,14 +773,14 @@ EOF
-       exit ;;
-     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
--        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
--        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
--        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
--        exit ;;
-+      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+      FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-+      echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+      exit ;;
-     5000:UNIX_System_V:4.*:*)
--        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
--        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
--        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+      FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-+      echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-@@ -804,14 +808,14 @@ EOF
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-     i*:windows32*:*)
--      # uname -m includes "-pc" on this system.
--      echo ${UNAME_MACHINE}-mingw32
-+      # uname -m includes "-pc" on this system.
-+      echo ${UNAME_MACHINE}-mingw32
-       exit ;;
-     i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
-     *:Interix*:*)
--      case ${UNAME_MACHINE} in
-+      case ${UNAME_MACHINE} in
-           x86)
-               echo i586-pc-interix${UNAME_RELEASE}
-               exit ;;
-@@ -866,7 +870,7 @@ EOF
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
--        esac
+ # Check whether --enable-structs was given.
+ if test "${enable_structs+set}" = set; then :
+@@ -12642,21 +14590,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
+ fi
+-if test -n "$with_cross_host" &&
+-   test x"$with_cross_host" != x"no"; then
+-  toolexecdir='$(exec_prefix)/$(target_alias)'
+-  toolexeclibdir='$(toolexecdir)/lib'
+-else
+-  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+-  toolexeclibdir='$(libdir)'
+-fi
+-multi_os_directory=`$CC -print-multi-os-directory`
+-case $multi_os_directory in
+-  .) ;; # Avoid trailing /.
+-  *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+-esac
++# These variables are only ever used when we cross-build to X86_WIN32.
++# And we only support this with GCC, so...
++if test x"$GCC" != x"no"; then
++  if test -n "$with_cross_host" &&
++     test x"$with_cross_host" != x"no"; then
++    toolexecdir='$(exec_prefix)/$(target_alias)'
++    toolexeclibdir='$(toolexecdir)/lib'
++  else
++    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++    toolexeclibdir='$(libdir)'
++  fi
++  multi_os_directory=`$CC -print-multi-os-directory`
++  case $multi_os_directory in
++    .) ;; # Avoid trailing /.
++    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
++  esac
++fi
+ if test "${multilib}" = "yes"; then
+   multilib_arg="--enable-multilib"
+@@ -12672,7 +14624,7 @@ ac_config_commands="$ac_config_commands
+ ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
+-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile"
++ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
+ cat >confcache <<\_ACEOF
+@@ -12739,10 +14691,21 @@ $as_echo "$as_me: WARNING: cache variabl
+      :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" &&
++    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;}
+-    cat confcache >$cache_file
++      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
-       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}
-@@ -878,7 +882,13 @@ EOF
-       then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
-       else
--          echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-+          if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-+              | grep -q __ARM_PCS_VFP
-+          then
-+              echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-+          else
-+              echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
-+          fi
-       fi
-       exit ;;
-     avr32*:Linux:*:*)
-@@ -891,7 +901,7 @@ EOF
-       echo crisv32-axis-linux-gnu
-       exit ;;
-     frv:Linux:*:*)
--      echo frv-unknown-linux-gnu
-+      echo frv-unknown-linux-gnu
-       exit ;;
-     i*86:Linux:*:*)
-       LIBC=gnu
-@@ -959,7 +969,7 @@ EOF
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
-     sh64*:Linux:*:*)
--      echo ${UNAME_MACHINE}-unknown-linux-gnu
-+      echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-@@ -967,6 +977,9 @@ EOF
-     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-+    tile*:Linux:*:*)
-+      echo ${UNAME_MACHINE}-unknown-linux-gnu
-+      exit ;;
-     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
-       exit ;;
-@@ -974,7 +987,7 @@ EOF
-       echo x86_64-unknown-linux-gnu
-       exit ;;
-     xtensa*:Linux:*:*)
--      echo ${UNAME_MACHINE}-unknown-linux-gnu
-+      echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-     i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-@@ -983,11 +996,11 @@ EOF
-       echo i386-sequent-sysv4
-       exit ;;
-     i*86:UNIX_SV:4.2MP:2.*)
--        # Unixware is an offshoot of SVR4, but it has its own version
--        # number series starting with 2...
--        # I am not positive that other SVR4 systems won't match this,
-+      # Unixware is an offshoot of SVR4, but it has its own version
-+      # number series starting with 2...
-+      # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
--        # Use sysv4.2uw... so that sysv4* matches it.
-+      # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
-     i*86:OS/2:*:*)
-@@ -1019,7 +1032,7 @@ EOF
-       fi
-       exit ;;
-     i*86:*:5:[678]*)
--      # UnixWare 7.x, OpenUNIX and OpenServer 6.
-+      # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-@@ -1047,13 +1060,13 @@ EOF
-       exit ;;
-     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 i586.
-+      # uname -m prints for DJGPP always 'pc', but it prints nothing about
-+      # 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 ;;
-+      exit ;;
-     Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-@@ -1088,8 +1101,8 @@ EOF
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
--        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
--          && { echo i486-ncr-sysv4; exit; } ;;
-+      /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 \
-@@ -1132,10 +1145,10 @@ EOF
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
--    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
--                      # says <Richard.M.Bartel@ccMail.Census.GOV>
--        echo i586-unisys-sysv4
--        exit ;;
-+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-+      echo i586-unisys-sysv4
-+      exit ;;
-     *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-@@ -1161,11 +1174,11 @@ EOF
-       exit ;;
-     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
--              echo mips-nec-sysv${UNAME_RELEASE}
-+              echo mips-nec-sysv${UNAME_RELEASE}
-       else
--              echo mips-unknown-sysv${UNAME_RELEASE}
-+              echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
--        exit ;;
-+      exit ;;
-     BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-@@ -1230,6 +1243,9 @@ EOF
-     *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-+    NEO-?:NONSTOP_KERNEL:*:*)
-+      echo neo-tandem-nsk${UNAME_RELEASE}
-+      exit ;;
-     NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-@@ -1275,13 +1291,13 @@ EOF
-       echo pdp10-unknown-its
-       exit ;;
-     SEI:*:*:SEIUX)
--        echo mips-sei-seiux${UNAME_RELEASE}
-+      echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
-     *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-     *:*VMS:*:*)
--      UNAME_MACHINE=`(uname -p) 2>/dev/null`
-+      UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-@@ -1321,11 +1337,11 @@ main ()
- #include <sys/param.h>
-   printf ("m68k-sony-newsos%s\n",
- #ifdef NEWSOS4
--          "4"
-+      "4"
- #else
--        ""
-+      ""
- #endif
--         ); exit (0);
-+      ); exit (0);
- #endif
- #endif
++      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;}
+@@ -12758,6 +14721,7 @@ DEFS=-DHAVE_CONFIG_H
+ ac_libobjs=
+ ac_ltlibobjs=
++U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+   # 1. Remove the extension, and $U if already installed.
+   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+@@ -12781,132 +14745,144 @@ else
+ fi
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+-  as_fn_error "conditional \"AMDEP\" was never defined.
++  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.
++  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__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
+-  as_fn_error "conditional \"am__fastdepCCAS\" was never defined.
++  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
++  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
+-  as_fn_error "conditional \"TESTSUBDIR\" was never defined.
++  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
+-  as_fn_error "conditional \"MIPS\" was never defined.
++  as_fn_error $? "conditional \"MIPS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
+-  as_fn_error "conditional \"SPARC\" was never defined.
++  as_fn_error $? "conditional \"SPARC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
+-  as_fn_error "conditional \"X86\" was never defined.
++  as_fn_error $? "conditional \"X86\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
+-  as_fn_error "conditional \"X86_FREEBSD\" was never defined.
++  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
+-  as_fn_error "conditional \"X86_WIN32\" was never defined.
++  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
+-  as_fn_error "conditional \"X86_WIN64\" was never defined.
++  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
+-  as_fn_error "conditional \"X86_DARWIN\" was never defined.
++  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
+-  as_fn_error "conditional \"ALPHA\" was never defined.
++  as_fn_error $? "conditional \"ALPHA\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
+-  as_fn_error "conditional \"IA64\" was never defined.
++  as_fn_error $? "conditional \"IA64\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
+-  as_fn_error "conditional \"M32R\" was never defined.
++  as_fn_error $? "conditional \"M32R\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
+-  as_fn_error "conditional \"M68K\" was never defined.
++  as_fn_error $? "conditional \"M68K\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
++  as_fn_error $? "conditional \"MOXIE\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
+-  as_fn_error "conditional \"POWERPC\" was never defined.
++  as_fn_error $? "conditional \"POWERPC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
+-  as_fn_error "conditional \"POWERPC_AIX\" was never defined.
++  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
+-  as_fn_error "conditional \"POWERPC_DARWIN\" was never defined.
++  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
+-  as_fn_error "conditional \"POWERPC_FREEBSD\" was never defined.
++  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
+-  as_fn_error "conditional \"ARM\" was never defined.
++  as_fn_error $? "conditional \"ARM\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
+-  as_fn_error "conditional \"AVR32\" was never defined.
++  as_fn_error $? "conditional \"AVR32\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
+-  as_fn_error "conditional \"LIBFFI_CRIS\" was never defined.
++  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
+-  as_fn_error "conditional \"FRV\" was never defined.
++  as_fn_error $? "conditional \"FRV\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
+-  as_fn_error "conditional \"S390\" was never defined.
++  as_fn_error $? "conditional \"S390\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
+-  as_fn_error "conditional \"X86_64\" was never defined.
++  as_fn_error $? "conditional \"X86_64\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
+-  as_fn_error "conditional \"SH\" was never defined.
++  as_fn_error $? "conditional \"SH\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
+-  as_fn_error "conditional \"SH64\" was never defined.
++  as_fn_error $? "conditional \"SH64\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
+-  as_fn_error "conditional \"PA_LINUX\" was never defined.
++  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
+-  as_fn_error "conditional \"PA_HPUX\" was never defined.
++  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
+-  as_fn_error "conditional \"PA64_HPUX\" was never defined.
++  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
++  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
++  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+-: ${CONFIG_STATUS=./config.status}
++: "${CONFIG_STATUS=./config.status}"
+ ac_write_fail=0
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+@@ -13007,6 +14983,7 @@ fi
+ IFS=" ""      $as_nl"
+ # Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
+ case $0 in #((
+   *[\\/]* ) as_myself=$0 ;;
+   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -13052,19 +15029,19 @@ export LANGUAGE
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# 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.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+-  as_status=$?; test $as_status -eq 0 && as_status=1
+-  if test "$3"; then
+-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++  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: $1" >&2
++  $as_echo "$as_me: error: $2" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+@@ -13260,7 +15237,7 @@ $as_echo X"$as_dir" |
+       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"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+ } # as_fn_mkdir_p
+@@ -13313,8 +15290,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by libffi $as_me 3.0.9, which was
+-generated by GNU Autoconf 2.64.  Invocation command line was
++This file was extended by libffi $as_me 3.0.11-rc4, which was
++generated by GNU Autoconf 2.68.  Invocation command line was
+   CONFIG_FILES    = $CONFIG_FILES
+   CONFIG_HEADERS  = $CONFIG_HEADERS
+@@ -13355,6 +15332,7 @@ 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
+@@ -13376,16 +15354,17 @@ $config_links
+ Configuration commands:
+ $config_commands
+-Report bugs to <http://gcc.gnu.org/bugs.html>."
++Report bugs to <http://github.com/atgreen/libffi/issues>."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-libffi config.status 3.0.9
+-configured by $0, generated by GNU Autoconf 2.64,
+-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++libffi config.status 3.0.11-rc4
++configured by $0, generated by GNU Autoconf 2.68,
++  with options \\"\$ac_cs_config\\"
+-Copyright (C) 2009 Free Software Foundation, Inc.
++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."
+@@ -13403,11 +15382,16 @@ 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
+@@ -13421,12 +15405,15 @@ do
+     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;;
+@@ -13439,7 +15426,7 @@ do
+     ac_need_defaults=false;;
+   --he | --h)
+     # Conflict between --help and --header
+-    as_fn_error "ambiguous option: \`$1'
++    as_fn_error $? "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+   --help | --hel | -h )
+     $as_echo "$ac_cs_usage"; exit ;;
+@@ -13448,7 +15435,7 @@ Try \`$0 --help' for more information.";
+     ac_cs_silent=: ;;
+   # This is an error.
+-  -*) as_fn_error "unrecognized option: \`$1'
++  -*) as_fn_error $? "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+   *) as_fn_append ac_config_targets " $1"
+@@ -13492,20 +15479,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+ #
+ # INIT-COMMANDS
+ #
++ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
++ax_enable_builddir_host="$HOST"                        # $HOST / $host
++ax_enable_builddir_version="$VERSION"                  # $VERSION
++ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
++ax_enable_builddir="$ax_enable_builddir"               # $SUB
+-srcdir="$srcdir"
+-host="$host"
+-target="$target"
+-with_multisubdir="$with_multisubdir"
+-with_multisrctop="$with_multisrctop"
+-with_target_subdir="$with_target_subdir"
+-ac_configure_args="${multilib_arg} ${ac_configure_args}"
+-multi_basedir="$multi_basedir"
+-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+-CC="$CC"
+-CXX="$CXX"
+-GFORTRAN="$GFORTRAN"
+-GCJ="$GCJ"
+ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+@@ -13544,13 +15525,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+ 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"`'
+@@ -13565,14 +15553,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+ 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_wl='`$ECHO "$lt_prog_compiler_wl" | $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"`'
+@@ -13605,12 +15596,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+ 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"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $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"`'
+@@ -13665,8 +15656,13 @@ 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 \
+@@ -13676,12 +15672,14 @@ 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_wl \
+ 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 \
+@@ -13697,7 +15695,6 @@ no_undefined_flag \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -13733,6 +15730,7 @@ module_cmds \
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -13778,7 +15776,7 @@ for ac_config_target in $ac_config_targe
+ do
+   case $ac_config_target in
+     "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
+-    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
++    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
+     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+     "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
+@@ -13789,8 +15787,9 @@ do
+     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+     "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
+     "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
++    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
+-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+   esac
+ done
+@@ -13814,9 +15813,10 @@ fi
+ # after its creation but before its name has been assigned to `$tmp'.
+ $debug ||
+ {
+-  tmp=
++  tmp= ac_tmp=
+   trap 'exit_status=$?
+-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $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
+ }
+@@ -13824,12 +15824,13 @@ $debug ||
+ {
+   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+-  test -n "$tmp" && test -d "$tmp"
++  test -d "$tmp"
+ }  ||
+ {
+   tmp=./conf$$-$RANDOM
+   (umask 077 && mkdir "$tmp")
+-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
++} || 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.
+@@ -13846,12 +15847,12 @@ if test "x$ac_cr" = x; then
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+-  ac_cs_awk_cr='\r'
++  ac_cs_awk_cr='\\r'
+ else
+   ac_cs_awk_cr=$ac_cr
+ fi
+-echo 'BEGIN {' >"$tmp/subs1.awk" &&
++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+ _ACEOF
+@@ -13860,18 +15861,18 @@ _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 '$'`
++  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
++    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
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+@@ -13879,7 +15880,7 @@ done
+ rm -f conf$$subs.sh
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+ _ACEOF
+ sed -n '
+ h
+@@ -13893,7 +15894,7 @@ s/'"$ac_delim"'$//
+ t delim
+ :nl
+ h
+-s/\(.\{148\}\).*/\1/
++s/\(.\{148\}\)..*/\1/
+ t more1
+ s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+ p
+@@ -13907,7 +15908,7 @@ s/.\{148\}//
+ t nl
+ :delim
+ h
+-s/\(.\{148\}\).*/\1/
++s/\(.\{148\}\)..*/\1/
+ t more2
+ s/["\\]/\\&/g; s/^/"/; s/$/"/
+ p
+@@ -13927,7 +15928,7 @@ t delim
+ rm -f conf$$subs.awk
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+   for (key in S) S_is_set[key] = 1
+   FS = "\a"
+@@ -13959,21 +15960,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
+   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+ else
+   cat
+-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
++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 $(srcdir),
+-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# 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[        ]*=/{
+-s/:*\$(srcdir):*/:/
+-s/:*\${srcdir}:*/:/
+-s/:*@srcdir@:*/:/
+-s/^\([^=]*=[   ]*\):*/\1/
++  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
+@@ -13985,7 +15994,7 @@ fi # test -n "$CONFIG_FILES"
+ # 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 ||
++cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+ BEGIN {
+ _ACEOF
+@@ -13997,11 +16006,11 @@ _ACEOF
+ # 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
++  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
++    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+@@ -14086,7 +16095,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
++  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+@@ -14099,7 +16108,7 @@ do
+   esac
+   case $ac_mode$ac_tag in
+   :[FHL]*:*);;
+-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
++  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+   :[FH]-) ac_tag=-:-;;
+   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+   esac
+@@ -14118,7 +16127,7 @@ do
+     for ac_f
+     do
+       case $ac_f in
+-      -) ac_f="$tmp/stdin";;
++      -) 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 `:'.
+@@ -14127,7 +16136,7 @@ do
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+-         as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++         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'"
+@@ -14153,8 +16162,8 @@ $as_echo "$as_me: creating $ac_file" >&6
+     esac
+     case $ac_tag in
+-    *:-:* | *:-) cat >"$tmp/stdin" \
+-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
++    *:-:* | *:-) cat >"$ac_tmp/stdin" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+     esac
+     ;;
+   esac
+@@ -14290,23 +16299,24 @@ 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_fn_error "could not create $ac_file" "$LINENO" 5
++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' "$tmp/out"`; test -n "$ac_out"; } &&
+-  { ac_out=`sed -n '/^[        ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++  { 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
++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;}
++which seems to be undefined.  Please make sure it is defined" >&2;}
+-  rm -f "$tmp/stdin"
++  rm -f "$ac_tmp/stdin"
+   case $ac_file in
+-  -) cat "$tmp/out" && rm -f "$tmp/out";;
+-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
++  -) 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
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+  ;;
+   :H)
+   #
+@@ -14315,21 +16325,21 @@ which seems to be undefined.  Please mak
+   if test x"$ac_file" != x-; then
+     {
+       $as_echo "/* $configure_input  */" \
+-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+-    } >"$tmp/config.h" \
+-      || as_fn_error "could not create $ac_file" "$LINENO" 5
+-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
++      && 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 "$tmp/config.h" "$ac_file" \
+-      || as_fn_error "could not create $ac_file" "$LINENO" 5
++      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 "$tmp/defines.awk"' "$ac_file_inputs" \
+-      || as_fn_error "could not create -" "$LINENO" 5
++      && 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"
+@@ -14383,19 +16393,19 @@ $as_echo X"$_am_arg" |
+ $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
+     if test ! -r "$ac_source"; then
+-      as_fn_error "$ac_source: file not found" "$LINENO" 5
++      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
+     fi
+     rm -f "$ac_file"
+     # Try a relative symlink, then a hard link, then a copy.
+-    case $srcdir in
++    case $ac_source in
+     [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
+       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
+     esac
+     ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
+       ln "$ac_source" "$ac_file" 2>/dev/null ||
+       cp -p "$ac_source" "$ac_file" ||
+-      as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
++      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
+   fi
+  ;;
+   :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+@@ -14405,14 +16415,150 @@ $as_echo "$as_me: executing $ac_file com
+   case $ac_file$ac_mode in
+-    "default-1":C)
+-# Only add multilib support code if we just rebuilt the top-level
+-# Makefile.
+-case " $CONFIG_FILES " in
+- *" Makefile "*)
+-   ac_file=Makefile . ${multi_basedir}/config-ml.in
+-   ;;
+-esac ;;
++    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
++  if test ".$ax_enable_builddir" = ".." ; then
++    if test -f "$top_srcdir/Makefile" ; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
++    else
++      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
++    fi
++  else
++    if test -f "$ac_top_srcdir/Makefile" ; then
++      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
++      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
++    fi
++    if test -f "$ac_top_srcdir/Makefile" ; then
++      echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
++      echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
++      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
++      then rm $ac_top_srcdir/Makefile ; fi
++      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
++    fi
++    if test ! -f "$ac_top_srcdir/Makefile" ; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
++$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
++      x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\)   /\\1 /g
++/^    /d
++/^[    ]*[\\#]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[:=]/!d
++/^\\./d
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ /  /g
++s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
++s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
++s/  / /g
++/^all all-all[ :]/i\\
++all-configured : all-all
++s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
++/-all-all/d
++a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++/dist-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/dist-[a-zA-Z0-9]*-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/distclean-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++      ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++      ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
++      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
++      if test -f "$ac_top_srcdir/Makefile.mk" ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
++$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
++        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
++      fi ; xxxx="####"
++      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
++      # sanity check
++      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
++$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
++        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/    /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
++          >$ac_top_srcdir/Makefile~
++        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
++      fi
++    else
++      xxxx="\\#\\#\\#\\#"
++      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
++      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
++        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
++        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
++      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
++        rm "$tmp/mkfile.tmp"
++      else
++        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
++        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
++      fi
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
++$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
++    xxxx="####"
++    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
++  fi
++ ;;
+     "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
+@@ -14529,7 +16675,8 @@ $as_echo X"$file" |
+ # 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 Free Software Foundation, Inc.
++#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++#                 Inc.
+ #   Written by Gordon Matzigkeit, 1996
+ #
+ #   This file is part of GNU Libtool.
+@@ -14632,19 +16779,42 @@ SP2NL=$lt_lt_SP2NL
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
  
-Index: libffi/config.sub
-===================================================================
---- libffi.orig/config.sub
-+++ libffi/config.sub
-@@ -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, 2007, 2008, 2009
--#   Free Software Foundation, Inc.
-+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+#   2011 Free Software Foundation, Inc.
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
  
--timestamp='2009-11-20'
-+timestamp='2011-10-29'
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
  
- # This file is (in principle) common to ALL GNU software.
- # The presence of a machine in this file suggests that SOME GNU software
-@@ -75,8 +75,9 @@ Report bugs and patches to <config-patch
- version="\
- GNU config.sub ($timestamp)
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
  
--Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
--2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-+Software Foundation, Inc.
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
  
- This is free software; see the source for copying conditions.  There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -123,8 +124,9 @@ esac
- # Here we must recognize all the valid KERNEL-OS combinations.
- maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
- case $maybe_os in
--  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
--  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-+  nto-qnx* | linux-gnu* | linux-android* | 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
-@@ -156,8 +158,8 @@ case $os in
-               os=
-               basic_machine=$1
-               ;;
--        -bluegene*)
--              os=-cnk
-+      -bluegene*)
-+              os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-@@ -173,10 +175,10 @@ case $os in
-               os=-chorusos
-               basic_machine=$1
-               ;;
--      -chorusrdb)
--              os=-chorusrdb
-+      -chorusrdb)
-+              os=-chorusrdb
-               basic_machine=$1
--              ;;
-+              ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-@@ -249,13 +251,17 @@ case $basic_machine in
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-+        | be32 | be64 \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-+      | epiphany \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-+      | hexagon \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-+      | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
-@@ -281,27 +287,38 @@ case $basic_machine in
-       | moxie \
-       | mt \
-       | msp430 \
-+      | nds32 | nds32le | nds32be \
-       | nios | nios2 \
-       | ns16k | ns32k \
-+      | open8 \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
--      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-+      | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pyramid \
--      | rx \
-+      | rl78 | rx \
-       | score \
-       | 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 \
-+      | spu \
-+      | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
--      | v850 | v850e \
-+      | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
--      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-+      | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-+      c54x)
-+              basic_machine=tic54x-unknown
-+              ;;
-+      c55x)
-+              basic_machine=tic55x-unknown
-+              ;;
-+      c6x)
-+              basic_machine=tic6x-unknown
-+              ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-               # Motorola 68HC11/12.
-               basic_machine=$basic_machine-unknown
-@@ -313,6 +330,18 @@ case $basic_machine in
-               basic_machine=mt-unknown
-               ;;
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+@@ -14674,6 +16844,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+ # 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
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+@@ -14683,6 +16859,9 @@ MAGIC_CMD=$MAGIC_CMD
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+@@ -14797,12 +16976,12 @@ with_gcc=$GCC
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+@@ -14889,9 +17068,6 @@ inherit_rpath=$inherit_rpath
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+-# 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
  
-+      strongarm | thumb | xscale)
-+              basic_machine=arm-unknown
-+              ;;
+@@ -14907,6 +17083,9 @@ include_expsyms=$lt_include_expsyms
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
 +
-+      xscaleeb)
-+              basic_machine=armeb-unknown
-+              ;;
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+@@ -14939,210 +17118,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+   # 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+-    || (rm -f "$cfgfile"; exit 1)
+-
+-  case $xsi_shell in
+-  yes)
+-    cat << \_LT_EOF >> "$cfgfile"
+-
+-# 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 ()
+-{
+-  case ${1} in
+-    */*) func_dirname_result="${1%/*}${2}" ;;
+-    *  ) func_dirname_result="${3}" ;;
+-  esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+-  func_basename_result="${1##*/}"
+-}
+-
+-# 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 ()
+-{
+-  case ${1} in
+-    */*) func_dirname_result="${1%/*}${2}" ;;
+-    *  ) func_dirname_result="${3}" ;;
+-  esac
+-  func_basename_result="${1##*/}"
+-}
+-
+-# 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_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}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+-  func_opt_split_opt=${1%%=*}
+-  func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+-  case ${1} in
+-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+-    *)    func_lo2o_result=${1} ;;
+-  esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+-  func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+-  func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+-  func_len_result=${#1}
+-}
+-
+-_LT_EOF
+-    ;;
+-  *) # Bourne compatible functions.
+-    cat << \_LT_EOF >> "$cfgfile"
+-
+-# 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 ()
+-{
+-  # Extract subdirectory from the argument.
+-  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_basename file
+-func_basename ()
+-{
+-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# 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
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+-  func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+-  yes)
+-    cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+-  eval "$1+=\$2"
+-}
+-_LT_EOF
+-    ;;
+-  *)
+-    cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+-  eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+-    ;;
+-  esac
++  sed '$q' "$ltmain" >> "$cfgfile" \
++     || (rm -f "$cfgfile"; exit 1)
++  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=:
 +
-+      xscaleel)
-+              basic_machine=armel-unknown
-+              ;;
 +
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-@@ -332,16 +361,19 @@ case $basic_machine in
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-+      | be32-* | be64-* \
-       | bfin-* | bs2000-* \
--      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-+      | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-+      | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-+      | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-@@ -367,25 +399,29 @@ case $basic_machine in
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-+      | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-+      | open8-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
--      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-+      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pyramid-* \
--      | romp-* | rs6000-* | rx-* \
-+      | rl78-* | 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-* | tile-* \
-+      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-+      | tahoe-* \
-+      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-+      | tile*-* \
-       | tron-* \
-       | ubicom32-* \
--      | v850-* | v850e-* | vax-* \
-+      | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-+      | vax-* \
-       | we32k-* \
--      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-+      | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-@@ -410,7 +446,7 @@ case $basic_machine in
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
--      abacus)
-+      abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-@@ -480,11 +516,20 @@ case $basic_machine in
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-+      c54x-*)
-+              basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+              ;;
-+      c55x-*)
-+              basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+              ;;
-+      c6x-*)
-+              basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+              ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
--        cegcc)
-+      cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-@@ -516,7 +561,7 @@ case $basic_machine in
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
--      cr16)
-+      cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-@@ -732,7 +777,7 @@ case $basic_machine in
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
--        microblaze)
-+      microblaze)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw32)
-@@ -775,6 +820,10 @@ case $basic_machine in
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-+      nacl)
-+              basic_machine=le32-unknown
-+              os=-nacl
-+              ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-@@ -839,6 +888,12 @@ case $basic_machine in
-       np1)
-               basic_machine=np1-gould
-               ;;
-+      neo-tandem)
-+              basic_machine=neo-tandem
-+              ;;
-+      nse-tandem)
-+              basic_machine=nse-tandem
-+              ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-@@ -921,9 +976,10 @@ case $basic_machine in
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
--      ppc)    basic_machine=powerpc-unknown
-+      ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
--      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-+      ppc-* | ppcbe-*)
-+              basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-@@ -1017,6 +1073,9 @@ case $basic_machine in
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-+      strongarm-* | thumb-*)
-+              basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-+              ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-@@ -1073,20 +1132,8 @@ case $basic_machine in
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
--      tic54x | c54x*)
--              basic_machine=tic54x-unknown
--              os=-coff
--              ;;
--      tic55x | c55x*)
--              basic_machine=tic55x-unknown
--              os=-coff
--              ;;
--      tic6x | c6x*)
--              basic_machine=tic6x-unknown
--              os=-coff
--              ;;
-       tile*)
--              basic_machine=tile-unknown
-+              basic_machine=$basic_machine-unknown
-               os=-linux-gnu
-               ;;
-       tx39)
-@@ -1156,6 +1203,9 @@ case $basic_machine in
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-+      xscale-* | xscalee[bl]-*)
-+              basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-+              ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-@@ -1253,11 +1303,11 @@ esac
- if [ x"$os" != x"" ]
- then
- case $os in
--        # First match some system type aliases
--        # that might get confused with valid system types.
-+      # 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
-+      -auroraux)
-+              os=-auroraux
-               ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-@@ -1294,7 +1344,8 @@ case $os in
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
--            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-+            | -mingw32* | -linux-gnu* | -linux-android* \
-+            | -linux-newlib* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-@@ -1341,7 +1392,7 @@ case $os in
-       -opened*)
-               os=-openedition
-               ;;
--        -os400*)
-+      -os400*)
-               os=-os400
-               ;;
-       -wince*)
-@@ -1390,7 +1441,7 @@ case $os in
-       -sinix*)
-               os=-sysv4
-               ;;
--        -tpf*)
-+      -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-@@ -1435,6 +1486,8 @@ case $os in
-       -dicos*)
-               os=-dicos
-               ;;
-+      -nacl*)
-+              ;;
-       -none)
-               ;;
-       *)
-@@ -1457,10 +1510,10 @@ else
- # system, and we'll never get to this point.
++  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
+-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+-    || (rm -f "$cfgfile"; exit 1)
+-  mv -f "$cfgfile" "$ofile" ||
++   mv -f "$cfgfile" "$ofile" ||
+     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+   chmod +x "$ofile"
+@@ -15162,7 +17300,7 @@ _ACEOF
+ ac_clean_files=$ac_clean_files_save
+ test $ac_write_fail = 0 ||
+-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
++  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ # configure is writing to config.log, and then calls config.status.
+@@ -15183,7 +17321,7 @@ if test "$no_create" != yes; then
+   exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+-  $ac_cs_success || as_fn_exit $?
++  $ac_cs_success || as_fn_exit 1
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+Index: libffi/configure.ac
+===================================================================
+--- libffi.orig/configure.ac
++++ libffi/configure.ac
+@@ -1,34 +1,46 @@
+ dnl Process this with autoconf to create configure
+-AC_PREREQ(2.64)
++AC_PREREQ(2.68)
+-AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
++AC_INIT([libffi], [3.0.11-rc4], [http://github.com/atgreen/libffi/issues])
+ AC_CONFIG_HEADERS([fficonfig.h])
+-AM_ENABLE_MULTILIB(, ..)
+-
+ AC_CANONICAL_SYSTEM
+ target_alias=${target_alias-$host_alias}
+ . ${srcdir}/configure.host
++AX_ENABLE_BUILDDIR
++
+ AM_INIT_AUTOMAKE
+ # The same as in boehm-gc and libstdc++. Have to borrow it from there.
+ # We must force CC to /not/ be precious variables; otherwise
+ # the wrong, non-multilib-adjusted value will be used in multilibs.
+ # As a side effect, we have to subst CFLAGS ourselves.
++# Also save and restore CFLAGS, since AC_PROG_CC will come up with
++# defaults of its own if none are provided.
+ m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
+ m4_define([_AC_ARG_VAR_PRECIOUS],[])
++save_CFLAGS=$CFLAGS
+ AC_PROG_CC
+-m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
++CFLAGS=$save_CFLAGS
++m4_undefine([_AC_ARG_VAR_PRECIOUS])
++m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
+ AC_SUBST(CFLAGS)
+ AM_PROG_AS
+ AM_PROG_CC_C_O
+ AC_PROG_LIBTOOL
++AC_CONFIG_MACRO_DIR([m4])
++
++AX_CC_MAXOPT
++AX_CFLAGS_WARN_ALL
++if test "x$GCC" = "xyes"; then
++  CFLAGS="$CFLAGS -fexceptions"
++fi
+ AM_MAINTAINER_MODE
+@@ -53,6 +65,10 @@ case "$host" in
+   amd64-*-freebsd* | amd64-*-openbsd*)
+       TARGET=X86_64; TARGETDIR=x86
++      ;;
++
++  amd64-*-freebsd*)
++      TARGET=X86_64; TARGETDIR=x86
+       ;;
+   avr32*-*-*)
+@@ -67,7 +83,7 @@ case "$host" in
+       TARGET=FRV; TARGETDIR=frv
+       ;;
+-  hppa*-*-linux* | parisc*-*-linux*)
++  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+       TARGET=PA_LINUX; TARGETDIR=pa
+       ;;
+   hppa*64-*-hpux*)
+@@ -80,7 +96,7 @@ case "$host" in
+   i?86-*-freebsd* | i?86-*-openbsd*)
+       TARGET=X86_FREEBSD; TARGETDIR=x86
+       ;;
+-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+       TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+@@ -117,28 +133,35 @@ case "$host" in
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
+-  mips*-*-linux*)
++  mips*-*-linux* | mips*-*-openbsd*)
+       # Support 128-bit long double for NewABI.
+       HAVE_LONG_DOUBLE='defined(__mips64)'
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
++  moxie-*-*)
++        TARGET=MOXIE; TARGETDIR=moxie
++      ;;
++
+   powerpc*-*-linux* | powerpc-*-sysv*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
++  powerpc-*-amigaos*)
++      TARGET=POWERPC; TARGETDIR=powerpc
++      ;;
+   powerpc-*-beos*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc64-*-darwin*)
+       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+       ;;
+   powerpc-*-aix* | rs6000-*-aix*)
+       TARGET=POWERPC_AIX; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-freebsd*)
++  powerpc-*-freebsd* | powerpc-*-openbsd*)
+       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+       ;;
+- powerpc64-*-freebsd*)
++  powerpc64-*-freebsd*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+   powerpc*-*-rtems*)
+@@ -200,6 +223,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
+ AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
+ AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
+ AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
++AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
+ AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
+ AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
+ AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
+@@ -311,13 +335,30 @@ if test x$TARGET = xX86 || test x$TARGET
+     fi
+ fi
  
- case $basic_machine in
--        score-*)
-+      score-*)
-               os=-elf
-               ;;
--        spu-*)
-+      spu-*)
-               os=-elf
-               ;;
-       *-acorn)
-@@ -1472,8 +1525,17 @@ case $basic_machine in
-       arm*-semi)
-               os=-aout
-               ;;
--        c4x-* | tic4x-*)
--              os=-coff
-+      c4x-* | tic4x-*)
-+              os=-coff
-+              ;;
-+      tic54x-*)
-+              os=-coff
-+              ;;
-+      tic55x-*)
-+              os=-coff
-+              ;;
-+      tic6x-*)
-+              os=-coff
-               ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-@@ -1500,7 +1562,7 @@ case $basic_machine in
-       m68*-cisco)
-               os=-aout
-               ;;
--        mep-*)
-+      mep-*)
-               os=-elf
-               ;;
-       mips*-cisco)
-@@ -1527,7 +1589,7 @@ case $basic_machine in
-       *-ibm)
-               os=-aix
-               ;;
--      *-knuth)
-+      *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-Index: libffi/aclocal.m4
++if test x$TARGET = xX86_WIN64; then
++    LT_SYS_SYMBOL_USCORE
++    if test "x$sys_symbol_underscore" = xyes; then
++        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
++    fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++     *arm*-apple-darwin*)
++       FFI_EXEC_TRAMPOLINE_TABLE=1
++       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
++                 [Cannot use PROT_EXEC on this target, so, we revert to
++                   alternative means])
++     ;;
++     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+        AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
+                  [Cannot use malloc on this target, so, we revert to
+                    alternative means])
+      ;;
+ esac
++AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
++AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
+ if test x$TARGET = xX86_64; then
+     AC_CACHE_CHECK([assembler supports unwind section type],
+@@ -334,44 +375,46 @@ if test x$TARGET = xX86_64; then
+     fi
+ fi
+-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
+-    libffi_cv_ro_eh_frame, [
+-      libffi_cv_ro_eh_frame=no
+-      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+-      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+-          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          elif grep '.section.*eh_frame.*#alloc' conftest.c \
+-               | grep -v '#write' > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          fi
+-      fi
+-      rm -f conftest.*
+-    ])
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
+-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
+-            [Define if .eh_frame sections should be read-only.])
+-    AC_DEFINE(EH_FRAME_FLAGS, "a",
+-            [Define to the flags needed for the .section .eh_frame directive.])
+-else
+-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
+-            [Define to the flags needed for the .section .eh_frame directive.])
+-fi
++if test "x$GCC" = "xyes"; then
++  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
++      libffi_cv_ro_eh_frame, [
++      libffi_cv_ro_eh_frame=no
++      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          elif grep '.section.*eh_frame.*#alloc' conftest.c \
++               | grep -v '#write' > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          fi
++      fi
++      rm -f conftest.*
++      ])
++  if test "x$libffi_cv_ro_eh_frame" = xyes; then
++      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
++            [Define if .eh_frame sections should be read-only.])
++      AC_DEFINE(EH_FRAME_FLAGS, "a",
++            [Define to the flags needed for the .section .eh_frame directive.  ])
++  else
++      AC_DEFINE(EH_FRAME_FLAGS, "aw",
++            [Define to the flags needed for the .section .eh_frame directive.  ])
++  fi
+-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
+-    libffi_cv_hidden_visibility_attribute, [
+-      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+-      libffi_cv_hidden_visibility_attribute=no
+-      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
+-          if grep '\.hidden.*foo' conftest.s >/dev/null; then
+-              libffi_cv_hidden_visibility_attribute=yes
+-          fi
+-      fi
+-      rm -f conftest.*
+-    ])
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
+-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
+-            [Define if __attribute__((visibility("hidden"))) is supported.])
++  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
++      libffi_cv_hidden_visibility_attribute, [
++      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
++      libffi_cv_hidden_visibility_attribute=no
++      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
++          if grep '\.hidden.*foo' conftest.s >/dev/null; then
++              libffi_cv_hidden_visibility_attribute=yes
++          fi
++      fi
++      rm -f conftest.*
++      ])
++  if test $libffi_cv_hidden_visibility_attribute = yes; then
++      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
++            [Define if __attribute__((visibility("hidden"))) is supported.])
++  fi
+ fi
+ AH_BOTTOM([
+@@ -400,6 +443,7 @@ AC_ARG_ENABLE(debug,
+   if test "$enable_debug" = "yes"; then
+     AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
+   fi)
++AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
+ AC_ARG_ENABLE(structs,
+ [  --disable-structs       omit code for struct support],
+@@ -419,21 +463,25 @@ AC_ARG_ENABLE(purify-safety,
+     AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
+   fi)
+-if test -n "$with_cross_host" &&
+-   test x"$with_cross_host" != x"no"; then
+-  toolexecdir='$(exec_prefix)/$(target_alias)'
+-  toolexeclibdir='$(toolexecdir)/lib'
+-else
+-  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+-  toolexeclibdir='$(libdir)'
++# These variables are only ever used when we cross-build to X86_WIN32.
++# And we only support this with GCC, so...
++if test x"$GCC" != x"no"; then
++  if test -n "$with_cross_host" &&
++     test x"$with_cross_host" != x"no"; then
++    toolexecdir='$(exec_prefix)/$(target_alias)'
++    toolexeclibdir='$(toolexecdir)/lib'
++  else
++    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++    toolexeclibdir='$(libdir)'
++  fi
++  multi_os_directory=`$CC -print-multi-os-directory`
++  case $multi_os_directory in
++    .) ;; # Avoid trailing /.
++    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
++  esac
++  AC_SUBST(toolexecdir)
++  AC_SUBST(toolexeclibdir)
+ fi
+-multi_os_directory=`$CC -print-multi-os-directory`
+-case $multi_os_directory in
+-  .) ;; # Avoid trailing /.
+-  *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+-esac
+-AC_SUBST(toolexecdir)
+-AC_SUBST(toolexeclibdir)
+ if test "${multilib}" = "yes"; then
+   multilib_arg="--enable-multilib"
+@@ -449,6 +497,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
+ AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
+-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile)
++AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
+ AC_OUTPUT
+Index: libffi/libffi.pc.in
+===================================================================
+--- /dev/null
++++ libffi/libffi.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++
++Name: @PACKAGE_NAME@
++Description: Library supporting Foreign Function Interfaces
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lffi
++Cflags: -I${includedir}
+Index: libffi/libtool-version
+===================================================================
+--- libffi.orig/libtool-version
++++ libffi/libtool-version
+@@ -2,5 +2,28 @@
+ # the libtool manual to understand the meaning of the fields.  This is
+ # a separate file so that version updates don't involve re-running
+ # automake.
++#
++# Here are a set of rules to help you update your library version
++# information:
++# 
++# 1. Start with version information of `0:0:0' for each libtool library.
++#
++# 2. Update the version information only immediately before a public
++#    release of your software. More frequent updates are unnecessary,
++#    and only guarantee that the current interface number gets larger
++#    faster.
++#
++# 3. If the library source code has changed at all since the last
++#    update, then increment revision (`c:r:a' becomes `c:r+1:a').
++#
++# 4. If any interfaces have been added, removed, or changed since the
++#    last update, increment current, and set revision to 0.
++#
++# 5. If any interfaces have been added since the last public release,
++#    then increment age.
++#
++# 6. If any interfaces have been removed since the last public
++#    release, then set age to 0.
++#
+ # CURRENT:REVISION:AGE
+-4:1:0
++6:0:0
+Index: libffi/mdate-sh
 ===================================================================
---- libffi.orig/aclocal.m4
-+++ libffi/aclocal.m4
-@@ -1,7 +1,8 @@
--# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
--# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-+# Inc.
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -13,18 +14,9430 @@
- m4_ifndef([AC_AUTOCONF_VERSION],
-   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
--m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
--[m4_warning([this file was generated for autoconf 2.64.
-+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'.])])
--# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+--- /dev/null
++++ libffi/mdate-sh
+@@ -0,0 +1,201 @@
++#!/bin/sh
++# Get modification time of a file or directory and pretty-print it.
++
++scriptversion=2005-06-29.22
++
++# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
++# Foundation, Inc.
++# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
++#
++# 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, or (at your option)
++# any later version.
 +#
-+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+#                 Foundation, Inc.
-+#   Written by Gordon Matzigkeit, 1996
++# 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.
 +#
-+# 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.
++# 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.
++
++# This file is maintained in Automake, please report
++# bugs to <bug-automake@gnu.org> or send patches to
++# <automake-patches@gnu.org>.
++
++case $1 in
++  '')
++     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
++     exit 1;
++     ;;
++  -h | --h*)
++    cat <<\EOF
++Usage: mdate-sh [--help] [--version] FILE
++
++Pretty-print the modification time of FILE.
++
++Report bugs to <bug-automake@gnu.org>.
++EOF
++    exit $?
++    ;;
++  -v | --v*)
++    echo "mdate-sh $scriptversion"
++    exit $?
++    ;;
++esac
++
++# Prevent date giving response in another language.
++LANG=C
++export LANG
++LC_ALL=C
++export LC_ALL
++LC_TIME=C
++export LC_TIME
++
++# GNU ls changes its time format in response to the TIME_STYLE
++# variable.  Since we cannot assume `unset' works, revert this
++# variable to its documented default.
++if test "${TIME_STYLE+set}" = set; then
++  TIME_STYLE=posix-long-iso
++  export TIME_STYLE
++fi
++
++save_arg1=$1
++
++# Find out how to get the extended ls output of a file or directory.
++if ls -L /dev/null 1>/dev/null 2>&1; then
++  ls_command='ls -L -l -d'
++else
++  ls_command='ls -l -d'
++fi
++
++# A `ls -l' line looks as follows on OS/2.
++#  drwxrwx---        0 Aug 11  2001 foo
++# This differs from Unix, which adds ownership information.
++#  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
++#
++# To find the date, we split the line on spaces and iterate on words
++# until we find a month.  This cannot work with files whose owner is a
++# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
++# will be owned by a user whose name is a month.  So we first look at
++# the extended ls output of the root directory to decide how many
++# words should be skipped to get the date.
++
++# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
++set x`ls -l -d /`
++
++# Find which argument is the month.
++month=
++command=
++until test $month
++do
++  shift
++  # Add another shift to the command.
++  command="$command shift;"
++  case $1 in
++    Jan) month=January; nummonth=1;;
++    Feb) month=February; nummonth=2;;
++    Mar) month=March; nummonth=3;;
++    Apr) month=April; nummonth=4;;
++    May) month=May; nummonth=5;;
++    Jun) month=June; nummonth=6;;
++    Jul) month=July; nummonth=7;;
++    Aug) month=August; nummonth=8;;
++    Sep) month=September; nummonth=9;;
++    Oct) month=October; nummonth=10;;
++    Nov) month=November; nummonth=11;;
++    Dec) month=December; nummonth=12;;
++  esac
++done
++
++# Get the extended ls output of the file or directory.
++set dummy x`eval "$ls_command \"\$save_arg1\""`
++
++# Remove all preceding arguments
++eval $command
++
++# Because of the dummy argument above, month is in $2.
++#
++# On a POSIX system, we should have
++#
++# $# = 5
++# $1 = file size
++# $2 = month
++# $3 = day
++# $4 = year or time
++# $5 = filename
++#
++# On Darwin 7.7.0 and 7.6.0, we have
++#
++# $# = 4
++# $1 = day
++# $2 = month
++# $3 = year or time
++# $4 = filename
++
++# Get the month.
++case $2 in
++  Jan) month=January; nummonth=1;;
++  Feb) month=February; nummonth=2;;
++  Mar) month=March; nummonth=3;;
++  Apr) month=April; nummonth=4;;
++  May) month=May; nummonth=5;;
++  Jun) month=June; nummonth=6;;
++  Jul) month=July; nummonth=7;;
++  Aug) month=August; nummonth=8;;
++  Sep) month=September; nummonth=9;;
++  Oct) month=October; nummonth=10;;
++  Nov) month=November; nummonth=11;;
++  Dec) month=December; nummonth=12;;
++esac
++
++case $3 in
++  ???*) day=$1;;
++  *) day=$3; shift;;
++esac
++
++# Here we have to deal with the problem that the ls output gives either
++# the time of day or the year.
++case $3 in
++  *:*) set `date`; eval year=\$$#
++       case $2 in
++       Jan) nummonthtod=1;;
++       Feb) nummonthtod=2;;
++       Mar) nummonthtod=3;;
++       Apr) nummonthtod=4;;
++       May) nummonthtod=5;;
++       Jun) nummonthtod=6;;
++       Jul) nummonthtod=7;;
++       Aug) nummonthtod=8;;
++       Sep) nummonthtod=9;;
++       Oct) nummonthtod=10;;
++       Nov) nummonthtod=11;;
++       Dec) nummonthtod=12;;
++       esac
++       # For the first six month of the year the time notation can also
++       # be used for files modified in the last year.
++       if (expr $nummonth \> $nummonthtod) > /dev/null;
++       then
++       year=`expr $year - 1`
++       fi;;
++  *) year=$3;;
++esac
++
++# The result.
++echo $day $month $year
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
+Index: libffi/texinfo.tex
+===================================================================
+--- /dev/null
++++ libffi/texinfo.tex
+@@ -0,0 +1,7210 @@
++% texinfo.tex -- TeX macros to handle Texinfo files.
++%
++% Load plain if necessary, i.e., if running under initex.
++\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
++%
++\def\texinfoversion{2005-07-05.19}
++%
++% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
++% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
++% Foundation, Inc.
++%
++% This texinfo.tex file 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, or (at
++% your option) any later version.
++%
++% This texinfo.tex file 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 texinfo.tex file; see the file COPYING.  If not, write
++% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++% Boston, MA 02110-1301, USA.
++%
++% As a special exception, when this file is read by TeX when processing
++% a Texinfo source document, you may use the result without
++% restriction.  (This has been our intent since Texinfo was invented.)
++%
++% Please try the latest version of texinfo.tex before submitting bug
++% reports; you can get the latest version from:
++%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
++%   ftp://tug.org/tex/texinfo.tex
++%     (and all CTAN mirrors, see http://www.ctan.org).
++% The texinfo.tex in any given distribution could well be out
++% of date, so if that's what you're using, please check.
++%
++% Send bug reports to bug-texinfo@gnu.org.  Please include including a
++% complete document in each bug report with which we can reproduce the
++% problem.  Patches are, of course, greatly appreciated.
++%
++% To process a Texinfo manual with TeX, it's most reliable to use the
++% texi2dvi shell script that comes with the distribution.  For a simple
++% manual foo.texi, however, you can get away with this:
++%   tex foo.texi
++%   texindex foo.??
++%   tex foo.texi
++%   tex foo.texi
++%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
++% The extra TeX runs get the cross-reference information correct.
++% Sometimes one run after texindex suffices, and sometimes you need more
++% than two; texi2dvi does it as many times as necessary.
++%
++% It is possible to adapt texinfo.tex for other languages, to some
++% extent.  You can get the existing language-specific files from the
++% full Texinfo distribution.
++%
++% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
++
++
++\message{Loading texinfo [version \texinfoversion]:}
++
++% If in a .fmt file, print the version number
++% and turn on active characters that we couldn't do earlier because
++% they might have appeared in the input file name.
++\everyjob{\message{[Texinfo version \texinfoversion]}%
++  \catcode`+=\active \catcode`\_=\active}
++
++\message{Basics,}
++\chardef\other=12
++
++% We never want plain's \outer definition of \+ in Texinfo.
++% For @tex, we can use \tabalign.
++\let\+ = \relax
++
++% Save some plain tex macros whose names we will redefine.
++\let\ptexb=\b
++\let\ptexbullet=\bullet
++\let\ptexc=\c
++\let\ptexcomma=\,
++\let\ptexdot=\.
++\let\ptexdots=\dots
++\let\ptexend=\end
++\let\ptexequiv=\equiv
++\let\ptexexclam=\!
++\let\ptexfootnote=\footnote
++\let\ptexgtr=>
++\let\ptexhat=^
++\let\ptexi=\i
++\let\ptexindent=\indent
++\let\ptexinsert=\insert
++\let\ptexlbrace=\{
++\let\ptexless=<
++\let\ptexnewwrite\newwrite
++\let\ptexnoindent=\noindent
++\let\ptexplus=+
++\let\ptexrbrace=\}
++\let\ptexslash=\/
++\let\ptexstar=\*
++\let\ptext=\t
++
++% If this character appears in an error message or help string, it
++% starts a new line in the output.
++\newlinechar = `^^J
++
++% Use TeX 3.0's \inputlineno to get the line number, for better error
++% messages, but if we're using an old version of TeX, don't do anything.
++%
++\ifx\inputlineno\thisisundefined
++  \let\linenumber = \empty % Pre-3.0.
++\else
++  \def\linenumber{l.\the\inputlineno:\space}
++\fi
++
++% Set up fixed words for English if not already set.
++\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
++\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
++\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
++\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
++\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
++\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
++\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
++\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
++\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
++\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
++\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
++\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
++\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
++\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
++\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
++\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
++\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
++\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
++\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
++%
++\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
++\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
++\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
++\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
++\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
++\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
++\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
++\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
++\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
++\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
++\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
++\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
++%
++\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
++\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
++\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
++\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
++\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
++
++% In some macros, we cannot use the `\? notation---the left quote is
++% in some cases the escape char.
++\chardef\backChar  = `\\
++\chardef\colonChar = `\:
++\chardef\commaChar = `\,
++\chardef\dotChar   = `\.
++\chardef\exclamChar= `\!
++\chardef\plusChar  = `\+
++\chardef\questChar = `\?
++\chardef\semiChar  = `\;
++\chardef\underChar = `\_
++
++\chardef\spaceChar = `\ %
++\chardef\spacecat = 10
++\def\spaceisspace{\catcode\spaceChar=\spacecat}
++
++{% for help with debugging.
++ % example usage: \expandafter\show\activebackslash
++ \catcode`\! = 0 \catcode`\\ = \active
++ !global!def!activebackslash{\}
++}
++
++% Ignore a token.
++%
++\def\gobble#1{}
++
++% The following is used inside several \edef's.
++\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
++
++% Hyphenation fixes.
++\hyphenation{
++  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
++  ap-pen-dix bit-map bit-maps
++  data-base data-bases eshell fall-ing half-way long-est man-u-script
++  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
++  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
++  spell-ing spell-ings
++  stand-alone strong-est time-stamp time-stamps which-ever white-space
++  wide-spread wrap-around
++}
++
++% Margin to add to right of even pages, to left of odd pages.
++\newdimen\bindingoffset
++\newdimen\normaloffset
++\newdimen\pagewidth \newdimen\pageheight
++
++% For a final copy, take out the rectangles
++% that mark overfull boxes (in case you have decided
++% that the text looks ok even though it passes the margin).
++%
++\def\finalout{\overfullrule=0pt}
++
++% @| inserts a changebar to the left of the current line.  It should
++% surround any changed text.  This approach does *not* work if the
++% change spans more than two lines of output.  To handle that, we would
++% have adopt a much more difficult approach (putting marks into the main
++% vertical list for the beginning and end of each change).
++%
++\def\|{%
++  % \vadjust can only be used in horizontal mode.
++  \leavevmode
++  %
++  % Append this vertical mode material after the current line in the output.
++  \vadjust{%
++    % We want to insert a rule with the height and depth of the current
++    % leading; that is exactly what \strutbox is supposed to record.
++    \vskip-\baselineskip
++    %
++    % \vadjust-items are inserted at the left edge of the type.  So
++    % the \llap here moves out into the left-hand margin.
++    \llap{%
++      %
++      % For a thicker or thinner bar, change the `1pt'.
++      \vrule height\baselineskip width1pt
++      %
++      % This is the space between the bar and the text.
++      \hskip 12pt
++    }%
++  }%
++}
++
++% Sometimes it is convenient to have everything in the transcript file
++% and nothing on the terminal.  We don't just call \tracingall here,
++% since that produces some useless output on the terminal.  We also make
++% some effort to order the tracing commands to reduce output in the log
++% file; cf. trace.sty in LaTeX.
++%
++\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
++\def\loggingall{%
++  \tracingstats2
++  \tracingpages1
++  \tracinglostchars2  % 2 gives us more in etex
++  \tracingparagraphs1
++  \tracingoutput1
++  \tracingmacros2
++  \tracingrestores1
++  \showboxbreadth\maxdimen \showboxdepth\maxdimen
++  \ifx\eTeXversion\undefined\else % etex gives us more logging
++    \tracingscantokens1
++    \tracingifs1
++    \tracinggroups1
++    \tracingnesting2
++    \tracingassigns1
++  \fi
++  \tracingcommands3  % 3 gives us more in etex
++  \errorcontextlines16
++}%
++
++% add check for \lastpenalty to plain's definitions.  If the last thing
++% we did was a \nobreak, we don't want to insert more space.
++%
++\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
++  \removelastskip\penalty-50\smallskip\fi\fi}
++\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
++  \removelastskip\penalty-100\medskip\fi\fi}
++\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
++  \removelastskip\penalty-200\bigskip\fi\fi}
++
++% For @cropmarks command.
++% Do @cropmarks to get crop marks.
++%
++\newif\ifcropmarks
++\let\cropmarks = \cropmarkstrue
++%
++% Dimensions to add cropmarks at corners.
++% Added by P. A. MacKay, 12 Nov. 1986
++%
++\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
++\newdimen\cornerlong  \cornerlong=1pc
++\newdimen\cornerthick \cornerthick=.3pt
++\newdimen\topandbottommargin \topandbottommargin=.75in
++
++% Main output routine.
++\chardef\PAGE = 255
++\output = {\onepageout{\pagecontents\PAGE}}
++
++\newbox\headlinebox
++\newbox\footlinebox
++
++% \onepageout takes a vbox as an argument.  Note that \pagecontents
++% does insertions, but you have to call it yourself.
++\def\onepageout#1{%
++  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
++  %
++  \ifodd\pageno  \advance\hoffset by \bindingoffset
++  \else \advance\hoffset by -\bindingoffset\fi
++  %
++  % Do this outside of the \shipout so @code etc. will be expanded in
++  % the headline as they should be, not taken literally (outputting ''code).
++  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
++  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
++  %
++  {%
++    % Have to do this stuff outside the \shipout because we want it to
++    % take effect in \write's, yet the group defined by the \vbox ends
++    % before the \shipout runs.
++    %
++    \indexdummies         % don't expand commands in the output.
++    \shipout\vbox{%
++      % Do this early so pdf references go to the beginning of the page.
++      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
++      %
++      \ifcropmarks \vbox to \outervsize\bgroup
++        \hsize = \outerhsize
++        \vskip-\topandbottommargin
++        \vtop to0pt{%
++          \line{\ewtop\hfil\ewtop}%
++          \nointerlineskip
++          \line{%
++            \vbox{\moveleft\cornerthick\nstop}%
++            \hfill
++            \vbox{\moveright\cornerthick\nstop}%
++          }%
++          \vss}%
++        \vskip\topandbottommargin
++        \line\bgroup
++          \hfil % center the page within the outer (page) hsize.
++          \ifodd\pageno\hskip\bindingoffset\fi
++          \vbox\bgroup
++      \fi
++      %
++      \unvbox\headlinebox
++      \pagebody{#1}%
++      \ifdim\ht\footlinebox > 0pt
++        % Only leave this space if the footline is nonempty.
++        % (We lessened \vsize for it in \oddfootingxxx.)
++        % The \baselineskip=24pt in plain's \makefootline has no effect.
++        \vskip 2\baselineskip
++        \unvbox\footlinebox
++      \fi
++      %
++      \ifcropmarks
++          \egroup % end of \vbox\bgroup
++        \hfil\egroup % end of (centering) \line\bgroup
++        \vskip\topandbottommargin plus1fill minus1fill
++        \boxmaxdepth = \cornerthick
++        \vbox to0pt{\vss
++          \line{%
++            \vbox{\moveleft\cornerthick\nsbot}%
++            \hfill
++            \vbox{\moveright\cornerthick\nsbot}%
++          }%
++          \nointerlineskip
++          \line{\ewbot\hfil\ewbot}%
++        }%
++      \egroup % \vbox from first cropmarks clause
++      \fi
++    }% end of \shipout\vbox
++  }% end of group with \indexdummies
++  \advancepageno
++  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
++}
++
++\newinsert\margin \dimen\margin=\maxdimen
++
++\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
++{\catcode`\@ =11
++\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
++% marginal hacks, juha@viisa.uucp (Juha Takala)
++\ifvoid\margin\else % marginal info is present
++  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
++\dimen@=\dp#1 \unvbox#1
++\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
++\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
++}
++
++% Here are the rules for the cropmarks.  Note that they are
++% offset so that the space between them is truly \outerhsize or \outervsize
++% (P. A. MacKay, 12 November, 1986)
++%
++\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
++\def\nstop{\vbox
++  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
++\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
++\def\nsbot{\vbox
++  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
++
++% Parse an argument, then pass it to #1.  The argument is the rest of
++% the input line (except we remove a trailing comment).  #1 should be a
++% macro which expects an ordinary undelimited TeX argument.
++%
++\def\parsearg{\parseargusing{}}
++\def\parseargusing#1#2{%
++  \def\next{#2}%
++  \begingroup
++    \obeylines
++    \spaceisspace
++    #1%
++    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
++}
++
++{\obeylines %
++  \gdef\parseargline#1^^M{%
++    \endgroup % End of the group started in \parsearg.
++    \argremovecomment #1\comment\ArgTerm%
++  }%
++}
++
++% First remove any @comment, then any @c comment.
++\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
++\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
++
++% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
++%
++% \argremovec might leave us with trailing space, e.g.,
++%    @end itemize  @c foo
++% This space token undergoes the same procedure and is eventually removed
++% by \finishparsearg.
++%
++\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
++\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
++\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
++  \def\temp{#3}%
++  \ifx\temp\empty
++    % We cannot use \next here, as it holds the macro to run;
++    % thus we reuse \temp.
++    \let\temp\finishparsearg
++  \else
++    \let\temp\argcheckspaces
++  \fi
++  % Put the space token in:
++  \temp#1 #3\ArgTerm
++}
++
++% If a _delimited_ argument is enclosed in braces, they get stripped; so
++% to get _exactly_ the rest of the line, we had to prevent such situation.
++% We prepended an \empty token at the very beginning and we expand it now,
++% just before passing the control to \next.
++% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
++% either the null string, or it ends with \^^M---thus there is no danger
++% that a pair of braces would be stripped.
++%
++% But first, we have to remove the trailing space token.
++%
++\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
++
++% \parseargdef\foo{...}
++%     is roughly equivalent to
++% \def\foo{\parsearg\Xfoo}
++% \def\Xfoo#1{...}
++%
++% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
++% favourite TeX trick.  --kasal, 16nov03
++
++\def\parseargdef#1{%
++  \expandafter \doparseargdef \csname\string#1\endcsname #1%
++}
++\def\doparseargdef#1#2{%
++  \def#2{\parsearg#1}%
++  \def#1##1%
++}
++
++% Several utility definitions with active space:
++{
++  \obeyspaces
++  \gdef\obeyedspace{ }
++
++  % Make each space character in the input produce a normal interword
++  % space in the output.  Don't allow a line break at this space, as this
++  % is used only in environments like @example, where each line of input
++  % should produce a line of output anyway.
++  %
++  \gdef\sepspaces{\obeyspaces\let =\tie}
++
++  % If an index command is used in an @example environment, any spaces
++  % therein should become regular spaces in the raw index file, not the
++  % expansion of \tie (\leavevmode \penalty \@M \ ).
++  \gdef\unsepspaces{\let =\space}
++}
++
++
++\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
++
++% Define the framework for environments in texinfo.tex.  It's used like this:
++%
++%   \envdef\foo{...}
++%   \def\Efoo{...}
++%
++% It's the responsibility of \envdef to insert \begingroup before the
++% actual body; @end closes the group after calling \Efoo.  \envdef also
++% defines \thisenv, so the current environment is known; @end checks
++% whether the environment name matches.  The \checkenv macro can also be
++% used to check whether the current environment is the one expected.
++%
++% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
++% are not treated as enviroments; they don't open a group.  (The
++% implementation of @end takes care not to call \endgroup in this
++% special case.)
++
++
++% At runtime, environments start with this:
++\def\startenvironment#1{\begingroup\def\thisenv{#1}}
++% initialize
++\let\thisenv\empty
++
++% ... but they get defined via ``\envdef\foo{...}'':
++\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
++\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
++
++% Check whether we're in the right environment:
++\def\checkenv#1{%
++  \def\temp{#1}%
++  \ifx\thisenv\temp
++  \else
++    \badenverr
++  \fi
++}
++
++% Evironment mismatch, #1 expected:
++\def\badenverr{%
++  \errhelp = \EMsimple
++  \errmessage{This command can appear only \inenvironment\temp,
++    not \inenvironment\thisenv}%
++}
++\def\inenvironment#1{%
++  \ifx#1\empty
++    out of any environment%
++  \else
++    in environment \expandafter\string#1%
++  \fi
++}
++
++% @end foo executes the definition of \Efoo.
++% But first, it executes a specialized version of \checkenv
++%
++\parseargdef\end{%
++  \if 1\csname iscond.#1\endcsname
++  \else
++    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
++    \expandafter\checkenv\csname#1\endcsname
++    \csname E#1\endcsname
++    \endgroup
++  \fi
++}
++
++\newhelp\EMsimple{Press RETURN to continue.}
++
++
++%% Simple single-character @ commands
++
++% @@ prints an @
++% Kludge this until the fonts are right (grr).
++\def\@{{\tt\char64}}
++
++% This is turned off because it was never documented
++% and you can use @w{...} around a quote to suppress ligatures.
++%% Define @` and @' to be the same as ` and '
++%% but suppressing ligatures.
++%\def\`{{`}}
++%\def\'{{'}}
++
++% Used to generate quoted braces.
++\def\mylbrace {{\tt\char123}}
++\def\myrbrace {{\tt\char125}}
++\let\{=\mylbrace
++\let\}=\myrbrace
++\begingroup
++  % Definitions to produce \{ and \} commands for indices,
++  % and @{ and @} for the aux/toc files.
++  \catcode`\{ = \other \catcode`\} = \other
++  \catcode`\[ = 1 \catcode`\] = 2
++  \catcode`\! = 0 \catcode`\\ = \other
++  !gdef!lbracecmd[\{]%
++  !gdef!rbracecmd[\}]%
++  !gdef!lbraceatcmd[@{]%
++  !gdef!rbraceatcmd[@}]%
++!endgroup
++
++% @comma{} to avoid , parsing problems.
++\let\comma = ,
++
++% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
++% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
++\let\, = \c
++\let\dotaccent = \.
++\def\ringaccent#1{{\accent23 #1}}
++\let\tieaccent = \t
++\let\ubaraccent = \b
++\let\udotaccent = \d
++
++% Other special characters: @questiondown @exclamdown @ordf @ordm
++% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
++\def\questiondown{?`}
++\def\exclamdown{!`}
++\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
++\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
++
++% Dotless i and dotless j, used for accents.
++\def\imacro{i}
++\def\jmacro{j}
++\def\dotless#1{%
++  \def\temp{#1}%
++  \ifx\temp\imacro \ptexi
++  \else\ifx\temp\jmacro \j
++  \else \errmessage{@dotless can be used only with i or j}%
++  \fi\fi
++}
++
++% The \TeX{} logo, as in plain, but resetting the spacing so that a
++% period following counts as ending a sentence.  (Idea found in latex.)
++%
++\edef\TeX{\TeX \spacefactor=1000 }
++
++% @LaTeX{} logo.  Not quite the same results as the definition in
++% latex.ltx, since we use a different font for the raised A; it's most
++% convenient for us to use an explicitly smaller font, rather than using
++% the \scriptstyle font (since we don't reset \scriptstyle and
++% \scriptscriptstyle).
++%
++\def\LaTeX{%
++  L\kern-.36em
++  {\setbox0=\hbox{T}%
++   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
++  \kern-.15em
++  \TeX
++}
++
++% Be sure we're in horizontal mode when doing a tie, since we make space
++% equivalent to this in @example-like environments. Otherwise, a space
++% at the beginning of a line will start with \penalty -- and
++% since \penalty is valid in vertical mode, we'd end up putting the
++% penalty on the vertical list instead of in the new paragraph.
++{\catcode`@ = 11
++ % Avoid using \@M directly, because that causes trouble
++ % if the definition is written into an index file.
++ \global\let\tiepenalty = \@M
++ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
++}
++
++% @: forces normal size whitespace following.
++\def\:{\spacefactor=1000 }
++
++% @* forces a line break.
++\def\*{\hfil\break\hbox{}\ignorespaces}
++
++% @/ allows a line break.
++\let\/=\allowbreak
++
++% @. is an end-of-sentence period.
++\def\.{.\spacefactor=\endofsentencespacefactor\space}
++
++% @! is an end-of-sentence bang.
++\def\!{!\spacefactor=\endofsentencespacefactor\space}
++
++% @? is an end-of-sentence query.
++\def\?{?\spacefactor=\endofsentencespacefactor\space}
++
++% @frenchspacing on|off  says whether to put extra space after punctuation.
++% 
++\def\onword{on}
++\def\offword{off}
++%
++\parseargdef\frenchspacing{%
++  \def\temp{#1}%
++  \ifx\temp\onword \plainfrenchspacing
++  \else\ifx\temp\offword \plainnonfrenchspacing
++  \else
++    \errhelp = \EMsimple
++    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
++  \fi\fi
++}
++
++% @w prevents a word break.  Without the \leavevmode, @w at the
++% beginning of a paragraph, when TeX is still in vertical mode, would
++% produce a whole line of output instead of starting the paragraph.
++\def\w#1{\leavevmode\hbox{#1}}
++
++% @group ... @end group forces ... to be all on one page, by enclosing
++% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
++% to keep its height that of a normal line.  According to the rules for
++% \topskip (p.114 of the TeXbook), the glue inserted is
++% max (\topskip - \ht (first item), 0).  If that height is large,
++% therefore, no glue is inserted, and the space between the headline and
++% the text is small, which looks bad.
++%
++% Another complication is that the group might be very large.  This can
++% cause the glue on the previous page to be unduly stretched, because it
++% does not have much material.  In this case, it's better to add an
++% explicit \vfill so that the extra space is at the bottom.  The
++% threshold for doing this is if the group is more than \vfilllimit
++% percent of a page (\vfilllimit can be changed inside of @tex).
++%
++\newbox\groupbox
++\def\vfilllimit{0.7}
++%
++\envdef\group{%
++  \ifnum\catcode`\^^M=\active \else
++    \errhelp = \groupinvalidhelp
++    \errmessage{@group invalid in context where filling is enabled}%
++  \fi
++  \startsavinginserts
++  %
++  \setbox\groupbox = \vtop\bgroup
++    % Do @comment since we are called inside an environment such as
++    % @example, where each end-of-line in the input causes an
++    % end-of-line in the output.  We don't want the end-of-line after
++    % the `@group' to put extra space in the output.  Since @group
++    % should appear on a line by itself (according to the Texinfo
++    % manual), we don't worry about eating any user text.
++    \comment
++}
++%
++% The \vtop produces a box with normal height and large depth; thus, TeX puts
++% \baselineskip glue before it, and (when the next line of text is done)
++% \lineskip glue after it.  Thus, space below is not quite equal to space
++% above.  But it's pretty close.
++\def\Egroup{%
++    % To get correct interline space between the last line of the group
++    % and the first line afterwards, we have to propagate \prevdepth.
++    \endgraf % Not \par, as it may have been set to \lisppar.
++    \global\dimen1 = \prevdepth
++  \egroup           % End the \vtop.
++  % \dimen0 is the vertical size of the group's box.
++  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
++  % \dimen2 is how much space is left on the page (more or less).
++  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
++  % if the group doesn't fit on the current page, and it's a big big
++  % group, force a page break.
++  \ifdim \dimen0 > \dimen2
++    \ifdim \pagetotal < \vfilllimit\pageheight
++      \page
++    \fi
++  \fi
++  \box\groupbox
++  \prevdepth = \dimen1
++  \checkinserts
++}
++%
++% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
++% message, so this ends up printing `@group can only ...'.
++%
++\newhelp\groupinvalidhelp{%
++group can only be used in environments such as @example,^^J%
++where each line of input produces a line of output.}
++
++% @need space-in-mils
++% forces a page break if there is not space-in-mils remaining.
++
++\newdimen\mil  \mil=0.001in
++
++% Old definition--didn't work.
++%\parseargdef\need{\par %
++%% This method tries to make TeX break the page naturally
++%% if the depth of the box does not fit.
++%{\baselineskip=0pt%
++%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
++%\prevdepth=-1000pt
++%}}
++
++\parseargdef\need{%
++  % Ensure vertical mode, so we don't make a big box in the middle of a
++  % paragraph.
++  \par
++  %
++  % If the @need value is less than one line space, it's useless.
++  \dimen0 = #1\mil
++  \dimen2 = \ht\strutbox
++  \advance\dimen2 by \dp\strutbox
++  \ifdim\dimen0 > \dimen2
++    %
++    % Do a \strut just to make the height of this box be normal, so the
++    % normal leading is inserted relative to the preceding line.
++    % And a page break here is fine.
++    \vtop to #1\mil{\strut\vfil}%
++    %
++    % TeX does not even consider page breaks if a penalty added to the
++    % main vertical list is 10000 or more.  But in order to see if the
++    % empty box we just added fits on the page, we must make it consider
++    % page breaks.  On the other hand, we don't want to actually break the
++    % page after the empty box.  So we use a penalty of 9999.
++    %
++    % There is an extremely small chance that TeX will actually break the
++    % page at this \penalty, if there are no other feasible breakpoints in
++    % sight.  (If the user is using lots of big @group commands, which
++    % almost-but-not-quite fill up a page, TeX will have a hard time doing
++    % good page breaking, for example.)  However, I could not construct an
++    % example where a page broke at this \penalty; if it happens in a real
++    % document, then we can reconsider our strategy.
++    \penalty9999
++    %
++    % Back up by the size of the box, whether we did a page break or not.
++    \kern -#1\mil
++    %
++    % Do not allow a page break right after this kern.
++    \nobreak
++  \fi
++}
++
++% @br   forces paragraph break (and is undocumented).
++
++\let\br = \par
++
++% @page forces the start of a new page.
++%
++\def\page{\par\vfill\supereject}
++
++% @exdent text....
++% outputs text on separate line in roman font, starting at standard page margin
++
++% This records the amount of indent in the innermost environment.
++% That's how much \exdent should take out.
++\newskip\exdentamount
++
++% This defn is used inside fill environments such as @defun.
++\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
++
++% This defn is used inside nofill environments such as @example.
++\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
++  \leftline{\hskip\leftskip{\rm#1}}}}
++
++% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
++% paragraph.  For more general purposes, use the \margin insertion
++% class.  WHICH is `l' or `r'.
++%
++\newskip\inmarginspacing \inmarginspacing=1cm
++\def\strutdepth{\dp\strutbox}
++%
++\def\doinmargin#1#2{\strut\vadjust{%
++  \nobreak
++  \kern-\strutdepth
++  \vtop to \strutdepth{%
++    \baselineskip=\strutdepth
++    \vss
++    % if you have multiple lines of stuff to put here, you'll need to
++    % make the vbox yourself of the appropriate size.
++    \ifx#1l%
++      \llap{\ignorespaces #2\hskip\inmarginspacing}%
++    \else
++      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
++    \fi
++    \null
++  }%
++}}
++\def\inleftmargin{\doinmargin l}
++\def\inrightmargin{\doinmargin r}
++%
++% @inmargin{TEXT [, RIGHT-TEXT]}
++% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
++% else use TEXT for both).
++%
++\def\inmargin#1{\parseinmargin #1,,\finish}
++\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
++  \setbox0 = \hbox{\ignorespaces #2}%
++  \ifdim\wd0 > 0pt
++    \def\lefttext{#1}%  have both texts
++    \def\righttext{#2}%
++  \else
++    \def\lefttext{#1}%  have only one text
++    \def\righttext{#1}%
++  \fi
++  %
++  \ifodd\pageno
++    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
++  \else
++    \def\temp{\inleftmargin\lefttext}%
++  \fi
++  \temp
++}
++
++% @include file    insert text of that file as input.
++%
++\def\include{\parseargusing\filenamecatcodes\includezzz}
++\def\includezzz#1{%
++  \pushthisfilestack
++  \def\thisfile{#1}%
++  {%
++    \makevalueexpandable
++    \def\temp{\input #1 }%
++    \expandafter
++  }\temp
++  \popthisfilestack
++}
++\def\filenamecatcodes{%
++  \catcode`\\=\other
++  \catcode`~=\other
++  \catcode`^=\other
++  \catcode`_=\other
++  \catcode`|=\other
++  \catcode`<=\other
++  \catcode`>=\other
++  \catcode`+=\other
++  \catcode`-=\other
++}
++
++\def\pushthisfilestack{%
++  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
++}
++\def\pushthisfilestackX{%
++  \expandafter\pushthisfilestackY\thisfile\StackTerm
++}
++\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
++  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
++}
++
++\def\popthisfilestack{\errthisfilestackempty}
++\def\errthisfilestackempty{\errmessage{Internal error:
++  the stack of filenames is empty.}}
++
++\def\thisfile{}
++
++% @center line
++% outputs that line, centered.
++%
++\parseargdef\center{%
++  \ifhmode
++    \let\next\centerH
++  \else
++    \let\next\centerV
++  \fi
++  \next{\hfil \ignorespaces#1\unskip \hfil}%
++}
++\def\centerH#1{%
++  {%
++    \hfil\break
++    \advance\hsize by -\leftskip
++    \advance\hsize by -\rightskip
++    \line{#1}%
++    \break
++  }%
++}
++\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
++
++% @sp n   outputs n lines of vertical space
++
++\parseargdef\sp{\vskip #1\baselineskip}
++
++% @comment ...line which is ignored...
++% @c is the same as @comment
++% @ignore ... @end ignore  is another way to write a comment
++
++\def\comment{\begingroup \catcode`\^^M=\other%
++\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
++\commentxxx}
++{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
++
++\let\c=\comment
++
++% @paragraphindent NCHARS
++% We'll use ems for NCHARS, close enough.
++% NCHARS can also be the word `asis' or `none'.
++% We cannot feasibly implement @paragraphindent asis, though.
++%
++\def\asisword{asis} % no translation, these are keywords
++\def\noneword{none}
++%
++\parseargdef\paragraphindent{%
++  \def\temp{#1}%
++  \ifx\temp\asisword
++  \else
++    \ifx\temp\noneword
++      \defaultparindent = 0pt
++    \else
++      \defaultparindent = #1em
++    \fi
++  \fi
++  \parindent = \defaultparindent
++}
++
++% @exampleindent NCHARS
++% We'll use ems for NCHARS like @paragraphindent.
++% It seems @exampleindent asis isn't necessary, but
++% I preserve it to make it similar to @paragraphindent.
++\parseargdef\exampleindent{%
++  \def\temp{#1}%
++  \ifx\temp\asisword
++  \else
++    \ifx\temp\noneword
++      \lispnarrowing = 0pt
++    \else
++      \lispnarrowing = #1em
++    \fi
++  \fi
++}
++
++% @firstparagraphindent WORD
++% If WORD is `none', then suppress indentation of the first paragraph
++% after a section heading.  If WORD is `insert', then do indent at such
++% paragraphs.
++%
++% The paragraph indentation is suppressed or not by calling
++% \suppressfirstparagraphindent, which the sectioning commands do.
++% We switch the definition of this back and forth according to WORD.
++% By default, we suppress indentation.
++%
++\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
++\def\insertword{insert}
++%
++\parseargdef\firstparagraphindent{%
++  \def\temp{#1}%
++  \ifx\temp\noneword
++    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
++  \else\ifx\temp\insertword
++    \let\suppressfirstparagraphindent = \relax
++  \else
++    \errhelp = \EMsimple
++    \errmessage{Unknown @firstparagraphindent option `\temp'}%
++  \fi\fi
++}
++
++% Here is how we actually suppress indentation.  Redefine \everypar to
++% \kern backwards by \parindent, and then reset itself to empty.
++%
++% We also make \indent itself not actually do anything until the next
++% paragraph.
++%
++\gdef\dosuppressfirstparagraphindent{%
++  \gdef\indent{%
++    \restorefirstparagraphindent
++    \indent
++  }%
++  \gdef\noindent{%
++    \restorefirstparagraphindent
++    \noindent
++  }%
++  \global\everypar = {%
++    \kern -\parindent
++    \restorefirstparagraphindent
++  }%
++}
++
++\gdef\restorefirstparagraphindent{%
++  \global \let \indent = \ptexindent
++  \global \let \noindent = \ptexnoindent
++  \global \everypar = {}%
++}
++
++
++% @asis just yields its argument.  Used with @table, for example.
++%
++\def\asis#1{#1}
++
++% @math outputs its argument in math mode.
++%
++% One complication: _ usually means subscripts, but it could also mean
++% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
++% _ active, and distinguish by seeing if the current family is \slfam,
++% which is what @var uses.
++{
++  \catcode\underChar = \active
++  \gdef\mathunderscore{%
++    \catcode\underChar=\active
++    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
++  }
++}
++% Another complication: we want \\ (and @\) to output a \ character.
++% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
++% this is not advertised and we don't care.  Texinfo does not
++% otherwise define @\.
++%
++% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
++\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
++%
++\def\math{%
++  \tex
++  \mathunderscore
++  \let\\ = \mathbackslash
++  \mathactive
++  $\finishmath
++}
++\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
++
++% Some active characters (such as <) are spaced differently in math.
++% We have to reset their definitions in case the @math was an argument
++% to a command which sets the catcodes (such as @item or @section).
++%
++{
++  \catcode`^ = \active
++  \catcode`< = \active
++  \catcode`> = \active
++  \catcode`+ = \active
++  \gdef\mathactive{%
++    \let^ = \ptexhat
++    \let< = \ptexless
++    \let> = \ptexgtr
++    \let+ = \ptexplus
++  }
++}
++
++% @bullet and @minus need the same treatment as @math, just above.
++\def\bullet{$\ptexbullet$}
++\def\minus{$-$}
++
++% @dots{} outputs an ellipsis using the current font.
++% We do .5em per period so that it has the same spacing in a typewriter
++% font as three actual period characters.
++%
++\def\dots{%
++  \leavevmode
++  \hbox to 1.5em{%
++    \hskip 0pt plus 0.25fil
++    .\hfil.\hfil.%
++    \hskip 0pt plus 0.5fil
++  }%
++}
++
++% @enddots{} is an end-of-sentence ellipsis.
++%
++\def\enddots{%
++  \dots
++  \spacefactor=\endofsentencespacefactor
++}
++
++% @comma{} is so commas can be inserted into text without messing up
++% Texinfo's parsing.
++%
++\let\comma = ,
++
++% @refill is a no-op.
++\let\refill=\relax
++
++% If working on a large document in chapters, it is convenient to
++% be able to disable indexing, cross-referencing, and contents, for test runs.
++% This is done with @novalidate (before @setfilename).
++%
++\newif\iflinks \linkstrue % by default we want the aux files.
++\let\novalidate = \linksfalse
++
++% @setfilename is done at the beginning of every texinfo file.
++% So open here the files we need to have open while reading the input.
++% This makes it possible to make a .fmt file for texinfo.
++\def\setfilename{%
++   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
++   \iflinks
++     \tryauxfile
++     % Open the new aux file.  TeX will close it automatically at exit.
++     \immediate\openout\auxfile=\jobname.aux
++   \fi % \openindices needs to do some work in any case.
++   \openindices
++   \let\setfilename=\comment % Ignore extra @setfilename cmds.
++   %
++   % If texinfo.cnf is present on the system, read it.
++   % Useful for site-wide @afourpaper, etc.
++   \openin 1 texinfo.cnf
++   \ifeof 1 \else \input texinfo.cnf \fi
++   \closein 1
++   %
++   \comment % Ignore the actual filename.
++}
++
++% Called from \setfilename.
++%
++\def\openindices{%
++  \newindex{cp}%
++  \newcodeindex{fn}%
++  \newcodeindex{vr}%
++  \newcodeindex{tp}%
++  \newcodeindex{ky}%
++  \newcodeindex{pg}%
++}
++
++% @bye.
++\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
++
++
++\message{pdf,}
++% adobe `portable' document format
++\newcount\tempnum
++\newcount\lnkcount
++\newtoks\filename
++\newcount\filenamelength
++\newcount\pgn
++\newtoks\toksA
++\newtoks\toksB
++\newtoks\toksC
++\newtoks\toksD
++\newbox\boxA
++\newcount\countA
++\newif\ifpdf
++\newif\ifpdfmakepagedest
++
++% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
++% can be set).  So we test for \relax and 0 as well as \undefined,
++% borrowed from ifpdf.sty.
++\ifx\pdfoutput\undefined
++\else
++  \ifx\pdfoutput\relax
++  \else
++    \ifcase\pdfoutput
++    \else
++      \pdftrue
++    \fi
++  \fi
++\fi
++
++% PDF uses PostScript string constants for the names of xref targets, to
++% for display in the outlines, and in other places.  Thus, we have to
++% double any backslashes.  Otherwise, a name like "\node" will be
++% interpreted as a newline (\n), followed by o, d, e.  Not good.
++% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
++% (and related messages, the final outcome is that it is up to the TeX
++% user to double the backslashes and otherwise make the string valid, so
++% that's we do).
++
++% double active backslashes.
++% 
++{\catcode`\@=0 \catcode`\\=\active
++ @gdef@activebackslash{@catcode`@\=@active @otherbackslash}
++ @gdef@activebackslashdouble{%
++   @catcode@backChar=@active
++   @let\=@doublebackslash}
++}
++
++% To handle parens, we must adopt a different approach, since parens are
++% not active characters.  hyperref.dtx (which has the same problem as
++% us) handles it with this amazing macro to replace tokens.  I've
++% tinkered with it a little for texinfo, but it's definitely from there.
++% 
++% #1 is the tokens to replace.
++% #2 is the replacement.
++% #3 is the control sequence with the string.
++% 
++\def\HyPsdSubst#1#2#3{%
++  \def\HyPsdReplace##1#1##2\END{%
++    ##1%
++    \ifx\\##2\\%
++    \else
++      #2%
++      \HyReturnAfterFi{%
++        \HyPsdReplace##2\END
++      }%
++    \fi
++  }%
++  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
++}
++\long\def\HyReturnAfterFi#1\fi{\fi#1}
++
++% #1 is a control sequence in which to do the replacements.
++\def\backslashparens#1{%
++  \xdef#1{#1}% redefine it as its expansion; the definition is simply
++             % \lastnode when called from \setref -> \pdfmkdest.
++  \HyPsdSubst{(}{\backslashlparen}{#1}%
++  \HyPsdSubst{)}{\backslashrparen}{#1}%
++}
++
++{\catcode\exclamChar = 0 \catcode\backChar = \other
++ !gdef!backslashlparen{\(}%
++ !gdef!backslashrparen{\)}%
++}
++
++\ifpdf
++  \input pdfcolor
++  \pdfcatalog{/PageMode /UseOutlines}%
++  \def\dopdfimage#1#2#3{%
++    \def\imagewidth{#2}%
++    \def\imageheight{#3}%
++    % without \immediate, pdftex seg faults when the same image is
++    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
++    \ifnum\pdftexversion < 14
++      \immediate\pdfimage
++    \else
++      \immediate\pdfximage
++    \fi
++      \ifx\empty\imagewidth\else width \imagewidth \fi
++      \ifx\empty\imageheight\else height \imageheight \fi
++      \ifnum\pdftexversion<13
++         #1.pdf%
++       \else
++         {#1.pdf}%
++       \fi
++    \ifnum\pdftexversion < 14 \else
++      \pdfrefximage \pdflastximage
++    \fi}
++  \def\pdfmkdest#1{{%
++    % We have to set dummies so commands such as @code, and characters
++    % such as \, aren't expanded when present in a section title.
++    \atdummies
++    \activebackslashdouble
++    \def\pdfdestname{#1}%
++    \backslashparens\pdfdestname
++    \pdfdest name{\pdfdestname} xyz%
++  }}%
++  %
++  % used to mark target names; must be expandable.
++  \def\pdfmkpgn#1{#1}%
++  %
++  \let\linkcolor = \Blue  % was Cyan, but that seems light?
++  \def\endlink{\Black\pdfendlink}
++  % Adding outlines to PDF; macros for calculating structure of outlines
++  % come from Petr Olsak
++  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
++    \else \csname#1\endcsname \fi}
++  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
++    \advance\tempnum by 1
++    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
++  %
++  % #1 is the section text, which is what will be displayed in the
++  % outline by the pdf viewer.  #2 is the pdf expression for the number
++  % of subentries (or empty, for subsubsections).  #3 is the node text,
++  % which might be empty if this toc entry had no corresponding node.
++  % #4 is the page number
++  %
++  \def\dopdfoutline#1#2#3#4{%
++    % Generate a link to the node text if that exists; else, use the
++    % page number.  We could generate a destination for the section
++    % text in the case where a section has no node, but it doesn't
++    % seem worth the trouble, since most documents are normally structured.
++    \def\pdfoutlinedest{#3}%
++    \ifx\pdfoutlinedest\empty
++      \def\pdfoutlinedest{#4}%
++    \else
++      % Doubled backslashes in the name.
++      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
++       \backslashparens\pdfoutlinedest}%
++    \fi
++    %
++    % Also double the backslashes in the display string.
++    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
++     \backslashparens\pdfoutlinetext}%
++    %
++    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
++  }
++  %
++  \def\pdfmakeoutlines{%
++    \begingroup
++      % Thanh's hack / proper braces in bookmarks
++      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
++      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
++      %
++      % Read toc silently, to get counts of subentries for \pdfoutline.
++      \def\numchapentry##1##2##3##4{%
++      \def\thischapnum{##2}%
++      \def\thissecnum{0}%
++      \def\thissubsecnum{0}%
++      }%
++      \def\numsecentry##1##2##3##4{%
++      \advancenumber{chap\thischapnum}%
++      \def\thissecnum{##2}%
++      \def\thissubsecnum{0}%
++      }%
++      \def\numsubsecentry##1##2##3##4{%
++      \advancenumber{sec\thissecnum}%
++      \def\thissubsecnum{##2}%
++      }%
++      \def\numsubsubsecentry##1##2##3##4{%
++      \advancenumber{subsec\thissubsecnum}%
++      }%
++      \def\thischapnum{0}%
++      \def\thissecnum{0}%
++      \def\thissubsecnum{0}%
++      %
++      % use \def rather than \let here because we redefine \chapentry et
++      % al. a second time, below.
++      \def\appentry{\numchapentry}%
++      \def\appsecentry{\numsecentry}%
++      \def\appsubsecentry{\numsubsecentry}%
++      \def\appsubsubsecentry{\numsubsubsecentry}%
++      \def\unnchapentry{\numchapentry}%
++      \def\unnsecentry{\numsecentry}%
++      \def\unnsubsecentry{\numsubsecentry}%
++      \def\unnsubsubsecentry{\numsubsubsecentry}%
++      \readdatafile{toc}%
++      %
++      % Read toc second time, this time actually producing the outlines.
++      % The `-' means take the \expnumber as the absolute number of
++      % subentries, which we calculated on our first read of the .toc above.
++      %
++      % We use the node names as the destinations.
++      \def\numchapentry##1##2##3##4{%
++        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
++      \def\numsecentry##1##2##3##4{%
++        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
++      \def\numsubsecentry##1##2##3##4{%
++        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
++      \def\numsubsubsecentry##1##2##3##4{% count is always zero
++        \dopdfoutline{##1}{}{##3}{##4}}%
++      %
++      % PDF outlines are displayed using system fonts, instead of
++      % document fonts.  Therefore we cannot use special characters,
++      % since the encoding is unknown.  For example, the eogonek from
++      % Latin 2 (0xea) gets translated to a | character.  Info from
++      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
++      %
++      % xx to do this right, we have to translate 8-bit characters to
++      % their "best" equivalent, based on the @documentencoding.  Right
++      % now, I guess we'll just let the pdf reader have its way.
++      \indexnofonts
++      \setupdatafile
++      \activebackslash
++      \input \jobname.toc
++    \endgroup
++  }
++  %
++  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
++    \ifx\PP\D\let\nextsp\relax
++    \else\let\nextsp\skipspaces
++      \ifx\p\space\else\addtokens{\filename}{\PP}%
++        \advance\filenamelength by 1
++      \fi
++    \fi
++    \nextsp}
++  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
++  \ifnum\pdftexversion < 14
++    \let \startlink \pdfannotlink
++  \else
++    \let \startlink \pdfstartlink
++  \fi
++  \def\pdfurl#1{%
++    \begingroup
++      \normalturnoffactive\def\@{@}%
++      \makevalueexpandable
++      \leavevmode\Red
++      \startlink attr{/Border [0 0 0]}%
++        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
++    \endgroup}
++  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
++  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
++  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
++  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
++  \def\maketoks{%
++    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
++    \ifx\first0\adn0
++    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
++    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
++    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
++    \else
++      \ifnum0=\countA\else\makelink\fi
++      \ifx\first.\let\next=\done\else
++        \let\next=\maketoks
++        \addtokens{\toksB}{\the\toksD}
++        \ifx\first,\addtokens{\toksB}{\space}\fi
++      \fi
++    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++    \next}
++  \def\makelink{\addtokens{\toksB}%
++    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++  \def\pdflink#1{%
++    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
++    \linkcolor #1\endlink}
++  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
++\else
++  \let\pdfmkdest = \gobble
++  \let\pdfurl = \gobble
++  \let\endlink = \relax
++  \let\linkcolor = \relax
++  \let\pdfmakeoutlines = \relax
++\fi  % \ifx\pdfoutput
++
++
++\message{fonts,}
++
++% Change the current font style to #1, remembering it in \curfontstyle.
++% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
++% italics, not bold italics.
++%
++\def\setfontstyle#1{%
++  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
++  \csname ten#1\endcsname  % change the current font
++}
++
++% Select #1 fonts with the current style.
++%
++\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
++
++\def\rm{\fam=0 \setfontstyle{rm}}
++\def\it{\fam=\itfam \setfontstyle{it}}
++\def\sl{\fam=\slfam \setfontstyle{sl}}
++\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
++\def\tt{\fam=\ttfam \setfontstyle{tt}}
++
++% Texinfo sort of supports the sans serif font style, which plain TeX does not.
++% So we set up a \sf.
++\newfam\sffam
++\def\sf{\fam=\sffam \setfontstyle{sf}}
++\let\li = \sf % Sometimes we call it \li, not \sf.
++
++% We don't need math for this font style.
++\def\ttsl{\setfontstyle{ttsl}}
++
++% Default leading.
++\newdimen\textleading  \textleading = 13.2pt
++
++% Set the baselineskip to #1, and the lineskip and strut size
++% correspondingly.  There is no deep meaning behind these magic numbers
++% used as factors; they just match (closely enough) what Knuth defined.
++%
++\def\lineskipfactor{.08333}
++\def\strutheightpercent{.70833}
++\def\strutdepthpercent {.29167}
++%
++\def\setleading#1{%
++  \normalbaselineskip = #1\relax
++  \normallineskip = \lineskipfactor\normalbaselineskip
++  \normalbaselines
++  \setbox\strutbox =\hbox{%
++    \vrule width0pt height\strutheightpercent\baselineskip
++                    depth \strutdepthpercent \baselineskip
++  }%
++}
++
++% Set the font macro #1 to the font named #2, adding on the
++% specified font prefix (normally `cm').
++% #3 is the font's design size, #4 is a scale factor
++\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
++
++% Use cm as the default font prefix.
++% To specify the font prefix, you must define \fontprefix
++% before you read in texinfo.tex.
++\ifx\fontprefix\undefined
++\def\fontprefix{cm}
++\fi
++% Support font families that don't use the same naming scheme as CM.
++\def\rmshape{r}
++\def\rmbshape{bx}               %where the normal face is bold
++\def\bfshape{b}
++\def\bxshape{bx}
++\def\ttshape{tt}
++\def\ttbshape{tt}
++\def\ttslshape{sltt}
++\def\itshape{ti}
++\def\itbshape{bxti}
++\def\slshape{sl}
++\def\slbshape{bxsl}
++\def\sfshape{ss}
++\def\sfbshape{ss}
++\def\scshape{csc}
++\def\scbshape{csc}
++
++% Text fonts (11.2pt, magstep1).
++\def\textnominalsize{11pt}
++\edef\mainmagstep{\magstephalf}
++\setfont\textrm\rmshape{10}{\mainmagstep}
++\setfont\texttt\ttshape{10}{\mainmagstep}
++\setfont\textbf\bfshape{10}{\mainmagstep}
++\setfont\textit\itshape{10}{\mainmagstep}
++\setfont\textsl\slshape{10}{\mainmagstep}
++\setfont\textsf\sfshape{10}{\mainmagstep}
++\setfont\textsc\scshape{10}{\mainmagstep}
++\setfont\textttsl\ttslshape{10}{\mainmagstep}
++\font\texti=cmmi10 scaled \mainmagstep
++\font\textsy=cmsy10 scaled \mainmagstep
++
++% A few fonts for @defun names and args.
++\setfont\defbf\bfshape{10}{\magstep1}
++\setfont\deftt\ttshape{10}{\magstep1}
++\setfont\defttsl\ttslshape{10}{\magstep1}
++\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
++
++% Fonts for indices, footnotes, small examples (9pt).
++\def\smallnominalsize{9pt}
++\setfont\smallrm\rmshape{9}{1000}
++\setfont\smalltt\ttshape{9}{1000}
++\setfont\smallbf\bfshape{10}{900}
++\setfont\smallit\itshape{9}{1000}
++\setfont\smallsl\slshape{9}{1000}
++\setfont\smallsf\sfshape{9}{1000}
++\setfont\smallsc\scshape{10}{900}
++\setfont\smallttsl\ttslshape{10}{900}
++\font\smalli=cmmi9
++\font\smallsy=cmsy9
++
++% Fonts for small examples (8pt).
++\def\smallernominalsize{8pt}
++\setfont\smallerrm\rmshape{8}{1000}
++\setfont\smallertt\ttshape{8}{1000}
++\setfont\smallerbf\bfshape{10}{800}
++\setfont\smallerit\itshape{8}{1000}
++\setfont\smallersl\slshape{8}{1000}
++\setfont\smallersf\sfshape{8}{1000}
++\setfont\smallersc\scshape{10}{800}
++\setfont\smallerttsl\ttslshape{10}{800}
++\font\smalleri=cmmi8
++\font\smallersy=cmsy8
++
++% Fonts for title page (20.4pt):
++\def\titlenominalsize{20pt}
++\setfont\titlerm\rmbshape{12}{\magstep3}
++\setfont\titleit\itbshape{10}{\magstep4}
++\setfont\titlesl\slbshape{10}{\magstep4}
++\setfont\titlett\ttbshape{12}{\magstep3}
++\setfont\titlettsl\ttslshape{10}{\magstep4}
++\setfont\titlesf\sfbshape{17}{\magstep1}
++\let\titlebf=\titlerm
++\setfont\titlesc\scbshape{10}{\magstep4}
++\font\titlei=cmmi12 scaled \magstep3
++\font\titlesy=cmsy10 scaled \magstep4
++\def\authorrm{\secrm}
++\def\authortt{\sectt}
++
++% Chapter (and unnumbered) fonts (17.28pt).
++\def\chapnominalsize{17pt}
++\setfont\chaprm\rmbshape{12}{\magstep2}
++\setfont\chapit\itbshape{10}{\magstep3}
++\setfont\chapsl\slbshape{10}{\magstep3}
++\setfont\chaptt\ttbshape{12}{\magstep2}
++\setfont\chapttsl\ttslshape{10}{\magstep3}
++\setfont\chapsf\sfbshape{17}{1000}
++\let\chapbf=\chaprm
++\setfont\chapsc\scbshape{10}{\magstep3}
++\font\chapi=cmmi12 scaled \magstep2
++\font\chapsy=cmsy10 scaled \magstep3
++
++% Section fonts (14.4pt).
++\def\secnominalsize{14pt}
++\setfont\secrm\rmbshape{12}{\magstep1}
++\setfont\secit\itbshape{10}{\magstep2}
++\setfont\secsl\slbshape{10}{\magstep2}
++\setfont\sectt\ttbshape{12}{\magstep1}
++\setfont\secttsl\ttslshape{10}{\magstep2}
++\setfont\secsf\sfbshape{12}{\magstep1}
++\let\secbf\secrm
++\setfont\secsc\scbshape{10}{\magstep2}
++\font\seci=cmmi12 scaled \magstep1
++\font\secsy=cmsy10 scaled \magstep2
++
++% Subsection fonts (13.15pt).
++\def\ssecnominalsize{13pt}
++\setfont\ssecrm\rmbshape{12}{\magstephalf}
++\setfont\ssecit\itbshape{10}{1315}
++\setfont\ssecsl\slbshape{10}{1315}
++\setfont\ssectt\ttbshape{12}{\magstephalf}
++\setfont\ssecttsl\ttslshape{10}{1315}
++\setfont\ssecsf\sfbshape{12}{\magstephalf}
++\let\ssecbf\ssecrm
++\setfont\ssecsc\scbshape{10}{1315}
++\font\sseci=cmmi12 scaled \magstephalf
++\font\ssecsy=cmsy10 scaled 1315
++
++% Reduced fonts for @acro in text (10pt).
++\def\reducednominalsize{10pt}
++\setfont\reducedrm\rmshape{10}{1000}
++\setfont\reducedtt\ttshape{10}{1000}
++\setfont\reducedbf\bfshape{10}{1000}
++\setfont\reducedit\itshape{10}{1000}
++\setfont\reducedsl\slshape{10}{1000}
++\setfont\reducedsf\sfshape{10}{1000}
++\setfont\reducedsc\scshape{10}{1000}
++\setfont\reducedttsl\ttslshape{10}{1000}
++\font\reducedi=cmmi10
++\font\reducedsy=cmsy10
++
++% In order for the font changes to affect most math symbols and letters,
++% we have to define the \textfont of the standard families.  Since
++% texinfo doesn't allow for producing subscripts and superscripts except
++% in the main text, we don't bother to reset \scriptfont and
++% \scriptscriptfont (which would also require loading a lot more fonts).
++%
++\def\resetmathfonts{%
++  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
++  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
++  \textfont\ttfam=\tentt \textfont\sffam=\tensf
++}
++
++% The font-changing commands redefine the meanings of \tenSTYLE, instead
++% of just \STYLE.  We do this because \STYLE needs to also set the
++% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
++% \tenSTYLE to set the current font.
++%
++% Each font-changing command also sets the names \lsize (one size lower)
++% and \lllsize (three sizes lower).  These relative commands are used in
++% the LaTeX logo and acronyms.
++%
++% This all needs generalizing, badly.
++%
++\def\textfonts{%
++  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
++  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
++  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
++  \let\tenttsl=\textttsl
++  \def\curfontsize{text}%
++  \def\lsize{reduced}\def\lllsize{smaller}%
++  \resetmathfonts \setleading{\textleading}}
++\def\titlefonts{%
++  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
++  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
++  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
++  \let\tenttsl=\titlettsl
++  \def\curfontsize{title}%
++  \def\lsize{chap}\def\lllsize{subsec}%
++  \resetmathfonts \setleading{25pt}}
++\def\titlefont#1{{\titlefonts\rm #1}}
++\def\chapfonts{%
++  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
++  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
++  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
++  \let\tenttsl=\chapttsl
++  \def\curfontsize{chap}%
++  \def\lsize{sec}\def\lllsize{text}%
++  \resetmathfonts \setleading{19pt}}
++\def\secfonts{%
++  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
++  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
++  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
++  \let\tenttsl=\secttsl
++  \def\curfontsize{sec}%
++  \def\lsize{subsec}\def\lllsize{reduced}%
++  \resetmathfonts \setleading{16pt}}
++\def\subsecfonts{%
++  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
++  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
++  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
++  \let\tenttsl=\ssecttsl
++  \def\curfontsize{ssec}%
++  \def\lsize{text}\def\lllsize{small}%
++  \resetmathfonts \setleading{15pt}}
++\let\subsubsecfonts = \subsecfonts
++\def\reducedfonts{%
++  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
++  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
++  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
++  \let\tenttsl=\reducedttsl
++  \def\curfontsize{reduced}%
++  \def\lsize{small}\def\lllsize{smaller}%
++  \resetmathfonts \setleading{10.5pt}}
++\def\smallfonts{%
++  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
++  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
++  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
++  \let\tenttsl=\smallttsl
++  \def\curfontsize{small}%
++  \def\lsize{smaller}\def\lllsize{smaller}%
++  \resetmathfonts \setleading{10.5pt}}
++\def\smallerfonts{%
++  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
++  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
++  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
++  \let\tenttsl=\smallerttsl
++  \def\curfontsize{smaller}%
++  \def\lsize{smaller}\def\lllsize{smaller}%
++  \resetmathfonts \setleading{9.5pt}}
++
++% Set the fonts to use with the @small... environments.
++\let\smallexamplefonts = \smallfonts
++
++% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
++% can fit this many characters:
++%   8.5x11=86   smallbook=72  a4=90  a5=69
++% If we use \scriptfonts (8pt), then we can fit this many characters:
++%   8.5x11=90+  smallbook=80  a4=90+  a5=77
++% For me, subjectively, the few extra characters that fit aren't worth
++% the additional smallness of 8pt.  So I'm making the default 9pt.
++%
++% By the way, for comparison, here's what fits with @example (10pt):
++%   8.5x11=71  smallbook=60  a4=75  a5=58
++%
++% I wish the USA used A4 paper.
++% --karl, 24jan03.
++
++
++% Set up the default fonts, so we can use them for creating boxes.
++%
++\textfonts \rm
++
++% Define these so they can be easily changed for other fonts.
++\def\angleleft{$\langle$}
++\def\angleright{$\rangle$}
++
++% Count depth in font-changes, for error checks
++\newcount\fontdepth \fontdepth=0
++
++% Fonts for short table of contents.
++\setfont\shortcontrm\rmshape{12}{1000}
++\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
++\setfont\shortcontsl\slshape{12}{1000}
++\setfont\shortconttt\ttshape{12}{1000}
++
++%% Add scribe-like font environments, plus @l for inline lisp (usually sans
++%% serif) and @ii for TeX italic
++
++% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
++% unless the following character is such as not to need one.
++\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
++                    \ptexslash\fi\fi\fi}
++\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
++\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
++
++% like \smartslanted except unconditionally uses \ttsl.
++% @var is set to this for defun arguments.
++\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
++
++% like \smartslanted except unconditionally use \sl.  We never want
++% ttsl for book titles, do we?
++\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
++
++\let\i=\smartitalic
++\let\slanted=\smartslanted
++\let\var=\smartslanted
++\let\dfn=\smartslanted
++\let\emph=\smartitalic
++
++% @b, explicit bold.
++\def\b#1{{\bf #1}}
++\let\strong=\b
++
++% @sansserif, explicit sans.
++\def\sansserif#1{{\sf #1}}
++
++% We can't just use \exhyphenpenalty, because that only has effect at
++% the end of a paragraph.  Restore normal hyphenation at the end of the
++% group within which \nohyphenation is presumably called.
++%
++\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
++\def\restorehyphenation{\hyphenchar\font = `- }
++
++% Set sfcode to normal for the chars that usually have another value.
++% Can't use plain's \frenchspacing because it uses the `\x notation, and
++% sometimes \x has an active definition that messes things up.
++%
++\catcode`@=11
++  \def\plainfrenchspacing{%
++    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
++    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
++    \def\endofsentencespacefactor{1000}% for @. and friends
++  }
++  \def\plainnonfrenchspacing{%
++    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
++    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
++    \def\endofsentencespacefactor{3000}% for @. and friends
++  }
++\catcode`@=\other
++\def\endofsentencespacefactor{3000}% default
++
++\def\t#1{%
++  {\tt \rawbackslash \plainfrenchspacing #1}%
++  \null
++}
++\def\samp#1{`\tclose{#1}'\null}
++\setfont\keyrm\rmshape{8}{1000}
++\font\keysy=cmsy9
++\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
++  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
++    \vbox{\hrule\kern-0.4pt
++     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
++    \kern-0.4pt\hrule}%
++  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
++% The old definition, with no lozenge:
++%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
++\def\ctrl #1{{\tt \rawbackslash \hat}#1}
++
++% @file, @option are the same as @samp.
++\let\file=\samp
++\let\option=\samp
++
++% @code is a modification of @t,
++% which makes spaces the same size as normal in the surrounding text.
++\def\tclose#1{%
++  {%
++    % Change normal interword space to be same as for the current font.
++    \spaceskip = \fontdimen2\font
++    %
++    % Switch to typewriter.
++    \tt
++    %
++    % But `\ ' produces the large typewriter interword space.
++    \def\ {{\spaceskip = 0pt{} }}%
++    %
++    % Turn off hyphenation.
++    \nohyphenation
++    %
++    \rawbackslash
++    \plainfrenchspacing
++    #1%
++  }%
++  \null
++}
++
++% We *must* turn on hyphenation at `-' and `_' in @code.
++% Otherwise, it is too hard to avoid overfull hboxes
++% in the Emacs manual, the Library manual, etc.
++
++% Unfortunately, TeX uses one parameter (\hyphenchar) to control
++% both hyphenation at - and hyphenation within words.
++% We must therefore turn them both off (\tclose does that)
++% and arrange explicitly to hyphenate at a dash.
++%  -- rms.
++{
++  \catcode`\-=\active
++  \catcode`\_=\active
++  %
++  \global\def\code{\begingroup
++    \catcode`\-=\active  \catcode`\_=\active
++    \ifallowcodebreaks
++     \let-\codedash
++     \let_\codeunder
++    \else
++     \let-\realdash
++     \let_\realunder
++    \fi
++    \codex
++  }
++}
++
++\def\realdash{-}
++\def\codedash{-\discretionary{}{}{}}
++\def\codeunder{%
++  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
++  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
++  % will therefore expand the active definition of _, which is us
++  % (inside @code that is), therefore an endless loop.
++  \ifusingtt{\ifmmode
++               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
++             \else\normalunderscore \fi
++             \discretionary{}{}{}}%
++            {\_}%
++}
++\def\codex #1{\tclose{#1}\endgroup}
++
++% An additional complication: the above will allow breaks after, e.g.,
++% each of the four underscores in __typeof__.  This is undesirable in
++% some manuals, especially if they don't have long identifiers in
++% general.  @allowcodebreaks provides a way to control this.
++% 
++\newif\ifallowcodebreaks  \allowcodebreakstrue
++
++\def\keywordtrue{true}
++\def\keywordfalse{false}
++
++\parseargdef\allowcodebreaks{%
++  \def\txiarg{#1}%
++  \ifx\txiarg\keywordtrue
++    \allowcodebreakstrue
++  \else\ifx\txiarg\keywordfalse
++    \allowcodebreaksfalse
++  \else
++    \errhelp = \EMsimple
++    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
++  \fi\fi
++}
++
++% @kbd is like @code, except that if the argument is just one @key command,
++% then @kbd has no effect.
++
++% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
++%   `example' (@kbd uses ttsl only inside of @example and friends),
++%   or `code' (@kbd uses normal tty font always).
++\parseargdef\kbdinputstyle{%
++  \def\txiarg{#1}%
++  \ifx\txiarg\worddistinct
++    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
++  \else\ifx\txiarg\wordexample
++    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
++  \else\ifx\txiarg\wordcode
++    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
++  \else
++    \errhelp = \EMsimple
++    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
++  \fi\fi\fi
++}
++\def\worddistinct{distinct}
++\def\wordexample{example}
++\def\wordcode{code}
++
++% Default is `distinct.'
++\kbdinputstyle distinct
++
++\def\xkey{\key}
++\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
++\ifx\one\xkey\ifx\threex\three \key{#2}%
++\else{\tclose{\kbdfont\look}}\fi
++\else{\tclose{\kbdfont\look}}\fi}
++
++% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
++\let\indicateurl=\code
++\let\env=\code
++\let\command=\code
++
++% @uref (abbreviation for `urlref') takes an optional (comma-separated)
++% second argument specifying the text to display and an optional third
++% arg as text to display instead of (rather than in addition to) the url
++% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
++% a hypertex \special here.
++%
++\def\uref#1{\douref #1,,,\finish}
++\def\douref#1,#2,#3,#4\finish{\begingroup
++  \unsepspaces
++  \pdfurl{#1}%
++  \setbox0 = \hbox{\ignorespaces #3}%
++  \ifdim\wd0 > 0pt
++    \unhbox0 % third arg given, show only that
++  \else
++    \setbox0 = \hbox{\ignorespaces #2}%
++    \ifdim\wd0 > 0pt
++      \ifpdf
++        \unhbox0             % PDF: 2nd arg given, show only it
++      \else
++        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
++      \fi
++    \else
++      \code{#1}% only url given, so show it
++    \fi
++  \fi
++  \endlink
++\endgroup}
++
++% @url synonym for @uref, since that's how everyone uses it.
++%
++\let\url=\uref
++
++% rms does not like angle brackets --karl, 17may97.
++% So now @email is just like @uref, unless we are pdf.
++%
++%\def\email#1{\angleleft{\tt #1}\angleright}
++\ifpdf
++  \def\email#1{\doemail#1,,\finish}
++  \def\doemail#1,#2,#3\finish{\begingroup
++    \unsepspaces
++    \pdfurl{mailto:#1}%
++    \setbox0 = \hbox{\ignorespaces #2}%
++    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
++    \endlink
++  \endgroup}
++\else
++  \let\email=\uref
++\fi
++
++% Check if we are currently using a typewriter font.  Since all the
++% Computer Modern typewriter fonts have zero interword stretch (and
++% shrink), and it is reasonable to expect all typewriter fonts to have
++% this property, we can check that font parameter.
++%
++\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
++
++% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
++% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
++%
++\def\dmn#1{\thinspace #1}
++
++\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
++
++% @l was never documented to mean ``switch to the Lisp font'',
++% and it is not used as such in any manual I can find.  We need it for
++% Polish suppressed-l.  --karl, 22sep96.
++%\def\l#1{{\li #1}\null}
++
++% Explicit font changes: @r, @sc, undocumented @ii.
++\def\r#1{{\rm #1}}              % roman font
++\def\sc#1{{\smallcaps#1}}       % smallcaps font
++\def\ii#1{{\it #1}}             % italic font
++
++% @acronym for "FBI", "NATO", and the like.
++% We print this one point size smaller, since it's intended for
++% all-uppercase.
++% 
++\def\acronym#1{\doacronym #1,,\finish}
++\def\doacronym#1,#2,#3\finish{%
++  {\selectfonts\lsize #1}%
++  \def\temp{#2}%
++  \ifx\temp\empty \else
++    \space ({\unsepspaces \ignorespaces \temp \unskip})%
++  \fi
++}
++
++% @abbr for "Comput. J." and the like.
++% No font change, but don't do end-of-sentence spacing.
++% 
++\def\abbr#1{\doabbr #1,,\finish}
++\def\doabbr#1,#2,#3\finish{%
++  {\plainfrenchspacing #1}%
++  \def\temp{#2}%
++  \ifx\temp\empty \else
++    \space ({\unsepspaces \ignorespaces \temp \unskip})%
++  \fi
++}
++
++% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
++%
++\def\pounds{{\it\$}}
++
++% @euro{} comes from a separate font, depending on the current style.
++% We use the free feym* fonts from the eurosym package by Henrik
++% Theiling, which support regular, slanted, bold and bold slanted (and
++% "outlined" (blackboard board, sort of) versions, which we don't need).
++% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
++% 
++% Although only regular is the truly official Euro symbol, we ignore
++% that.  The Euro is designed to be slightly taller than the regular
++% font height.
++% 
++% feymr - regular
++% feymo - slanted
++% feybr - bold
++% feybo - bold slanted
++% 
++% There is no good (free) typewriter version, to my knowledge.
++% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
++% Hmm.
++% 
++% Also doesn't work in math.  Do we need to do math with euro symbols?
++% Hope not.
++% 
++% 
++\def\euro{{\eurofont e}}
++\def\eurofont{%
++  % We set the font at each command, rather than predefining it in
++  % \textfonts and the other font-switching commands, so that
++  % installations which never need the symbol don't have to have the
++  % font installed.
++  % 
++  % There is only one designed size (nominal 10pt), so we always scale
++  % that to the current nominal size.
++  % 
++  % By the way, simply using "at 1em" works for cmr10 and the like, but
++  % does not work for cmbx10 and other extended/shrunken fonts.
++  % 
++  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
++  %
++  \ifx\curfontstyle\bfstylename 
++    % bold:
++    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
++  \else 
++    % regular:
++    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
++  \fi
++  \thiseurofont
++}
++
++% @registeredsymbol - R in a circle.  The font for the R should really
++% be smaller yet, but lllsize is the best we can do for now.
++% Adapted from the plain.tex definition of \copyright.
++%
++\def\registeredsymbol{%
++  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
++               \hfil\crcr\Orb}}%
++    }$%
++}
++
++% Laurent Siebenmann reports \Orb undefined with:
++%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
++% so we'll define it if necessary.
++% 
++\ifx\Orb\undefined
++\def\Orb{\mathhexbox20D}
++\fi
++
++
++\message{page headings,}
++
++\newskip\titlepagetopglue \titlepagetopglue = 1.5in
++\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
++
++% First the title page.  Must do @settitle before @titlepage.
++\newif\ifseenauthor
++\newif\iffinishedtitlepage
++
++% Do an implicit @contents or @shortcontents after @end titlepage if the
++% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
++%
++\newif\ifsetcontentsaftertitlepage
++ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
++\newif\ifsetshortcontentsaftertitlepage
++ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
++
++\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
++        \endgroup\page\hbox{}\page}
++
++\envdef\titlepage{%
++  % Open one extra group, as we want to close it in the middle of \Etitlepage.
++  \begingroup
++    \parindent=0pt \textfonts
++    % Leave some space at the very top of the page.
++    \vglue\titlepagetopglue
++    % No rule at page bottom unless we print one at the top with @title.
++    \finishedtitlepagetrue
++    %
++    % Most title ``pages'' are actually two pages long, with space
++    % at the top of the second.  We don't want the ragged left on the second.
++    \let\oldpage = \page
++    \def\page{%
++      \iffinishedtitlepage\else
++       \finishtitlepage
++      \fi
++      \let\page = \oldpage
++      \page
++      \null
++    }%
++}
++
++\def\Etitlepage{%
++    \iffinishedtitlepage\else
++      \finishtitlepage
++    \fi
++    % It is important to do the page break before ending the group,
++    % because the headline and footline are only empty inside the group.
++    % If we use the new definition of \page, we always get a blank page
++    % after the title page, which we certainly don't want.
++    \oldpage
++  \endgroup
++  %
++  % Need this before the \...aftertitlepage checks so that if they are
++  % in effect the toc pages will come out with page numbers.
++  \HEADINGSon
++  %
++  % If they want short, they certainly want long too.
++  \ifsetshortcontentsaftertitlepage
++    \shortcontents
++    \contents
++    \global\let\shortcontents = \relax
++    \global\let\contents = \relax
++  \fi
++  %
++  \ifsetcontentsaftertitlepage
++    \contents
++    \global\let\contents = \relax
++    \global\let\shortcontents = \relax
++  \fi
++}
++
++\def\finishtitlepage{%
++  \vskip4pt \hrule height 2pt width \hsize
++  \vskip\titlepagebottomglue
++  \finishedtitlepagetrue
++}
++
++%%% Macros to be used within @titlepage:
++
++\let\subtitlerm=\tenrm
++\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
++
++\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
++              \let\tt=\authortt}
++
++\parseargdef\title{%
++  \checkenv\titlepage
++  \leftline{\titlefonts\rm #1}
++  % print a rule at the page bottom also.
++  \finishedtitlepagefalse
++  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++}
++
++\parseargdef\subtitle{%
++  \checkenv\titlepage
++  {\subtitlefont \rightline{#1}}%
++}
++
++% @author should come last, but may come many times.
++% It can also be used inside @quotation.
++%
++\parseargdef\author{%
++  \def\temp{\quotation}%
++  \ifx\thisenv\temp
++    \def\quotationauthor{#1}% printed in \Equotation.
++  \else
++    \checkenv\titlepage
++    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
++    {\authorfont \leftline{#1}}%
++  \fi
++}
++
++
++%%% Set up page headings and footings.
++
++\let\thispage=\folio
++
++\newtoks\evenheadline    % headline on even pages
++\newtoks\oddheadline     % headline on odd pages
++\newtoks\evenfootline    % footline on even pages
++\newtoks\oddfootline     % footline on odd pages
++
++% Now make TeX use those variables
++\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
++                            \else \the\evenheadline \fi}}
++\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
++                            \else \the\evenfootline \fi}\HEADINGShook}
++\let\HEADINGShook=\relax
++
++% Commands to set those variables.
++% For example, this is what  @headings on  does
++% @evenheading @thistitle|@thispage|@thischapter
++% @oddheading @thischapter|@thispage|@thistitle
++% @evenfooting @thisfile||
++% @oddfooting ||@thisfile
++
++
++\def\evenheading{\parsearg\evenheadingxxx}
++\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
++\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
++\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
++
++\def\oddheading{\parsearg\oddheadingxxx}
++\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
++\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
++\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
++
++\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
++
++\def\evenfooting{\parsearg\evenfootingxxx}
++\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
++\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
++\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
++
++\def\oddfooting{\parsearg\oddfootingxxx}
++\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
++\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
++  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
++  %
++  % Leave some space for the footline.  Hopefully ok to assume
++  % @evenfooting will not be used by itself.
++  \global\advance\pageheight by -\baselineskip
++  \global\advance\vsize by -\baselineskip
++}
++
++\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
++
++
++% @headings double      turns headings on for double-sided printing.
++% @headings single      turns headings on for single-sided printing.
++% @headings off         turns them off.
++% @headings on          same as @headings double, retained for compatibility.
++% @headings after       turns on double-sided headings after this page.
++% @headings doubleafter turns on double-sided headings after this page.
++% @headings singleafter turns on single-sided headings after this page.
++% By default, they are off at the start of a document,
++% and turned `on' after @end titlepage.
++
++\def\headings #1 {\csname HEADINGS#1\endcsname}
++
++\def\HEADINGSoff{%
++\global\evenheadline={\hfil} \global\evenfootline={\hfil}
++\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
++\HEADINGSoff
++% When we turn headings on, set the page number to 1.
++% For double-sided printing, put current file name in lower left corner,
++% chapter name on inside top of right hand pages, document
++% title on inside top of left hand pages, and page numbers on outside top
++% edge of all pages.
++\def\HEADINGSdouble{%
++\global\pageno=1
++\global\evenfootline={\hfil}
++\global\oddfootline={\hfil}
++\global\evenheadline={\line{\folio\hfil\thistitle}}
++\global\oddheadline={\line{\thischapter\hfil\folio}}
++\global\let\contentsalignmacro = \chapoddpage
++}
++\let\contentsalignmacro = \chappager
++
++% For single-sided printing, chapter title goes across top left of page,
++% page number on top right.
++\def\HEADINGSsingle{%
++\global\pageno=1
++\global\evenfootline={\hfil}
++\global\oddfootline={\hfil}
++\global\evenheadline={\line{\thischapter\hfil\folio}}
++\global\oddheadline={\line{\thischapter\hfil\folio}}
++\global\let\contentsalignmacro = \chappager
++}
++\def\HEADINGSon{\HEADINGSdouble}
++
++\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
++\let\HEADINGSdoubleafter=\HEADINGSafter
++\def\HEADINGSdoublex{%
++\global\evenfootline={\hfil}
++\global\oddfootline={\hfil}
++\global\evenheadline={\line{\folio\hfil\thistitle}}
++\global\oddheadline={\line{\thischapter\hfil\folio}}
++\global\let\contentsalignmacro = \chapoddpage
++}
++
++\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
++\def\HEADINGSsinglex{%
++\global\evenfootline={\hfil}
++\global\oddfootline={\hfil}
++\global\evenheadline={\line{\thischapter\hfil\folio}}
++\global\oddheadline={\line{\thischapter\hfil\folio}}
++\global\let\contentsalignmacro = \chappager
++}
++
++% Subroutines used in generating headings
++% This produces Day Month Year style of output.
++% Only define if not already defined, in case a txi-??.tex file has set
++% up a different format (e.g., txi-cs.tex does this).
++\ifx\today\undefined
++\def\today{%
++  \number\day\space
++  \ifcase\month
++  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
++  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
++  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
++  \fi
++  \space\number\year}
++\fi
++
++% @settitle line...  specifies the title of the document, for headings.
++% It generates no output of its own.
++\def\thistitle{\putwordNoTitle}
++\def\settitle{\parsearg{\gdef\thistitle}}
++
++
++\message{tables,}
++% Tables -- @table, @ftable, @vtable, @item(x).
++
++% default indentation of table text
++\newdimen\tableindent \tableindent=.8in
++% default indentation of @itemize and @enumerate text
++\newdimen\itemindent  \itemindent=.3in
++% margin between end of table item and start of table text.
++\newdimen\itemmargin  \itemmargin=.1in
++
++% used internally for \itemindent minus \itemmargin
++\newdimen\itemmax
++
++% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
++% these defs.
++% They also define \itemindex
++% to index the item name in whatever manner is desired (perhaps none).
++
++\newif\ifitemxneedsnegativevskip
++
++\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
++
++\def\internalBitem{\smallbreak \parsearg\itemzzz}
++\def\internalBitemx{\itemxpar \parsearg\itemzzz}
++
++\def\itemzzz #1{\begingroup %
++  \advance\hsize by -\rightskip
++  \advance\hsize by -\tableindent
++  \setbox0=\hbox{\itemindicate{#1}}%
++  \itemindex{#1}%
++  \nobreak % This prevents a break before @itemx.
++  %
++  % If the item text does not fit in the space we have, put it on a line
++  % by itself, and do not allow a page break either before or after that
++  % line.  We do not start a paragraph here because then if the next
++  % command is, e.g., @kindex, the whatsit would get put into the
++  % horizontal list on a line by itself, resulting in extra blank space.
++  \ifdim \wd0>\itemmax
++    %
++    % Make this a paragraph so we get the \parskip glue and wrapping,
++    % but leave it ragged-right.
++    \begingroup
++      \advance\leftskip by-\tableindent
++      \advance\hsize by\tableindent
++      \advance\rightskip by0pt plus1fil
++      \leavevmode\unhbox0\par
++    \endgroup
++    %
++    % We're going to be starting a paragraph, but we don't want the
++    % \parskip glue -- logically it's part of the @item we just started.
++    \nobreak \vskip-\parskip
++    %
++    % Stop a page break at the \parskip glue coming up.  However, if
++    % what follows is an environment such as @example, there will be no
++    % \parskip glue; then the negative vskip we just inserted would
++    % cause the example and the item to crash together.  So we use this
++    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
++    % \parskip glue after all.  Section titles are handled this way also.
++    % 
++    \penalty 10001
++    \endgroup
++    \itemxneedsnegativevskipfalse
++  \else
++    % The item text fits into the space.  Start a paragraph, so that the
++    % following text (if any) will end up on the same line.
++    \noindent
++    % Do this with kerns and \unhbox so that if there is a footnote in
++    % the item text, it can migrate to the main vertical list and
++    % eventually be printed.
++    \nobreak\kern-\tableindent
++    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
++    \unhbox0
++    \nobreak\kern\dimen0
++    \endgroup
++    \itemxneedsnegativevskiptrue
++  \fi
++}
++
++\def\item{\errmessage{@item while not in a list environment}}
++\def\itemx{\errmessage{@itemx while not in a list environment}}
++
++% @table, @ftable, @vtable.
++\envdef\table{%
++  \let\itemindex\gobble
++  \tablecheck{table}%
++}
++\envdef\ftable{%
++  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
++  \tablecheck{ftable}%
++}
++\envdef\vtable{%
++  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
++  \tablecheck{vtable}%
++}
++\def\tablecheck#1{%
++  \ifnum \the\catcode`\^^M=\active
++    \endgroup
++    \errmessage{This command won't work in this context; perhaps the problem is
++      that we are \inenvironment\thisenv}%
++    \def\next{\doignore{#1}}%
++  \else
++    \let\next\tablex
++  \fi
++  \next
++}
++\def\tablex#1{%
++  \def\itemindicate{#1}%
++  \parsearg\tabley
++}
++\def\tabley#1{%
++  {%
++    \makevalueexpandable
++    \edef\temp{\noexpand\tablez #1\space\space\space}%
++    \expandafter
++  }\temp \endtablez
++}
++\def\tablez #1 #2 #3 #4\endtablez{%
++  \aboveenvbreak
++  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
++  \ifnum 0#2>0 \tableindent=#2\mil \fi
++  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
++  \itemmax=\tableindent
++  \advance \itemmax by -\itemmargin
++  \advance \leftskip by \tableindent
++  \exdentamount=\tableindent
++  \parindent = 0pt
++  \parskip = \smallskipamount
++  \ifdim \parskip=0pt \parskip=2pt \fi
++  \let\item = \internalBitem
++  \let\itemx = \internalBitemx
++}
++\def\Etable{\endgraf\afterenvbreak}
++\let\Eftable\Etable
++\let\Evtable\Etable
++\let\Eitemize\Etable
++\let\Eenumerate\Etable
++
++% This is the counter used by @enumerate, which is really @itemize
++
++\newcount \itemno
++
++\envdef\itemize{\parsearg\doitemize}
++
++\def\doitemize#1{%
++  \aboveenvbreak
++  \itemmax=\itemindent
++  \advance\itemmax by -\itemmargin
++  \advance\leftskip by \itemindent
++  \exdentamount=\itemindent
++  \parindent=0pt
++  \parskip=\smallskipamount
++  \ifdim\parskip=0pt \parskip=2pt \fi
++  \def\itemcontents{#1}%
++  % @itemize with no arg is equivalent to @itemize @bullet.
++  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
++  \let\item=\itemizeitem
++}
++
++% Definition of @item while inside @itemize and @enumerate.
++%
++\def\itemizeitem{%
++  \advance\itemno by 1  % for enumerations
++  {\let\par=\endgraf \smallbreak}% reasonable place to break
++  {%
++   % If the document has an @itemize directly after a section title, a
++   % \nobreak will be last on the list, and \sectionheading will have
++   % done a \vskip-\parskip.  In that case, we don't want to zero
++   % parskip, or the item text will crash with the heading.  On the
++   % other hand, when there is normal text preceding the item (as there
++   % usually is), we do want to zero parskip, or there would be too much
++   % space.  In that case, we won't have a \nobreak before.  At least
++   % that's the theory.
++   \ifnum\lastpenalty<10000 \parskip=0in \fi
++   \noindent
++   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
++   \vadjust{\penalty 1200}}% not good to break after first line of item.
++  \flushcr
++}
++
++% \splitoff TOKENS\endmark defines \first to be the first token in
++% TOKENS, and \rest to be the remainder.
++%
++\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
++
++% Allow an optional argument of an uppercase letter, lowercase letter,
++% or number, to specify the first label in the enumerated list.  No
++% argument is the same as `1'.
++%
++\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
++\def\enumeratey #1 #2\endenumeratey{%
++  % If we were given no argument, pretend we were given `1'.
++  \def\thearg{#1}%
++  \ifx\thearg\empty \def\thearg{1}\fi
++  %
++  % Detect if the argument is a single token.  If so, it might be a
++  % letter.  Otherwise, the only valid thing it can be is a number.
++  % (We will always have one token, because of the test we just made.
++  % This is a good thing, since \splitoff doesn't work given nothing at
++  % all -- the first parameter is undelimited.)
++  \expandafter\splitoff\thearg\endmark
++  \ifx\rest\empty
++    % Only one token in the argument.  It could still be anything.
++    % A ``lowercase letter'' is one whose \lccode is nonzero.
++    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
++    %   not equal to itself.
++    % Otherwise, we assume it's a number.
++    %
++    % We need the \relax at the end of the \ifnum lines to stop TeX from
++    % continuing to look for a <number>.
++    %
++    \ifnum\lccode\expandafter`\thearg=0\relax
++      \numericenumerate % a number (we hope)
++    \else
++      % It's a letter.
++      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
++        \lowercaseenumerate % lowercase letter
++      \else
++        \uppercaseenumerate % uppercase letter
++      \fi
++    \fi
++  \else
++    % Multiple tokens in the argument.  We hope it's a number.
++    \numericenumerate
++  \fi
++}
++
++% An @enumerate whose labels are integers.  The starting integer is
++% given in \thearg.
++%
++\def\numericenumerate{%
++  \itemno = \thearg
++  \startenumeration{\the\itemno}%
++}
++
++% The starting (lowercase) letter is in \thearg.
++\def\lowercaseenumerate{%
++  \itemno = \expandafter`\thearg
++  \startenumeration{%
++    % Be sure we're not beyond the end of the alphabet.
++    \ifnum\itemno=0
++      \errmessage{No more lowercase letters in @enumerate; get a bigger
++                  alphabet}%
++    \fi
++    \char\lccode\itemno
++  }%
++}
++
++% The starting (uppercase) letter is in \thearg.
++\def\uppercaseenumerate{%
++  \itemno = \expandafter`\thearg
++  \startenumeration{%
++    % Be sure we're not beyond the end of the alphabet.
++    \ifnum\itemno=0
++      \errmessage{No more uppercase letters in @enumerate; get a bigger
++                  alphabet}
++    \fi
++    \char\uccode\itemno
++  }%
++}
++
++% Call \doitemize, adding a period to the first argument and supplying the
++% common last two arguments.  Also subtract one from the initial value in
++% \itemno, since @item increments \itemno.
++%
++\def\startenumeration#1{%
++  \advance\itemno by -1
++  \doitemize{#1.}\flushcr
++}
++
++% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
++% to @enumerate.
++%
++\def\alphaenumerate{\enumerate{a}}
++\def\capsenumerate{\enumerate{A}}
++\def\Ealphaenumerate{\Eenumerate}
++\def\Ecapsenumerate{\Eenumerate}
++
++
++% @multitable macros
++% Amy Hendrickson, 8/18/94, 3/6/96
++%
++% @multitable ... @end multitable will make as many columns as desired.
++% Contents of each column will wrap at width given in preamble.  Width
++% can be specified either with sample text given in a template line,
++% or in percent of \hsize, the current width of text on page.
++
++% Table can continue over pages but will only break between lines.
++
++% To make preamble:
++%
++% Either define widths of columns in terms of percent of \hsize:
++%   @multitable @columnfractions .25 .3 .45
++%   @item ...
++%
++%   Numbers following @columnfractions are the percent of the total
++%   current hsize to be used for each column. You may use as many
++%   columns as desired.
++
++
++% Or use a template:
++%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
++%   @item ...
++%   using the widest term desired in each column.
++
++% Each new table line starts with @item, each subsequent new column
++% starts with @tab. Empty columns may be produced by supplying @tab's
++% with nothing between them for as many times as empty columns are needed,
++% ie, @tab@tab@tab will produce two empty columns.
++
++% @item, @tab do not need to be on their own lines, but it will not hurt
++% if they are.
++
++% Sample multitable:
++
++%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
++%   @item first col stuff @tab second col stuff @tab third col
++%   @item
++%   first col stuff
++%   @tab
++%   second col stuff
++%   @tab
++%   third col
++%   @item first col stuff @tab second col stuff
++%   @tab Many paragraphs of text may be used in any column.
++%
++%         They will wrap at the width determined by the template.
++%   @item@tab@tab This will be in third column.
++%   @end multitable
++
++% Default dimensions may be reset by user.
++% @multitableparskip is vertical space between paragraphs in table.
++% @multitableparindent is paragraph indent in table.
++% @multitablecolmargin is horizontal space to be left between columns.
++% @multitablelinespace is space to leave between table items, baseline
++%                                                            to baseline.
++%   0pt means it depends on current normal line spacing.
++%
++\newskip\multitableparskip
++\newskip\multitableparindent
++\newdimen\multitablecolspace
++\newskip\multitablelinespace
++\multitableparskip=0pt
++\multitableparindent=6pt
++\multitablecolspace=12pt
++\multitablelinespace=0pt
++
++% Macros used to set up halign preamble:
++%
++\let\endsetuptable\relax
++\def\xendsetuptable{\endsetuptable}
++\let\columnfractions\relax
++\def\xcolumnfractions{\columnfractions}
++\newif\ifsetpercent
++
++% #1 is the @columnfraction, usually a decimal number like .5, but might
++% be just 1.  We just use it, whatever it is.
++%
++\def\pickupwholefraction#1 {%
++  \global\advance\colcount by 1
++  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
++  \setuptable
++}
++
++\newcount\colcount
++\def\setuptable#1{%
++  \def\firstarg{#1}%
++  \ifx\firstarg\xendsetuptable
++    \let\go = \relax
++  \else
++    \ifx\firstarg\xcolumnfractions
++      \global\setpercenttrue
++    \else
++      \ifsetpercent
++         \let\go\pickupwholefraction
++      \else
++         \global\advance\colcount by 1
++         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
++                   % separator; typically that is always in the input, anyway.
++         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
++      \fi
++    \fi
++    \ifx\go\pickupwholefraction
++      % Put the argument back for the \pickupwholefraction call, so
++      % we'll always have a period there to be parsed.
++      \def\go{\pickupwholefraction#1}%
++    \else
++      \let\go = \setuptable
++    \fi%
++  \fi
++  \go
++}
++
++% multitable-only commands.
++%
++% @headitem starts a heading row, which we typeset in bold.
++% Assignments have to be global since we are inside the implicit group
++% of an alignment entry.  Note that \everycr resets \everytab.
++\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
++%
++% A \tab used to include \hskip1sp.  But then the space in a template
++% line is not enough.  That is bad.  So let's go back to just `&' until
++% we encounter the problem it was intended to solve again.
++%                                     --karl, nathan@acm.org, 20apr99.
++\def\tab{\checkenv\multitable &\the\everytab}%
++
++% @multitable ... @end multitable definitions:
++%
++\newtoks\everytab  % insert after every tab.
++%
++\envdef\multitable{%
++  \vskip\parskip
++  \startsavinginserts
++  %
++  % @item within a multitable starts a normal row.
++  % We use \def instead of \let so that if one of the multitable entries
++  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
++  % \endtemplate) expanding \doitemize.
++  \def\item{\crcr}%
++  %
++  \tolerance=9500
++  \hbadness=9500
++  \setmultitablespacing
++  \parskip=\multitableparskip
++  \parindent=\multitableparindent
++  \overfullrule=0pt
++  \global\colcount=0
++  %
++  \everycr = {%
++    \noalign{%
++      \global\everytab={}%
++      \global\colcount=0 % Reset the column counter.
++      % Check for saved footnotes, etc.
++      \checkinserts
++      % Keeps underfull box messages off when table breaks over pages.
++      %\filbreak
++      % Maybe so, but it also creates really weird page breaks when the
++      % table breaks over pages. Wouldn't \vfil be better?  Wait until the
++      % problem manifests itself, so it can be fixed for real --karl.
++    }%
++  }%
++  %
++  \parsearg\domultitable
++}
++\def\domultitable#1{%
++  % To parse everything between @multitable and @item:
++  \setuptable#1 \endsetuptable
++  %
++  % This preamble sets up a generic column definition, which will
++  % be used as many times as user calls for columns.
++  % \vtop will set a single line and will also let text wrap and
++  % continue for many paragraphs if desired.
++  \halign\bgroup &%
++    \global\advance\colcount by 1
++    \multistrut
++    \vtop{%
++      % Use the current \colcount to find the correct column width:
++      \hsize=\expandafter\csname col\the\colcount\endcsname
++      %
++      % In order to keep entries from bumping into each other
++      % we will add a \leftskip of \multitablecolspace to all columns after
++      % the first one.
++      %
++      % If a template has been used, we will add \multitablecolspace
++      % to the width of each template entry.
++      %
++      % If the user has set preamble in terms of percent of \hsize we will
++      % use that dimension as the width of the column, and the \leftskip
++      % will keep entries from bumping into each other.  Table will start at
++      % left margin and final column will justify at right margin.
++      %
++      % Make sure we don't inherit \rightskip from the outer environment.
++      \rightskip=0pt
++      \ifnum\colcount=1
++      % The first column will be indented with the surrounding text.
++      \advance\hsize by\leftskip
++      \else
++      \ifsetpercent \else
++        % If user has not set preamble in terms of percent of \hsize
++        % we will advance \hsize by \multitablecolspace.
++        \advance\hsize by \multitablecolspace
++      \fi
++       % In either case we will make \leftskip=\multitablecolspace:
++      \leftskip=\multitablecolspace
++      \fi
++      % Ignoring space at the beginning and end avoids an occasional spurious
++      % blank line, when TeX decides to break the line at the space before the
++      % box from the multistrut, so the strut ends up on a line by itself.
++      % For example:
++      % @multitable @columnfractions .11 .89
++      % @item @code{#}
++      % @tab Legal holiday which is valid in major parts of the whole country.
++      % Is automatically provided with highlighting sequences respectively
++      % marking characters.
++      \noindent\ignorespaces##\unskip\multistrut
++    }\cr
++}
++\def\Emultitable{%
++  \crcr
++  \egroup % end the \halign
++  \global\setpercentfalse
++}
++
++\def\setmultitablespacing{%
++  \def\multistrut{\strut}% just use the standard line spacing
++  %
++  % Compute \multitablelinespace (if not defined by user) for use in
++  % \multitableparskip calculation.  We used define \multistrut based on
++  % this, but (ironically) that caused the spacing to be off.
++  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
++\ifdim\multitablelinespace=0pt
++\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
++\global\advance\multitablelinespace by-\ht0
++\fi
++%% Test to see if parskip is larger than space between lines of
++%% table. If not, do nothing.
++%%        If so, set to same dimension as multitablelinespace.
++\ifdim\multitableparskip>\multitablelinespace
++\global\multitableparskip=\multitablelinespace
++\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
++                                      %% than skip between lines in the table.
++\fi%
++\ifdim\multitableparskip=0pt
++\global\multitableparskip=\multitablelinespace
++\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
++                                      %% than skip between lines in the table.
++\fi}
++
++
++\message{conditionals,}
++
++% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
++% @ifnotxml always succeed.  They currently do nothing; we don't
++% attempt to check whether the conditionals are properly nested.  But we
++% have to remember that they are conditionals, so that @end doesn't
++% attempt to close an environment group.
++%
++\def\makecond#1{%
++  \expandafter\let\csname #1\endcsname = \relax
++  \expandafter\let\csname iscond.#1\endcsname = 1
++}
++\makecond{iftex}
++\makecond{ifnotdocbook}
++\makecond{ifnothtml}
++\makecond{ifnotinfo}
++\makecond{ifnotplaintext}
++\makecond{ifnotxml}
++
++% Ignore @ignore, @ifhtml, @ifinfo, and the like.
++%
++\def\direntry{\doignore{direntry}}
++\def\documentdescription{\doignore{documentdescription}}
++\def\docbook{\doignore{docbook}}
++\def\html{\doignore{html}}
++\def\ifdocbook{\doignore{ifdocbook}}
++\def\ifhtml{\doignore{ifhtml}}
++\def\ifinfo{\doignore{ifinfo}}
++\def\ifnottex{\doignore{ifnottex}}
++\def\ifplaintext{\doignore{ifplaintext}}
++\def\ifxml{\doignore{ifxml}}
++\def\ignore{\doignore{ignore}}
++\def\menu{\doignore{menu}}
++\def\xml{\doignore{xml}}
++
++% Ignore text until a line `@end #1', keeping track of nested conditionals.
++%
++% A count to remember the depth of nesting.
++\newcount\doignorecount
++
++\def\doignore#1{\begingroup
++  % Scan in ``verbatim'' mode:
++  \catcode`\@ = \other
++  \catcode`\{ = \other
++  \catcode`\} = \other
++  %
++  % Make sure that spaces turn into tokens that match what \doignoretext wants.
++  \spaceisspace
++  %
++  % Count number of #1's that we've seen.
++  \doignorecount = 0
++  %
++  % Swallow text until we reach the matching `@end #1'.
++  \dodoignore{#1}%
++}
++
++{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
++  \obeylines %
++  %
++  \gdef\dodoignore#1{%
++    % #1 contains the command name as a string, e.g., `ifinfo'.
++    %
++    % Define a command to find the next `@end #1', which must be on a line
++    % by itself.
++    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
++    % And this command to find another #1 command, at the beginning of a
++    % line.  (Otherwise, we would consider a line `@c @ifset', for
++    % example, to count as an @ifset for nesting.)
++    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
++    %
++    % And now expand that command.
++    \obeylines %
++    \doignoretext ^^M%
++  }%
++}
++
++\def\doignoreyyy#1{%
++  \def\temp{#1}%
++  \ifx\temp\empty                     % Nothing found.
++    \let\next\doignoretextzzz
++  \else                                       % Found a nested condition, ...
++    \advance\doignorecount by 1
++    \let\next\doignoretextyyy         % ..., look for another.
++    % If we're here, #1 ends with ^^M\ifinfo (for example).
++  \fi
++  \next #1% the token \_STOP_ is present just after this macro.
++}
++
++% We have to swallow the remaining "\_STOP_".
++%
++\def\doignoretextzzz#1{%
++  \ifnum\doignorecount = 0    % We have just found the outermost @end.
++    \let\next\enddoignore
++  \else                               % Still inside a nested condition.
++    \advance\doignorecount by -1
++    \let\next\doignoretext      % Look for the next @end.
++  \fi
++  \next
++}
++
++% Finish off ignored text.
++\def\enddoignore{\endgroup\ignorespaces}
++
++
++% @set VAR sets the variable VAR to an empty value.
++% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
++%
++% Since we want to separate VAR from REST-OF-LINE (which might be
++% empty), we can't just use \parsearg; we have to insert a space of our
++% own to delimit the rest of the line, and then take it out again if we
++% didn't need it.
++% We rely on the fact that \parsearg sets \catcode`\ =10.
++%
++\parseargdef\set{\setyyy#1 \endsetyyy}
++\def\setyyy#1 #2\endsetyyy{%
++  {%
++    \makevalueexpandable
++    \def\temp{#2}%
++    \edef\next{\gdef\makecsname{SET#1}}%
++    \ifx\temp\empty
++      \next{}%
++    \else
++      \setzzz#2\endsetzzz
++    \fi
++  }%
++}
++% Remove the trailing space \setxxx inserted.
++\def\setzzz#1 \endsetzzz{\next{#1}}
++
++% @clear VAR clears (i.e., unsets) the variable VAR.
++%
++\parseargdef\clear{%
++  {%
++    \makevalueexpandable
++    \global\expandafter\let\csname SET#1\endcsname=\relax
++  }%
++}
++
++% @value{foo} gets the text saved in variable foo.
++\def\value{\begingroup\makevalueexpandable\valuexxx}
++\def\valuexxx#1{\expandablevalue{#1}\endgroup}
++{
++  \catcode`\- = \active \catcode`\_ = \active
++  %
++  \gdef\makevalueexpandable{%
++    \let\value = \expandablevalue
++    % We don't want these characters active, ...
++    \catcode`\-=\other \catcode`\_=\other
++    % ..., but we might end up with active ones in the argument if
++    % we're called from @code, as @code{@value{foo-bar_}}, though.
++    % So \let them to their normal equivalents.
++    \let-\realdash \let_\normalunderscore
++  }
++}
++
++% We have this subroutine so that we can handle at least some @value's
++% properly in indexes (we call \makevalueexpandable in \indexdummies).
++% The command has to be fully expandable (if the variable is set), since
++% the result winds up in the index file.  This means that if the
++% variable's value contains other Texinfo commands, it's almost certain
++% it will fail (although perhaps we could fix that with sufficient work
++% to do a one-level expansion on the result, instead of complete).
++%
++\def\expandablevalue#1{%
++  \expandafter\ifx\csname SET#1\endcsname\relax
++    {[No value for ``#1'']}%
++    \message{Variable `#1', used in @value, is not set.}%
++  \else
++    \csname SET#1\endcsname
++  \fi
++}
++
++% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
++% with @set.
++%
++% To get special treatment of `@end ifset,' call \makeond and the redefine.
++%
++\makecond{ifset}
++\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
++\def\doifset#1#2{%
++  {%
++    \makevalueexpandable
++    \let\next=\empty
++    \expandafter\ifx\csname SET#2\endcsname\relax
++      #1% If not set, redefine \next.
++    \fi
++    \expandafter
++  }\next
++}
++\def\ifsetfail{\doignore{ifset}}
++
++% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
++% defined with @set, or has been undefined with @clear.
++%
++% The `\else' inside the `\doifset' parameter is a trick to reuse the
++% above code: if the variable is not set, do nothing, if it is set,
++% then redefine \next to \ifclearfail.
++%
++\makecond{ifclear}
++\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
++\def\ifclearfail{\doignore{ifclear}}
++
++% @dircategory CATEGORY  -- specify a category of the dir file
++% which this file should belong to.  Ignore this in TeX.
++\let\dircategory=\comment
++
++% @defininfoenclose.
++\let\definfoenclose=\comment
++
++
++\message{indexing,}
++% Index generation facilities
++
++% Define \newwrite to be identical to plain tex's \newwrite
++% except not \outer, so it can be used within macros and \if's.
++\edef\newwrite{\makecsname{ptexnewwrite}}
++
++% \newindex {foo} defines an index named foo.
++% It automatically defines \fooindex such that
++% \fooindex ...rest of line... puts an entry in the index foo.
++% It also defines \fooindfile to be the number of the output channel for
++% the file that accumulates this index.  The file's extension is foo.
++% The name of an index should be no more than 2 characters long
++% for the sake of vms.
++%
++\def\newindex#1{%
++  \iflinks
++    \expandafter\newwrite \csname#1indfile\endcsname
++    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
++  \fi
++  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
++    \noexpand\doindex{#1}}
++}
++
++% @defindex foo  ==  \newindex{foo}
++%
++\def\defindex{\parsearg\newindex}
++
++% Define @defcodeindex, like @defindex except put all entries in @code.
++%
++\def\defcodeindex{\parsearg\newcodeindex}
++%
++\def\newcodeindex#1{%
++  \iflinks
++    \expandafter\newwrite \csname#1indfile\endcsname
++    \openout \csname#1indfile\endcsname \jobname.#1
++  \fi
++  \expandafter\xdef\csname#1index\endcsname{%
++    \noexpand\docodeindex{#1}}%
++}
++
++
++% @synindex foo bar    makes index foo feed into index bar.
++% Do this instead of @defindex foo if you don't want it as a separate index.
++%
++% @syncodeindex foo bar   similar, but put all entries made for index foo
++% inside @code.
++%
++\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
++\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
++
++% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
++% #3 the target index (bar).
++\def\dosynindex#1#2#3{%
++  % Only do \closeout if we haven't already done it, else we'll end up
++  % closing the target index.
++  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
++    % The \closeout helps reduce unnecessary open files; the limit on the
++    % Acorn RISC OS is a mere 16 files.
++    \expandafter\closeout\csname#2indfile\endcsname
++    \expandafter\let\csname\donesynindex#2\endcsname = 1
++  \fi
++  % redefine \fooindfile:
++  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
++  \expandafter\let\csname#2indfile\endcsname=\temp
++  % redefine \fooindex:
++  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
++}
++
++% Define \doindex, the driver for all \fooindex macros.
++% Argument #1 is generated by the calling \fooindex macro,
++%  and it is "foo", the name of the index.
++
++% \doindex just uses \parsearg; it calls \doind for the actual work.
++% This is because \doind is more useful to call from other macros.
++
++% There is also \dosubind {index}{topic}{subtopic}
++% which makes an entry in a two-level index such as the operation index.
++
++\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
++\def\singleindexer #1{\doind{\indexname}{#1}}
++
++% like the previous two, but they put @code around the argument.
++\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
++\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
++
++% Take care of Texinfo commands that can appear in an index entry.
++% Since there are some commands we want to expand, and others we don't,
++% we have to laboriously prevent expansion for those that we don't.
++%
++\def\indexdummies{%
++  \escapechar = `\\     % use backslash in output files.
++  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
++  \def\ {\realbackslash\space }%
++  % Need these in case \tex is in effect and \{ is a \delimiter again.
++  % But can't use \lbracecmd and \rbracecmd because texindex assumes
++  % braces and backslashes are used only as delimiters.
++  \let\{ = \mylbrace
++  \let\} = \myrbrace
++  %
++  % Do the redefinitions.
++  \commondummies
++}
++
++% For the aux and toc files, @ is the escape character.  So we want to
++% redefine everything using @ as the escape character (instead of
++% \realbackslash, still used for index files).  When everything uses @,
++% this will be simpler.
++%
++\def\atdummies{%
++  \def\@{@@}%
++  \def\ {@ }%
++  \let\{ = \lbraceatcmd
++  \let\} = \rbraceatcmd
++  %
++  % Do the redefinitions.
++  \commondummies
++}
++
++% Called from \indexdummies and \atdummies.
++%
++\def\commondummies{%
++  %
++  % \definedummyword defines \#1 as \string\#1\space, thus effectively
++  % preventing its expansion.  This is used only for control% words,
++  % not control letters, because the \space would be incorrect for
++  % control characters, but is needed to separate the control word
++  % from whatever follows.
++  %
++  % For control letters, we have \definedummyletter, which omits the
++  % space.
++  %
++  % These can be used both for control words that take an argument and
++  % those that do not.  If it is followed by {arg} in the input, then
++  % that will dutifully get written to the index (or wherever).
++  %
++  \def\definedummyword  ##1{\def##1{\string##1\space}}%
++  \def\definedummyletter##1{\def##1{\string##1}}%
++  \let\definedummyaccent\definedummyletter
++  %
++  \commondummiesnofonts
++  %
++  \definedummyletter\_%
++  %
++  % Non-English letters.
++  \definedummyword\AA
++  \definedummyword\AE
++  \definedummyword\L
++  \definedummyword\OE
++  \definedummyword\O
++  \definedummyword\aa
++  \definedummyword\ae
++  \definedummyword\l
++  \definedummyword\oe
++  \definedummyword\o
++  \definedummyword\ss
++  \definedummyword\exclamdown
++  \definedummyword\questiondown
++  \definedummyword\ordf
++  \definedummyword\ordm
++  %
++  % Although these internal commands shouldn't show up, sometimes they do.
++  \definedummyword\bf
++  \definedummyword\gtr
++  \definedummyword\hat
++  \definedummyword\less
++  \definedummyword\sf
++  \definedummyword\sl
++  \definedummyword\tclose
++  \definedummyword\tt
++  %
++  \definedummyword\LaTeX
++  \definedummyword\TeX
++  %
++  % Assorted special characters.
++  \definedummyword\bullet
++  \definedummyword\comma
++  \definedummyword\copyright
++  \definedummyword\registeredsymbol
++  \definedummyword\dots
++  \definedummyword\enddots
++  \definedummyword\equiv
++  \definedummyword\error
++  \definedummyword\euro
++  \definedummyword\expansion
++  \definedummyword\minus
++  \definedummyword\pounds
++  \definedummyword\point
++  \definedummyword\print
++  \definedummyword\result
++  %
++  % We want to disable all macros so that they are not expanded by \write.
++  \macrolist
++  %
++  \normalturnoffactive
++  %
++  % Handle some cases of @value -- where it does not contain any
++  % (non-fully-expandable) commands.
++  \makevalueexpandable
++}
++
++% \commondummiesnofonts: common to \commondummies and \indexnofonts.
++%
++% Better have this without active chars.
++{
++  \catcode`\~=\other
++  \gdef\commondummiesnofonts{%
++    % Control letters and accents.
++    \definedummyletter\!%
++    \definedummyaccent\"%
++    \definedummyaccent\'%
++    \definedummyletter\*%
++    \definedummyaccent\,%
++    \definedummyletter\.%
++    \definedummyletter\/%
++    \definedummyletter\:%
++    \definedummyaccent\=%
++    \definedummyletter\?%
++    \definedummyaccent\^%
++    \definedummyaccent\`%
++    \definedummyaccent\~%
++    \definedummyword\u
++    \definedummyword\v
++    \definedummyword\H
++    \definedummyword\dotaccent
++    \definedummyword\ringaccent
++    \definedummyword\tieaccent
++    \definedummyword\ubaraccent
++    \definedummyword\udotaccent
++    \definedummyword\dotless
++    %
++    % Texinfo font commands.
++    \definedummyword\b
++    \definedummyword\i
++    \definedummyword\r
++    \definedummyword\sc
++    \definedummyword\t
++    %
++    % Commands that take arguments.
++    \definedummyword\acronym
++    \definedummyword\cite
++    \definedummyword\code
++    \definedummyword\command
++    \definedummyword\dfn
++    \definedummyword\emph
++    \definedummyword\env
++    \definedummyword\file
++    \definedummyword\kbd
++    \definedummyword\key
++    \definedummyword\math
++    \definedummyword\option
++    \definedummyword\samp
++    \definedummyword\strong
++    \definedummyword\tie
++    \definedummyword\uref
++    \definedummyword\url
++    \definedummyword\var
++    \definedummyword\verb
++    \definedummyword\w
++  }
++}
++
++% \indexnofonts is used when outputting the strings to sort the index
++% by, and when constructing control sequence names.  It eliminates all
++% control sequences and just writes whatever the best ASCII sort string
++% would be for a given command (usually its argument).
++%
++\def\indexnofonts{%
++  % Accent commands should become @asis.
++  \def\definedummyaccent##1{\let##1\asis}%
++  % We can just ignore other control letters.
++  \def\definedummyletter##1{\let##1\empty}%
++  % Hopefully, all control words can become @asis.
++  \let\definedummyword\definedummyaccent
++  %
++  \commondummiesnofonts
++  %
++  % Don't no-op \tt, since it isn't a user-level command
++  % and is used in the definitions of the active chars like <, >, |, etc.
++  % Likewise with the other plain tex font commands.
++  %\let\tt=\asis
++  %
++  \def\ { }%
++  \def\@{@}%
++  % how to handle braces?
++  \def\_{\normalunderscore}%
++  %
++  % Non-English letters.
++  \def\AA{AA}%
++  \def\AE{AE}%
++  \def\L{L}%
++  \def\OE{OE}%
++  \def\O{O}%
++  \def\aa{aa}%
++  \def\ae{ae}%
++  \def\l{l}%
++  \def\oe{oe}%
++  \def\o{o}%
++  \def\ss{ss}%
++  \def\exclamdown{!}%
++  \def\questiondown{?}%
++  \def\ordf{a}%
++  \def\ordm{o}%
++  %
++  \def\LaTeX{LaTeX}%
++  \def\TeX{TeX}%
++  %
++  % Assorted special characters.
++  % (The following {} will end up in the sort string, but that's ok.)
++  \def\bullet{bullet}%
++  \def\comma{,}%
++  \def\copyright{copyright}%
++  \def\registeredsymbol{R}%
++  \def\dots{...}%
++  \def\enddots{...}%
++  \def\equiv{==}%
++  \def\error{error}%
++  \def\euro{euro}%
++  \def\expansion{==>}%
++  \def\minus{-}%
++  \def\pounds{pounds}%
++  \def\point{.}%
++  \def\print{-|}%
++  \def\result{=>}%
++  %
++  % We need to get rid of all macros, leaving only the arguments (if present).
++  % Of course this is not nearly correct, but it is the best we can do for now.
++  % makeinfo does not expand macros in the argument to @deffn, which ends up
++  % writing an index entry, and texindex isn't prepared for an index sort entry
++  % that starts with \.
++  % 
++  % Since macro invocations are followed by braces, we can just redefine them
++  % to take a single TeX argument.  The case of a macro invocation that
++  % goes to end-of-line is not handled.
++  % 
++  \macrolist
++}
++
++\let\indexbackslash=0  %overridden during \printindex.
++\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
++
++% Most index entries go through here, but \dosubind is the general case.
++% #1 is the index name, #2 is the entry text.
++\def\doind#1#2{\dosubind{#1}{#2}{}}
++
++% Workhorse for all \fooindexes.
++% #1 is name of index, #2 is stuff to put there, #3 is subentry --
++% empty if called from \doind, as we usually are (the main exception
++% is with most defuns, which call us directly).
++%
++\def\dosubind#1#2#3{%
++  \iflinks
++  {%
++    % Store the main index entry text (including the third arg).
++    \toks0 = {#2}%
++    % If third arg is present, precede it with a space.
++    \def\thirdarg{#3}%
++    \ifx\thirdarg\empty \else
++      \toks0 = \expandafter{\the\toks0 \space #3}%
++    \fi
++    %
++    \edef\writeto{\csname#1indfile\endcsname}%
++    %
++    \ifvmode
++      \dosubindsanitize
++    \else
++      \dosubindwrite
++    \fi
++  }%
++  \fi
++}
++
++% Write the entry in \toks0 to the index file:
++%
++\def\dosubindwrite{%
++  % Put the index entry in the margin if desired.
++  \ifx\SETmarginindex\relax\else
++    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
++  \fi
++  %
++  % Remember, we are within a group.
++  \indexdummies % Must do this here, since \bf, etc expand at this stage
++  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
++      % so it will be output as is; and it will print as backslash.
++  %
++  % Process the index entry with all font commands turned off, to
++  % get the string to sort by.
++  {\indexnofonts
++   \edef\temp{\the\toks0}% need full expansion
++   \xdef\indexsorttmp{\temp}%
++  }%
++  %
++  % Set up the complete index entry, with both the sort key and
++  % the original text, including any font commands.  We write
++  % three arguments to \entry to the .?? file (four in the
++  % subentry case), texindex reduces to two when writing the .??s
++  % sorted result.
++  \edef\temp{%
++    \write\writeto{%
++      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
++  }%
++  \temp
++}
++
++% Take care of unwanted page breaks:
++%
++% If a skip is the last thing on the list now, preserve it
++% by backing up by \lastskip, doing the \write, then inserting
++% the skip again.  Otherwise, the whatsit generated by the
++% \write will make \lastskip zero.  The result is that sequences
++% like this:
++% @end defun
++% @tindex whatever
++% @defun ...
++% will have extra space inserted, because the \medbreak in the
++% start of the @defun won't see the skip inserted by the @end of
++% the previous defun.
++%
++% But don't do any of this if we're not in vertical mode.  We
++% don't want to do a \vskip and prematurely end a paragraph.
++%
++% Avoid page breaks due to these extra skips, too.
++%
++% But wait, there is a catch there:
++% We'll have to check whether \lastskip is zero skip.  \ifdim is not
++% sufficient for this purpose, as it ignores stretch and shrink parts
++% of the skip.  The only way seems to be to check the textual
++% representation of the skip.
++%
++% The following is almost like \def\zeroskipmacro{0.0pt} except that
++% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
++%
++\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
++%
++% ..., ready, GO:
++%
++\def\dosubindsanitize{%
++  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
++  \skip0 = \lastskip
++  \edef\lastskipmacro{\the\lastskip}%
++  \count255 = \lastpenalty
++  %
++  % If \lastskip is nonzero, that means the last item was a
++  % skip.  And since a skip is discardable, that means this
++  % -\skip0 glue we're inserting is preceded by a
++  % non-discardable item, therefore it is not a potential
++  % breakpoint, therefore no \nobreak needed.
++  \ifx\lastskipmacro\zeroskipmacro
++  \else
++    \vskip-\skip0
++  \fi
++  %
++  \dosubindwrite
++  %
++  \ifx\lastskipmacro\zeroskipmacro
++    % If \lastskip was zero, perhaps the last item was a penalty, and
++    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
++    % to re-insert the same penalty (values >10000 are used for various
++    % signals); since we just inserted a non-discardable item, any
++    % following glue (such as a \parskip) would be a breakpoint.  For example:
++    % 
++    %   @deffn deffn-whatever
++    %   @vindex index-whatever
++    %   Description.
++    % would allow a break between the index-whatever whatsit
++    % and the "Description." paragraph.
++    \ifnum\count255>9999 \penalty\count255 \fi
++  \else
++    % On the other hand, if we had a nonzero \lastskip,
++    % this make-up glue would be preceded by a non-discardable item
++    % (the whatsit from the \write), so we must insert a \nobreak.
++    \nobreak\vskip\skip0
++  \fi
++}
 +
-+m4_define([_LT_COPYING], [dnl
-+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-+#                 2006, 2007, 2008, 2009, 2010, 2011 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.
-+])
++% The index entry written in the file actually looks like
++%  \entry {sortstring}{page}{topic}
++% or
++%  \entry {sortstring}{page}{topic}{subtopic}
++% The texindex program reads in these files and writes files
++% containing these kinds of lines:
++%  \initial {c}
++%     before the first topic whose initial is c
++%  \entry {topic}{pagelist}
++%     for a topic that is used without subtopics
++%  \primary {topic}
++%     for the beginning of a topic that is used with subtopics
++%  \secondary {subtopic}{pagelist}
++%     for each subtopic.
 +
-+# serial 57 LT_INIT
++% Define the user-accessible indexing commands
++% @findex, @vindex, @kindex, @cindex.
 +
++\def\findex {\fnindex}
++\def\kindex {\kyindex}
++\def\cindex {\cpindex}
++\def\vindex {\vrindex}
++\def\tindex {\tpindex}
++\def\pindex {\pgindex}
 +
-+# 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])])
++\def\cindexsub {\begingroup\obeylines\cindexsub}
++{\obeylines %
++\gdef\cindexsub "#1" #2^^M{\endgroup %
++\dosubind{cp}{#2}{#1}}}
 +
++% Define the macros used in formatting output of the sorted index material.
 +
-+# _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
-+])
++% @printindex causes a particular index (the ??s file) to get printed.
++% It does not print any chapter heading (usually an @unnumbered).
++%
++\parseargdef\printindex{\begingroup
++  \dobreak \chapheadingskip{10000}%
++  %
++  \smallfonts \rm
++  \tolerance = 9500
++  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
++  %
++  % See if the index file exists and is nonempty.
++  % Change catcode of @ here so that if the index file contains
++  % \initial {@}
++  % as its first line, TeX doesn't complain about mismatched braces
++  % (because it thinks @} is a control sequence).
++  \catcode`\@ = 11
++  \openin 1 \jobname.#1s
++  \ifeof 1
++    % \enddoublecolumns gets confused if there is no text in the index,
++    % and it loses the chapter title and the aux file entries for the
++    % index.  The easiest way to prevent this problem is to make sure
++    % there is some text.
++    \putwordIndexNonexistent
++  \else
++    %
++    % If the index file exists but is empty, then \openin leaves \ifeof
++    % false.  We have to make TeX try to read something from the file, so
++    % it can discover if there is anything in it.
++    \read 1 to \temp
++    \ifeof 1
++      \putwordIndexIsEmpty
++    \else
++      % Index files are almost Texinfo source, but we use \ as the escape
++      % character.  It would be better to use @, but that's too big a change
++      % to make right now.
++      \def\indexbackslash{\backslashcurfont}%
++      \catcode`\\ = 0
++      \escapechar = `\\
++      \begindoublecolumns
++      \input \jobname.#1s
++      \enddoublecolumns
++    \fi
++  \fi
++  \closein 1
++\endgroup}
++
++% These macros are used by the sorted index file itself.
++% Change them to control the appearance of the index.
++
++\def\initial#1{{%
++  % Some minor font changes for the special characters.
++  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
++  %
++  % Remove any glue we may have, we'll be inserting our own.
++  \removelastskip
++  %
++  % We like breaks before the index initials, so insert a bonus.
++  \nobreak
++  \vskip 0pt plus 3\baselineskip
++  \penalty 0
++  \vskip 0pt plus -3\baselineskip
++  %
++  % Typeset the initial.  Making this add up to a whole number of
++  % baselineskips increases the chance of the dots lining up from column
++  % to column.  It still won't often be perfect, because of the stretch
++  % we need before each entry, but it's better.
++  %
++  % No shrink because it confuses \balancecolumns.
++  \vskip 1.67\baselineskip plus .5\baselineskip
++  \leftline{\secbf #1}%
++  % Do our best not to break after the initial.
++  \nobreak
++  \vskip .33\baselineskip plus .1\baselineskip
++}}
++
++% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
++% then page number (#2) flushed to the right margin.  It is used for index
++% and table of contents entries.  The paragraph is indented by \leftskip.
++%
++% A straightforward implementation would start like this:
++%     \def\entry#1#2{...
++% But this frozes the catcodes in the argument, and can cause problems to
++% @code, which sets - active.  This problem was fixed by a kludge---
++% ``-'' was active throughout whole index, but this isn't really right.
++%
++% The right solution is to prevent \entry from swallowing the whole text.
++%                                 --kasal, 21nov03
++\def\entry{%
++  \begingroup
++    %
++    % Start a new paragraph if necessary, so our assignments below can't
++    % affect previous text.
++    \par
++    %
++    % Do not fill out the last line with white space.
++    \parfillskip = 0in
++    %
++    % No extra space above this paragraph.
++    \parskip = 0in
++    %
++    % Do not prefer a separate line ending with a hyphen to fewer lines.
++    \finalhyphendemerits = 0
++    %
++    % \hangindent is only relevant when the entry text and page number
++    % don't both fit on one line.  In that case, bob suggests starting the
++    % dots pretty far over on the line.  Unfortunately, a large
++    % indentation looks wrong when the entry text itself is broken across
++    % lines.  So we use a small indentation and put up with long leaders.
++    %
++    % \hangafter is reset to 1 (which is the value we want) at the start
++    % of each paragraph, so we need not do anything with that.
++    \hangindent = 2em
++    %
++    % When the entry text needs to be broken, just fill out the first line
++    % with blank space.
++    \rightskip = 0pt plus1fil
++    %
++    % A bit of stretch before each entry for the benefit of balancing
++    % columns.
++    \vskip 0pt plus1pt
++    %
++    % Swallow the left brace of the text (first parameter):
++    \afterassignment\doentry
++    \let\temp =
++}
++\def\doentry{%
++    \bgroup % Instead of the swallowed brace.
++      \noindent
++      \aftergroup\finishentry
++      % And now comes the text of the entry.
++}
++\def\finishentry#1{%
++    % #1 is the page number.
++    %
++    % The following is kludged to not output a line of dots in the index if
++    % there are no page numbers.  The next person who breaks this will be
++    % cursed by a Unix daemon.
++    \def\tempa{{\rm }}%
++    \def\tempb{#1}%
++    \edef\tempc{\tempa}%
++    \edef\tempd{\tempb}%
++    \ifx\tempc\tempd
++      \ %
++    \else
++      %
++      % If we must, put the page number on a line of its own, and fill out
++      % this line with blank space.  (The \hfil is overwhelmed with the
++      % fill leaders glue in \indexdotfill if the page number does fit.)
++      \hfil\penalty50
++      \null\nobreak\indexdotfill % Have leaders before the page number.
++      %
++      % The `\ ' here is removed by the implicit \unskip that TeX does as
++      % part of (the primitive) \par.  Without it, a spurious underfull
++      % \hbox ensues.
++      \ifpdf
++      \pdfgettoks#1.%
++      \ \the\toksA
++      \else
++      \ #1%
++      \fi
++    \fi
++    \par
++  \endgroup
++}
++
++% Like \dotfill except takes at least 1 em.
++\def\indexdotfill{\cleaders
++  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
++
++\def\primary #1{\line{#1\hfil}}
++
++\newskip\secondaryindent \secondaryindent=0.5cm
++\def\secondary#1#2{{%
++  \parfillskip=0in
++  \parskip=0in
++  \hangindent=1in
++  \hangafter=1
++  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
++  \ifpdf
++    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
++  \else
++    #2
++  \fi
++  \par
++}}
++
++% Define two-column mode, which we use to typeset indexes.
++% Adapted from the TeXbook, page 416, which is to say,
++% the manmac.tex format used to print the TeXbook itself.
++\catcode`\@=11
++
++\newbox\partialpage
++\newdimen\doublecolumnhsize
 +
++\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
++  % Grab any single-column material above us.
++  \output = {%
++    %
++    % Here is a possibility not foreseen in manmac: if we accumulate a
++    % whole lot of material, we might end up calling this \output
++    % routine twice in a row (see the doublecol-lose test, which is
++    % essentially a couple of indexes with @setchapternewpage off).  In
++    % that case we just ship out what is in \partialpage with the normal
++    % output routine.  Generally, \partialpage will be empty when this
++    % runs and this will be a no-op.  See the indexspread.tex test case.
++    \ifvoid\partialpage \else
++      \onepageout{\pagecontents\partialpage}%
++    \fi
++    %
++    \global\setbox\partialpage = \vbox{%
++      % Unvbox the main output page.
++      \unvbox\PAGE
++      \kern-\topskip \kern\baselineskip
++    }%
++  }%
++  \eject % run that output routine to set \partialpage
++  %
++  % Use the double-column output routine for subsequent pages.
++  \output = {\doublecolumnout}%
++  %
++  % Change the page size parameters.  We could do this once outside this
++  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
++  % format, but then we repeat the same computation.  Repeating a couple
++  % of assignments once per index is clearly meaningless for the
++  % execution time, so we may as well do it in one place.
++  %
++  % First we halve the line length, less a little for the gutter between
++  % the columns.  We compute the gutter based on the line length, so it
++  % changes automatically with the paper format.  The magic constant
++  % below is chosen so that the gutter has the same value (well, +-<1pt)
++  % as it did when we hard-coded it.
++  %
++  % We put the result in a separate register, \doublecolumhsize, so we
++  % can restore it in \pagesofar, after \hsize itself has (potentially)
++  % been clobbered.
++  %
++  \doublecolumnhsize = \hsize
++    \advance\doublecolumnhsize by -.04154\hsize
++    \divide\doublecolumnhsize by 2
++  \hsize = \doublecolumnhsize
++  %
++  % Double the \vsize as well.  (We don't need a separate register here,
++  % since nobody clobbers \vsize.)
++  \vsize = 2\vsize
++}
 +
-+# 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])
++% The double-column output routine for all double-column pages except
++% the last.
++%
++\def\doublecolumnout{%
++  \splittopskip=\topskip \splitmaxdepth=\maxdepth
++  % Get the available space for the double columns -- the normal
++  % (undoubled) page height minus any material left over from the
++  % previous page.
++  \dimen@ = \vsize
++  \divide\dimen@ by 2
++  \advance\dimen@ by -\ht\partialpage
++  %
++  % box0 will be the left-hand column, box2 the right.
++  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
++  \onepageout\pagesofar
++  \unvbox255
++  \penalty\outputpenalty
++}
++%
++% Re-output the contents of the output page -- any previous material,
++% followed by the two boxes we just split, in box0 and box2.
++\def\pagesofar{%
++  \unvbox\partialpage
++  %
++  \hsize = \doublecolumnhsize
++  \wd0=\hsize \wd2=\hsize
++  \hbox to\pagewidth{\box0\hfil\box2}%
++}
++%
++% All done with double columns.
++\def\enddoublecolumns{%
++  \output = {%
++    % Split the last of the double-column material.  Leave it on the
++    % current page, no automatic page break.
++    \balancecolumns
++    %
++    % If we end up splitting too much material for the current page,
++    % though, there will be another page break right after this \output
++    % invocation ends.  Having called \balancecolumns once, we do not
++    % want to call it again.  Therefore, reset \output to its normal
++    % definition right away.  (We hope \balancecolumns will never be
++    % called on to balance too much material, but if it is, this makes
++    % the output somewhat more palatable.)
++    \global\output = {\onepageout{\pagecontents\PAGE}}%
++  }%
++  \eject
++  \endgroup % started in \begindoublecolumns
++  %
++  % \pagegoal was set to the doubled \vsize above, since we restarted
++  % the current page.  We're now back to normal single-column
++  % typesetting, so reset \pagegoal to the normal \vsize (after the
++  % \endgroup where \vsize got restored).
++  \pagegoal = \vsize
++}
++%
++% Called at the end of the double column material.
++\def\balancecolumns{%
++  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
++  \dimen@ = \ht0
++  \advance\dimen@ by \topskip
++  \advance\dimen@ by-\baselineskip
++  \divide\dimen@ by 2 % target to split to
++  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
++  \splittopskip = \topskip
++  % Loop until we get a decent breakpoint.
++  {%
++    \vbadness = 10000
++    \loop
++      \global\setbox3 = \copy0
++      \global\setbox1 = \vsplit3 to \dimen@
++    \ifdim\ht3>\dimen@
++      \global\advance\dimen@ by 1pt
++    \repeat
++  }%
++  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
++  \setbox0=\vbox to\dimen@{\unvbox1}%
++  \setbox2=\vbox to\dimen@{\unvbox3}%
++  %
++  \pagesofar
++}
++\catcode`\@ = \other
 +
-+# 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
++\message{sectioning,}
++% Chapters, sections, etc.
 +
-+_LT_SETUP
++% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
++% sections so that we can refer to them unambiguously in the pdf
++% outlines by their "section number".  We avoid collisions with chapter
++% numbers by starting them at 10000.  (If a document ever has 10000
++% chapters, we're in trouble anyway, I'm sure.)
++\newcount\unnumberedno \unnumberedno = 10000
++\newcount\chapno
++\newcount\secno        \secno=0
++\newcount\subsecno     \subsecno=0
++\newcount\subsubsecno  \subsubsecno=0
 +
-+# Only expand once:
-+m4_define([LT_INIT])
-+])# LT_INIT
++% This counter is funny since it counts through charcodes of letters A, B, ...
++\newcount\appendixno  \appendixno = `\@
++%
++% \def\appendixletter{\char\the\appendixno}
++% We do the following ugly conditional instead of the above simple
++% construct for the sake of pdftex, which needs the actual
++% letter in the expansion, not just typeset.
++%
++\def\appendixletter{%
++  \ifnum\appendixno=`A A%
++  \else\ifnum\appendixno=`B B%
++  \else\ifnum\appendixno=`C C%
++  \else\ifnum\appendixno=`D D%
++  \else\ifnum\appendixno=`E E%
++  \else\ifnum\appendixno=`F F%
++  \else\ifnum\appendixno=`G G%
++  \else\ifnum\appendixno=`H H%
++  \else\ifnum\appendixno=`I I%
++  \else\ifnum\appendixno=`J J%
++  \else\ifnum\appendixno=`K K%
++  \else\ifnum\appendixno=`L L%
++  \else\ifnum\appendixno=`M M%
++  \else\ifnum\appendixno=`N N%
++  \else\ifnum\appendixno=`O O%
++  \else\ifnum\appendixno=`P P%
++  \else\ifnum\appendixno=`Q Q%
++  \else\ifnum\appendixno=`R R%
++  \else\ifnum\appendixno=`S S%
++  \else\ifnum\appendixno=`T T%
++  \else\ifnum\appendixno=`U U%
++  \else\ifnum\appendixno=`V V%
++  \else\ifnum\appendixno=`W W%
++  \else\ifnum\appendixno=`X X%
++  \else\ifnum\appendixno=`Y Y%
++  \else\ifnum\appendixno=`Z Z%
++  % The \the is necessary, despite appearances, because \appendixletter is
++  % expanded while writing the .toc file.  \char\appendixno is not
++  % expandable, thus it is written literally, thus all appendixes come out
++  % with the same letter (or @) in the toc without it.
++  \else\char\the\appendixno
++  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
 +
-+# 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], [])
++% Each @chapter defines this as the name of the chapter.
++% page headings and footings can use it.  @section does likewise.
++% However, they are not reliable, because we don't use marks.
++\def\thischapter{}
++\def\thissection{}
 +
++\newcount\absseclevel % used to calculate proper heading level
++\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
 +
-+# _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-%%"`
-+])
++% @raisesections: treat @section as chapter, @subsection as section, etc.
++\def\raisesections{\global\advance\secbase by -1}
++\let\up=\raisesections % original BFox name
 +
++% @lowersections: treat @chapter as section, @section as subsection, etc.
++\def\lowersections{\global\advance\secbase by 1}
++\let\down=\lowersections % original BFox name
 +
-+# _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
++% we only have subsub.
++\chardef\maxseclevel = 3
++%
++% A numbered section within an unnumbered changes to unnumbered too.
++% To achive this, remember the "biggest" unnum. sec. we are currently in:
++\chardef\unmlevel = \maxseclevel
++%
++% Trace whether the current chapter is an appendix or not:
++% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
++\def\chapheadtype{N}
 +
++% Choose a heading macro
++% #1 is heading type
++% #2 is heading level
++% #3 is text for heading
++\def\genhead#1#2#3{%
++  % Compute the abs. sec. level:
++  \absseclevel=#2
++  \advance\absseclevel by \secbase
++  % Make sure \absseclevel doesn't fall outside the range:
++  \ifnum \absseclevel < 0
++    \absseclevel = 0
++  \else
++    \ifnum \absseclevel > 3
++      \absseclevel = 3
++    \fi
++  \fi
++  % The heading type:
++  \def\headtype{#1}%
++  \if \headtype U%
++    \ifnum \absseclevel < \unmlevel
++      \chardef\unmlevel = \absseclevel
++    \fi
++  \else
++    % Check for appendix sections:
++    \ifnum \absseclevel = 0
++      \edef\chapheadtype{\headtype}%
++    \else
++      \if \headtype A\if \chapheadtype N%
++      \errmessage{@appendix... within a non-appendix chapter}%
++      \fi\fi
++    \fi
++    % Check for numbered within unnumbered:
++    \ifnum \absseclevel > \unmlevel
++      \def\headtype{U}%
++    \else
++      \chardef\unmlevel = 3
++    \fi
++  \fi
++  % Now print the heading:
++  \if \headtype U%
++    \ifcase\absseclevel
++      \unnumberedzzz{#3}%
++    \or \unnumberedseczzz{#3}%
++    \or \unnumberedsubseczzz{#3}%
++    \or \unnumberedsubsubseczzz{#3}%
++    \fi
++  \else
++    \if \headtype A%
++      \ifcase\absseclevel
++        \appendixzzz{#3}%
++      \or \appendixsectionzzz{#3}%
++      \or \appendixsubseczzz{#3}%
++      \or \appendixsubsubseczzz{#3}%
++      \fi
++    \else
++      \ifcase\absseclevel
++        \chapterzzz{#3}%
++      \or \seczzz{#3}%
++      \or \numberedsubseczzz{#3}%
++      \or \numberedsubsubseczzz{#3}%
++      \fi
++    \fi
++  \fi
++  \suppressfirstparagraphindent
++}
 +
-+# _LT_SETUP
-+# ---------
-+m4_defun([_LT_SETUP],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-+
-+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-+dnl
-+_LT_DECL([], [host_alias], [0], [The host system])dnl
-+_LT_DECL([], [host], [0])dnl
-+_LT_DECL([], [host_os], [0])dnl
-+dnl
-+_LT_DECL([], [build_alias], [0], [The build system])dnl
-+_LT_DECL([], [build], [0])dnl
-+_LT_DECL([], [build_os], [0])dnl
-+dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([LT_PATH_LD])dnl
-+AC_REQUIRE([LT_PATH_NM])dnl
-+dnl
-+AC_REQUIRE([AC_PROG_LN_S])dnl
-+test -z "$LN_S" && LN_S="ln -s"
-+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-+dnl
-+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-+dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-+m4_require([_LT_CMD_RELOAD])dnl
-+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-+m4_require([_LT_WITH_SYSROOT])dnl
-+
-+_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
++% an interface:
++\def\numhead{\genhead N}
++\def\apphead{\genhead A}
++\def\unnmhead{\genhead U}
 +
-+_LT_CHECK_OBJDIR
++% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
++% all lower-level sectioning counters to zero.
++%
++% Also set \chaplevelprefix, which we prepend to @float sequence numbers
++% (e.g., figures), q.v.  By default (before any chapter), that is empty.
++\let\chaplevelprefix = \empty
++%
++\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
++\def\chapterzzz#1{%
++  % section resetting is \global in case the chapter is in a group, such
++  % as an @include file.
++  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
++    \global\advance\chapno by 1
++  %
++  % Used for \float.
++  \gdef\chaplevelprefix{\the\chapno.}%
++  \resetallfloatnos
++  %
++  \message{\putwordChapter\space \the\chapno}%
++  %
++  % Write the actual heading.
++  \chapmacro{#1}{Ynumbered}{\the\chapno}%
++  %
++  % So @section and the like are numbered underneath this chapter.
++  \global\let\section = \numberedsec
++  \global\let\subsection = \numberedsubsec
++  \global\let\subsubsection = \numberedsubsubsec
++}
 +
-+m4_require([_LT_TAG_COMPILER])dnl
++\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
++\def\appendixzzz#1{%
++  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
++    \global\advance\appendixno by 1
++  \gdef\chaplevelprefix{\appendixletter.}%
++  \resetallfloatnos
++  %
++  \def\appendixnum{\putwordAppendix\space \appendixletter}%
++  \message{\appendixnum}%
++  %
++  \chapmacro{#1}{Yappendix}{\appendixletter}%
++  %
++  \global\let\section = \appendixsec
++  \global\let\subsection = \appendixsubsec
++  \global\let\subsubsection = \appendixsubsubsec
++}
 +
-+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
++\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
++\def\unnumberedzzz#1{%
++  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
++    \global\advance\unnumberedno by 1
++  %
++  % Since an unnumbered has no number, no prefix for figures.
++  \global\let\chaplevelprefix = \empty
++  \resetallfloatnos
++  %
++  % This used to be simply \message{#1}, but TeX fully expands the
++  % argument to \message.  Therefore, if #1 contained @-commands, TeX
++  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
++  % expanded @cite (which turns out to cause errors because \cite is meant
++  % to be executed, not expanded).
++  %
++  % Anyway, we don't want the fully-expanded definition of @cite to appear
++  % as a result of the \message, we just want `@cite' itself.  We use
++  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
++  % simply yielding the contents of <toks register>.  (We also do this for
++  % the toc entries.)
++  \toks0 = {#1}%
++  \message{(\the\toks0)}%
++  %
++  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
++  %
++  \global\let\section = \unnumberedsec
++  \global\let\subsection = \unnumberedsubsec
++  \global\let\subsubsection = \unnumberedsubsubsec
++}
 +
-+# Global variables:
-+ofile=libtool
-+can_build_shared=yes
++% @centerchap is like @unnumbered, but the heading is centered.
++\outer\parseargdef\centerchap{%
++  % Well, we could do the following in a group, but that would break
++  % an assumption that \chapmacro is called at the outermost level.
++  % Thus we are safer this way:               --kasal, 24feb04
++  \let\centerparametersmaybe = \centerparameters
++  \unnmhead0{#1}%
++  \let\centerparametersmaybe = \relax
++}
 +
-+# All known linkers require a `.a' archive for static linking (except MSVC,
-+# which needs '.lib').
-+libext=a
++% @top is like @unnumbered.
++\let\top\unnumbered
 +
-+with_gnu_ld="$lt_cv_prog_gnu_ld"
++% Sections.
++\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
++\def\seczzz#1{%
++  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
++  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
++}
 +
-+old_CC="$CC"
-+old_CFLAGS="$CFLAGS"
++\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
++\def\appendixsectionzzz#1{%
++  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
++  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
++}
++\let\appendixsec\appendixsection
 +
-+# 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
++\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
++\def\unnumberedseczzz#1{%
++  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
++  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
++}
 +
-+_LT_CC_BASENAME([$compiler])
++% Subsections.
++\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
++\def\numberedsubseczzz#1{%
++  \global\subsubsecno=0  \global\advance\subsecno by 1
++  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
++}
 +
-+# 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
++\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
++\def\appendixsubseczzz#1{%
++  \global\subsubsecno=0  \global\advance\subsecno by 1
++  \sectionheading{#1}{subsec}{Yappendix}%
++                 {\appendixletter.\the\secno.\the\subsecno}%
++}
 +
-+# 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
++\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
++\def\unnumberedsubseczzz#1{%
++  \global\subsubsecno=0  \global\advance\subsecno by 1
++  \sectionheading{#1}{subsec}{Ynothing}%
++                 {\the\unnumberedno.\the\secno.\the\subsecno}%
++}
 +
++% Subsubsections.
++\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
++\def\numberedsubsubseczzz#1{%
++  \global\advance\subsubsecno by 1
++  \sectionheading{#1}{subsubsec}{Ynumbered}%
++                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
++}
 +
-+# _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'
++\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
++\def\appendixsubsubseczzz#1{%
++  \global\advance\subsubsecno by 1
++  \sectionheading{#1}{subsubsec}{Yappendix}%
++                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
++}
 +
-+# Same as above, but do not quote variable references.
-+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
++\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
++\def\unnumberedsubsubseczzz#1{%
++  \global\advance\subsubsecno by 1
++  \sectionheading{#1}{subsubsec}{Ynothing}%
++                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
++}
 +
-+# Sed substitution to delay expansion of an escaped shell variable in a
-+# double_quote_subst'ed string.
-+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++% These macros control what the section commands do, according
++% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
++% Define them by default for a numbered chapter.
++\let\section = \numberedsec
++\let\subsection = \numberedsubsec
++\let\subsubsection = \numberedsubsubsec
 +
-+# Sed substitution to delay expansion of an escaped single quote.
-+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++% Define @majorheading, @heading and @subheading
 +
-+# Sed substitution to avoid accidental globbing in evaled expressions
-+no_glob_subst='s/\*/\\\*/g'
-+])
++% NOTE on use of \vbox for chapter headings, section headings, and such:
++%       1) We use \vbox rather than the earlier \line to permit
++%          overlong headings to fold.
++%       2) \hyphenpenalty is set to 10000 because hyphenation in a
++%          heading is obnoxious; this forbids it.
++%       3) Likewise, headings look best if no \parindent is used, and
++%          if justification is not attempted.  Hence \raggedright.
 +
-+# _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
 +
++\def\majorheading{%
++  {\advance\chapheadingskip by 10pt \chapbreak }%
++  \parsearg\chapheadingzzz
++}
 +
++\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
++\def\chapheadingzzz#1{%
++  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
++                    \parindent=0pt\raggedright
++                    \rm #1\hfill}}%
++  \bigskip \par\penalty 200\relax
++  \suppressfirstparagraphindent
++}
 +
-+# 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.
++% @heading, @subheading, @subsubheading.
++\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
++  \suppressfirstparagraphindent}
++\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
++  \suppressfirstparagraphindent}
++\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
++  \suppressfirstparagraphindent}
 +
++% These macros generate a chapter, section, etc. heading only
++% (including whitespace, linebreaking, etc. around it),
++% given all the information in convenient, parsed form.
 +
-+# _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])
-+])
++%%% Args are the skip and penalty (usually negative)
++\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
 +
++%%% Define plain chapter starts, and page on/off switching for it
++% Parameter controlling skip before chapter headings (if needed)
 +
-+# _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], [[!?.]$], [], [.])
-+)])
++\newskip\chapheadingskip
 +
++\def\chapbreak{\dobreak \chapheadingskip {-4000}}
++\def\chappager{\par\vfill\supereject}
++\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
 +
++\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
 +
++\def\CHAPPAGoff{%
++\global\let\contentsalignmacro = \chappager
++\global\let\pchapsepmacro=\chapbreak
++\global\let\pagealignmacro=\chappager}
 +
++\def\CHAPPAGon{%
++\global\let\contentsalignmacro = \chappager
++\global\let\pchapsepmacro=\chappager
++\global\let\pagealignmacro=\chappager
++\global\def\HEADINGSon{\HEADINGSsingle}}
 +
-+# _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])])])
-+])
++\def\CHAPPAGodd{%
++\global\let\contentsalignmacro = \chapoddpage
++\global\let\pchapsepmacro=\chapoddpage
++\global\let\pagealignmacro=\chapoddpage
++\global\def\HEADINGSon{\HEADINGSdouble}}
 +
++\CHAPPAGon
 +
-+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-+# --------------------------------------------------------
-+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
++% Chapter opening.
++%
++% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
++% Yappendix, Yomitfromtoc), #3 the chapter number.
++%
++% To test against our argument.
++\def\Ynothingkeyword{Ynothing}
++\def\Yomitfromtockeyword{Yomitfromtoc}
++\def\Yappendixkeyword{Yappendix}
++%
++\def\chapmacro#1#2#3{%
++  \pchapsepmacro
++  {%
++    \chapfonts \rm
++    %
++    % Have to define \thissection before calling \donoderef, because the
++    % xref code eventually uses it.  On the other hand, it has to be called
++    % after \pchapsepmacro, or the headline will change too soon.
++    \gdef\thissection{#1}%
++    \gdef\thischaptername{#1}%
++    %
++    % Only insert the separating space if we have a chapter/appendix
++    % number, and don't print the unnumbered ``number''.
++    \def\temptype{#2}%
++    \ifx\temptype\Ynothingkeyword
++      \setbox0 = \hbox{}%
++      \def\toctype{unnchap}%
++      \gdef\thischapter{#1}%
++    \else\ifx\temptype\Yomitfromtockeyword
++      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
++      \def\toctype{omit}%
++      \gdef\thischapter{}%
++    \else\ifx\temptype\Yappendixkeyword
++      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
++      \def\toctype{app}%
++      % We don't substitute the actual chapter name into \thischapter
++      % because we don't want its macros evaluated now.  And we don't
++      % use \thissection because that changes with each section.
++      %
++      \xdef\thischapter{\putwordAppendix{} \appendixletter:
++                        \noexpand\thischaptername}%
++    \else
++      \setbox0 = \hbox{#3\enspace}%
++      \def\toctype{numchap}%
++      \xdef\thischapter{\putwordChapter{} \the\chapno:
++                        \noexpand\thischaptername}%
++    \fi\fi\fi
++    %
++    % Write the toc entry for this chapter.  Must come before the
++    % \donoderef, because we include the current node name in the toc
++    % entry, and \donoderef resets it to empty.
++    \writetocentry{\toctype}{#1}{#3}%
++    %
++    % For pdftex, we have to write out the node definition (aka, make
++    % the pdfdest) after any page break, but before the actual text has
++    % been typeset.  If the destination for the pdf outline is after the
++    % text, then jumping from the outline may wind up with the text not
++    % being visible, for instance under high magnification.
++    \donoderef{#2}%
++    %
++    % Typeset the actual heading.
++    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
++          \hangindent=\wd0 \centerparametersmaybe
++          \unhbox0 #1\par}%
++  }%
++  \nobreak\bigskip % no page break after a chapter title
++  \nobreak
++}
 +
++% @centerchap -- centered and unnumbered.
++\let\centerparametersmaybe = \relax
++\def\centerparameters{%
++  \advance\rightskip by 3\rightskip
++  \leftskip = \rightskip
++  \parfillskip = 0pt
++}
 +
-+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-+# ------------------------------------------------
-+m4_define([lt_decl_tag_varnames],
-+[_lt_decl_filter([tagged?], [yes], $@)])
 +
++% I don't think this chapter style is supported any more, so I'm not
++% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
++%
++\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
++%
++\def\unnchfopen #1{%
++\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
++                       \parindent=0pt\raggedright
++                       \rm #1\hfill}}\bigskip \par\nobreak
++}
++\def\chfopen #1#2{\chapoddpage {\chapfonts
++\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
++\par\penalty 5000 %
++}
++\def\centerchfopen #1{%
++\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
++                       \parindent=0pt
++                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
++}
++\def\CHAPFopen{%
++  \global\let\chapmacro=\chfopen
++  \global\let\centerchapmacro=\centerchfopen}
 +
-+# _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
-+])
 +
++% Section titles.  These macros combine the section number parts and
++% call the generic \sectionheading to do the printing.
++%
++\newskip\secheadingskip
++\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
 +
-+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-+# --------------------------------------------------
-+m4_define([lt_decl_quote_varnames],
-+[_lt_decl_filter([value], [1], $@)])
++% Subsection titles.
++\newskip\subsecheadingskip
++\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
 +
++% Subsubsection titles.
++\def\subsubsecheadingskip{\subsecheadingskip}
++\def\subsubsecheadingbreak{\subsecheadingbreak}
 +
-+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-+# ---------------------------------------------------
-+m4_define([lt_decl_dquote_varnames],
-+[_lt_decl_filter([value], [2], $@)])
 +
++% Print any size, any type, section title.
++%
++% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
++% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
++% section number.
++%
++\def\sectionheading#1#2#3#4{%
++  {%
++    % Switch to the right set of fonts.
++    \csname #2fonts\endcsname \rm
++    %
++    % Insert space above the heading.
++    \csname #2headingbreak\endcsname
++    %
++    % Only insert the space after the number if we have a section number.
++    \def\sectionlevel{#2}%
++    \def\temptype{#3}%
++    %
++    \ifx\temptype\Ynothingkeyword
++      \setbox0 = \hbox{}%
++      \def\toctype{unn}%
++      \gdef\thissection{#1}%
++    \else\ifx\temptype\Yomitfromtockeyword
++      % for @headings -- no section number, don't include in toc,
++      % and don't redefine \thissection.
++      \setbox0 = \hbox{}%
++      \def\toctype{omit}%
++      \let\sectionlevel=\empty
++    \else\ifx\temptype\Yappendixkeyword
++      \setbox0 = \hbox{#4\enspace}%
++      \def\toctype{app}%
++      \gdef\thissection{#1}%
++    \else
++      \setbox0 = \hbox{#4\enspace}%
++      \def\toctype{num}%
++      \gdef\thissection{#1}%
++    \fi\fi\fi
++    %
++    % Write the toc entry (before \donoderef).  See comments in \chfplain.
++    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
++    %
++    % Write the node reference (= pdf destination for pdftex).
++    % Again, see comments in \chfplain.
++    \donoderef{#3}%
++    %
++    % Output the actual section heading.
++    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
++          \hangindent=\wd0  % zero if no section number
++          \unhbox0 #1}%
++  }%
++  % Add extra space after the heading -- half of whatever came above it.
++  % Don't allow stretch, though.
++  \kern .5 \csname #2headingskip\endcsname
++  %
++  % Do not let the kern be a potential breakpoint, as it would be if it
++  % was followed by glue.
++  \nobreak
++  %
++  % We'll almost certainly start a paragraph next, so don't let that
++  % glue accumulate.  (Not a breakpoint because it's preceded by a
++  % discardable item.)
++  \vskip-\parskip
++  % 
++  % This is purely so the last item on the list is a known \penalty >
++  % 10000.  This is so \startdefun can avoid allowing breakpoints after
++  % section headings.  Otherwise, it would insert a valid breakpoint between:
++  % 
++  %   @section sec-whatever
++  %   @deffn def-whatever
++  \penalty 10001
++}
 +
-+# 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)])])
 +
++\message{toc,}
++% Table of contents.
++\newwrite\tocfile
 +
-+# 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
-+])
++% Write an entry to the toc file, opening it if necessary.
++% Called from @chapter, etc.
++%
++% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
++% We append the current node name (if any) and page number as additional
++% arguments for the \{chap,sec,...}entry macros which will eventually
++% read this.  The node name is used in the pdf outlines as the
++% destination to jump to.
++%
++% We open the .toc file for writing here instead of at @setfilename (or
++% any other fixed time) so that @contents can be anywhere in the document.
++% But if #1 is `omit', then we don't do anything.  This is used for the
++% table of contents chapter openings themselves.
++%
++\newif\iftocfileopened
++\def\omitkeyword{omit}%
++%
++\def\writetocentry#1#2#3{%
++  \edef\writetoctype{#1}%
++  \ifx\writetoctype\omitkeyword \else
++    \iftocfileopened\else
++      \immediate\openout\tocfile = \jobname.toc
++      \global\tocfileopenedtrue
++    \fi
++    %
++    \iflinks
++      {\atdummies
++       \edef\temp{%
++         \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
++       \temp
++      }
++    \fi
++  \fi
++  %
++  % Tell \shipout to create a pdf destination on each page, if we're
++  % writing pdf.  These are used in the table of contents.  We can't
++  % just write one on every page because the title pages are numbered
++  % 1 and 2 (the page numbers aren't printed), and so are the first
++  % two pages of the document.  Thus, we'd have two destinations named
++  % `1', and two named `2'.
++  \ifpdf \global\pdfmakepagedesttrue \fi
++}
 +
 +
-+# _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"`'])
++% These characters do not print properly in the Computer Modern roman
++% fonts, so we must take special care.  This is more or less redundant
++% with the Texinfo input format setup at the end of this file.
++% 
++\def\activecatcodes{%
++  \catcode`\"=\active
++  \catcode`\$=\active
++  \catcode`\<=\active
++  \catcode`\>=\active
++  \catcode`\\=\active
++  \catcode`\^=\active
++  \catcode`\_=\active
++  \catcode`\|=\active
++  \catcode`\~=\active
++}
 +
 +
-+# _LT_CONFIG_STATUS_DECLARATIONS
-+# ------------------------------
-+# We delimit libtool config variables with single quotes, so when
-+# we write them to config.status, we have to be sure to quote all
-+# embedded single quotes properly.  In configure, this macro expands
-+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-+#
-+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
++% Read the toc file, which is essentially Texinfo input.
++\def\readtocfile{%
++  \setupdatafile
++  \activecatcodes
++  \input \jobname.toc
++}
 +
++\newskip\contentsrightmargin \contentsrightmargin=1in
++\newcount\savepageno
++\newcount\lastnegativepageno \lastnegativepageno = -1
 +
-+# _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
-+])
++% Prepare to read what we've written to \tocfile.
++%
++\def\startcontents#1{%
++  % If @setchapternewpage on, and @headings double, the contents should
++  % start on an odd page, unlike chapters.  Thus, we maintain
++  % \contentsalignmacro in parallel with \pagealignmacro.
++  % From: Torbjorn Granlund <tege@matematik.su.se>
++  \contentsalignmacro
++  \immediate\closeout\tocfile
++  %
++  % Don't need to put `Contents' or `Short Contents' in the headline.
++  % It is abundantly clear what they are.
++  \def\thischapter{}%
++  \chapmacro{#1}{Yomitfromtoc}{}%
++  %
++  \savepageno = \pageno
++  \begingroup                  % Set up to handle contents files properly.
++    \raggedbottom              % Worry more about breakpoints than the bottom.
++    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
++    %
++    % Roman numerals for page numbers.
++    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
++}
 +
 +
-+# _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
-+])
++% Normal (long) toc.
++\def\contents{%
++  \startcontents{\putwordTOC}%
++    \openin 1 \jobname.toc
++    \ifeof 1 \else
++      \readtocfile
++    \fi
++    \vfill \eject
++    \contentsalignmacro % in case @setchapternewpage odd is in effect
++    \ifeof 1 \else
++      \pdfmakeoutlines
++    \fi
++    \closein 1
++  \endgroup
++  \lastnegativepageno = \pageno
++  \global\pageno = \savepageno
++}
 +
++% And just the chapters.
++\def\summarycontents{%
++  \startcontents{\putwordShortTOC}%
++    %
++    \let\numchapentry = \shortchapentry
++    \let\appentry = \shortchapentry
++    \let\unnchapentry = \shortunnchapentry
++    % We want a true roman here for the page numbers.
++    \secfonts
++    \let\rm=\shortcontrm \let\bf=\shortcontbf
++    \let\sl=\shortcontsl \let\tt=\shortconttt
++    \rm
++    \hyphenpenalty = 10000
++    \advance\baselineskip by 1pt % Open it up a little.
++    \def\numsecentry##1##2##3##4{}
++    \let\appsecentry = \numsecentry
++    \let\unnsecentry = \numsecentry
++    \let\numsubsecentry = \numsecentry
++    \let\appsubsecentry = \numsecentry
++    \let\unnsubsecentry = \numsecentry
++    \let\numsubsubsecentry = \numsecentry
++    \let\appsubsubsecentry = \numsecentry
++    \let\unnsubsubsecentry = \numsecentry
++    \openin 1 \jobname.toc
++    \ifeof 1 \else
++      \readtocfile
++    \fi
++    \closein 1
++    \vfill \eject
++    \contentsalignmacro % in case @setchapternewpage odd is in effect
++  \endgroup
++  \lastnegativepageno = \pageno
++  \global\pageno = \savepageno
++}
++\let\shortcontents = \summarycontents
 +
-+# _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)])])])
++% Typeset the label for a chapter or appendix for the short contents.
++% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
++%
++\def\shortchaplabel#1{%
++  % This space should be enough, since a single number is .5em, and the
++  % widest letter (M) is 1em, at least in the Computer Modern fonts.
++  % But use \hss just in case.
++  % (This space doesn't include the extra space that gets added after
++  % the label; that gets put in by \shortchapentry above.)
++  %
++  % We'd like to right-justify chapter numbers, but that looks strange
++  % with appendix letters.  And right-justifying numbers and
++  % left-justifying letters looks strange when there is less than 10
++  % chapters.  Have to read the whole toc once to know how many chapters
++  % there are before deciding ...
++  \hbox to 1em{#1\hss}%
++}
 +
++% These macros generate individual entries in the table of contents.
++% The first argument is the chapter or section name.
++% The last argument is the page number.
++% The arguments in between are the chapter number, section number, ...
 +
-+# _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])])])])
++% Chapters, in the main contents.
++\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
++%
++% Chapters, in the short toc.
++% See comments in \dochapentry re vbox and related settings.
++\def\shortchapentry#1#2#3#4{%
++  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
++}
 +
++% Appendices, in the main contents.
++% Need the word Appendix, and a fixed-size box.
++%
++\def\appendixbox#1{%
++  % We use M since it's probably the widest letter.
++  \setbox0 = \hbox{\putwordAppendix{} M}%
++  \hbox to \wd0{\putwordAppendix{} #1\hss}}
++%
++\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
 +
-+# _LT_TAGVAR(VARNAME, [TAGNAME])
-+# ------------------------------
-+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
++% Unnumbered chapters.
++\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
++\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
 +
++% Sections.
++\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
++\let\appsecentry=\numsecentry
++\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
 +
-+# _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],
-+[
++% Subsections.
++\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
++\let\appsubsecentry=\numsubsecentry
++\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
 +
-+# 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
++% And subsubsections.
++\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
++\let\appsubsubsecentry=\numsubsubsecentry
++\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
 +
-+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'
++% This parameter controls the indentation of the various levels.
++% Same as \defaultparindent.
++\newdimen\tocindent \tocindent = 15pt
 +
-+# A function that is used when there is no print builtin or printf.
-+func_fallback_echo ()
-+{
-+  eval 'cat <<_LTECHO_EOF
-+\$[]1
-+_LTECHO_EOF'
++% Now for the actual typesetting. In all these, #1 is the text and #2 is the
++% page number.
++%
++% If the toc has to be broken over pages, we want it to be at chapters
++% if at all possible; hence the \penalty.
++\def\dochapentry#1#2{%
++   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
++   \begingroup
++     \chapentryfonts
++     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
++   \endgroup
++   \nobreak\vskip .25\baselineskip plus.1\baselineskip
 +}
 +
-+# 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]]
++\def\dosecentry#1#2{\begingroup
++  \secentryfonts \leftskip=\tocindent
++  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
++\endgroup}
 +
-+  -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
++\def\dosubsecentry#1#2{\begingroup
++  \subsecentryfonts \leftskip=2\tocindent
++  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
++\endgroup}
 +
-+Report bugs to <bug-libtool@gnu.org>."
++\def\dosubsubsecentry#1#2{\begingroup
++  \subsubsecentryfonts \leftskip=3\tocindent
++  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
++\endgroup}
 +
-+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.
++% We use the same \entry macro as for the index entries.
++\let\tocentry = \entry
 +
-+Copyright (C) 2011 Free Software Foundation, Inc.
-+This config.lt script is free software; the Free Software Foundation
-+gives unlimited permision to copy, distribute and modify it."
++% Space between chapter (or whatever) number and the title.
++\def\labelspace{\hskip1em \relax}
 +
-+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
++\def\dopageno#1{{\rm #1}}
++\def\doshortpageno#1{{\rm #1}}
 +
-+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
++\def\chapentryfonts{\secfonts \rm}
++\def\secentryfonts{\textfonts}
++\def\subsecentryfonts{\textfonts}
++\def\subsubsecentryfonts{\textfonts}
 +
-+    cfgfile="${ofile}T"
-+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-+    $RM "$cfgfile"
 +
-+    cat <<_LT_EOF >> "$cfgfile"
-+#! $SHELL
++\message{environments,}
++% @foo ... @end foo.
 +
-+# `$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
++% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
++%
++% Since these characters are used in examples, it should be an even number of
++% \tt widths. Each \tt character is 1en, so two makes it 1em.
++%
++\def\point{$\star$}
++\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
++\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
++\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
++\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
 +
-+# ### BEGIN LIBTOOL CONFIG
-+_LT_LIBTOOL_CONFIG_VARS
-+_LT_LIBTOOL_TAG_VARS
-+# ### END LIBTOOL CONFIG
++% The @error{} command.
++% Adapted from the TeXbook's \boxit.
++%
++\newbox\errorbox
++%
++{\tentt \global\dimen0 = 3em}% Width of the box.
++\dimen2 = .55pt % Thickness of rules
++% The text. (`r' is open on the right, `e' somewhat less so on the left.)
++\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
++%
++\setbox\errorbox=\hbox to \dimen0{\hfil
++   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
++   \advance\hsize by -2\dimen2 % Rules.
++   \vbox{%
++      \hrule height\dimen2
++      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
++         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
++         \kern3pt\vrule width\dimen2}% Space to right.
++      \hrule height\dimen2}
++    \hfil}
++%
++\def\error{\leavevmode\lower.7ex\copy\errorbox}
 +
-+_LT_EOF
++% @tex ... @end tex    escapes into raw Tex temporarily.
++% One exception: @ is still an escape character, so that @end tex works.
++% But \@ or @@ will get a plain tex @ character.
 +
-+  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
++\envdef\tex{%
++  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
++  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
++  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
++  \catcode `\%=14
++  \catcode `\+=\other
++  \catcode `\"=\other
++  \catcode `\|=\other
++  \catcode `\<=\other
++  \catcode `\>=\other
++  \escapechar=`\\
++  %
++  \let\b=\ptexb
++  \let\bullet=\ptexbullet
++  \let\c=\ptexc
++  \let\,=\ptexcomma
++  \let\.=\ptexdot
++  \let\dots=\ptexdots
++  \let\equiv=\ptexequiv
++  \let\!=\ptexexclam
++  \let\i=\ptexi
++  \let\indent=\ptexindent
++  \let\noindent=\ptexnoindent
++  \let\{=\ptexlbrace
++  \let\+=\tabalign
++  \let\}=\ptexrbrace
++  \let\/=\ptexslash
++  \let\*=\ptexstar
++  \let\t=\ptext
++  \let\frenchspacing=\plainfrenchspacing
++  %
++  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
++  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
++  \def\@{@}%
++}
++% There is no need to define \Etex.
 +
-+  _LT_PROG_LTMAIN
++% Define @lisp ... @end lisp.
++% @lisp environment forms a group so it can rebind things,
++% including the definition of @end lisp (which normally is erroneous).
 +
-+  # 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)
++% Amount to narrow the margins by for @lisp.
++\newskip\lispnarrowing \lispnarrowing=0.4in
 +
-+  _LT_PROG_REPLACE_SHELLFNS
++% This is the definition that ^^M gets inside @lisp, @example, and other
++% such environments.  \null is better than a space, since it doesn't
++% have any width.
++\def\lisppar{\null\endgraf}
 +
-+   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], [])
++% This space is always present above and below environments.
++\newskip\envskipamount \envskipamount = 0pt
 +
++% Make spacing and below environment symmetrical.  We use \parskip here
++% to help in doing that, since in @example-like environments \parskip
++% is reset to zero; thus the \afterenvbreak inserts no space -- but the
++% start of the next paragraph will insert \parskip.
++%
++\def\aboveenvbreak{{%
++  % =10000 instead of <10000 because of a special case in \itemzzz and
++  % \sectionheading, q.v.
++  \ifnum \lastpenalty=10000 \else
++    \advance\envskipamount by \parskip
++    \endgraf
++    \ifdim\lastskip<\envskipamount
++      \removelastskip
++      % it's not a good place to break if the last penalty was \nobreak
++      % or better ...
++      \ifnum\lastpenalty<10000 \penalty-50 \fi
++      \vskip\envskipamount
++    \fi
++  \fi
++}}
 +
-+# C support is built-in for now
-+m4_define([_LT_LANG_C_enabled], [])
-+m4_define([_LT_TAGS], [])
++\let\afterenvbreak = \aboveenvbreak
 +
++% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
++% also clear it, so that its embedded environments do the narrowing again.
++\let\nonarrowing=\relax
 +
-+# LT_LANG(LANG)
-+# -------------
-+# Enable libtool support for the given language if not already enabled.
-+AC_DEFUN([LT_LANG],
-+[AC_BEFORE([$0], [LT_OUTPUT])dnl
-+m4_case([$1],
-+  [C],                        [_LT_LANG(C)],
-+  [C++],              [_LT_LANG(CXX)],
-+  [Go],                       [_LT_LANG(GO)],
-+  [Java],             [_LT_LANG(GCJ)],
-+  [Fortran 77],               [_LT_LANG(F77)],
-+  [Fortran],          [_LT_LANG(FC)],
-+  [Windows Resource], [_LT_LANG(RC)],
-+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-+    [_LT_LANG($1)],
-+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-+])# LT_LANG
-+
-+
-+# _LT_LANG(LANGNAME)
-+# ------------------
-+m4_defun([_LT_LANG],
-+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-+  [LT_SUPPORTED_TAG([$1])dnl
-+  m4_append([_LT_TAGS], [$1 ])dnl
-+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-+  _LT_LANG_$1_CONFIG($1)])dnl
-+])# _LT_LANG
-+
-+
-+m4_ifndef([AC_PROG_GO], [
-+# NOTE: This macro has been submitted for inclusion into   #
-+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
-+#  a released version of Autoconf we should remove this    #
-+#  macro and use it instead.                               #
-+m4_defun([AC_PROG_GO],
-+[AC_LANG_PUSH(Go)dnl
-+AC_ARG_VAR([GOC],     [Go compiler command])dnl
-+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-+_AC_ARG_VAR_LDFLAGS()dnl
-+AC_CHECK_TOOL(GOC, gccgo)
-+if test -z "$GOC"; then
-+  if test -n "$ac_tool_prefix"; then
-+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
-+  fi
-+fi
-+if test -z "$GOC"; then
-+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-+fi
-+])#m4_defun
-+])#m4_ifndef
++% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
++% environment contents.
++\font\circle=lcircle10
++\newdimen\circthick
++\newdimen\cartouter\newdimen\cartinner
++\newskip\normbskip\newskip\normpskip\newskip\normlskip
++\circthick=\fontdimen8\circle
++%
++\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
++\def\ctr{{\hskip 6pt\circle\char'010}}
++\def\cbl{{\circle\char'012\hskip -6pt}}
++\def\cbr{{\hskip 6pt\circle\char'011}}
++\def\carttop{\hbox to \cartouter{\hskip\lskip
++        \ctl\leaders\hrule height\circthick\hfil\ctr
++        \hskip\rskip}}
++\def\cartbot{\hbox to \cartouter{\hskip\lskip
++        \cbl\leaders\hrule height\circthick\hfil\cbr
++        \hskip\rskip}}
++%
++\newskip\lskip\newskip\rskip
 +
++\envdef\cartouche{%
++  \ifhmode\par\fi  % can't be in the midst of a paragraph.
++  \startsavinginserts
++  \lskip=\leftskip \rskip=\rightskip
++  \leftskip=0pt\rightskip=0pt % we want these *outside*.
++  \cartinner=\hsize \advance\cartinner by-\lskip
++  \advance\cartinner by-\rskip
++  \cartouter=\hsize
++  \advance\cartouter by 18.4pt        % allow for 3pt kerns on either
++                              % side, and for 6pt waste from
++                              % each corner char, and rule thickness
++  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
++  % Flag to tell @lisp, etc., not to narrow margin.
++  \let\nonarrowing = t%
++  \vbox\bgroup
++      \baselineskip=0pt\parskip=0pt\lineskip=0pt
++      \carttop
++      \hbox\bgroup
++        \hskip\lskip
++        \vrule\kern3pt
++        \vbox\bgroup
++            \kern3pt
++            \hsize=\cartinner
++            \baselineskip=\normbskip
++            \lineskip=\normlskip
++            \parskip=\normpskip
++            \vskip -\parskip
++            \comment % For explanation, see the end of \def\group.
++}
++\def\Ecartouche{%
++              \ifhmode\par\fi
++            \kern3pt
++        \egroup
++        \kern3pt\vrule
++        \hskip\rskip
++      \egroup
++      \cartbot
++  \egroup
++  \checkinserts
++}
 +
-+# _LT_LANG_DEFAULT_CONFIG
-+# -----------------------
-+m4_defun([_LT_LANG_DEFAULT_CONFIG],
-+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-+  [LT_LANG(CXX)],
-+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-+
-+AC_PROVIDE_IFELSE([AC_PROG_F77],
-+  [LT_LANG(F77)],
-+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-+
-+AC_PROVIDE_IFELSE([AC_PROG_FC],
-+  [LT_LANG(FC)],
-+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-+
-+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-+dnl pulling things in needlessly.
-+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-+  [LT_LANG(GCJ)],
-+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-+    [LT_LANG(GCJ)],
-+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-+      [LT_LANG(GCJ)],
-+      [m4_ifdef([AC_PROG_GCJ],
-+      [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-+       m4_ifdef([A][M_PROG_GCJ],
-+      [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-+       m4_ifdef([LT_PROG_GCJ],
-+      [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-+
-+AC_PROVIDE_IFELSE([AC_PROG_GO],
-+  [LT_LANG(GO)],
-+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-+
-+AC_PROVIDE_IFELSE([LT_PROG_RC],
-+  [LT_LANG(RC)],
-+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-+])# _LT_LANG_DEFAULT_CONFIG
-+
-+# Obsolete macros:
-+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
 +
++% This macro is called at the beginning of all the @example variants,
++% inside a group.
++\def\nonfillstart{%
++  \aboveenvbreak
++  \hfuzz = 12pt % Don't be fussy
++  \sepspaces % Make spaces be word-separators rather than space tokens.
++  \let\par = \lisppar % don't ignore blank lines
++  \obeylines % each line of input is a line of output
++  \parskip = 0pt
++  \parindent = 0pt
++  \emergencystretch = 0pt % don't try to avoid overfull boxes
++  \ifx\nonarrowing\relax
++    \advance \leftskip by \lispnarrowing
++    \exdentamount=\lispnarrowing
++  \else
++    \let\nonarrowing = \relax
++  \fi
++  \let\exdent=\nofillexdent
++}
 +
-+# _LT_TAG_COMPILER
-+# ----------------
-+m4_defun([_LT_TAG_COMPILER],
-+[AC_REQUIRE([AC_PROG_CC])dnl
++% If you want all examples etc. small: @set dispenvsize small.
++% If you want even small examples the full size: @set dispenvsize nosmall.
++% This affects the following displayed environments:
++%    @example, @display, @format, @lisp
++%
++\def\smallword{small}
++\def\nosmallword{nosmall}
++\let\SETdispenvsize\relax
++\def\setnormaldispenv{%
++  \ifx\SETdispenvsize\smallword
++    \smallexamplefonts \rm
++  \fi
++}
++\def\setsmalldispenv{%
++  \ifx\SETdispenvsize\nosmallword
++  \else
++    \smallexamplefonts \rm
++  \fi
++}
 +
-+_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
++% We often define two environments, @foo and @smallfoo.
++% Let's do it by one command:
++\def\makedispenv #1#2{
++  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
++  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
++  \expandafter\let\csname E#1\endcsname \afterenvbreak
++  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
++}
 +
-+# If no C compiler was specified, use CC.
-+LTCC=${LTCC-"$CC"}
++% Define two synonyms:
++\def\maketwodispenvs #1#2#3{
++  \makedispenv{#1}{#3}
++  \makedispenv{#2}{#3}
++}
 +
-+# If no C compiler flags were specified, use CFLAGS.
-+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
++%
++% @smallexample and @smalllisp: use smaller fonts.
++% Originally contributed by Pavel@xerox.
++%
++\maketwodispenvs {lisp}{example}{%
++  \nonfillstart
++  \tt
++  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
++  \gobble       % eat return
++}
 +
-+# Allow CC to be a program name with arguments.
-+compiler=$CC
-+])# _LT_TAG_COMPILER
++% @display/@smalldisplay: same as @lisp except keep current font.
++%
++\makedispenv {display}{%
++  \nonfillstart
++  \gobble
++}
 +
++% @format/@smallformat: same as @display except don't narrow margins.
++%
++\makedispenv{format}{%
++  \let\nonarrowing = t%
++  \nonfillstart
++  \gobble
++}
 +
-+# _LT_COMPILER_BOILERPLATE
-+# ------------------------
-+# Check for compiler boilerplate output or warnings with
-+# the simple compiler test code.
-+m4_defun([_LT_COMPILER_BOILERPLATE],
-+[m4_require([_LT_DECL_SED])dnl
-+ac_outfile=conftest.$ac_objext
-+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-+_lt_compiler_boilerplate=`cat conftest.err`
-+$RM conftest*
-+])# _LT_COMPILER_BOILERPLATE
-+
-+
-+# _LT_LINKER_BOILERPLATE
-+# ----------------------
-+# Check for linker boilerplate output or warnings with
-+# the simple link test code.
-+m4_defun([_LT_LINKER_BOILERPLATE],
-+[m4_require([_LT_DECL_SED])dnl
-+ac_outfile=conftest.$ac_objext
-+echo "$lt_simple_link_test_code" >conftest.$ac_ext
-+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-+_lt_linker_boilerplate=`cat conftest.err`
-+$RM -r conftest*
-+])# _LT_LINKER_BOILERPLATE
-+
-+# _LT_REQUIRED_DARWIN_CHECKS
-+# -------------------------
-+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-+  case $host_os in
-+    rhapsody* | darwin*)
-+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-+    AC_CHECK_TOOL([LIPO], [lipo], [:])
-+    AC_CHECK_TOOL([OTOOL], [otool], [:])
-+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-+    _LT_DECL([], [DSYMUTIL], [1],
-+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-+    _LT_DECL([], [NMEDIT], [1],
-+      [Tool to change global to local symbols on Mac OS X])
-+    _LT_DECL([], [LIPO], [1],
-+      [Tool to manipulate fat objects and archives on Mac OS X])
-+    _LT_DECL([], [OTOOL], [1],
-+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-+    _LT_DECL([], [OTOOL64], [1],
-+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-+
-+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-+      [lt_cv_apple_cc_single_mod=no
-+      if test -z "${LT_MULTI_MODULE}"; then
-+      # By default we will add the -single_module flag. You can override
-+      # by either setting the environment variable LT_MULTI_MODULE
-+      # non-empty at configure time, or by adding -multi_module to the
-+      # link flags.
-+      rm -rf libconftest.dylib*
-+      echo "int foo(void){return 1;}" > conftest.c
-+      echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-+      $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-+        -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-+        _lt_result=$?
-+      # If there is a non-empty error log, and "single_module"
-+      # appears in it, assume the flag caused a linker warning
-+        if test -s conftest.err && $GREP single_module conftest.err; then
-+        cat conftest.err >&AS_MESSAGE_LOG_FD
-+      # Otherwise, if the output was created with a 0 exit code from
-+      # the compiler, it worked.
-+      elif test -f libconftest.dylib && test $_lt_result -eq 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 -s conftest.err && $GREP force_load conftest.err; then
-+      cat conftest.err >&AS_MESSAGE_LOG_FD
-+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
-+      lt_cv_ld_force_load=yes
-+      else
-+      cat conftest.err >&AS_MESSAGE_LOG_FD
-+      fi
-+        rm -f conftest.err libconftest.a conftest conftest.c
-+        rm -rf conftest.dSYM
-+    ])
-+    case $host_os in
-+    rhapsody* | darwin1.[[012]])
-+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-+    darwin1.*)
-+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-+    darwin*) # darwin 5.x on
-+      # if running on 10.5 or later, the deployment target defaults
-+      # to the OS version, if on x86, and 10.4, the deployment
-+      # target defaults to 10.4. Don't you love it?
-+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-+      10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-+        _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-+      10.[[012]]*)
-+        _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-+      10.*)
-+        _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-+      esac
-+    ;;
-+  esac
-+    if test "$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
-+])
++% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
++\envdef\flushleft{%
++  \let\nonarrowing = t%
++  \nonfillstart
++  \gobble
++}
++\let\Eflushleft = \afterenvbreak
 +
++% @flushright.
++%
++\envdef\flushright{%
++  \let\nonarrowing = t%
++  \nonfillstart
++  \advance\leftskip by 0pt plus 1fill
++  \gobble
++}
++\let\Eflushright = \afterenvbreak
 +
-+# _LT_DARWIN_LINKER_FEATURES([TAG])
-+# ---------------------------------
-+# Checks for linker and compiler features on darwin
-+m4_defun([_LT_DARWIN_LINKER_FEATURES],
-+[
-+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+  _LT_TAGVAR(hardcode_direct, $1)=no
-+  _LT_TAGVAR(hardcode_automatic, $1)=yes
-+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-+  if test "$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\"`'
-+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
-+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
-+  else
-+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-+  fi
-+  _LT_TAGVAR(link_all_deplibs, $1)=yes
-+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-+  case $cc_basename in
-+     ifort*) _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
++% @quotation does normal linebreaking (hence we can't use \nonfillstart)
++% and narrows the margins.  We keep \parskip nonzero in general, since
++% we're doing normal filling.  So, when using \aboveenvbreak and
++% \afterenvbreak, temporarily make \parskip 0.
++%
++\envdef\quotation{%
++  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
++  \parindent=0pt
++  %
++  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
++  \ifx\nonarrowing\relax
++    \advance\leftskip by \lispnarrowing
++    \advance\rightskip by \lispnarrowing
++    \exdentamount = \lispnarrowing
++  \else
++    \let\nonarrowing = \relax
++  \fi
++  \parsearg\quotationlabel
++}
 +
++% We have retained a nonzero parskip for the environment, since we're
++% doing normal filling.
++%
++\def\Equotation{%
++  \par
++  \ifx\quotationauthor\undefined\else
++    % indent a bit.
++    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
++  \fi
++  {\parskip=0pt \afterenvbreak}%
++}
 +
-+# _LT_SHELL_INIT(ARG)
-+# -------------------
-+m4_define([_LT_SHELL_INIT],
-+[m4_divert_text([M4SH-INIT], [$1
-+])])# _LT_SHELL_INIT
++% If we're given an argument, typeset it in bold with a colon after.
++\def\quotationlabel#1{%
++  \def\temp{#1}%
++  \ifx\temp\empty \else
++    {\bf #1: }%
++  \fi
++}
 +
 +
++% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
++% If we want to allow any <char> as delimiter,
++% we need the curly braces so that makeinfo sees the @verb command, eg:
++% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
++%
++% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
++%
++% [Knuth] p.344; only we need to do the other characters Texinfo sets
++% active too.  Otherwise, they get lost as the first character on a
++% verbatim line.
++\def\dospecials{%
++  \do\ \do\\\do\{\do\}\do\$\do\&%
++  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
++  \do\<\do\>\do\|\do\@\do+\do\"%
++}
++%
++% [Knuth] p. 380
++\def\uncatcodespecials{%
++  \def\do##1{\catcode`##1=\other}\dospecials}
++%
++% [Knuth] pp. 380,381,391
++% Disable Spanish ligatures ?` and !` of \tt font
++\begingroup
++  \catcode`\`=\active\gdef`{\relax\lq}
++\endgroup
++%
++% Setup for the @verb command.
++%
++% Eight spaces for a tab
++\begingroup
++  \catcode`\^^I=\active
++  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
++\endgroup
++%
++\def\setupverb{%
++  \tt  % easiest (and conventionally used) font for verbatim
++  \def\par{\leavevmode\endgraf}%
++  \catcode`\`=\active
++  \tabeightspaces
++  % Respect line breaks,
++  % print special symbols as themselves, and
++  % make each space count
++  % must do in this order:
++  \obeylines \uncatcodespecials \sepspaces
++}
 +
-+# _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'
++% Setup for the @verbatim environment
++%
++% Real tab expansion
++\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
++%
++\def\starttabbox{\setbox0=\hbox\bgroup}
++\begingroup
++  \catcode`\^^I=\active
++  \gdef\tabexpand{%
++    \catcode`\^^I=\active
++    \def^^I{\leavevmode\egroup
++      \dimen0=\wd0 % the width so far, or since the previous tab
++      \divide\dimen0 by\tabw
++      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
++      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
++      \wd0=\dimen0 \box0 \starttabbox
++    }%
 +  }
-+  ECHO='func_fallback_echo'
-+fi
++\endgroup
++\def\setupverbatim{%
++  \let\nonarrowing = t%
++  \nonfillstart
++  % Easiest (and conventionally used) font for verbatim
++  \tt
++  \def\par{\leavevmode\egroup\box0\endgraf}%
++  \catcode`\`=\active
++  \tabexpand
++  % Respect line breaks,
++  % print special symbols as themselves, and
++  % make each space count
++  % must do in this order:
++  \obeylines \uncatcodespecials \sepspaces
++  \everypar{\starttabbox}%
++}
 +
-+# func_echo_all arg...
-+# Invoke $ECHO with all args, space-separated.
-+func_echo_all ()
-+{
-+    $ECHO "$*" 
++% Do the @verb magic: verbatim text is quoted by unique
++% delimiter characters.  Before first delimiter expect a
++% right brace, after last delimiter expect closing brace:
++%
++%    \def\doverb'{'<char>#1<char>'}'{#1}
++%
++% [Knuth] p. 382; only eat outer {}
++\begingroup
++  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
++  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
++\endgroup
++%
++\def\verb{\begingroup\setupverb\doverb}
++%
++%
++% Do the @verbatim magic: define the macro \doverbatim so that
++% the (first) argument ends when '@end verbatim' is reached, ie:
++%
++%     \def\doverbatim#1@end verbatim{#1}
++%
++% For Texinfo it's a lot easier than for LaTeX,
++% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
++% we need not redefine '\', '{' and '}'.
++%
++% Inspired by LaTeX's verbatim command set [latex.ltx]
++%
++\begingroup
++  \catcode`\ =\active
++  \obeylines %
++  % ignore everything up to the first ^^M, that's the newline at the end
++  % of the @verbatim input line itself.  Otherwise we get an extra blank
++  % line in the output.
++  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
++  % We really want {...\end verbatim} in the body of the macro, but
++  % without the active space; thus we have to use \xdef and \gobble.
++\endgroup
++%
++\envdef\verbatim{%
++    \setupverbatim\doverbatim
 +}
++\let\Everbatim = \afterenvbreak
 +
-+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" )])])
++% @verbatiminclude FILE - insert text of file in verbatim environment.
++%
++\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
++%
++\def\doverbatiminclude#1{%
++  {%
++    \makevalueexpandable
++    \setupverbatim
++    \input #1
++    \afterenvbreak
++  }%
++}
 +
-+_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
++% @copying ... @end copying.
++% Save the text away for @insertcopying later.
++%
++% We save the uninterpreted tokens, rather than creating a box.
++% Saving the text in a box would be much easier, but then all the
++% typesetting commands (@smallbook, font changes, etc.) have to be done
++% beforehand -- and a) we want @copying to be done first in the source
++% file; b) letting users define the frontmatter in as flexible order as
++% possible is very desirable.
++%
++\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
++\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
++%
++\def\insertcopying{%
++  \begingroup
++    \parindent = 0pt  % paragraph indentation looks wrong on title page
++    \scanexp\copyingtext
++  \endgroup
++}
 +
++\message{defuns,}
++% @defun etc.
 +
-+# _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
++\newskip\defbodyindent \defbodyindent=.4in
++\newskip\defargsindent \defargsindent=50pt
++\newskip\deflastargmargin \deflastargmargin=18pt
 +
-+ 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.])])
++% Start the processing of @deffn:
++\def\startdefun{%
++  \ifnum\lastpenalty<10000
++    \medbreak
++  \else
++    % If there are two @def commands in a row, we'll have a \nobreak,
++    % which is there to keep the function description together with its
++    % header.  But if there's nothing but headers, we need to allow a
++    % break somewhere.  Check specifically for penalty 10002, inserted
++    % by \defargscommonending, instead of 10000, since the sectioning
++    % commands also insert a nobreak penalty, and we don't want to allow
++    % a break between a section heading and a defun.
++    % 
++    \ifnum\lastpenalty=10002 \penalty2000 \fi
++    %
++    % Similarly, after a section heading, do not allow a break.
++    % But do insert the glue.
++    \medskip  % preceded by discardable penalty, so not a breakpoint
++  \fi
++  %
++  \parindent=0in
++  \advance\leftskip by \defbodyindent
++  \exdentamount=\defbodyindent
++}
 +
-+# _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
++\def\dodefunx#1{%
++  % First, check whether we are in the right environment:
++  \checkenv#1%
++  %
++  % As above, allow line break if we have multiple x headers in a row.
++  % It's not a great place, though.
++  \ifnum\lastpenalty=10002 \penalty3000 \fi
++  %
++  % And now, it's time to reuse the body of the original defun:
++  \expandafter\gobbledefun#1%
++}
++\def\gobbledefun#1\startdefun{}
 +
-+# 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*
-+  ;;
++% \printdefunline \deffnheader{text}
++%
++\def\printdefunline#1#2{%
++  \begingroup
++    % call \deffnheader:
++    #1#2 \endheader
++    % common ending:
++    \interlinepenalty = 10000
++    \advance\rightskip by 0pt plus 1fil
++    \endgraf
++    \nobreak\vskip -\parskip
++    \penalty 10002  % signal to \startdefun and \dodefunx
++    % Some of the @defun-type tags do not enable magic parentheses,
++    % rendering the following check redundant.  But we don't optimize.
++    \checkparencounts
++  \endgroup
++}
 +
-+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*
-+  ;;
++\def\Edefun{\endgraf\medbreak}
 +
-+*-*-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
-+  ;;
-+*-*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*)
-+        case $host in
-+        i?86-*-solaris*)
-+          LD="${LD-ld} -m elf_x86_64"
-+          ;;
-+        sparc*-*-solaris*)
-+          LD="${LD-ld} -m elf64_sparc"
-+          ;;
-+        esac
-+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-+          LD="${LD-ld}_sol2"
-+        fi
-+        ;;
-+      *)
-+      if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-+        LD="${LD-ld} -64"
-+      fi
-+      ;;
-+      esac
-+      ;;
-+    esac
-+  fi
-+  rm -rf conftest*
-+  ;;
-+esac
++% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
++% the only thing remainnig is to define \deffnheader.
++%
++\def\makedefun#1{%
++  \expandafter\let\csname E#1\endcsname = \Edefun
++  \edef\temp{\noexpand\domakedefun
++    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
++  \temp
++}
 +
-+need_locks="$enable_libtool_lock"
-+])# _LT_ENABLE_LOCK
++% \domakedefun \deffn \deffnx \deffnheader
++%
++% Define \deffn and \deffnx, without parameters.
++% \deffnheader has to be defined explicitly.
++%
++\def\domakedefun#1#2#3{%
++  \envdef#1{%
++    \startdefun
++    \parseargusing\activeparens{\printdefunline#3}%
++  }%
++  \def#2{\dodefunx#1}%
++  \def#3%
++}
 +
++%%% Untyped functions:
 +
-+# _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])
++% @deffn category name args
++\makedefun{deffn}{\deffngeneral{}}
 +
-+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
-+     ])
-+  ])
++% @deffn category class name args
++\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
 +
-+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
++% \defopon {category on}class name args
++\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
 +
++% \deffngeneral {subind}category name args
++%
++\def\deffngeneral#1#2 #3 #4\endheader{%
++  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
++  \dosubind{fn}{\code{#3}}{#1}%
++  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
++}
 +
-+# _LT_CMD_OLD_ARCHIVE
-+# -------------------
-+m4_defun([_LT_CMD_OLD_ARCHIVE],
-+[_LT_PROG_AR
++%%% Typed functions:
 +
-+AC_CHECK_TOOL(STRIP, strip, :)
-+test -z "$STRIP" && STRIP=:
-+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
++% @deftypefn category type name args
++\makedefun{deftypefn}{\deftypefngeneral{}}
 +
-+AC_CHECK_TOOL(RANLIB, ranlib, :)
-+test -z "$RANLIB" && RANLIB=:
-+_LT_DECL([], [RANLIB], [1],
-+    [Commands used to install an old-style archive])
++% @deftypeop category class type name args
++\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
 +
-+# 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=
++% \deftypeopon {category on}class type name args
++\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
 +
-+if test -n "$RANLIB"; then
-+  case $host_os in
-+  openbsd*)
-+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-+    ;;
-+  *)
-+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-+    ;;
-+  esac
-+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-+fi
++% \deftypefngeneral {subind}category type name args
++%
++\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
++  \dosubind{fn}{\code{#4}}{#1}%
++  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
++}
 +
-+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*
-+])
++%%% Typed variables:
 +
-+if test x"[$]$2" = xyes; then
-+    m4_if([$5], , :, [$5])
-+else
-+    m4_if([$6], , :, [$6])
-+fi
-+])# _LT_COMPILER_OPTION
++% @deftypevr category type var args
++\makedefun{deftypevr}{\deftypecvgeneral{}}
 +
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
++% @deftypecv category class type var args
++\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
 +
++% \deftypecvof {category of}class type var args
++\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
 +
-+# _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"
-+])
++% \deftypecvgeneral {subind}category type var args
++%
++\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
++  \dosubind{vr}{\code{#4}}{#1}%
++  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
++}
 +
-+if test x"[$]$2" = xyes; then
-+    m4_if([$4], , :, [$4])
-+else
-+    m4_if([$5], , :, [$5])
-+fi
-+])# _LT_LINKER_OPTION
++%%% Untyped variables:
 +
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
++% @defvr category var args
++\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
 +
++% @defcv category class var args
++\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
 +
-+# 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
-+    ;;
++% \defcvof {category of}class var args
++\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
 +
-+  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;
-+    ;;
++%%% Type:
++% @deftp category name args
++\makedefun{deftp}#1 #2 #3\endheader{%
++  \doind{tp}{\code{#2}}%
++  \defname{#1}{}{#2}\defunargs{#3\unskip}%
++}
 +
-+  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;
-+    ;;
++% Remaining @defun-like shortcuts:
++\makedefun{defun}{\deffnheader{\putwordDeffunc} }
++\makedefun{defmac}{\deffnheader{\putwordDefmac} }
++\makedefun{defspec}{\deffnheader{\putwordDefspec} }
++\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
++\makedefun{defvar}{\defvrheader{\putwordDefvar} }
++\makedefun{defopt}{\defvrheader{\putwordDefopt} }
++\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
++\makedefun{defmethod}{\defopon\putwordMethodon}
++\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
++\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
++\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
 +
-+  mint*)
-+    # On MiNT this can take a long time and run out of memory.
-+    lt_cv_sys_max_cmd_len=8192;
-+    ;;
++% \defname, which formats the name of the @def (not the args).
++% #1 is the category, such as "Function".
++% #2 is the return type, if any.
++% #3 is the function name.
++%
++% We are followed by (but not passed) the arguments, if any.
++%
++\def\defname#1#2#3{%
++  % Get the values of \leftskip and \rightskip as they were outside the @def...
++  \advance\leftskip by -\defbodyindent
++  %
++  % How we'll format the type name.  Putting it in brackets helps
++  % distinguish it from the body text that may end up on the next line
++  % just below it.
++  \def\temp{#1}%
++  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
++  %
++  % Figure out line sizes for the paragraph shape.
++  % The first line needs space for \box0; but if \rightskip is nonzero,
++  % we need only space for the part of \box0 which exceeds it:
++  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
++  % The continuations:
++  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
++  % (plain.tex says that \dimen1 should be used only as global.)
++  \parshape 2 0in \dimen0 \defargsindent \dimen2
++  %
++  % Put the type name to the right margin.
++  \noindent
++  \hbox to 0pt{%
++    \hfil\box0 \kern-\hsize
++    % \hsize has to be shortened this way:
++    \kern\leftskip
++    % Intentionally do not respect \rightskip, since we need the space.
++  }%
++  %
++  % Allow all lines to be underfull without complaint:
++  \tolerance=10000 \hbadness=10000
++  \exdentamount=\defbodyindent
++  {%
++    % defun fonts. We use typewriter by default (used to be bold) because:
++    % . we're printing identifiers, they should be in tt in principle.
++    % . in languages with many accents, such as Czech or French, it's
++    %   common to leave accents off identifiers.  The result looks ok in
++    %   tt, but exceedingly strange in rm.
++    % . we don't want -- and --- to be treated as ligatures.
++    % . this still does not fix the ?` and !` ligatures, but so far no
++    %   one has made identifiers using them :).
++    \df \tt
++    \def\temp{#2}% return value type
++    \ifx\temp\empty\else \tclose{\temp} \fi
++    #3% output function name
++  }%
++  {\rm\enskip}% hskip 0.5 em of \tenrm
++  %
++  \boldbrax
++  % arguments will be output next, if any.
++}
 +
-+  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;
-+    ;;
++% Print arguments in slanted roman (not ttsl), inconsistently with using
++% tt for the name.  This is because literal text is sometimes needed in
++% the argument list (groff manual), and ttsl and tt are not very
++% distinguishable.  Prevent hyphenation at `-' chars.
++%
++\def\defunargs#1{%
++  % use sl by default (not ttsl),
++  % tt for the names.
++  \df \sl \hyphenchar\font=0
++  %
++  % On the other hand, if an argument has two dashes (for instance), we
++  % want a way to get ttsl.  Let's try @var for that.
++  \let\var=\ttslanted
++  #1%
++  \sl\hyphenchar\font=45
++}
 +
-+  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`
-+    ;;
++% We want ()&[] to print specially on the defun line.
++%
++\def\activeparens{%
++  \catcode`\(=\active \catcode`\)=\active
++  \catcode`\[=\active \catcode`\]=\active
++  \catcode`\&=\active
++}
 +
-+  interix*)
-+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-+    lt_cv_sys_max_cmd_len=196608
-+    ;;
++% Make control sequences which act like normal parenthesis chars.
++\let\lparen = ( \let\rparen = )
 +
-+  os2*)
-+    # The test takes a long time on OS/2.
-+    lt_cv_sys_max_cmd_len=8192
-+    ;;
++% Be sure that we always have a definition for `(', etc.  For example,
++% if the fn name has parens in it, \boldbrax will not be in effect yet,
++% so TeX would otherwise complain about undefined control sequence.
++{
++  \activeparens
++  \global\let(=\lparen \global\let)=\rparen
++  \global\let[=\lbrack \global\let]=\rbrack
++  \global\let& = \&
 +
-+  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"`env 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
++  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
++  \gdef\magicamp{\let&=\amprm}
++}
 +
-+# 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], [])
++\newcount\parencount
 +
++% If we encounter &foo, then turn on ()-hacking afterwards
++\newif\ifampseen
++\def\amprm#1 {\ampseentrue{\bf\&#1 }}
 +
-+# _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"
++\def\parenfont{%
++  \ifampseen
++    % At the first level, print parens in roman,
++    % otherwise use the default font.
++    \ifnum \parencount=1 \rm \fi
++  \else
++    % The \sf parens (in \boldbrax) actually are a little bolder than
++    % the contained text.  This is especially needed for [ and ] .
++    \sf
++  \fi
++}
++\def\infirstlevel#1{%
++  \ifampseen
++    \ifnum\parencount=1
++      #1%
++    \fi
++  \fi
++}
++\def\bfafterword#1 {#1 \bf}
 +
-+#if HAVE_DLFCN_H
-+#include <dlfcn.h>
-+#endif
++\def\opnr{%
++  \global\advance\parencount by 1
++  {\parenfont(}%
++  \infirstlevel \bfafterword
++}
++\def\clnr{%
++  {\parenfont)}%
++  \infirstlevel \sl
++  \global\advance\parencount by -1
++}
 +
-+#include <stdio.h>
++\newcount\brackcount
++\def\lbrb{%
++  \global\advance\brackcount by 1
++  {\bf[}%
++}
++\def\rbrb{%
++  {\bf]}%
++  \global\advance\brackcount by -1
++}
 +
-+#ifdef RTLD_GLOBAL
-+#  define LT_DLGLOBAL         RTLD_GLOBAL
-+#else
-+#  ifdef DL_GLOBAL
-+#    define LT_DLGLOBAL               DL_GLOBAL
-+#  else
-+#    define LT_DLGLOBAL               0
-+#  endif
-+#endif
++\def\checkparencounts{%
++  \ifnum\parencount=0 \else \badparencount \fi
++  \ifnum\brackcount=0 \else \badbrackcount \fi
++}
++\def\badparencount{%
++  \errmessage{Unbalanced parentheses in @def}%
++  \global\parencount=0
++}
++\def\badbrackcount{%
++  \errmessage{Unbalanced square braces in @def}%
++  \global\brackcount=0
++}
 +
-+/* 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
++\message{macros,}
++% @macro.
 +
-+int fnord () { return 42; }
-+int main ()
-+{
-+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-+  int status = $lt_dlunknown;
++% To do this right we need a feature of e-TeX, \scantokens,
++% which we arrange to emulate with a temporary file in ordinary TeX.
++\ifx\eTeXversion\undefined
++  \newwrite\macscribble
++  \def\scantokens#1{%
++    \toks0={#1}%
++    \immediate\openout\macscribble=\jobname.tmp
++    \immediate\write\macscribble{\the\toks0}%
++    \immediate\closeout\macscribble
++    \input \jobname.tmp
++  }
++\fi
 +
-+  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 ());
++\def\scanmacro#1{%
++  \begingroup
++    \newlinechar`\^^M
++    \let\xeatspaces\eatspaces
++    % Undo catcode changes of \startcontents and \doprintindex
++    % When called from @insertcopying or (short)caption, we need active
++    % backslash to get it printed correctly.  Previously, we had
++    % \catcode`\\=\other instead.  We'll see whether a problem appears
++    % with macro expansion.                           --kasal, 19aug04
++    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
++    % ... and \example
++    \spaceisspace
++    %
++    % Append \endinput to make sure that TeX does not see the ending newline.
++    %
++    % I've verified that it is necessary both for e-TeX and for ordinary TeX
++    %                                                 --kasal, 29nov03
++    \scantokens{#1\endinput}%
++  \endgroup
++}
 +
-+  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
++\def\scanexp#1{%
++  \edef\temp{\noexpand\scanmacro{#1}}%
++  \temp
++}
 +
++\newcount\paramno   % Count of parameters
++\newtoks\macname    % Macro name
++\newif\ifrecursive  % Is it recursive?
 +
-+# 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=
++% List of all defined macros in the form
++%    \definedummyword\macro1\definedummyword\macro2...
++% Currently is also contains all @aliases; the list can be split
++% if there is a need.
++\def\macrolist{}
 +
-+  case $host_os in
-+  beos*)
-+    lt_cv_dlopen="load_add_on"
-+    lt_cv_dlopen_libs=
-+    lt_cv_dlopen_self=yes
-+    ;;
++% Add the macro to \macrolist
++\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
++\def\addtomacrolistxxx#1{%
++     \toks0 = \expandafter{\macrolist\definedummyword#1}%
++     \xdef\macrolist{\the\toks0}%
++}
 +
-+  mingw* | pw32* | cegcc*)
-+    lt_cv_dlopen="LoadLibrary"
-+    lt_cv_dlopen_libs=
-+    ;;
++% Utility routines.
++% This does \let #1 = #2, with \csnames; that is,
++%   \let \csname#1\endcsname = \csname#2\endcsname
++% (except of course we have to play expansion games).
++% 
++\def\cslet#1#2{%
++  \expandafter\let
++  \csname#1\expandafter\endcsname
++  \csname#2\endcsname
++}
 +
-+  cygwin*)
-+    lt_cv_dlopen="dlopen"
-+    lt_cv_dlopen_libs=
-+    ;;
++% Trim leading and trailing spaces off a string.
++% Concepts from aro-bend problem 15 (see CTAN).
++{\catcode`\@=11
++\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
++\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
++\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
++\def\unbrace#1{#1}
++\unbrace{\gdef\trim@@@ #1 } #2@{#1}
++}
 +
-+  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
-+    ])
-+    ;;
++% Trim a single trailing ^^M off a string.
++{\catcode`\^^M=\other \catcode`\Q=3%
++\gdef\eatcr #1{\eatcra #1Q^^MQ}%
++\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
++\gdef\eatcrb#1Q#2Q{#1}%
++}
 +
-+  *)
-+    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
++% Macro bodies are absorbed as an argument in a context where
++% all characters are catcode 10, 11 or 12, except \ which is active
++% (as in normal texinfo). It is necessary to change the definition of \.
 +
-+  if test "x$lt_cv_dlopen" != xno; then
-+    enable_dlopen=yes
-+  else
-+    enable_dlopen=no
-+  fi
++% It's necessary to have hard CRs when the macro is executed. This is
++% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
++% body, and then making it the \newlinechar in \scanmacro.
++
++\def\scanctxt{%
++  \catcode`\"=\other
++  \catcode`\+=\other
++  \catcode`\<=\other
++  \catcode`\>=\other
++  \catcode`\@=\other
++  \catcode`\^=\other
++  \catcode`\_=\other
++  \catcode`\|=\other
++  \catcode`\~=\other
++}
 +
-+  case $lt_cv_dlopen in
-+  dlopen)
-+    save_CPPFLAGS="$CPPFLAGS"
-+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++\def\scanargctxt{%
++  \scanctxt
++  \catcode`\\=\other
++  \catcode`\^^M=\other
++}
 +
-+    save_LDFLAGS="$LDFLAGS"
-+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++\def\macrobodyctxt{%
++  \scanctxt
++  \catcode`\{=\other
++  \catcode`\}=\other
++  \catcode`\^^M=\other
++  \usembodybackslash
++}
 +
-+    save_LIBS="$LIBS"
-+    LIBS="$lt_cv_dlopen_libs $LIBS"
++\def\macroargctxt{%
++  \scanctxt
++  \catcode`\\=\other
++}
 +
-+    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
++% \mbodybackslash is the definition of \ in @macro bodies.
++% It maps \foo\ => \csname macarg.foo\endcsname => #N
++% where N is the macro parameter number.
++% We define \csname macarg.\endcsname to be \realbackslash, so
++% \\ in macro replacement text gets you a backslash.
 +
-+    CPPFLAGS="$save_CPPFLAGS"
-+    LDFLAGS="$save_LDFLAGS"
-+    LIBS="$save_LIBS"
-+    ;;
-+  esac
++{\catcode`@=0 @catcode`@\=@active
++ @gdef@usembodybackslash{@let\=@mbodybackslash}
++ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
++}
++\expandafter\def\csname macarg.\endcsname{\realbackslash}
 +
-+  case $lt_cv_dlopen_self in
-+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-+  *) enable_dlopen_self=unknown ;;
-+  esac
++\def\macro{\recursivefalse\parsearg\macroxxx}
++\def\rmacro{\recursivetrue\parsearg\macroxxx}
 +
-+  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
++\def\macroxxx#1{%
++  \getargs{#1}%           now \macname is the macname and \argl the arglist
++  \ifx\argl\empty       % no arguments
++     \paramno=0%
++  \else
++     \expandafter\parsemargdef \argl;%
++  \fi
++  \if1\csname ismacro.\the\macname\endcsname
++     \message{Warning: redefining \the\macname}%
++  \else
++     \expandafter\ifx\csname \the\macname\endcsname \relax
++     \else \errmessage{Macro name \the\macname\space already defined}\fi
++     \global\cslet{macsave.\the\macname}{\the\macname}%
++     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
++     \addtomacrolist{\the\macname}%
++  \fi
++  \begingroup \macrobodyctxt
++  \ifrecursive \expandafter\parsermacbody
++  \else \expandafter\parsemacbody
++  \fi}
 +
-+# 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
++\parseargdef\unmacro{%
++  \if1\csname ismacro.#1\endcsname
++    \global\cslet{#1}{macsave.#1}%
++    \global\expandafter\let \csname ismacro.#1\endcsname=0%
++    % Remove the macro name from \macrolist:
++    \begingroup
++      \expandafter\let\csname#1\endcsname \relax
++      \let\definedummyword\unmacrodo
++      \xdef\macrolist{\macrolist}%
++    \endgroup
++  \else
++    \errmessage{Macro #1 not defined}%
++  \fi
++}
 +
++% Called by \do from \dounmacro on each macro.  The idea is to omit any
++% macro definitions that have been changed to \relax.
++%
++\def\unmacrodo#1{%
++  \ifx #1\relax
++    % remove this
++  \else
++    \noexpand\definedummyword \noexpand#1%
++  \fi
++}
 +
-+# _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
++% This makes use of the obscure feature that if the last token of a
++% <parameter list> is #, then the preceding argument is delimited by
++% an opening brace, and that opening brace is not consumed.
++\def\getargs#1{\getargsxxx#1{}}
++\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
++\def\getmacname #1 #2\relax{\macname={#1}}
++\def\getmacargs#1{\def\argl{#1}}
 +
++% Parse the optional {params} list.  Set up \paramno and \paramlist
++% so \defmacro knows what to do.  Define \macarg.blah for each blah
++% in the params list, to be ##N where N is the position in that list.
++% That gets used by \mbodybackslash (above).
 +
-+# _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
++% We need to get `macro parameter char #' into several definitions.
++% The technique used is stolen from LaTeX:  let \hash be something
++% unexpandable, insert that wherever you need a #, and then redefine
++% it to # just before using the token list produced.
++%
++% The same technique is used to protect \eatspaces till just before
++% the macro is used.
 +
++\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
++        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
++\def\parsemargdefxxx#1,{%
++  \if#1;\let\next=\relax
++  \else \let\next=\parsemargdefxxx
++    \advance\paramno by 1%
++    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
++        {\xeatspaces{\hash\the\paramno}}%
++    \edef\paramlist{\paramlist\hash\the\paramno,}%
++  \fi\next}
 +
-+# _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
++% These two commands read recursive and nonrecursive macro bodies.
++% (They're different since rec and nonrec macros end differently.)
 +
-+case $host_os in
-+aix3*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-+  shlibpath_var=LIBPATH
++\long\def\parsemacbody#1@end macro%
++{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
++\long\def\parsermacbody#1@end rmacro%
++{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
 +
-+  # AIX 3 has no versioning support, so we append a major version to the name.
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  ;;
++% This defines the macro itself. There are six cases: recursive and
++% nonrecursive macros of zero, one, and many arguments.
++% Much magic with \expandafter here.
++% \xdef is used so that macro definitions will survive the file
++% they're defined in; @include reads the file inside a group.
++\def\defmacro{%
++  \let\hash=##% convert placeholders to macro parameter chars
++  \ifrecursive
++    \ifcase\paramno
++    % 0
++      \expandafter\xdef\csname\the\macname\endcsname{%
++        \noexpand\scanmacro{\temp}}%
++    \or % 1
++      \expandafter\xdef\csname\the\macname\endcsname{%
++         \bgroup\noexpand\macroargctxt
++         \noexpand\braceorline
++         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
++      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
++         \egroup\noexpand\scanmacro{\temp}}%
++    \else % many
++      \expandafter\xdef\csname\the\macname\endcsname{%
++         \bgroup\noexpand\macroargctxt
++         \noexpand\csname\the\macname xx\endcsname}%
++      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
++          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
++      \expandafter\expandafter
++      \expandafter\xdef
++      \expandafter\expandafter
++        \csname\the\macname xxx\endcsname
++          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
++    \fi
++  \else
++    \ifcase\paramno
++    % 0
++      \expandafter\xdef\csname\the\macname\endcsname{%
++        \noexpand\norecurse{\the\macname}%
++        \noexpand\scanmacro{\temp}\egroup}%
++    \or % 1
++      \expandafter\xdef\csname\the\macname\endcsname{%
++         \bgroup\noexpand\macroargctxt
++         \noexpand\braceorline
++         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
++      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
++        \egroup
++        \noexpand\norecurse{\the\macname}%
++        \noexpand\scanmacro{\temp}\egroup}%
++    \else % many
++      \expandafter\xdef\csname\the\macname\endcsname{%
++         \bgroup\noexpand\macroargctxt
++         \expandafter\noexpand\csname\the\macname xx\endcsname}%
++      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
++          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
++      \expandafter\expandafter
++      \expandafter\xdef
++      \expandafter\expandafter
++      \csname\the\macname xxx\endcsname
++      \paramlist{%
++          \egroup
++          \noexpand\norecurse{\the\macname}%
++          \noexpand\scanmacro{\temp}\egroup}%
++    \fi
++  \fi}
 +
-+aix[[4-9]]*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  hardcode_into_libs=yes
-+  if test "$host_cpu" = ia64; then
-+    # AIX 5 supports IA64
-+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-+    shlibpath_var=LD_LIBRARY_PATH
-+  else
-+    # With GCC up to 2.95.x, collect2 would create an import file
-+    # for dependence libraries.  The import file would start with
-+    # the line `#! .'.  This would cause the generated library to
-+    # depend on `.', always an invalid library.  This was fixed in
-+    # development snapshots of GCC prior to 3.0.
-+    case $host_os in
-+      aix4 | aix4.[[01]] | aix4.[[01]].*)
-+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-+         echo ' yes '
-+         echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-+      :
-+      else
-+      can_build_shared=no
-+      fi
-+      ;;
-+    esac
-+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-+    # soname into executable. Probably we can add versioning support to
-+    # collect2, so additional links can be useful in future.
-+    if test "$aix_use_runtimelinking" = yes; then
-+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-+      # instead of lib<name>.a to let people know that these are not
-+      # typical AIX shared libraries.
-+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+    else
-+      # We preserve .a as extension for shared libraries through AIX4.2
-+      # and later when we are not doing run time linking.
-+      library_names_spec='${libname}${release}.a $libname.a'
-+      soname_spec='${libname}${release}${shared_ext}$major'
-+    fi
-+    shlibpath_var=LIBPATH
-+  fi
-+  ;;
++\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 +
-+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
-+  ;;
++% \braceorline decides whether the next nonwhitespace character is a
++% {.  If so it reads up to the closing }, if not, it reads the whole
++% line.  Whatever was read is then fed to the next control sequence
++% as an argument (by \parsebrace or \parsearg)
++\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
++\def\braceorlinexxx{%
++  \ifx\nchar\bgroup\else
++    \expandafter\parsearg
++  \fi \next}
 +
-+beos*)
-+  library_names_spec='${libname}${shared_ext}'
-+  dynamic_linker="$host_os ld.so"
-+  shlibpath_var=LIBRARY_PATH
-+  ;;
 +
-+bsdi[[45]]*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-+  # the default ld.so.conf also contains /usr/contrib/lib and
-+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-+  # libtool to hard-code these into programs
-+  ;;
++% @alias.
++% We need some trickery to remove the optional spaces around the equal
++% sign.  Just make them active and then expand them all to nothing.
++\def\alias{\parseargusing\obeyspaces\aliasxxx}
++\def\aliasxxx #1{\aliasyyy#1\relax}
++\def\aliasyyy #1=#2\relax{%
++  {%
++    \expandafter\let\obeyedspace=\empty
++    \addtomacrolist{#1}%
++    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
++  }%
++  \next
++}
 +
-+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
++\message{cross references,}
++
++\newwrite\auxfile
 +
-+    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'
-+    ;;
++\newif\ifhavexrefs    % True if xref values are known.
++\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
 +
-+  *,cl*)
-+    # Native MSVC
-+    libname_spec='$name'
-+    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-+    library_names_spec='${libname}.dll.lib'
++% @inforef is relatively simple.
++\def\inforef #1{\inforefzzz #1,,,,**}
++\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
++  node \samp{\ignorespaces#1{}}}
 +
-+    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
++% @node's only job in TeX is to define \lastnode, which is used in
++% cross-references.  The @node line might or might not have commas, and
++% might or might not have spaces before the first comma, like:
++% @node foo , bar , ...
++% We don't want such trailing spaces in the node name.
++%
++\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
++%
++% also remove a trailing comma, in case of something like this:
++% @node Help-Cross,  ,  , Cross-refs
++\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
++\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
 +
-+    # 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'
-+    ;;
++\let\nwnode=\node
++\let\lastnode=\empty
 +
-+  *)
-+    # 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
-+  ;;
++% Write a cross-reference definition for the current node.  #1 is the
++% type (Ynumbered, Yappendix, Ynothing).
++%
++\def\donoderef#1{%
++  \ifx\lastnode\empty\else
++    \setref{\lastnode}{#1}%
++    \global\let\lastnode=\empty
++  \fi
++}
 +
-+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'
-+  ;;
++% @anchor{NAME} -- define xref target at arbitrary point.
++%
++\newcount\savesfregister
++%
++\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
++\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
++\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
 +
-+dgux*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  ;;
++% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
++% anchor), which consists of three parts:
++% 1) NAME-title - the current sectioning name taken from \thissection,
++%                 or the anchor name.
++% 2) NAME-snt   - section number and type, passed as the SNT arg, or
++%                 empty for anchors.
++% 3) NAME-pg    - the page number.
++%
++% This is called from \donoderef, \anchor, and \dofloat.  In the case of
++% floats, there is an additional part, which is not written here:
++% 4) NAME-lof   - the text as it should appear in a @listoffloats.
++%
++\def\setref#1#2{%
++  \pdfmkdest{#1}%
++  \iflinks
++    {%
++      \atdummies  % preserve commands, but don't expand them
++      \edef\writexrdef##1##2{%
++      \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
++        ##1}{##2}}% these are parameters of \writexrdef
++      }%
++      \toks0 = \expandafter{\thissection}%
++      \immediate \writexrdef{title}{\the\toks0 }%
++      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
++      \writexrdef{pg}{\folio}% will be written later, during \shipout
++    }%
++  \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[[23]].*) objformat=aout ;;
-+    *) objformat=elf ;;
-+    esac
-+  fi
-+  version_type=freebsd-$objformat
-+  case $version_type in
-+    freebsd-elf*)
-+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $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
-+  ;;
++% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
++% the node name, #2 the name of the Info cross-reference, #3 the printed
++% node name, #4 the name of the Info file, #5 the name of the printed
++% manual.  All but the node name can be omitted.
++%
++\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
++\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
++\def\ref#1{\xrefX[#1,,,,,,,]}
++\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
++  \unsepspaces
++  \def\printedmanual{\ignorespaces #5}%
++  \def\printedrefname{\ignorespaces #3}%
++  \setbox1=\hbox{\printedmanual\unskip}%
++  \setbox0=\hbox{\printedrefname\unskip}%
++  \ifdim \wd0 = 0pt
++    % No printed node name was explicitly given.
++    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
++      % Use the node name inside the square brackets.
++      \def\printedrefname{\ignorespaces #1}%
++    \else
++      % Use the actual chapter/section title appear inside
++      % the square brackets.  Use the real section title if we have it.
++      \ifdim \wd1 > 0pt
++        % It is in another manual, so we don't have it.
++        \def\printedrefname{\ignorespaces #1}%
++      \else
++        \ifhavexrefs
++          % We know the real title if we have the xref values.
++          \def\printedrefname{\refx{#1-title}{}}%
++        \else
++          % Otherwise just copy the Info node name.
++          \def\printedrefname{\ignorespaces #1}%
++        \fi%
++      \fi
++    \fi
++  \fi
++  %
++  % Make link in pdf output.
++  \ifpdf
++    \leavevmode
++    \getfilename{#4}%
++    {\turnoffactive
++     % See comments at \activebackslashdouble.
++     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
++      \backslashparens\pdfxrefdest}%
++     %
++     \ifnum\filenamelength>0
++       \startlink attr{/Border [0 0 0]}%
++         goto file{\the\filename.pdf} name{\pdfxrefdest}%
++     \else
++       \startlink attr{/Border [0 0 0]}%
++         goto name{\pdfmkpgn{\pdfxrefdest}}%
++     \fi
++    }%
++    \linkcolor
++  \fi
++  %
++  % Float references are printed completely differently: "Figure 1.2"
++  % instead of "[somenode], p.3".  We distinguish them by the
++  % LABEL-title being set to a magic string.
++  {%
++    % Have to otherify everything special to allow the \csname to
++    % include an _ in the xref name, etc.
++    \indexnofonts
++    \turnoffactive
++    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
++      \csname XR#1-title\endcsname
++  }%
++  \iffloat\Xthisreftitle
++    % If the user specified the print name (third arg) to the ref,
++    % print it instead of our usual "Figure 1.2".
++    \ifdim\wd0 = 0pt
++      \refx{#1-snt}%
++    \else
++      \printedrefname
++    \fi
++    %
++    % if the user also gave the printed manual name (fifth arg), append
++    % "in MANUALNAME".
++    \ifdim \wd1 > 0pt
++      \space \putwordin{} \cite{\printedmanual}%
++    \fi
++  \else
++    % node/anchor (non-float) references.
++    %
++    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
++    % insert empty discretionaries after hyphens, which means that it will
++    % not find a line break at a hyphen in a node names.  Since some manuals
++    % are best written with fairly long node names, containing hyphens, this
++    % is a loss.  Therefore, we give the text of the node name again, so it
++    % is as if TeX is seeing it for the first time.
++    \ifdim \wd1 > 0pt
++      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
++    \else
++      % _ (for example) has to be the character _ for the purposes of the
++      % control sequence corresponding to the node, but it has to expand
++      % into the usual \leavevmode...\vrule stuff for purposes of
++      % printing. So we \turnoffactive for the \refx-snt, back on for the
++      % printing, back off for the \refx-pg.
++      {\turnoffactive
++       % Only output a following space if the -snt ref is nonempty; for
++       % @unnumbered and @anchor, it won't be.
++       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
++       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
++      }%
++      % output the `[mynode]' via a macro so it can be overridden.
++      \xrefprintnodename\printedrefname
++      %
++      % But we always want a comma and a space:
++      ,\space
++      %
++      % output the `page 3'.
++      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
++    \fi
++  \fi
++  \endlink
++\endgroup}
 +
-+gnu*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-+  hardcode_into_libs=yes
-+  ;;
++% This macro is called from \xrefX for the `[nodename]' part of xref
++% output.  It's a separate macro only so it can be changed more easily,
++% since square brackets don't work well in some documents.  Particularly
++% one that Bob is working on :).
++%
++\def\xrefprintnodename#1{[#1]}
 +
-+haiku*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  dynamic_linker="$host_os runtime_loader"
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LIBRARY_PATH
-+  shlibpath_overrides_runpath=yes
-+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-+  hardcode_into_libs=yes
-+  ;;
++% Things referred to by \setref.
++%
++\def\Ynothing{}
++\def\Yomitfromtoc{}
++\def\Ynumbered{%
++  \ifnum\secno=0
++    \putwordChapter@tie \the\chapno
++  \else \ifnum\subsecno=0
++    \putwordSection@tie \the\chapno.\the\secno
++  \else \ifnum\subsubsecno=0
++    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
++  \else
++    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
++  \fi\fi\fi
++}
++\def\Yappendix{%
++  \ifnum\secno=0
++     \putwordAppendix@tie @char\the\appendixno{}%
++  \else \ifnum\subsecno=0
++     \putwordSection@tie @char\the\appendixno.\the\secno
++  \else \ifnum\subsubsecno=0
++    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
++  \else
++    \putwordSection@tie
++      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
++  \fi\fi\fi
++}
 +
-+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
-+  ;;
++% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
++% If its value is nonempty, SUFFIX is output afterward.
++%
++\def\refx#1#2{%
++  {%
++    \indexnofonts
++    \otherbackslash
++    \expandafter\global\expandafter\let\expandafter\thisrefX
++      \csname XR#1\endcsname
++  }%
++  \ifx\thisrefX\relax
++    % If not defined, say something at least.
++    \angleleft un\-de\-fined\angleright
++    \iflinks
++      \ifhavexrefs
++        \message{\linenumber Undefined cross reference `#1'.}%
++      \else
++        \ifwarnedxrefs\else
++          \global\warnedxrefstrue
++          \message{Cross reference values unknown; you must run TeX again.}%
++        \fi
++      \fi
++    \fi
++  \else
++    % It's defined, so just use it.
++    \thisrefX
++  \fi
++  #2% Output the suffix in any case.
++}
 +
-+interix[[3-9]]*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-+  hardcode_into_libs=yes
-+  ;;
++% This is the macro invoked by entries in the aux file.  Usually it's
++% just a \def (we prepend XR to the control sequence name to avoid
++% collisions).  But if this is a float type, we have more work to do.
++%
++\def\xrdef#1#2{%
++  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
++  %
++  % Was that xref control sequence that we just defined for a float?
++  \expandafter\iffloat\csname XR#1\endcsname
++    % it was a float, and we have the (safe) float type in \iffloattype.
++    \expandafter\let\expandafter\floatlist
++      \csname floatlist\iffloattype\endcsname
++    %
++    % Is this the first time we've seen this float type?
++    \expandafter\ifx\floatlist\relax
++      \toks0 = {\do}% yes, so just \do
++    \else
++      % had it before, so preserve previous elements in list.
++      \toks0 = \expandafter{\floatlist\do}%
++    \fi
++    %
++    % Remember this xref in the control sequence \floatlistFLOATTYPE,
++    % for later use in \listoffloats.
++    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
++  \fi
++}
 +
-+irix5* | irix6* | nonstopux*)
-+  case $host_os in
-+    nonstopux*) version_type=nonstopux ;;
-+    *)
-+      if test "$lt_cv_prog_gnu_ld" = yes; then
-+              version_type=linux # correct to gnu/linux during the next big refactor
-+      else
-+              version_type=irix
-+      fi ;;
-+  esac
-+  need_lib_prefix=no
-+  need_version=no
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-+  case $host_os in
-+  irix5* | nonstopux*)
-+    libsuff= shlibsuff=
-+    ;;
-+  *)
-+    case $LD in # libtool.m4 will add one of these switches to LD
-+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-+      libsuff= shlibsuff= libmagic=32-bit;;
-+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-+      libsuff=32 shlibsuff=N32 libmagic=N32;;
-+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-+    *) libsuff= shlibsuff= libmagic=never-match;;
-+    esac
-+    ;;
-+  esac
-+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-+  shlibpath_overrides_runpath=no
-+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-+  hardcode_into_libs=yes
-+  ;;
++% Read the last existing aux file, if any.  No error if none exists.
++%
++\def\tryauxfile{%
++  \openin 1 \jobname.aux
++  \ifeof 1 \else
++    \readdatafile{aux}%
++    \global\havexrefstrue
++  \fi
++  \closein 1
++}
 +
-+# No shared lib support for Linux oldld, aout, or coff.
-+linux*oldld* | linux*aout* | linux*coff*)
-+  dynamic_linker=no
-+  ;;
++\def\setupdatafile{%
++  \catcode`\^^@=\other
++  \catcode`\^^A=\other
++  \catcode`\^^B=\other
++  \catcode`\^^C=\other
++  \catcode`\^^D=\other
++  \catcode`\^^E=\other
++  \catcode`\^^F=\other
++  \catcode`\^^G=\other
++  \catcode`\^^H=\other
++  \catcode`\^^K=\other
++  \catcode`\^^L=\other
++  \catcode`\^^N=\other
++  \catcode`\^^P=\other
++  \catcode`\^^Q=\other
++  \catcode`\^^R=\other
++  \catcode`\^^S=\other
++  \catcode`\^^T=\other
++  \catcode`\^^U=\other
++  \catcode`\^^V=\other
++  \catcode`\^^W=\other
++  \catcode`\^^X=\other
++  \catcode`\^^Z=\other
++  \catcode`\^^[=\other
++  \catcode`\^^\=\other
++  \catcode`\^^]=\other
++  \catcode`\^^^=\other
++  \catcode`\^^_=\other
++  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
++  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
++  % supported in the main text, it doesn't seem desirable.  Furthermore,
++  % that is not enough: for node names that actually contain a ^
++  % character, we would end up writing a line like this: 'xrdef {'hat
++  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
++  % argument, and \hat is not an expandable control sequence.  It could
++  % all be worked out, but why?  Either we support ^^ or we don't.
++  %
++  % The other change necessary for this was to define \auxhat:
++  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
++  % and then to call \auxhat in \setq.
++  %
++  \catcode`\^=\other
++  %
++  % Special characters.  Should be turned off anyway, but...
++  \catcode`\~=\other
++  \catcode`\[=\other
++  \catcode`\]=\other
++  \catcode`\"=\other
++  \catcode`\_=\other
++  \catcode`\|=\other
++  \catcode`\<=\other
++  \catcode`\>=\other
++  \catcode`\$=\other
++  \catcode`\#=\other
++  \catcode`\&=\other
++  \catcode`\%=\other
++  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
++  %
++  % This is to support \ in node names and titles, since the \
++  % characters end up in a \csname.  It's easier than
++  % leaving it active and making its active definition an actual \
++  % character.  What I don't understand is why it works in the *value*
++  % of the xrdef.  Seems like it should be a catcode12 \, and that
++  % should not typeset properly.  But it works, so I'm moving on for
++  % now.  --karl, 15jan04.
++  \catcode`\\=\other
++  %
++  % Make the characters 128-255 be printing characters.
++  {%
++    \count1=128
++    \def\loop{%
++      \catcode\count1=\other
++      \advance\count1 by 1
++      \ifnum \count1<256 \loop \fi
++    }%
++  }%
++  %
++  % @ is our escape character in .aux files, and we need braces.
++  \catcode`\{=1
++  \catcode`\}=2
++  \catcode`\@=0
++}
 +
-+# This must be glibc/ELF.
-+linux* | k*bsd*-gnu | kopensolaris*-gnu)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-+
-+  # Some binutils ld are patched to set DT_RUNPATH
-+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-+    [lt_cv_shlibpath_overrides_runpath=no
-+    save_LDFLAGS=$LDFLAGS
-+    save_libdir=$libdir
-+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-+       [lt_cv_shlibpath_overrides_runpath=yes])])
-+    LDFLAGS=$save_LDFLAGS
-+    libdir=$save_libdir
-+    ])
-+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-+
-+  # This implies no fast_install, which is unacceptable.
-+  # Some rework will be needed to allow for fast_install
-+  # before this can be enabled.
-+  hardcode_into_libs=yes
-+
-+  # Add ABI-specific directories to the system library path.
-+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-+
-+  # Append ld.so.conf contents to the search path
-+  if test -f /etc/ld.so.conf; then
-+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[         ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++\def\readdatafile#1{%
++\begingroup
++  \setupdatafile
++  \input\jobname.#1
++\endgroup}
 +
-+  fi
++\message{insertions,}
++% including footnotes.
 +
-+  # 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'
-+  ;;
++\newcount \footnoteno
 +
-+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
-+  ;;
++% The trailing space in the following definition for supereject is
++% vital for proper filling; pages come out unaligned when you do a
++% pagealignmacro call if that space before the closing brace is
++% removed. (Generally, numeric constants should always be followed by a
++% space to prevent strange expansion errors.)
++\def\supereject{\par\penalty -20000\footnoteno =0 }
 +
-+newsos6)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=yes
-+  ;;
++% @footnotestyle is meaningful for info output only.
++\let\footnotestyle=\comment
 +
-+*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'
-+  ;;
++{\catcode `\@=11
++%
++% Auto-number footnotes.  Otherwise like plain.
++\gdef\footnote{%
++  \let\indent=\ptexindent
++  \let\noindent=\ptexnoindent
++  \global\advance\footnoteno by \@ne
++  \edef\thisfootno{$^{\the\footnoteno}$}%
++  %
++  % In case the footnote comes at the end of a sentence, preserve the
++  % extra spacing after we do the footnote number.
++  \let\@sf\empty
++  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
++  %
++  % Remove inadvertent blank space before typesetting the footnote number.
++  \unskip
++  \thisfootno\@sf
++  \dofootnote
++}%
++
++% Don't bother with the trickery in plain.tex to not require the
++% footnote text as a parameter.  Our footnotes don't need to be so general.
++%
++% Oh yes, they do; otherwise, @ifset (and anything else that uses
++% \parseargline) fails inside footnotes because the tokens are fixed when
++% the footnote is read.  --karl, 16nov96.
++%
++\gdef\dofootnote{%
++  \insert\footins\bgroup
++  % We want to typeset this text as a normal paragraph, even if the
++  % footnote reference occurs in (for example) a display environment.
++  % So reset some parameters.
++  \hsize=\pagewidth
++  \interlinepenalty\interfootnotelinepenalty
++  \splittopskip\ht\strutbox % top baseline for broken footnotes
++  \splitmaxdepth\dp\strutbox
++  \floatingpenalty\@MM
++  \leftskip\z@skip
++  \rightskip\z@skip
++  \spaceskip\z@skip
++  \xspaceskip\z@skip
++  \parindent\defaultparindent
++  %
++  \smallfonts \rm
++  %
++  % Because we use hanging indentation in footnotes, a @noindent appears
++  % to exdent this text, so make it be a no-op.  makeinfo does not use
++  % hanging indentation so @noindent can still be needed within footnote
++  % text after an @example or the like (not that this is good style).
++  \let\noindent = \relax
++  %
++  % Hang the footnote text off the number.  Use \everypar in case the
++  % footnote extends for more than one paragraph.
++  \everypar = {\hang}%
++  \textindent{\thisfootno}%
++  %
++  % Don't crash into the line above the footnote text.  Since this
++  % expands into a box, it must come within the paragraph, lest it
++  % provide a place where TeX can split the footnote.
++  \footstrut
++  \futurelet\next\fo@t
++}
++}%end \catcode `\@=11
 +
-+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
-+  ;;
++% In case a @footnote appears in a vbox, save the footnote text and create
++% the real \insert just after the vbox finished.  Otherwise, the insertion
++% would be lost.
++% Similarily, if a @footnote appears inside an alignment, save the footnote
++% text to a box and make the \insert when a row of the table is finished.
++% And the same can be done for other insert classes.  --kasal, 16nov03.
 +
-+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
-+  ;;
++% Replace the \insert primitive by a cheating macro.
++% Deeper inside, just make sure that the saved insertions are not spilled
++% out prematurely.
++%
++\def\startsavinginserts{%
++  \ifx \insert\ptexinsert
++    \let\insert\saveinsert
++  \else
++    \let\checkinserts\relax
++  \fi
++}
 +
-+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"
-+  ;;
++% This \insert replacement works for both \insert\footins{foo} and
++% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
++%
++\def\saveinsert#1{%
++  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
++  \afterassignment\next
++  % swallow the left brace
++  \let\temp =
++}
++\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
++\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
 +
-+rdos*)
-+  dynamic_linker=no
-+  ;;
++\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
 +
-+solaris*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=yes
-+  hardcode_into_libs=yes
-+  # ldd complains unless libraries are executable
-+  postinstall_cmds='chmod +x $lib'
-+  ;;
++\def\placesaveins#1{%
++  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
++    {\box#1}%
++}
 +
-+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
-+  ;;
++% eat @SAVE -- beware, all of them have catcode \other:
++{
++  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
++  \gdef\gobblesave @SAVE{}
++}
 +
-+sysv4 | sysv4.3*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  case $host_vendor in
-+    sni)
-+      shlibpath_overrides_runpath=no
-+      need_lib_prefix=no
-+      runpath_var=LD_RUN_PATH
-+      ;;
-+    siemens)
-+      need_lib_prefix=no
-+      ;;
-+    motorola)
-+      need_lib_prefix=no
-+      need_version=no
-+      shlibpath_overrides_runpath=no
-+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-+      ;;
-+  esac
-+  ;;
++% initialization:
++\def\newsaveins #1{%
++  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
++  \next
++}
++\def\newsaveinsX #1{%
++  \csname newbox\endcsname #1%
++  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
++    \checksaveins #1}%
++}
 +
-+sysv4*MP*)
-+  if test -d /usr/nec ;then
-+    version_type=linux # correct to gnu/linux during the next big refactor
-+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-+    soname_spec='$libname${shared_ext}.$major'
-+    shlibpath_var=LD_LIBRARY_PATH
-+  fi
-+  ;;
++% initialize:
++\let\checkinserts\empty
++\newsaveins\footins
++\newsaveins\margin
 +
-+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 # correct to gnu/linux during the next big refactor
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-+  hardcode_into_libs=yes
-+  ;;
++% @image.  We use the macros from epsf.tex to support this.
++% If epsf.tex is not installed and @image is used, we complain.
++%
++% Check for and read epsf.tex up front.  If we read it only at @image
++% time, we might be inside a group, and then its definitions would get
++% undone and the next image would fail.
++\openin 1 = epsf.tex
++\ifeof 1 \else
++  % Do not bother showing banner with epsf.tex v2.7k (available in
++  % doc/epsf.tex and on ctan).
++  \def\epsfannounce{\toks0 = }%
++  \input epsf.tex
++\fi
++\closein 1
++%
++% We will only complain once about lack of epsf.tex.
++\newif\ifwarnednoepsf
++\newhelp\noepsfhelp{epsf.tex must be installed for images to
++  work.  It is also included in the Texinfo distribution, or you can get
++  it from ftp://tug.org/tex/epsf.tex.}
++%
++\def\image#1{%
++  \ifx\epsfbox\undefined
++    \ifwarnednoepsf \else
++      \errhelp = \noepsfhelp
++      \errmessage{epsf.tex not found, images will be ignored}%
++      \global\warnednoepsftrue
++    \fi
++  \else
++    \imagexxx #1,,,,,\finish
++  \fi
++}
++%
++% Arguments to @image:
++% #1 is (mandatory) image filename; we tack on .eps extension.
++% #2 is (optional) width, #3 is (optional) height.
++% #4 is (ignored optional) html alt text.
++% #5 is (ignored optional) extension.
++% #6 is just the usual extra ignored arg for parsing this stuff.
++\newif\ifimagevmode
++\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
++  \catcode`\^^M = 5     % in case we're inside an example
++  \normalturnoffactive  % allow _ et al. in names
++  % If the image is by itself, center it.
++  \ifvmode
++    \imagevmodetrue
++    \nobreak\bigskip
++    % Usually we'll have text after the image which will insert
++    % \parskip glue, so insert it here too to equalize the space
++    % above and below.
++    \nobreak\vskip\parskip
++    \nobreak
++    \line\bgroup\hss
++  \fi
++  %
++  % Output the image.
++  \ifpdf
++    \dopdfimage{#1}{#2}{#3}%
++  \else
++    % \epsfbox itself resets \epsf?size at each figure.
++    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
++    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
++    \epsfbox{#1.eps}%
++  \fi
++  %
++  \ifimagevmode \hss \egroup \bigbreak \fi  % space after the image
++\endgroup}
 +
-+uts4*)
-+  version_type=linux # correct to gnu/linux during the next big refactor
-+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+  soname_spec='${libname}${release}${shared_ext}$major'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  ;;
 +
-+*)
-+  dynamic_linker=no
-+  ;;
-+esac
-+AC_MSG_RESULT([$dynamic_linker])
-+test "$dynamic_linker" = no && can_build_shared=no
++% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
++% etc.  We don't actually implement floating yet, we always include the
++% float "here".  But it seemed the best name for the future.
++%
++\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
 +
-+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
++% There may be a space before second and/or third parameter; delete it.
++\def\eatcommaspace#1, {#1,}
 +
-+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
++% #1 is the optional FLOATTYPE, the text label for this float, typically
++% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
++% this float will not be numbered and cannot be referred to.
++%
++% #2 is the optional xref label.  Also must be present for the float to
++% be referable.
++%
++% #3 is the optional positioning argument; for now, it is ignored.  It
++% will somehow specify the positions allowed to float to (here, top, bottom).
++%
++% We keep a separate counter for each FLOATTYPE, which we reset at each
++% chapter-level command.
++\let\resetallfloatnos=\empty
++%
++\def\dofloat#1,#2,#3,#4\finish{%
++  \let\thiscaption=\empty
++  \let\thisshortcaption=\empty
++  %
++  % don't lose footnotes inside @float.
++  %
++  % BEWARE: when the floats start float, we have to issue warning whenever an
++  % insert appears inside a float which could possibly float. --kasal, 26may04
++  %
++  \startsavinginserts
++  %
++  % We can't be used inside a paragraph.
++  \par
++  %
++  \vtop\bgroup
++    \def\floattype{#1}%
++    \def\floatlabel{#2}%
++    \def\floatloc{#3}% we do nothing with this yet.
++    %
++    \ifx\floattype\empty
++      \let\safefloattype=\empty
++    \else
++      {%
++        % the floattype might have accents or other special characters,
++        % but we need to use it in a control sequence name.
++        \indexnofonts
++        \turnoffactive
++        \xdef\safefloattype{\floattype}%
++      }%
++    \fi
++    %
++    % If label is given but no type, we handle that as the empty type.
++    \ifx\floatlabel\empty \else
++      % We want each FLOATTYPE to be numbered separately (Figure 1,
++      % Table 1, Figure 2, ...).  (And if no label, no number.)
++      %
++      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
++      \global\advance\floatno by 1
++      %
++      {%
++        % This magic value for \thissection is output by \setref as the
++        % XREFLABEL-title value.  \xrefX uses it to distinguish float
++        % labels (which have a completely different output format) from
++        % node and anchor labels.  And \xrdef uses it to construct the
++        % lists of floats.
++        %
++        \edef\thissection{\floatmagic=\safefloattype}%
++        \setref{\floatlabel}{Yfloat}%
++      }%
++    \fi
++    %
++    % start with \parskip glue, I guess.
++    \vskip\parskip
++    %
++    % Don't suppress indentation if a float happens to start a section.
++    \restorefirstparagraphindent
++}
 +
-+_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
++% we have these possibilities:
++% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
++% @float Foo,lbl & no caption:    Foo 1.1
++% @float Foo & @caption{Cap}:     Foo: Cap
++% @float Foo & no caption:        Foo
++% @float ,lbl & Caption{Cap}:     1.1: Cap
++% @float ,lbl & no caption:       1.1
++% @float & @caption{Cap}:         Cap
++% @float & no caption:
++%
++\def\Efloat{%
++    \let\floatident = \empty
++    %
++    % In all cases, if we have a float type, it comes first.
++    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
++    %
++    % If we have an xref label, the number comes next.
++    \ifx\floatlabel\empty \else
++      \ifx\floattype\empty \else % if also had float type, need tie first.
++        \appendtomacro\floatident{\tie}%
++      \fi
++      % the number.
++      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
++    \fi
++    %
++    % Start the printed caption with what we've constructed in
++    % \floatident, but keep it separate; we need \floatident again.
++    \let\captionline = \floatident
++    %
++    \ifx\thiscaption\empty \else
++      \ifx\floatident\empty \else
++      \appendtomacro\captionline{: }% had ident, so need a colon between
++      \fi
++      %
++      % caption text.
++      \appendtomacro\captionline{\scanexp\thiscaption}%
++    \fi
++    %
++    % If we have anything to print, print it, with space before.
++    % Eventually this needs to become an \insert.
++    \ifx\captionline\empty \else
++      \vskip.5\parskip
++      \captionline
++      %
++      % Space below caption.
++      \vskip\parskip
++    \fi
++    %
++    % If have an xref label, write the list of floats info.  Do this
++    % after the caption, to avoid chance of it being a breakpoint.
++    \ifx\floatlabel\empty \else
++      % Write the text that goes in the lof to the aux file as
++      % \floatlabel-lof.  Besides \floatident, we include the short
++      % caption if specified, else the full caption if specified, else nothing.
++      {%
++        \atdummies
++        % since we read the caption text in the macro world, where ^^M
++        % is turned into a normal character, we have to scan it back, so
++        % we don't write the literal three characters "^^M" into the aux file.
++      \scanexp{%
++        \xdef\noexpand\gtemp{%
++          \ifx\thisshortcaption\empty
++            \thiscaption
++          \else
++            \thisshortcaption
++          \fi
++        }%
++      }%
++        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
++        \ifx\gtemp\empty \else : \gtemp \fi}}%
++      }%
++    \fi
++  \egroup  % end of \vtop
++  %
++  % place the captured inserts
++  %
++  % BEWARE: when the floats start float, we have to issue warning whenever an
++  % insert appears inside a float which could possibly float. --kasal, 26may04
++  %
++  \checkinserts
++}
 +
-+*** 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
++% Append the tokens #2 to the definition of macro #1, not expanding either.
++%
++\def\appendtomacro#1#2{%
++  \expandafter\def\expandafter#1\expandafter{#1#2}%
++}
 +
-+_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
++% @caption, @shortcaption
++%
++\def\caption{\docaption\thiscaption}
++\def\shortcaption{\docaption\thisshortcaption}
++\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
++\def\defcaption#1#2{\egroup \def#1{#2}}
 +
-+# 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], [])
++% The parameter is the control sequence identifying the counter we are
++% going to use.  Create it if it doesn't exist and assign it to \floatno.
++\def\getfloatno#1{%
++  \ifx#1\relax
++      % Haven't seen this figure type before.
++      \csname newcount\endcsname #1%
++      %
++      % Remember to reset this floatno at the next chap.
++      \expandafter\gdef\expandafter\resetallfloatnos
++        \expandafter{\resetallfloatnos #1=0 }%
++  \fi
++  \let\floatno#1%
++}
 +
++% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
++% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
++% first read the @float command.
++%
++\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
 +
-+# _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
++% Magic string used for the XREFLABEL-title value, so \xrefX can
++% distinguish floats from other xref types.
++\def\floatmagic{!!float!!}
 +
++% #1 is the control sequence we are passed; we expand into a conditional
++% which is true if #1 represents a float ref.  That is, the magic
++% \thissection value which we \setref above.
++%
++\def\iffloat#1{\expandafter\doiffloat#1==\finish}
++%
++% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
++% (safe) float type for this float.  We set \iffloattype to #2.
++%
++\def\doiffloat#1=#2=#3\finish{%
++  \def\temp{#1}%
++  \def\iffloattype{#2}%
++  \ifx\temp\floatmagic
++}
 +
-+# 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
++% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
++%
++\parseargdef\listoffloats{%
++  \def\floattype{#1}% floattype
++  {%
++    % the floattype might have accents or other special characters,
++    % but we need to use it in a control sequence name.
++    \indexnofonts
++    \turnoffactive
++    \xdef\safefloattype{\floattype}%
++  }%
++  %
++  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
++  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
++    \ifhavexrefs
++      % if the user said @listoffloats foo but never @float foo.
++      \message{\linenumber No `\safefloattype' floats to list.}%
++    \fi
++  \else
++    \begingroup
++      \leftskip=\tocindent  % indent these entries like a toc
++      \let\do=\listoffloatsdo
++      \csname floatlist\safefloattype\endcsname
++    \endgroup
++  \fi
++}
 +
-+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
++% This is called on each entry in a list of floats.  We're passed the
++% xref label, in the form LABEL-title, which is how we save it in the
++% aux file.  We strip off the -title and look up \XRLABEL-lof, which
++% has the text we're supposed to typeset here.
++%
++% Figures without xref labels will not be included in the list (since
++% they won't appear in the aux file).
++%
++\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
++\def\listoffloatsdoentry#1-title\finish{{%
++  % Can't fully expand XR#1-lof because it can contain anything.  Just
++  % pass the control sequence.  On the other hand, XR#1-pg is just the
++  % page number, and we want to fully expand that so we can get a link
++  % in pdf output.
++  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
++  %
++  % use the same \entry macro we use to generate the TOC and index.
++  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
++  \writeentry
++}}
 +
-+ac_prog=ld
-+if test "$GCC" = yes; then
-+  # Check if gcc -print-prog-name=ld gives a path.
-+  AC_MSG_CHECKING([for ld used by $CC])
-+  case $host in
-+  *-*-mingw*)
-+    # gcc leaves a trailing carriage return which upsets mingw
-+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-+  *)
-+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-+  esac
-+  case $ac_prog in
-+    # Accept absolute paths.
-+    [[\\/]]* | ?:[[\\/]]*)
-+      re_direlt='/[[^/]][[^/]]*/\.\./'
-+      # Canonicalize the pathname of ld
-+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-+      ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-+      done
-+      test -z "$LD" && LD="$ac_prog"
-+      ;;
-+  "")
-+    # If it fails, then pretend we aren't using GCC.
-+    ac_prog=ld
-+    ;;
-+  *)
-+    # If it is relative, then search for the first ld in PATH.
-+    with_gnu_ld=unknown
-+    ;;
-+  esac
-+elif test "$with_gnu_ld" = yes; then
-+  AC_MSG_CHECKING([for GNU ld])
-+else
-+  AC_MSG_CHECKING([for non-GNU ld])
-+fi
-+AC_CACHE_VAL(lt_cv_path_LD,
-+[if test -z "$LD"; then
-+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+  for ac_dir in $PATH; do
-+    IFS="$lt_save_ifs"
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-+      lt_cv_path_LD="$ac_dir/$ac_prog"
-+      # Check to see if the program is GNU ld.  I'd rather use --version,
-+      # but apparently some variants of GNU ld only accept -v.
-+      # Break only if it was the GNU/non-GNU ld that we prefer.
-+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-+      *GNU* | *'with BFD'*)
-+      test "$with_gnu_ld" != no && break
-+      ;;
-+      *)
-+      test "$with_gnu_ld" != yes && break
-+      ;;
-+      esac
-+    fi
-+  done
-+  IFS="$lt_save_ifs"
-+else
-+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-+fi])
-+LD="$lt_cv_path_LD"
-+if test -n "$LD"; then
-+  AC_MSG_RESULT($LD)
-+else
-+  AC_MSG_RESULT(no)
-+fi
-+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-+_LT_PATH_LD_GNU
-+AC_SUBST([LD])
++\message{localization,}
++% and i18n.
 +
-+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-+])# LT_PATH_LD
++% @documentlanguage is usually given very early, just after
++% @setfilename.  If done too late, it may not override everything
++% properly.  Single argument is the language abbreviation.
++% It would be nice if we could set up a hyphenation file here.
++%
++\parseargdef\documentlanguage{%
++  \tex % read txi-??.tex file in plain TeX.
++    % Read the file if it exists.
++    \openin 1 txi-#1.tex
++    \ifeof 1
++      \errhelp = \nolanghelp
++      \errmessage{Cannot read language file txi-#1.tex}%
++    \else
++      \input txi-#1.tex
++    \fi
++    \closein 1
++  \endgroup
++}
++\newhelp\nolanghelp{The given language definition file cannot be found or
++is empty.  Maybe you need to install it?  In the current directory
++should work if nowhere else does.}
 +
-+# Old names:
-+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AM_PROG_LD], [])
-+dnl AC_DEFUN([AC_PROG_LD], [])
-+
-+
-+# _LT_PATH_LD_GNU
-+#- --------------
-+m4_defun([_LT_PATH_LD_GNU],
-+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-+case `$LD -v 2>&1 </dev/null` in
-+*GNU* | *'with BFD'*)
-+  lt_cv_prog_gnu_ld=yes
-+  ;;
-+*)
-+  lt_cv_prog_gnu_ld=no
-+  ;;
-+esac])
-+with_gnu_ld=$lt_cv_prog_gnu_ld
-+])# _LT_PATH_LD_GNU
-+
-+
-+# _LT_CMD_RELOAD
-+# --------------
-+# find reload flag for linker
-+#   -- PORTME Some linkers may need a different reload flag.
-+m4_defun([_LT_CMD_RELOAD],
-+[AC_CACHE_CHECK([for $LD option to reload object files],
-+  lt_cv_ld_reload_flag,
-+  [lt_cv_ld_reload_flag='-r'])
-+reload_flag=$lt_cv_ld_reload_flag
-+case $reload_flag in
-+"" | " "*) ;;
-+*) reload_flag=" $reload_flag" ;;
-+esac
-+reload_cmds='$LD$reload_flag -o $output$reload_objs'
-+case $host_os in
-+  cygwin* | mingw* | pw32* | cegcc*)
-+    if test "$GCC" != yes; then
-+      reload_cmds=false
-+    fi
-+    ;;
-+  darwin*)
-+    if test "$GCC" = yes; then
-+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-+    else
-+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-+    fi
-+    ;;
-+esac
-+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-+_LT_TAGDECL([], [reload_cmds], [2])dnl
-+])# _LT_CMD_RELOAD
-+
-+
-+# _LT_CHECK_MAGIC_METHOD
-+# ----------------------
-+# how to check for library dependencies
-+#  -- PORTME fill in with the dynamic library characteristics
-+m4_defun([_LT_CHECK_MAGIC_METHOD],
-+[m4_require([_LT_DECL_EGREP])
-+m4_require([_LT_DECL_OBJDUMP])
-+AC_CACHE_CHECK([how to recognize dependent libraries],
-+lt_cv_deplibs_check_method,
-+[lt_cv_file_magic_cmd='$MAGIC_CMD'
-+lt_cv_file_magic_test_file=
-+lt_cv_deplibs_check_method='unknown'
-+# Need to set the preceding variable on all platforms that support
-+# interlibrary dependencies.
-+# 'none' -- dependencies not supported.
-+# `unknown' -- same as none, but documents that we really don't know.
-+# 'pass_all' -- all dependencies passed with no checks.
-+# 'test_compile' -- check by making test program.
-+# 'file_magic [[regex]]' -- check by looking for files in library path
-+# which responds to the $file_magic_cmd with a given extended regex.
-+# If you have `file' or equivalent on your system and you're not sure
-+# whether `pass_all' will *always* work, you probably want this one.
 +
-+case $host_os in
-+aix[[4-9]]*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% @documentencoding should change something in TeX eventually, most
++% likely, but for now just recognize it.
++\let\documentencoding = \comment
 +
-+beos*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
 +
-+bsdi[[45]]*)
-+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-+  lt_cv_file_magic_cmd='/usr/bin/file -L'
-+  lt_cv_file_magic_test_file=/shlib/libc.so
-+  ;;
++% Page size parameters.
++%
++\newdimen\defaultparindent \defaultparindent = 15pt
 +
-+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'
-+  ;;
++\chapheadingskip = 15pt plus 4pt minus 2pt
++\secheadingskip = 12pt plus 3pt minus 2pt
++\subsecheadingskip = 9pt plus 2pt minus 2pt
 +
-+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
-+  ;;
++% Prevent underfull vbox error messages.
++\vbadness = 10000
 +
-+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'
-+  ;;
++% Don't be so finicky about underfull hboxes, either.
++\hbadness = 2000
 +
-+darwin* | rhapsody*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% Following George Bush, just get rid of widows and orphans.
++\widowpenalty=10000
++\clubpenalty=10000
 +
-+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
-+  ;;
++% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
++% using an old version of TeX, don't do anything.  We want the amount of
++% stretch added to depend on the line length, hence the dependence on
++% \hsize.  We call this whenever the paper size is set.
++%
++\def\setemergencystretch{%
++  \ifx\emergencystretch\thisisundefined
++    % Allow us to assign to \emergencystretch anyway.
++    \def\emergencystretch{\dimen0}%
++  \else
++    \emergencystretch = .15\hsize
++  \fi
++}
 +
-+gnu*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% Parameters in order: 1) textheight; 2) textwidth;
++% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
++% 7) physical page height; 8) physical page width.
++%
++% We also call \setleading{\textleading}, so the caller should define
++% \textleading.  The caller should also set \parskip.
++%
++\def\internalpagesizes#1#2#3#4#5#6#7#8{%
++  \voffset = #3\relax
++  \topskip = #6\relax
++  \splittopskip = \topskip
++  %
++  \vsize = #1\relax
++  \advance\vsize by \topskip
++  \outervsize = \vsize
++  \advance\outervsize by 2\topandbottommargin
++  \pageheight = \vsize
++  %
++  \hsize = #2\relax
++  \outerhsize = \hsize
++  \advance\outerhsize by 0.5in
++  \pagewidth = \hsize
++  %
++  \normaloffset = #4\relax
++  \bindingoffset = #5\relax
++  %
++  \ifpdf
++    \pdfpageheight #7\relax
++    \pdfpagewidth #8\relax
++  \fi
++  %
++  \setleading{\textleading}
++  %
++  \parindent = \defaultparindent
++  \setemergencystretch
++}
 +
-+haiku*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% @letterpaper (the default).
++\def\letterpaper{{\globaldefs = 1
++  \parskip = 3pt plus 2pt minus 1pt
++  \textleading = 13.2pt
++  %
++  % If page is nothing but text, make it come out even.
++  \internalpagesizes{46\baselineskip}{6in}%
++                    {\voffset}{.25in}%
++                    {\bindingoffset}{36pt}%
++                    {11in}{8.5in}%
++}}
 +
-+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
-+  ;;
++% Use @smallbook to reset parameters for 7x9.25 trim size.
++\def\smallbook{{\globaldefs = 1
++  \parskip = 2pt plus 1pt
++  \textleading = 12pt
++  %
++  \internalpagesizes{7.5in}{5in}%
++                    {\voffset}{.25in}%
++                    {\bindingoffset}{16pt}%
++                    {9.25in}{7in}%
++  %
++  \lispnarrowing = 0.3in
++  \tolerance = 700
++  \hfuzz = 1pt
++  \contentsrightmargin = 0pt
++  \defbodyindent = .5cm
++}}
 +
-+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)$'
-+  ;;
++% Use @smallerbook to reset parameters for 6x9 trim size.
++% (Just testing, parameters still in flux.)
++\def\smallerbook{{\globaldefs = 1
++  \parskip = 1.5pt plus 1pt
++  \textleading = 12pt
++  %
++  \internalpagesizes{7.4in}{4.8in}%
++                    {-.2in}{-.4in}%
++                    {0pt}{14pt}%
++                    {9in}{6in}%
++  %
++  \lispnarrowing = 0.25in
++  \tolerance = 700
++  \hfuzz = 1pt
++  \contentsrightmargin = 0pt
++  \defbodyindent = .4cm
++}}
 +
-+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
-+  ;;
++% Use @afourpaper to print on European A4 paper.
++\def\afourpaper{{\globaldefs = 1
++  \parskip = 3pt plus 2pt minus 1pt
++  \textleading = 13.2pt
++  %
++  % Double-side printing via postscript on Laserjet 4050
++  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
++  % To change the settings for a different printer or situation, adjust
++  % \normaloffset until the front-side and back-side texts align.  Then
++  % do the same for \bindingoffset.  You can set these for testing in
++  % your texinfo source file like this:
++  % @tex
++  % \global\normaloffset = -6mm
++  % \global\bindingoffset = 10mm
++  % @end tex
++  \internalpagesizes{51\baselineskip}{160mm}
++                    {\voffset}{\hoffset}%
++                    {\bindingoffset}{44pt}%
++                    {297mm}{210mm}%
++  %
++  \tolerance = 700
++  \hfuzz = 1pt
++  \contentsrightmargin = 0pt
++  \defbodyindent = 5mm
++}}
 +
-+# This must be glibc/ELF.
-+linux* | k*bsd*-gnu | kopensolaris*-gnu)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% Use @afivepaper to print on European A5 paper.
++% From romildo@urano.iceb.ufop.br, 2 July 2000.
++% He also recommends making @example and @lisp be small.
++\def\afivepaper{{\globaldefs = 1
++  \parskip = 2pt plus 1pt minus 0.1pt
++  \textleading = 12.5pt
++  %
++  \internalpagesizes{160mm}{120mm}%
++                    {\voffset}{\hoffset}%
++                    {\bindingoffset}{8pt}%
++                    {210mm}{148mm}%
++  %
++  \lispnarrowing = 0.2in
++  \tolerance = 800
++  \hfuzz = 1.2pt
++  \contentsrightmargin = 0pt
++  \defbodyindent = 2mm
++  \tableindent = 12mm
++}}
 +
-+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
-+  ;;
++% A specific text layout, 24x15cm overall, intended for A4 paper.
++\def\afourlatex{{\globaldefs = 1
++  \afourpaper
++  \internalpagesizes{237mm}{150mm}%
++                    {\voffset}{4.6mm}%
++                    {\bindingoffset}{7mm}%
++                    {297mm}{210mm}%
++  %
++  % Must explicitly reset to 0 because we call \afourpaper.
++  \globaldefs = 0
++}}
 +
-+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
-+  ;;
++% Use @afourwide to print on A4 paper in landscape format.
++\def\afourwide{{\globaldefs = 1
++  \afourpaper
++  \internalpagesizes{241mm}{165mm}%
++                    {\voffset}{-2.95mm}%
++                    {\bindingoffset}{7mm}%
++                    {297mm}{210mm}%
++  \globaldefs = 0
++}}
 +
-+*nto* | *qnx*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
++% Perhaps we should allow setting the margins, \topskip, \parskip,
++% and/or leading, also. Or perhaps we should compute them somehow.
++%
++\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
++\def\pagesizesyyy#1,#2,#3\finish{{%
++  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
++  \globaldefs = 1
++  %
++  \parskip = 3pt plus 2pt minus 1pt
++  \setleading{\textleading}%
++  %
++  \dimen0 = #1
++  \advance\dimen0 by \voffset
++  %
++  \dimen2 = \hsize
++  \advance\dimen2 by \normaloffset
++  %
++  \internalpagesizes{#1}{\hsize}%
++                    {\voffset}{\normaloffset}%
++                    {\bindingoffset}{44pt}%
++                    {\dimen0}{\dimen2}%
++}}
 +
-+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
-+  ;;
++% Set default to letter.
++%
++\letterpaper
 +
-+osf3* | osf4* | osf5*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
 +
-+rdos*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++\message{and turning on texinfo input format.}
 +
-+solaris*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% Define macros to output various characters with catcode for normal text.
++\catcode`\"=\other
++\catcode`\~=\other
++\catcode`\^=\other
++\catcode`\_=\other
++\catcode`\|=\other
++\catcode`\<=\other
++\catcode`\>=\other
++\catcode`\+=\other
++\catcode`\$=\other
++\def\normaldoublequote{"}
++\def\normaltilde{~}
++\def\normalcaret{^}
++\def\normalunderscore{_}
++\def\normalverticalbar{|}
++\def\normalless{<}
++\def\normalgreater{>}
++\def\normalplus{+}
++\def\normaldollar{$}%$ font-lock fix
 +
-+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
++% This macro is used to make a character print one way in \tt
++% (where it can probably be output as-is), and another way in other fonts,
++% where something hairier probably needs to be done.
++%
++% #1 is what to print if we are indeed using \tt; #2 is what to print
++% otherwise.  Since all the Computer Modern typewriter fonts have zero
++% interword stretch (and shrink), and it is reasonable to expect all
++% typewriter fonts to have this, we can check that font parameter.
++%
++\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
 +
-+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
-+  ;;
++% Same as above, but check for italic font.  Actually this also catches
++% non-italic slanted fonts since it is impossible to distinguish them from
++% italic fonts.  But since this is only used by $ and it uses \sl anyway
++% this is not a problem.
++\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
 +
-+tpf*)
-+  lt_cv_deplibs_check_method=pass_all
-+  ;;
-+esac
-+])
++% Turn off all special characters except @
++% (and those which the user can use as if they were ordinary).
++% Most of these we simply print from the \tt font, but for some, we can
++% use math or other variants that look better in normal text.
 +
-+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
++\catcode`\"=\active
++\def\activedoublequote{{\tt\char34}}
++\let"=\activedoublequote
++\catcode`\~=\active
++\def~{{\tt\char126}}
++\chardef\hat=`\^
++\catcode`\^=\active
++\def^{{\tt \hat}}
 +
-+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
++\catcode`\_=\active
++\def_{\ifusingtt\normalunderscore\_}
++\let\realunder=_
++% Subroutine for the previous macro.
++\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
 +
-+# 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'
++\catcode`\|=\active
++\def|{{\tt\char124}}
++\chardef \less=`\<
++\catcode`\<=\active
++\def<{{\tt \less}}
++\chardef \gtr=`\>
++\catcode`\>=\active
++\def>{{\tt \gtr}}
++\catcode`\+=\active
++\def+{{\tt \char 43}}
++\catcode`\$=\active
++\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
 +
-+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
++% If a .fmt file is being used, characters that might appear in a file
++% name cannot be active until we have parsed the command line.
++% So turn them off again, and have \everyjob (or @setfilename) turn them on.
++% \otherifyactive is called near the end of this file.
++\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
 +
-+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
-+    [Command to associate shared and link libraries])
-+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++\catcode`\@=0
 +
++% \backslashcurfont outputs one backslash character in current font,
++% as in \char`\\.
++\global\chardef\backslashcurfont=`\\
++\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
 +
-+# _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
++% \rawbackslash defines an active \ to do \backslashcurfont.
++% \otherbackslash defines an active \ to be a literal `\' character with
++% catcode other.
++{\catcode`\\=\active
++ @gdef@rawbackslash{@let\=@backslashcurfont}
++ @gdef@otherbackslash{@let\=@realbackslash}
++}
 +
++% \realbackslash is an actual character `\' with catcode other, and
++% \doublebackslash is two of them (for the pdf outlines).
++{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
 +
-+# 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
++% \normalbackslash outputs one backslash in fixed width font.
++\def\normalbackslash{{\tt\backslashcurfont}}
 +
-+# Old name:
-+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_CHECK_LIBM], [])
++\catcode`\\=\active
 +
++% Used sometimes to turn off (effectively) the active characters
++% even after parsing them.
++@def@turnoffactive{%
++  @let"=@normaldoublequote
++  @let\=@realbackslash
++  @let~=@normaltilde
++  @let^=@normalcaret
++  @let_=@normalunderscore
++  @let|=@normalverticalbar
++  @let<=@normalless
++  @let>=@normalgreater
++  @let+=@normalplus
++  @let$=@normaldollar %$ font-lock fix
++  @unsepspaces
++}
 +
-+# _LT_COMPILER_NO_RTTI([TAGNAME])
-+# -------------------------------
-+m4_defun([_LT_COMPILER_NO_RTTI],
-+[m4_require([_LT_TAG_COMPILER])dnl
++% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
++% the literal character `\'.  (Thus, \ is not expandable when this is in
++% effect.)
++%
++@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
 +
-+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++% Make _ and + \other characters, temporarily.
++% This is canceled by @fixbackslash.
++@otherifyactive
 +
-+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
++% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
++% That is what \eatinput is for; after that, the `\' should revert to printing
++% a backslash.
++%
++@gdef@eatinput input texinfo{@fixbackslash}
++@global@let\ = @eatinput
 +
-+  _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
++% On the other hand, perhaps the file did not have a `\input texinfo'. Then
++% the first `\{ in the file would cause an error. This macro tries to fix
++% that, assuming it is called before the first `\' could plausibly occur.
++% Also turn back on active characters that might appear in the input
++% file name, in case not using a pre-dumped format.
++%
++@gdef@fixbackslash{%
++  @ifx\@eatinput @let\ = @normalbackslash @fi
++  @catcode`+=@active
++  @catcode`@_=@active
++}
 +
++% Say @foo, not \foo, in error messages.
++@escapechar = `@@
 +
-+# _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
++% These look ok in all fonts, so just make them not special.
++@catcode`@& = @other
++@catcode`@# = @other
++@catcode`@% = @other
 +
-+# 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]]'
++@c Local variables:
++@c eval: (add-hook 'write-file-hooks 'time-stamp)
++@c page-delimiter: "^\\\\message"
++@c time-stamp-start: "def\\\\texinfoversion{"
++@c time-stamp-format: "%:y-%02m-%02d.%02H"
++@c time-stamp-end: "}"
++@c End:
 +
-+# Regexp to match symbols that can be accessed directly from C.
-+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
++@c vim:sw=2:
 +
-+# 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
++@ignore
++   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
++@end ignore
+Index: libffi/include/Makefile.am
+===================================================================
+--- libffi.orig/include/Makefile.am
++++ libffi/include/Makefile.am
+@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
+ DISTCLEANFILES=ffitarget.h
+ EXTRA_DIST=ffi.h.in ffi_common.h
+-# Where generated headers like ffitarget.h get installed.
+-gcc_version   := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+-
+-toollibffi_HEADERS = ffi.h ffitarget.h
++includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++nodist_includes_HEADERS = ffi.h ffitarget.h
+Index: libffi/testsuite/Makefile.am
+===================================================================
+--- libffi.orig/testsuite/Makefile.am
++++ libffi/testsuite/Makefile.am
+@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+ AM_RUNTESTFLAGS =
+ CLEANFILES = *.exe core* *.log *.sum
 +
-+# If we're using GNU nm, then use its standard symbol codes.
-+case `$NM -V 2>&1` in
-+*GNU* | *'with BFD'*)
-+  symcode='[[ABCDGIRSTW]]' ;;
-+esac
++EXTRA_DIST = libffi.special/special.exp       \
++libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
++libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
++lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
++libffi.call/cls_multi_schar.c libffi.call/float3.c \
++libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
++libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
++libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
++libffi.call/nested_struct.c libffi.call/closure_fn1.c \
++libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
++libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
++libffi.call/return_fl2.c libffi.call/nested_struct7.c \
++libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
++libffi.call/float1.c libffi.call/cls_19byte.c \
++libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
++libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
++libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
++libffi.call/struct7.c libffi.call/nested_struct9.c \
++libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
++libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
++libffi.call/testclosure.c libffi.call/cls_3byte1.c \
++libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
++libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
++libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
++libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
++libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c       \
++libffi.call/return_ll.c libffi.call/cls_pointer.c \
++libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
++libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c       \
++libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
++libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
++libffi.call/cls_double.c libffi.call/many_win32.c \
++libffi.call/cls_16byte.c libffi.call/cls_align_double.c       \
++libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c       \
++libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
++libffi.call/closure_stdcall.c libffi.call/return_fl.c \
++libffi.call/strlen_win32.c libffi.call/return_ldl.c \
++libffi.call/cls_align_float.c libffi.call/struct3.c \
++libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
++libffi.call/cls_align_longdouble_split.c \
++libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
++libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
++libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
++libffi.call/return_dbl.c libffi.call/cls_20byte.c \
++libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c       \
++libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
++libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
++libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
++libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c       \
++libffi.call/struct2.c libffi.call/cls_3byte2.c \
++libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
++libffi.call/return_fl3.c libffi.call/cls_align_uint32.c       \
++libffi.call/problem1.c libffi.call/float4.c \
++libffi.call/cls_align_uint64.c libffi.call/struct9.c \
++libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
++libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
++libffi.call/struct4.c libffi.call/nested_struct2.c \
++libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
++libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
++libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
++libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
++libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
++libffi.call/huge_struct.c
+Index: libffi/testsuite/lib/libffi.exp
+===================================================================
+--- libffi.orig/testsuite/lib/libffi.exp
++++ libffi/testsuite/lib/libffi.exp
+@@ -1,4 +1,4 @@
+-#   Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
++#   Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 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
+@@ -16,7 +16,7 @@
+ proc load_gcc_lib { filename } {
+     global srcdir
+-    load_file $srcdir/../../gcc/testsuite/lib/$filename
++    load_file $srcdir/lib/$filename
+ }
+ load_lib dg.exp
+@@ -94,7 +94,6 @@ proc libffi-init { args } {
+     global srcdir
+     global blddirffi
+     global objdir
+-    global blddircxx
+     global TOOL_OPTIONS
+     global tool
+     global libffi_include
+@@ -102,10 +101,8 @@ proc libffi-init { args } {
+     global tool_root_dir
+     global ld_library_path
+-    set blddirffi [lookfor_file [get_multilibs] libffi]
++    set blddirffi [pwd]/.. 
+     verbose "libffi $blddirffi"
+-    set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
+-    verbose "libstdc++ $blddircxx"
+     set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
+     if {$gccdir != ""} {
+@@ -132,8 +129,6 @@ proc libffi-init { args } {
+     }
+     # add the library path for libffi.
+     append ld_library_path ":${blddirffi}/.libs"
+-    # add the library path for libstdc++ as well.
+-    append ld_library_path ":${blddircxx}/src/.libs"
+     verbose "ld_library_path: $ld_library_path"
+@@ -146,7 +141,6 @@ proc libffi-init { args } {
+     if { $libffi_dir != "" } {
+       set libffi_dir [file dirname ${libffi_dir}]
+       set libffi_link_flags "-L${libffi_dir}/.libs"
+-      lappend libffi_link_flags "-L${blddircxx}/src/.libs"
+     }
+     set_ld_library_path_env_vars
+Index: libffi/m4/asmcfi.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/asmcfi.m4
+@@ -0,0 +1,13 @@
++AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
++[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
++    gcc_cv_as_cfi_pseudo_op, [
++    gcc_cv_as_cfi_pseudo_op=unknown
++    AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
++                 [gcc_cv_as_cfi_pseudo_op=yes],
++                 [gcc_cv_as_cfi_pseudo_op=no])
++ ])
++ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
++    AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
++            [Define if your assembler supports .cfi_* directives.])
++ fi
++])
+Index: libffi/testsuite/lib/target-libpath.exp
+===================================================================
+--- /dev/null
++++ libffi/testsuite/lib/target-libpath.exp
+@@ -0,0 +1,263 @@
++# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
 +
-+# 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'"
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GCC; see the file COPYING3.  If not see
++# <http://www.gnu.org/licenses/>.
 +
-+# 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'"
++# This file was contributed by John David Anglin (dave.anglin@nrc-cnrc.gc.ca)
 +
-+# 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
++set orig_environment_saved 0
++set orig_ld_library_path_saved 0
++set orig_ld_run_path_saved 0
++set orig_shlib_path_saved 0
++set orig_ld_libraryn32_path_saved 0
++set orig_ld_library64_path_saved 0
++set orig_ld_library_path_32_saved 0
++set orig_ld_library_path_64_saved 0
++set orig_dyld_library_path_saved 0
 +
-+# 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};"\
-+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-+"     /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
++#######################################
++# proc set_ld_library_path_env_vars { }
++#######################################
 +
-+  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
++proc set_ld_library_path_env_vars { } {
++  global ld_library_path
++  global orig_environment_saved
++  global orig_ld_library_path_saved
++  global orig_ld_run_path_saved
++  global orig_shlib_path_saved
++  global orig_ld_libraryn32_path_saved
++  global orig_ld_library64_path_saved
++  global orig_ld_library_path_32_saved
++  global orig_ld_library_path_64_saved
++  global orig_dyld_library_path_saved
++  global orig_ld_library_path
++  global orig_ld_run_path
++  global orig_shlib_path
++  global orig_ld_libraryn32_path
++  global orig_ld_library64_path
++  global orig_ld_library_path_32
++  global orig_ld_library_path_64
++  global orig_dyld_library_path
++  global GCC_EXEC_PREFIX
 +
-+  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
++  # Set the relocated compiler prefix, but only if the user hasn't specified one.
++  if { [info exists GCC_EXEC_PREFIX] && ![info exists env(GCC_EXEC_PREFIX)] } {
++    setenv GCC_EXEC_PREFIX "$GCC_EXEC_PREFIX"
++  }
 +
-+      # 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
++  # Setting the ld library path causes trouble when testing cross-compilers.
++  if { [is_remote target] } {
++    return
++  }
 +
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
++  if { $orig_environment_saved == 0 } {
++    global env
 +
-+_LT_EOF
-+        # Now generate the symbol file.
-+        eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++    set orig_environment_saved 1
 +
-+        cat <<_LT_EOF >> conftest.$ac_ext
++    # Save the original environment.
++    if [info exists env(LD_LIBRARY_PATH)] {
++      set orig_ld_library_path "$env(LD_LIBRARY_PATH)"
++      set orig_ld_library_path_saved 1
++    }
++    if [info exists env(LD_RUN_PATH)] {
++      set orig_ld_run_path "$env(LD_RUN_PATH)"
++      set orig_ld_run_path_saved 1
++    }
++    if [info exists env(SHLIB_PATH)] {
++      set orig_shlib_path "$env(SHLIB_PATH)"
++      set orig_shlib_path_saved 1
++    }
++    if [info exists env(LD_LIBRARYN32_PATH)] {
++      set orig_ld_libraryn32_path "$env(LD_LIBRARYN32_PATH)"
++      set orig_ld_libraryn32_path_saved 1
++    }
++    if [info exists env(LD_LIBRARY64_PATH)] {
++      set orig_ld_library64_path "$env(LD_LIBRARY64_PATH)"
++      set orig_ld_library64_path_saved 1
++    }
++    if [info exists env(LD_LIBRARY_PATH_32)] {
++      set orig_ld_library_path_32 "$env(LD_LIBRARY_PATH_32)"
++      set orig_ld_library_path_32_saved 1
++    }
++    if [info exists env(LD_LIBRARY_PATH_64)] {
++      set orig_ld_library_path_64 "$env(LD_LIBRARY_PATH_64)"
++      set orig_ld_library_path_64_saved 1
++    }
++    if [info exists env(DYLD_LIBRARY_PATH)] {
++      set orig_dyld_library_path "$env(DYLD_LIBRARY_PATH)"
++      set orig_dyld_library_path_saved 1
++    }
++  }
 +
-+/* 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}
-+};
++  # We need to set ld library path in the environment.  Currently,
++  # unix.exp doesn't set the environment correctly for all systems.
++  # It only sets SHLIB_PATH and LD_LIBRARY_PATH when it executes a
++  # program.  We also need the environment set for compilations, etc.
++  #
++  # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
++  # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
++  # (for the 64-bit ABI).  The same applies to Darwin (DYLD_LIBRARY_PATH),
++  # Solaris 32 bit (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64),
++  # and HP-UX (SHLIB_PATH).  In some cases, the variables are independent
++  # of LD_LIBRARY_PATH, and in other cases LD_LIBRARY_PATH is used if the
++  # variable is not defined.
++  #
++  # Doing this is somewhat of a hack as ld_library_path gets repeated in
++  # SHLIB_PATH and LD_LIBRARY_PATH when unix_load sets these variables.
++  if { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path"
++  } else {
++    setenv LD_LIBRARY_PATH "$ld_library_path"
++  }
++  if { $orig_ld_run_path_saved } {
++    setenv LD_RUN_PATH "$ld_library_path:$orig_ld_run_path"
++  } else {
++    setenv LD_RUN_PATH "$ld_library_path"
++  }
++  # The default shared library dynamic path search for 64-bit
++  # HP-UX executables searches LD_LIBRARY_PATH before SHLIB_PATH.
++  # LD_LIBRARY_PATH isn't used for 32-bit executables.  Thus, we
++  # set LD_LIBRARY_PATH and SHLIB_PATH as if they were independent.
++  if { $orig_shlib_path_saved } {
++    setenv SHLIB_PATH "$ld_library_path:$orig_shlib_path"
++  } else {
++    setenv SHLIB_PATH "$ld_library_path"
++  }
++  if { $orig_ld_libraryn32_path_saved } {
++    setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_libraryn32_path"
++  } elseif { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_library_path"
++  } else {
++    setenv LD_LIBRARYN32_PATH "$ld_library_path"
++  }
++  if { $orig_ld_library64_path_saved } {
++    setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library64_path"
++  } elseif { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library_path"
++  } else {
++    setenv LD_LIBRARY64_PATH "$ld_library_path"
++  }
++  if { $orig_ld_library_path_32_saved } {
++    setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path_32"
++  } elseif { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path"
++  } else {
++    setenv LD_LIBRARY_PATH_32 "$ld_library_path"
++  }
++  if { $orig_ld_library_path_64_saved } {
++    setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path_64"
++  } elseif { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path"
++  } else {
++    setenv LD_LIBRARY_PATH_64 "$ld_library_path"
++  }
++  if { $orig_dyld_library_path_saved } {
++    setenv DYLD_LIBRARY_PATH "$ld_library_path:$orig_dyld_library_path"
++  } else {
++    setenv DYLD_LIBRARY_PATH "$ld_library_path"
++  }
 +
-+/* This works around a problem in FreeBSD linker */
-+#ifdef FREEBSD_WORKAROUND
-+static const void *lt_preloaded_setup() {
-+  return lt__PROGRAM__LTX_preloaded_symbols;
++  verbose -log "set_ld_library_path_env_vars: ld_library_path=$ld_library_path"
 +}
-+#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*
++#######################################
++# proc restore_ld_library_path_env_vars { }
++#######################################
 +
-+  # 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
++proc restore_ld_library_path_env_vars { } {
++  global orig_environment_saved
++  global orig_ld_library_path_saved
++  global orig_ld_run_path_saved
++  global orig_shlib_path_saved
++  global orig_ld_libraryn32_path_saved
++  global orig_ld_library64_path_saved
++  global orig_ld_library_path_32_saved
++  global orig_ld_library_path_64_saved
++  global orig_dyld_library_path_saved
++  global orig_ld_library_path
++  global orig_ld_run_path
++  global orig_shlib_path
++  global orig_ld_libraryn32_path
++  global orig_ld_library64_path
++  global orig_ld_library_path_32
++  global orig_ld_library_path_64
++  global orig_dyld_library_path
 +
-+# 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
++  if { $orig_environment_saved == 0 } {
++    return
++  }
 +
-+_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
-+      ;;
++  if { $orig_ld_library_path_saved } {
++    setenv LD_LIBRARY_PATH "$orig_ld_library_path"
++  } elseif [info exists env(LD_LIBRARY_PATH)] {
++    unsetenv LD_LIBRARY_PATH
++  }
++  if { $orig_ld_run_path_saved } {
++    setenv LD_RUN_PATH "$orig_ld_run_path"
++  } elseif [info exists env(LD_RUN_PATH)] {
++    unsetenv LD_RUN_PATH
++  }
++  if { $orig_shlib_path_saved } {
++    setenv SHLIB_PATH "$orig_shlib_path"
++  } elseif [info exists env(SHLIB_PATH)] {
++    unsetenv SHLIB_PATH
++  }
++  if { $orig_ld_libraryn32_path_saved } {
++    setenv LD_LIBRARYN32_PATH "$orig_ld_libraryn32_path"
++  } elseif [info exists env(LD_LIBRARYN32_PATH)] {
++    unsetenv LD_LIBRARYN32_PATH
++  }
++  if { $orig_ld_library64_path_saved } {
++    setenv LD_LIBRARY64_PATH "$orig_ld_library64_path"
++  } elseif [info exists env(LD_LIBRARY64_PATH)] {
++    unsetenv LD_LIBRARY64_PATH
++  }
++  if { $orig_ld_library_path_32_saved } {
++    setenv LD_LIBRARY_PATH_32 "$orig_ld_library_path_32"
++  } elseif [info exists env(LD_LIBRARY_PATH_32)] {
++    unsetenv LD_LIBRARY_PATH_32
++  }
++  if { $orig_ld_library_path_64_saved } {
++    setenv LD_LIBRARY_PATH_64 "$orig_ld_library_path_64"
++  } elseif [info exists env(LD_LIBRARY_PATH_64)] {
++    unsetenv LD_LIBRARY_PATH_64
++  }
++  if { $orig_dyld_library_path_saved } {
++    setenv DYLD_LIBRARY_PATH "$orig_dyld_library_path"
++  } elseif [info exists env(DYLD_LIBRARY_PATH)] {
++    unsetenv DYLD_LIBRARY_PATH
++  }
++}
 +
-+    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
-+      ;;
++#######################################
++# proc get_shlib_extension { }
++#######################################
 +
-+    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
-+      ;;
++proc get_shlib_extension { } {
++    global shlib_ext
 +
-+    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
-+      ;;
++    if { [ istarget *-*-darwin* ] } {
++      set shlib_ext "dylib"
++    } elseif { [ istarget *-*-cygwin* ] || [ istarget *-*-mingw* ] } {
++      set shlib_ext "dll"
++    } elseif { [ istarget hppa*-*-hpux* ] } {
++      set shlib_ext "sl"
++    } else {
++      set shlib_ext "so"
++    }
++    return $shlib_ext
++}
 +
-+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-+      # PIC is the default for these OSes.
-+      ;;
+Index: libffi/testsuite/lib/wrapper.exp
+===================================================================
+--- /dev/null
++++ libffi/testsuite/lib/wrapper.exp
+@@ -0,0 +1,45 @@
++#   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
 +
-+    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'])
-+      ;;
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++# 
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++# 
++# You should have received a copy of the GNU General Public License
++# along with GCC; see the file COPYING3.  If not see
++# <http://www.gnu.org/licenses/>.
 +
-+    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'
-+      ;;
++# This file contains GCC-specifics for status wrappers for test programs.
 +
-+    haiku*)
-+      # PIC is the default for Haiku.
-+      # The "-static" flag exists, but is broken.
-+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-+      ;;
++# ${tool}_maybe_build_wrapper -- Build wrapper object if the target
++# needs it.  FILENAME is the path to the wrapper file.  If there are
++# additional arguments, they are command-line options to provide to
++# the compiler when compiling FILENAME.
 +
-+    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
-+      ;;
++proc ${tool}_maybe_build_wrapper { filename args } {
++    global gluefile wrap_flags
 +
-+    interix[[3-9]]*)
-+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-+      # Instead, we relocate shared libraries at runtime.
-+      ;;
++    if { [target_info needs_status_wrapper] != "" \
++       && [target_info needs_status_wrapper] != "0" \
++       && ![info exists gluefile] } {
++      set saved_wrap_compile_flags [target_info wrap_compile_flags]
++      set flags [join $args " "]
++      # The wrapper code may contain code that gcc objects on.  This
++      # became true for dejagnu-1.4.4.  The set of warnings and code
++      # that gcc objects on may change, so just make sure -w is always
++      # passed to turn off all warnings.
++      set_currtarget_info wrap_compile_flags \
++          "$saved_wrap_compile_flags -w $flags"
++      set result [build_wrapper $filename]
++      set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
++      if { $result != "" } {
++          set gluefile [lindex $result 0]
++          set wrap_flags [lindex $result 1]
++      }
++    }
++}
+Index: libffi/m4/ax_cc_maxopt.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_cc_maxopt.m4
+@@ -0,0 +1,180 @@
++# ===========================================================================
++#       http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CC_MAXOPT
++#
++# DESCRIPTION
++#
++#   Try to turn on "good" C optimization flags for various compilers and
++#   architectures, for some definition of "good". (In our case, good for
++#   FFTW and hopefully for other scientific codes. Modify as needed.)
++#
++#   The user can override the flags by setting the CFLAGS environment
++#   variable. The user can also specify --enable-portable-binary in order to
++#   disable any optimization flags that might result in a binary that only
++#   runs on the host architecture.
++#
++#   Note also that the flags assume that ANSI C aliasing rules are followed
++#   by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
++#   computations can be re-ordered as needed.
++#
++#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR,
++#   AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    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
-+      ;;
++#serial 13
 +
-+    *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'
-+      ;;
++AC_DEFUN([AX_CC_MAXOPT],
++[
++AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AX_COMPILER_VENDOR])
++AC_REQUIRE([AC_CANONICAL_HOST])
 +
-+    sysv4*MP*)
-+      if test -d /usr/nec; then
-+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-+      fi
-+      ;;
++AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
++      acx_maxopt_portable=$enableval, acx_maxopt_portable=no)
 +
-+    *)
-+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+      ;;
-+    esac
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++  CFLAGS=""
++  case $ax_cv_c_compiler_vendor in
++    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++       if test "x$acx_maxopt_portable" = xno; then
++           CFLAGS="$CFLAGS -arch host"
++         fi;;
 +
-+    case $cc_basename in
-+    nvcc*) # Cuda Compiler Driver 2.2
-+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
-+      fi
-+      ;;
-+    esac
-+  else
-+    # PORTME Check for flag to pass linker flags through the system compiler.
-+    case $host_os in
-+    aix*)
-+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+      if test "$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
-+      ;;
++    sun) CFLAGS="-native -fast -xO5 -dalign"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS -xarch=generic"
++         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'])
-+      ;;
++    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS +DAportable"
++       fi;;
 +
-+    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'
++    ibm) if test "x$acx_maxopt_portable" = xno; then
++           xlc_opt="-qarch=auto -qtune=auto"
++       else
++           xlc_opt="-qtune=auto"
++       fi
++         AX_CHECK_COMPILE_FLAG($xlc_opt,
++              CFLAGS="-O3 -qansialias -w $xlc_opt",
++               [CFLAGS="-O3 -qansialias -w"
++                echo "******************************************************"
++                echo "*  You seem to have the IBM  C compiler.  It is      *"
++                echo "*  recommended for best performance that you use:    *"
++                echo "*                                                    *"
++                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++                echo "*                      ^^^        ^^^                *"
++                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
++                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
++                echo "*  and re-run configure.)  For more info, man cc.    *"
++                echo "******************************************************"])
++         ;;
++
++    intel) CFLAGS="-O3 -ansi_alias"
++      if test "x$acx_maxopt_portable" = xno; then
++        icc_archflag=unknown
++        icc_flags=""
++        case $host_cpu in
++          i686*|x86_64*)
++              # icc accepts gcc assembly syntax, so these should work:
++            AX_GCC_X86_CPUID(0)
++              AX_GCC_X86_CPUID(1)
++            case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++                *:756e6547:*:*) # Intel
++                  case $ax_cv_gcc_x86_cpuid_1 in
++                    *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
++                    *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
++                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
++                  esac ;;
++              esac ;;
++          esac
++          if test "x$icc_flags" != x; then
++            for flag in $icc_flags; do
++              AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break])
++            done
++          fi
++          AC_MSG_CHECKING([for icc architecture flag])
++        AC_MSG_RESULT($icc_archflag)
++          if test "x$icc_archflag" != xunknown; then
++            CFLAGS="$CFLAGS $icc_archflag"
++          fi
++        fi
 +      ;;
-+      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'
-+      ;;
++    gnu)
++     # default optimization flags for gcc on all systems
++     CFLAGS="-O3 -fomit-frame-pointer"
 +
-+    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\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
-+        # Sun Fortran 8.3 passes all unrecognized flags to the linker
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+        _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-+        ;;
-+      *Sun\ F* | *Sun*Fortran*)
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-+        ;;
-+      *Sun\ C*)
-+        # Sun C 5.9
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+        ;;
-+        *Intel*\ [[CF]]*Compiler*)
-+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+        ;;
-+      *Portland\ Group*)
-+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+        ;;
-+      esac
-+      ;;
-+      esac
-+      ;;
++     # -malign-double for x86 systems
++     AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
 +
-+    newsos6)
-+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+      ;;
++     #  -fstrict-aliasing for gcc-2.95+
++     AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
++      CFLAGS="$CFLAGS -fstrict-aliasing")
++
++     # note that we enable "unsafe" fp optimization with other compilers, too
++     AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
++
++     AX_GCC_ARCHFLAG($acx_maxopt_portable)
++     ;;
++  esac
++
++  if test -z "$CFLAGS"; then
++      echo ""
++      echo "********************************************************"
++        echo "* WARNING: Don't know the best CFLAGS for this system  *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++      echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
++      echo "********************************************************"
++      echo ""
++        CFLAGS="-O3"
++  fi
 +
-+    *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'
-+      ;;
++  AX_CHECK_COMPILE_FLAG($CFLAGS, [], [
++      echo ""
++        echo "********************************************************"
++        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
++        echo "* your compiler.                                       *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++        echo "********************************************************"
++        echo ""
++        CFLAGS=""
++  ])
 +
-+    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'
-+      ;;
++fi
++])
+Index: libffi/m4/ax_cflags_warn_all.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_cflags_warn_all.m4
+@@ -0,0 +1,122 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CFLAGS_WARN_ALL   [(shellvar [,default, [A/NA]])]
++#   AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
++#   AX_FCFLAGS_WARN_ALL  [(shellvar [,default, [A/NA]])]
++#
++# DESCRIPTION
++#
++#   Try to find a compiler option that enables most reasonable warnings.
++#
++#   For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
++#   is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
++#
++#   Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
++#   HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
++#   Intel compilers.  For a given compiler, the Fortran flags are much more
++#   experimental than their C equivalents.
++#
++#    - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
++#    - $2 add-value-if-not-found : nothing
++#    - $3 action-if-found : add value to shellvariable
++#    - $4 action-if-not-found : nothing
++#
++#   NOTE: These macros depend on AX_APPEND_FLAG.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    rdos*)
-+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+      ;;
++#serial 14
 +
-+    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
-+      ;;
++AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
++AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
++AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl
++AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
++VAR,[VAR="no, unknown"
++ac_save_[]FLAGS="$[]FLAGS"
++for ac_arg dnl
++in "-warn all  % -warn all"   dnl Intel
++   "-pedantic  % -Wall"       dnl GCC
++   "-xstrconst % -v"          dnl Solaris C
++   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
++   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
++   "-ansi -ansiE % -fullwarn" dnl IRIX
++   "+ESlit     % +w1"         dnl HP-UX C
++   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
++   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
++   #
++do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
++done
++FLAGS="$ac_save_[]FLAGS"
++])
++AS_VAR_POPDEF([FLAGS])dnl
++AC_REQUIRE([AX_APPEND_FLAG])
++case ".$VAR" in
++     .ok|.ok,*) m4_ifvaln($3,$3) ;;
++   .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;;
++   *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;;
++esac
++AS_VAR_POPDEF([VAR])dnl
++])dnl AX_FLAGS_WARN_ALL
++dnl  implementation tactics:
++dnl   the for-argument contains a list of options. The first part of
++dnl   these does only exist to detect the compiler - usually it is
++dnl   a global option to enable -ansi or -extrawarnings. All other
++dnl   compilers will fail about it. That was needed since a lot of
++dnl   compilers will give false positives for some option-syntax
++dnl   like -Woption or -Xoption as they think of it is a pass-through
++dnl   to later compile stages or something. The "%" is used as a
++dnl   delimiter. A non-option comment can be given after "%%" marks
++dnl   which will be shown but not added to the respective C/CXXFLAGS.
 +
-+    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'
-+      ;;
++AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C])
++])
 +
-+    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'
-+      ;;
++AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C++])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C++])
++])
 +
-+    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
-+      ;;
++AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([Fortran])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([Fortran])
++])
+Index: libffi/m4/ax_compiler_vendor.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_compiler_vendor.m4
+@@ -0,0 +1,84 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_COMPILER_VENDOR
++#
++# DESCRIPTION
++#
++#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
++#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
++#   watcom, etc. The vendor is returned in the cache variable
++#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    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'
-+      ;;
++#serial 11
 +
-+    unicos*)
-+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+      ;;
++AC_DEFUN([AX_COMPILER_VENDOR],
++[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
++  [# note: don't check for gcc first since some other compilers define __GNUC__
++  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
++           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
++           pathscale: __PATHCC__,__PATHSCALE__
++           clang:     __clang__
++           gnu:       __GNUC__
++           sun:       __SUNPRO_C,__SUNPRO_CC
++           hp:        __HP_cc,__HP_aCC
++           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++           borland:   __BORLANDC__,__TURBOC__
++           comeau:    __COMO__
++           cray:      _CRAYC
++           kai:       __KCC
++           lcc:       __LCC__
++           sgi:       __sgi,sgi
++           microsoft: _MSC_VER
++           metrowerks: __MWERKS__
++           watcom:    __WATCOMC__
++           portland:  __PGI
++           unknown:   UNKNOWN"
++  for ventest in $vendors; do
++    case $ventest in
++      *:) vendor=$ventest; continue ;;
++      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++    esac
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
++      #if !($vencpp)
++        thisisanerror;
++      #endif
++    ])], [break])
++  done
++  ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
++ ])
++])
+Index: libffi/m4/ax_configure_args.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_configure_args.m4
+@@ -0,0 +1,70 @@
++# ===========================================================================
++#     http://www.gnu.org/software/autoconf-archive/ax_configure_args.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CONFIGURE_ARGS
++#
++# DESCRIPTION
++#
++#   Helper macro for AX_ENABLE_BUILDDIR.
++#
++#   The traditional way of starting a subdir-configure is running the script
++#   with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have
++#   to rely on eval'ing $ac_configure_args however some old autoconf
++#   versions do not provide that. To ensure maximum portability of autoconf
++#   extension macros this helper can be AC_REQUIRE'd so that
++#   $ac_configure_args will alsways be present.
++#
++#   Sadly, the traditional "exec $SHELL" of the enable_builddir macros is
++#   spoiled now and must be replaced by "eval + exit $?".
++#
++#   Example:
++#
++#     AC_DEFUN([AX_ENABLE_SUBDIR],[dnl
++#       AC_REQUIRE([AX_CONFIGURE_ARGS])dnl
++#       eval $SHELL $ac_configure_args || exit $?
++#       ...])
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    uts4*)
-+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+      ;;
++#serial 9
 +
-+    *)
-+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+      ;;
-+    esac
-+  fi
++AC_DEFUN([AX_CONFIGURE_ARGS],[
++   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++   if test "${ac_configure_args+set}" != "set" ; then
++      ac_configure_args=
++      for ac_arg in ${1+"[$]@"}; do
++         ac_configure_args="$ac_configure_args '$ac_arg'"
++      done
++   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)
-+
+Index: libffi/m4/ax_enable_builddir.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_enable_builddir.m4
+@@ -0,0 +1,300 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
++# ===========================================================================
 +#
-+# Check to make sure the PIC flag actually works.
++# SYNOPSIS
 +#
-+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])
++#   AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
 +#
-+# Check to make sure the static flag actually works.
++# DESCRIPTION
 +#
-+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(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-+      ;;
-+    *)
-+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-+      ;;
-+    esac
-+    ;;
-+  *)
-+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+    ;;
-+  esac
-+], [
-+  runpath_var=
-+  _LT_TAGVAR(allow_undefined_flag, $1)=
-+  _LT_TAGVAR(always_export_symbols, $1)=no
-+  _LT_TAGVAR(archive_cmds, $1)=
-+  _LT_TAGVAR(archive_expsym_cmds, $1)=
-+  _LT_TAGVAR(compiler_needs_object, $1)=no
-+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+  _LT_TAGVAR(hardcode_automatic, $1)=no
-+  _LT_TAGVAR(hardcode_direct, $1)=no
-+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-+  _LT_TAGVAR(hardcode_minus_L, $1)=no
-+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-+  _LT_TAGVAR(inherit_rpath, $1)=no
-+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-+  _LT_TAGVAR(module_cmds, $1)=
-+  _LT_TAGVAR(module_expsym_cmds, $1)=
-+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+  # include_expsyms should be a list of space-separated symbols to be *always*
-+  # included in the symbol list
-+  _LT_TAGVAR(include_expsyms, $1)=
-+  # exclude_expsyms can be an extended regexp of symbols to exclude
-+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-+  # as well as any symbol that contains `d'.
-+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-+  # platforms (ab)use it in PIC code, but their linkers get confused if
-+  # the symbol is explicitly referenced.  Since portable code cannot
-+  # rely on this symbol name, it's probably fine to never include it in
-+  # preloaded symbol tables.
-+  # Exclude shared library initialization/finalization symbols.
-+dnl Note also adjust exclude_expsyms for C++ above.
-+  extract_expsyms_cmds=
-+
-+  case $host_os in
-+  cygwin* | mingw* | pw32* | cegcc*)
-+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-+    # When not using gcc, we currently assume that we are using
-+    # Microsoft Visual C++.
-+    if test "$GCC" != yes; then
-+      with_gnu_ld=no
-+    fi
-+    ;;
-+  interix*)
-+    # we just hope/assume this is gcc and not c89 (= MSVC++)
-+    with_gnu_ld=yes
-+    ;;
-+  openbsd*)
-+    with_gnu_ld=no
-+    ;;
-+  esac
-+
-+  _LT_TAGVAR(ld_shlibs, $1)=yes
-+
-+  # On some targets, GNU ld is compatible enough with the native linker
-+  # that we're better off using the native interface for both.
-+  lt_use_gnu_ld_interface=no
-+  if test "$with_gnu_ld" = yes; then
-+    case $host_os in
-+      aix*)
-+      # The AIX port of GNU ld has always aspired to compatibility
-+      # with the native linker.  However, as the warning in the GNU ld
-+      # block says, versions before 2.19.5* couldn't really create working
-+      # shared libraries, regardless of the interface used.
-+      case `$LD -v 2>&1` in
-+        *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-+        *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
-+        *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
-+        *)
-+          lt_use_gnu_ld_interface=yes
-+          ;;
-+      esac
-+      ;;
-+      *)
-+      lt_use_gnu_ld_interface=yes
-+      ;;
-+    esac
-+  fi
-+
-+  if test "$lt_use_gnu_ld_interface" = yes; then
-+    # If archive_cmds runs LD, not CC, wlarc should be empty
-+    wlarc='${wl}'
-+
-+    # Set some defaults for GNU ld with shared library support. These
-+    # are reset later if shared libraries are not supported. Putting them
-+    # here allows them to be overridden if necessary.
-+    runpath_var=LD_RUN_PATH
-+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+    # ancient GNU ld didn't support --whole-archive et. al.
-+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-+    else
-+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+    fi
-+    supports_anon_versioning=no
-+    case `$LD -v 2>&1` in
-+      *GNU\ gold*) supports_anon_versioning=yes ;;
-+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-+      *\ 2.11.*) ;; # other 2.11 versions
-+      *) supports_anon_versioning=yes ;;
-+    esac
-+
-+    # See if GNU ld supports shared libraries.
-+    case $host_os in
-+    aix[[3-9]]*)
-+      # On AIX/PPC, the GNU linker is very broken
-+      if test "$host_cpu" != ia64; then
-+      _LT_TAGVAR(ld_shlibs, $1)=no
-+      cat <<_LT_EOF 1>&2
-+
-+*** Warning: the GNU linker, at least up to release 2.19, is reported
-+*** to be unable to reliably create shared libraries on AIX.
-+*** Therefore, libtool is disabling shared libraries support.  If you
-+*** really care for shared libraries, you may want to install binutils
-+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-+*** You will then need to restart the configuration process.
-+
-+_LT_EOF
-+      fi
-+      ;;
-+
-+    amigaos*)
-+      case $host_cpu in
-+      powerpc)
-+            # see comment about AmigaOS4 .so support
-+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-+        ;;
-+      m68k)
-+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+        ;;
-+      esac
-+      ;;
-+
-+    beos*)
-+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-+      # support --undefined.  This deserves some investigation.  FIXME
-+      _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+      else
-+      _LT_TAGVAR(ld_shlibs, $1)=no
-+      fi
-+      ;;
-+
-+    cygwin* | mingw* | pw32* | cegcc*)
-+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-+      # as there is no search path for DLLs.
-+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+      _LT_TAGVAR(always_export_symbols, $1)=no
-+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-+
-+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+      # If the export-symbols file already is a .def file (1st line
-+      # is EXPORTS), use it as is; otherwise, prepend...
-+      _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+        cp $export_symbols $output_objdir/$soname.def;
-+      else
-+        echo EXPORTS > $output_objdir/$soname.def;
-+        cat $export_symbols >> $output_objdir/$soname.def;
-+      fi~
-+      $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+      else
-+      _LT_TAGVAR(ld_shlibs, $1)=no
-+      fi
-+      ;;
-+
-+    haiku*)
-+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+      _LT_TAGVAR(link_all_deplibs, $1)=yes
-+      ;;
-+
-+    interix[[3-9]]*)
-+      _LT_TAGVAR(hardcode_direct, $1)=no
-+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-+      # Instead, shared libraries are loaded at an image base (0x10000000 by
-+      # default) and relocated if they conflict, which is a slow very memory
-+      # consuming and fragmenting process.  To avoid this, we pick a random,
-+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+      ;;
-+
-+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-+      tmp_diet=no
-+      if test "$host_os" = linux-dietlibc; then
-+      case $cc_basename in
-+        diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-+      esac
-+      fi
-+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-+       && test "$tmp_diet" = no
-+      then
-+      tmp_addflag=' $pic_flag'
-+      tmp_sharedflag='-shared'
-+      case $cc_basename,$host_cpu in
-+        pgcc*)                                # Portland Group C compiler
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-+        tmp_addflag=' $pic_flag'
-+        ;;
-+      pgf77* | pgf90* | pgf95* | pgfortran*)
-+                                      # Portland Group f77 and f90 compilers
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-+        tmp_addflag=' $pic_flag -Mnomain' ;;
-+      ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-+        tmp_addflag=' -i_dynamic' ;;
-+      efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-+        tmp_addflag=' -i_dynamic -nofor_main' ;;
-+      ifc* | ifort*)                  # Intel Fortran compiler
-+        tmp_addflag=' -nofor_main' ;;
-+      lf95*)                          # Lahey Fortran 8.1
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+        tmp_sharedflag='--shared' ;;
-+      xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-+        tmp_sharedflag='-qmkshrobj'
-+        tmp_addflag= ;;
-+      nvcc*)  # Cuda Compiler Driver 2.2
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-+        _LT_TAGVAR(compiler_needs_object, $1)=yes
-+        ;;
-+      esac
-+      case `$CC -V 2>&1 | sed 5q` in
-+      *Sun\ C*)                       # Sun C 5.9
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-+        _LT_TAGVAR(compiler_needs_object, $1)=yes
-+        tmp_sharedflag='-G' ;;
-+      *Sun\ F*)                       # Sun Fortran 8.3
-+        tmp_sharedflag='-G' ;;
-+      esac
-+      _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+
-+        if test "x$supports_anon_versioning" = xyes; then
-+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-+          cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-+          echo "local: *; };" >> $output_objdir/$libname.ver~
-+          $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-+        fi
-+
-+      case $cc_basename in
-+      xlf* | bgf* | bgxlf* | mpixlf*)
-+        # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-+        _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$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
++#   If the current configure was run within the srcdir then we move all
++#   configure-files into a subdir and let the configure steps continue
++#   there. We provide an option --disable-builddir to suppress the move into
++#   a separate builddir.
++#
++#   Defaults:
++#
++#     $1 = $host (overridden with $HOST)
++#     $2 = Makefile.mk
++#     $3 = -all
++#
++#   This macro must be called before AM_INIT_AUTOMAKE. It creates a default
++#   toplevel srcdir Makefile from the information found in the created
++#   toplevel builddir Makefile. It just copies the variables and
++#   rule-targets, each extended with a default rule-execution that recurses
++#   into the build directory of the current "HOST". You can override the
++#   auto-dection through `config.guess` and build-time of course, as in
++#
++#     make HOST=i386-mingw-cross
++#
++#   which can of course set at configure time as well using
++#
++#     configure --host=i386-mingw-cross
++#
++#   After the default has been created, additional rules can be appended
++#   that will not just recurse into the subdirectories and only ever exist
++#   in the srcdir toplevel makefile - these parts are read from the $2 =
++#   Makefile.mk file
++#
++#   The automatic rules are usually scanning the toplevel Makefile for lines
++#   like '#### $host |$builddir' to recognize the place where to recurse
++#   into. Usually, the last one is the only one used. However, almost all
++#   targets have an additional "*-all" rule which makes the script to
++#   recurse into _all_ variants of the current HOST (!!) setting. The "-all"
++#   suffix can be overriden for the macro as well.
++#
++#   a special rule is only given for things like "dist" that will copy the
++#   tarball from the builddir to the sourcedir (or $(PUB)) for reason of
++#   convenience.
++#
++# LICENSE
++#
++#   Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+      exp_sym_flag='-bexport'
-+      no_entry_flag='-bnoentry'
-+      fi
++#serial 23
 +
-+      # 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
++AC_DEFUN([AX_ENABLE_BUILDDIR],[
++AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
++AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
++AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
++AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++SUB="."
++AC_ARG_ENABLE([builddir], AS_HELP_STRING(
++  [--disable-builddir],[disable automatic build in subdir of sources])
++  ,[SUB="$enableval"], [SUB="auto"])
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++  if test -f config.status ; then
++    AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
++  else
++    test ".$SUB" = "."  && SUB="."
++    test ".$SUB" = ".no"  && SUB="."
++    test ".$TARGET" = "." && TARGET="$target"
++    test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
++    if test ".$SUB" != ".." ; then    # we know where to go and
++      AS_MKDIR_P([$SUB])
++      echo __.$SUB.__ > $SUB/conftest.tmp
++      cd $SUB
++      if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
++        rm conftest.tmp
++        AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
 +      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
++        AC_MSG_ERROR([could not change to default builddir "./$SUB"])
 +      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
++      srcdir=`echo "$SUB" |
++              sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
++      # going to restart from subdirectory location
++      test -f $srcdir/config.log   && mv $srcdir/config.log   .
++      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
++      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
++      AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
++      case "[$]0" in # restart
++       [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++       *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++      esac ; exit $?
++    fi
++  fi
++fi fi
++test ".$SUB" = ".auto" && SUB="."
++dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
++AC_PATH_PROG(SED,gsed sed, sed)
++AUX="$am_aux_dir"
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SUB])dnl
++AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
++AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++pushdef([END],[Makefile.mk])dnl
++pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
++  SRC="$ax_enable_builddir_srcdir"
++  if test ".$SUB" = ".." ; then
++    if test -f "$TOP/Makefile" ; then
++      AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
++    else
++      AC_MSG_NOTICE([skipping TOP/Makefile - not created])
++    fi
++  else
++    if test -f "$SRC/Makefile" ; then
++      a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
++      test "$a" != "$b" && rm "$SRC/Makefile"
++    fi
++    if test -f "$SRC/Makefile" ; then
++      echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
++      echo "  []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
++      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++      if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
++      then rm $SRC/Makefile ; fi
++      cp $tmp/conftemp.mk $SRC/makefiles.mk~      ## DEBUGGING
++    fi
++    if test ! -f "$SRC/Makefile" ; then
++      AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
++      x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\)   /\\1 /g
++/^    /d
++/^[[   ]]*[[\\#]]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[[:=]]/!d
++/^\\./d
++dnl Now handle rules (i.e. lines containing ":" but not " = ").
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ /  /g
++s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
++s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
++s/  / /g
++/^all all[]_ALL[[ :]]/i\\
++all-configured : all[]_ALL
++dnl dist-all exists... and would make for dist-all-all
++s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
++/[]_ALL[]_ALL/d
++a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
++/dist[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
++/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "distclean" removes all local builddirs completely
++/distclean[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++      ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++      ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++      cp "$tmp/conftemp.sed" "$SRC/makefile.sed~"            ## DEBUGGING
++      $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
++      if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
++        AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
++        cat $SRC/END >>$SRC/Makefile
++      fi ; xxxx="####"
++      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
++      # sanity check
++      if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
++        AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
++        $SED -e '/^@ HOST=/s/^/       /' -e '/^; /s/^/        /' $SRC/Makefile \
++          >$SRC/Makefile~
++        (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
 +      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(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-+      # Don't use ranlib
-+      _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-+      _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-+        lt_tool_outputfile="@TOOL_OUTPUT@"~
-+        case $lt_outputfile in
-+          *.exe|*.EXE) ;;
-+          *)
-+            lt_outputfile="$lt_outputfile.exe"
-+            lt_tool_outputfile="$lt_tool_outputfile.exe"
-+            ;;
-+        esac~
-+        if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-+          $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-+          $RM "$lt_outputfile.manifest";
-+        fi'
-+      ;;
-+      *)
-+      # Assume MSVC wrapper
-+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+      # Tell ltmain to make .lib files, not .a files.
-+      libext=lib
-+      # Tell ltmain to make .dll files, not .so files.
-+      shrext_cmds=".dll"
-+      # FIXME: Setting linknames here is a bad hack.
-+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-+      # The linker will automatically build a .lib file if we build a DLL.
-+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-+      # FIXME: Should let the user specify the lib program.
-+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+      ;;
-+      esac
-+      ;;
++    else
++      xxxx="\\#\\#\\#\\#"
++      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++      echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
++      $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
++        cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~"         ## DEBUGGING
++        cp "$tmp/mkfile.tmp"   "$SRC/makefiles.out~"         ## DEBUGGING
++      if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++        AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
++        rm "$tmp/mkfile.tmp"
++      else
++        AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
++        mv "$tmp/mkfile.tmp" "$SRC/Makefile"
++      fi
++    fi
++    AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
++    xxxx="####"
++    echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
++  fi
++popdef([END])dnl
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SRC])dnl
++AS_VAR_POPDEF([TOP])dnl
++AS_VAR_POPDEF([SUB])dnl
++],[dnl
++ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
++ax_enable_builddir_host="$HOST"                        # $HOST / $host
++ax_enable_builddir_version="$VERSION"                  # $VERSION
++ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
++ax_enable_builddir="$ax_enable_builddir"               # $SUB
++])dnl
++])
+Index: libffi/m4/ax_gcc_archflag.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_gcc_archflag.m4
+@@ -0,0 +1,225 @@
++# ===========================================================================
++#      http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
++#
++# DESCRIPTION
++#
++#   This macro tries to guess the "native" arch corresponding to the target
++#   architecture for use with gcc's -march=arch or -mtune=arch flags. If
++#   found, the cache variable $ax_cv_gcc_archflag is set to this flag and
++#   ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to
++#   "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
++#   to add $ax_cv_gcc_archflag to the end of $CFLAGS.
++#
++#   PORTABLE? should be either [yes] (default) or [no]. In the former case,
++#   the flag is set to -mtune (or equivalent) so that the architecture is
++#   only used for tuning, but the instruction set used is still portable. In
++#   the latter case, the flag is set to -march (or equivalent) so that
++#   architecture-specific instructions are enabled.
++#
++#   The user can specify --with-gcc-arch=<arch> in order to override the
++#   macro's choice of architecture, or --without-gcc-arch to disable this.
++#
++#   When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
++#   called unless the user specified --with-gcc-arch manually.
++#
++#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID
++#
++#   (The main emphasis here is on recent CPUs, on the principle that doing
++#   high-performance computing on old hardware is uncommon.)
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#   Copyright (c) 2012 Tsukasa Oi
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    darwin* | rhapsody*)
-+      _LT_DARWIN_LINKER_FEATURES($1)
-+      ;;
++#serial 11
 +
-+    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
-+      ;;
++AC_DEFUN([AX_GCC_ARCHFLAG],
++[AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AC_CANONICAL_HOST])
 +
-+    # 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
-+      ;;
++AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
++      ax_gcc_arch=$withval, ax_gcc_arch=yes)
 +
-+    # 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
-+      ;;
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT([])
++AC_CACHE_VAL(ax_cv_gcc_archflag,
++[
++ax_cv_gcc_archflag="unknown"
 +
-+    # 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
-+      ;;
++if test "$GCC" = yes; then
 +
-+    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'
-+      ;;
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++  i[[3456]]86*|x86_64*) # use cpuid codes
++     AX_GCC_X86_CPUID(0)
++     AX_GCC_X86_CPUID(1)
++     case $ax_cv_gcc_x86_cpuid_0 in
++       *:756e6547:*:*) # Intel
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++          *5??:*:*:*) ax_gcc_arch=pentium ;;
++          *0?6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *0?6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *0?6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *0?6[[9de]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++          *0?6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
++          *1?6c?:*:*:*|*[[23]]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
++          *2?6[[ad]]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
++          *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++          *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
++          ?000?f3[[347]]:*:*:*|?000?f4[1347]:*:*:*|?000?f6?:*:*:*)
++              case $host_cpu in
++                x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++                *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++              esac ;;
++          ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++          esac ;;
++       *:68747541:*:*) # AMD
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
++          *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++          *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++          *60?:*:*:*) ax_gcc_arch=k7 ;;
++          *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++          *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++          *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++          *6[[68a]]?:*:*:*)
++             AX_GCC_X86_CPUID(0x80000006) # L2 cache size
++             case $ax_cv_gcc_x86_cpuid_0x80000006 in
++                 *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
++                      ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
++             esac ;;
++          ?00??f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++          ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++          ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++          ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
++          ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
++          ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
++          *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
++          esac ;;
++      *:746e6543:*:*) # IDT
++         case $ax_cv_gcc_x86_cpuid_1 in
++           *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++           *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++           *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
++           *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++         esac ;;
++     esac
++     if test x"$ax_gcc_arch" = x; then # fallback
++      case $host_cpu in
++        i586*) ax_gcc_arch=pentium ;;
++        i686*) ax_gcc_arch=pentiumpro ;;
++        esac
++     fi
++     ;;
 +
-+    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_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
-+      ;;
++  sparc*)
++     AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
++     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++     case $cputype in
++         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++         *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
++         *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
++         *cypress*) ax_gcc_arch=cypress ;;
++     esac ;;
 +
-+    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)=:
++  alphaev5) ax_gcc_arch=ev5 ;;
++  alphaev56) ax_gcc_arch=ev56 ;;
++  alphapca56) ax_gcc_arch="pca56 ev56" ;;
++  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++  alphaev6) ax_gcc_arch=ev6 ;;
++  alphaev67) ax_gcc_arch=ev67 ;;
++  alphaev68) ax_gcc_arch="ev68 ev67" ;;
++  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
 +
-+      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
-+      ;;
++  powerpc*)
++     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++     case $cputype in
++       *750*) ax_gcc_arch="750 G3" ;;
++       *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
++       *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
++       *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
++       *970*) ax_gcc_arch="970 G5 power4";;
++       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++       *) ax_gcc_arch=$cputype ;;
++     esac
++     ax_gcc_arch="$ax_gcc_arch powerpc"
++     ;;
++esac
++fi # not cross-compiling
++fi # guess arch
 +
-+    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
-+      ;;
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++  if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
++    flags="-mtune=$arch"
++    # -mcpu=$arch and m$arch generate nonportable code on every arch except
++    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
++    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++  else
++    flags="-march=$arch -mcpu=$arch -m$arch"
++  fi
++  for flag in $flags; do
++    AX_CHECK_COMPILE_FLAG($flag, [ax_cv_gcc_archflag=$flag; break])
++  done
++  test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
 +
-+    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
-+      ;;
++fi # $GCC=yes
++])
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT($ax_cv_gcc_archflag)
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++  m4_default([$3],:)
++else
++  m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
++fi
++])
+Index: libffi/m4/ax_gcc_x86_cpuid.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_gcc_x86_cpuid.m4
+@@ -0,0 +1,79 @@
++# ===========================================================================
++#     http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_GCC_X86_CPUID(OP)
++#
++# DESCRIPTION
++#
++#   On Pentium and later x86 processors, with gcc or a compiler that has a
++#   compatible syntax for inline assembly instructions, run a small program
++#   that executes the cpuid instruction with input OP. This can be used to
++#   detect the CPU type.
++#
++#   On output, the values of the eax, ebx, ecx, and edx registers are stored
++#   as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
++#   ax_cv_gcc_x86_cpuid_OP.
++#
++#   If the cpuid instruction fails (because you are running a
++#   cross-compiler, or because you are not using gcc, or because you are on
++#   a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
++#   is set to the string "unknown".
++#
++#   This macro mainly exists to be used in AX_GCC_ARCHFLAG.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+    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
-+      ;;
++#serial 7
 +
-+    *nto* | *qnx*)
-+      ;;
++AC_DEFUN([AX_GCC_X86_CPUID],
++[AC_REQUIRE([AC_PROG_CC])
++AC_LANG_PUSH([C])
++AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [
++     int op = $1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++])],
++     [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid],
++     [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid],
++     [ax_cv_gcc_x86_cpuid_$1=unknown])])
++AC_LANG_POP([C])
++])
+Index: libffi/Makefile.in
+===================================================================
+--- libffi.orig/Makefile.in
++++ libffi/Makefile.in
+@@ -1,9 +1,9 @@
+-# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,7 +15,25 @@
+ @SET_MAKE@
 +
-+    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
-+      ;;
+ 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@
+@@ -35,55 +53,65 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
+-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
+-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
+-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
+-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
+-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
+-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
+-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
+-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
+-@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
+-@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
+-@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
+-@S390_TRUE@am__append_20 = src/s390/sysv.S src/s390/ffi.c
+-@X86_64_TRUE@am__append_21 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+-@SH_TRUE@am__append_22 = src/sh/sysv.S src/sh/ffi.c
+-@SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c
+-@PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
+-@PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
++@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
++@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
++@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
++@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
++@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
++@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
++@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
++@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
++@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
++@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
++@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
++@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
++@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
++@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
++@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
++@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
++@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
++@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
++@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
++@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
++@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
++@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
++@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
++@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
++@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
++@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
++@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
+ subdir = .
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
+-      $(srcdir)/../config.guess $(srcdir)/../config.sub \
+-      $(srcdir)/../depcomp $(srcdir)/../install-sh \
+-      $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+-      $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+-      $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
+-      $(top_srcdir)/configure ChangeLog
++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
++      $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
++      $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
++      $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
++      compile config.guess config.sub depcomp install-sh ltmain.sh \
++      mdate-sh missing texinfo.tex
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_check_compile_flag.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(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)/acinclude.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 \
+  configure.lineno config.status.lineno
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = fficonfig.h
+-CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_FILES = libffi.pc
+ CONFIG_CLEAN_VPATH_FILES =
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+@@ -106,50 +134,60 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+-LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
++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)$(infodir)" \
++      "$(DESTDIR)$(pkgconfigdir)"
++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+ libffi_la_LIBADD =
+ am__dirstamp = $(am__leading_dot)dirstamp
+-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-      src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
++am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
++      src/java_raw_api.lo src/closures.lo
++@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
++@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
+ @MIPS_TRUE@   src/mips/n32.lo
+-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
+-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
+-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
+-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
+-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
++@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
++@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
++@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
++@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
++@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
+ @X86_DARWIN_TRUE@     src/x86/ffi64.lo src/x86/darwin64.lo
+-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
++@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
+ @SPARC_TRUE@  src/sparc/v9.lo
+-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
+-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
+-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
+-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
+-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
++@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
++@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
++@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
++@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
++@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
+ @POWERPC_TRUE@        src/powerpc/ppc_closure.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64_closure.lo
+-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
++@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix_closure.lo
+-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
++@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
+-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
++@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/sysv.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/ppc_closure.lo
+-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
+-@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
+-@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
+-@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
+-@S390_TRUE@am__objects_20 = src/s390/sysv.lo src/s390/ffi.lo
+-@X86_64_TRUE@am__objects_21 = src/x86/ffi64.lo src/x86/unix64.lo \
++@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
++@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
++@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
++@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
++@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
++@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
++@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
+ @X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
+-@SH_TRUE@am__objects_22 = src/sh/sysv.lo src/sh/ffi.lo
+-@SH64_TRUE@am__objects_23 = src/sh64/sysv.lo src/sh64/ffi.lo
+-@PA_LINUX_TRUE@am__objects_24 = src/pa/linux.lo src/pa/ffi.lo
+-@PA_HPUX_TRUE@am__objects_25 = src/pa/hpux32.lo src/pa/ffi.lo
++@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
++@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
++@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
++@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
+ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+@@ -158,17 +196,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
+       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
+       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
+-      $(am__objects_24) $(am__objects_25)
++      $(am__objects_24) $(am__objects_25) $(am__objects_26) \
++      $(am__objects_27) $(am__objects_28)
+ libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
+       $(nodist_libffi_la_OBJECTS)
+ libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
+ libffi_convenience_la_LIBADD =
+-am__objects_26 = src/debug.lo src/prep_cif.lo src/types.lo \
+-      src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-am_libffi_convenience_la_OBJECTS = $(am__objects_26)
+-am__objects_27 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
++am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
++      src/java_raw_api.lo src/closures.lo
++am_libffi_convenience_la_OBJECTS = $(am__objects_29)
++am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
+       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+@@ -176,12 +215,13 @@ am__objects_27 = $(am__objects_1) $(am__
+       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
+       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+-      $(am__objects_25)
+-nodist_libffi_convenience_la_OBJECTS = $(am__objects_27)
++      $(am__objects_25) $(am__objects_26) $(am__objects_27) \
++      $(am__objects_28)
++nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
+ libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
+       $(nodist_libffi_convenience_la_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@
+-depcomp = $(SHELL) $(top_srcdir)/../depcomp
++depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+@@ -202,12 +242,18 @@ SOURCES = $(libffi_la_SOURCES) $(nodist_
+       $(libffi_convenience_la_SOURCES) \
+       $(nodist_libffi_convenience_la_SOURCES)
+ DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
+-MULTISRCTOP = 
+-MULTIBUILDTOP = 
+-MULTIDIRS = 
+-MULTISUBDIR = 
+-MULTIDO = true
+-MULTICLEAN = true
++INFO_DEPS = $(srcdir)/doc/libffi.info
++am__TEXINFO_TEX_DIR = $(srcdir)
++DVIS = doc/libffi.dvi
++PDFS = doc/libffi.pdf
++PSS = doc/libffi.ps
++HTMLS = doc/libffi.html
++TEXINFOS = doc/libffi.texi
++TEXI2DVI = texi2dvi
++TEXI2PDF = $(TEXI2DVI) --pdf --batch
++MAKEINFOHTML = $(MAKEINFO) --html
++AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
++DVIPS = dvips
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+@@ -215,6 +261,12 @@ RECURSIVE_TARGETS = all-recursive check-
+       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
++DATA = $(pkgconfig_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
+   distclean-recursive maintainer-clean-recursive
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+@@ -227,9 +279,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCE
+ 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,'; \
+@@ -258,6 +312,8 @@ am__relativize = \
+ DIST_ARCHIVES = $(distdir).tar.gz
+ GZIP_ENV = --best
+ distuninstallcheck_listfiles = find . -type f -print
++am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
++  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+ distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ ALLOCA = @ALLOCA@
+@@ -280,6 +336,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -287,6 +344,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -305,6 +363,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -320,6 +379,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -332,6 +392,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -339,6 +400,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -366,7 +428,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -375,6 +436,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -387,7 +449,6 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign subdir-objects
+-ACLOCAL_AMFLAGS = -I .. -I ../config
+ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
+       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+@@ -395,27 +456,31 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+-      src/ia64/unix.S \
+-      src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+-      src/mips/ffitarget.h \
+-      src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+-      src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+-      src/powerpc/ffi.c src/powerpc/sysv.S \
++      src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
++      src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
++      src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
++      src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
+       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+-      src/powerpc/ppc_closure.S src/powerpc/asm.h \
+-      src/powerpc/aix.S src/powerpc/darwin.S \
+-      src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+-      src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+-      src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+-      src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+-      src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+-      src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+-      src/sparc/ffi.c src/x86/darwin64.S \
++      src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
++      src/powerpc/darwin.S src/powerpc/aix_closure.S \
++      src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++      src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
++      src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
++      src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
++      src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
++      src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
+       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
+-      src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+-      src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
+-      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++      src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
++      src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
++      src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
++      src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
++      src/moxie/ffi.c src/moxie/eabi.S libtool-version \
++      ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
++      m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
++      m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
++      msvcc.sh
++info_TEXINFOS = doc/libffi.texi
+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
+ # values defined in terms of make variables, as is the case for CC and
+@@ -455,15 +520,15 @@ AM_MAKEFLAGS = \
+       "RANLIB=$(RANLIB)" \
+       "DESTDIR=$(DESTDIR)"
+-
+-# Subdir rules rely on $(FLAGS_TO_PASS)
+-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+ MAKEOVERRIDES = 
+-toolexeclib_LTLIBRARIES = libffi.la
++ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
++lib_LTLIBRARIES = libffi.la
+ noinst_LTLIBRARIES = libffi_convenience.la
+-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
++libffi_la_SOURCES = src/prep_cif.c src/types.c \
+               src/raw_api.c src/java_raw_api.c src/closures.c
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libffi.pc
+ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
+       $(am__append_3) $(am__append_4) $(am__append_5) \
+       $(am__append_6) $(am__append_7) $(am__append_8) \
+@@ -472,20 +537,20 @@ nodist_libffi_la_SOURCES = $(am__append_
+       $(am__append_15) $(am__append_16) $(am__append_17) \
+       $(am__append_18) $(am__append_19) $(am__append_20) \
+       $(am__append_21) $(am__append_22) $(am__append_23) \
+-      $(am__append_24) $(am__append_25)
++      $(am__append_24) $(am__append_25) $(am__append_26) \
++      $(am__append_27) $(am__append_28)
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+-AM_CFLAGS = -Wall -g -fexceptions
+-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++AM_CFLAGS = -g $(am__append_29)
+ libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+-AM_CCASFLAGS = $(AM_CPPFLAGS)
++AM_CCASFLAGS = $(AM_CPPFLAGS) -g
+ all: fficonfig.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+ .SUFFIXES:
+-.SUFFIXES: .S .c .lo .o .obj
+-am--refresh:
++.SUFFIXES: .S .c .dvi .lo .o .obj .ps
++am--refresh: Makefile
+       @:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+@@ -521,10 +586,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(
+ $(am__aclocal_m4_deps):
+ fficonfig.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)/fficonfig.h.in $(top_builddir)/config.status
+       @rm -f stamp-h1
+@@ -536,41 +599,44 @@ $(srcdir)/fficonfig.h.in: @MAINTAINER_MO
+ distclean-hdr:
+       -rm -f fficonfig.h stamp-h1
+-
+-clean-noinstLTLIBRARIES:
+-      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+-      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+-        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+-        test "$$dir" != "$$p" || dir=.; \
+-        echo "rm -f \"$${dir}/so_locations\""; \
+-        rm -f "$${dir}/so_locations"; \
+-      done
+-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
++libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
++      cd $(top_builddir) && $(SHELL) ./config.status $@
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+-      test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
+-      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
+-        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
+-        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
++        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-toolexeclibLTLIBRARIES:
++uninstall-libLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+-      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      @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)$(toolexeclibdir)/$$f'"; \
+-        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
++        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-toolexeclibLTLIBRARIES:
+-      -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
+-      @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
++clean-libLTLIBRARIES:
++      -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++      @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++        test "$$dir" != "$$p" || dir=.; \
++        echo "rm -f \"$${dir}/so_locations\""; \
++        rm -f "$${dir}/so_locations"; \
++      done
 +
-+    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'
-+      ;;
++clean-noinstLTLIBRARIES:
++      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+@@ -582,12 +648,12 @@ src/$(am__dirstamp):
+ src/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/$(DEPDIR)
+       @: > src/$(DEPDIR)/$(am__dirstamp)
+-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
++src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/mips/$(am__dirstamp):
+       @$(MKDIR_P) src/mips
+       @: > src/mips/$(am__dirstamp)
+@@ -710,6 +776,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
+       src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/arm/ffi.lo: src/arm/$(am__dirstamp) \
+       src/arm/$(DEPDIR)/$(am__dirstamp)
++src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
++      src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/$(am__dirstamp):
+       @$(MKDIR_P) src/avr32
+       @: > src/avr32/$(am__dirstamp)
+@@ -740,6 +808,16 @@ src/frv/eabi.lo: src/frv/$(am__dirstamp)
+       src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/frv/ffi.lo: src/frv/$(am__dirstamp) \
+       src/frv/$(DEPDIR)/$(am__dirstamp)
++src/moxie/$(am__dirstamp):
++      @$(MKDIR_P) src/moxie
++      @: > src/moxie/$(am__dirstamp)
++src/moxie/$(DEPDIR)/$(am__dirstamp):
++      @$(MKDIR_P) src/moxie/$(DEPDIR)
++      @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
++      src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
++      src/moxie/$(DEPDIR)/$(am__dirstamp)
+ src/s390/$(am__dirstamp):
+       @$(MKDIR_P) src/s390
+       @: > src/s390/$(am__dirstamp)
+@@ -782,9 +860,9 @@ src/pa/linux.lo: src/pa/$(am__dirstamp)
+ src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
+ src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
+       src/pa/$(DEPDIR)/$(am__dirstamp)
+-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
+-      $(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
+-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
++libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES) 
++      $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
++libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES) 
+       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
+ mostlyclean-compile:
+@@ -797,6 +875,8 @@ mostlyclean-compile:
+       -rm -f src/arm/ffi.lo
+       -rm -f src/arm/sysv.$(OBJEXT)
+       -rm -f src/arm/sysv.lo
++      -rm -f src/arm/trampoline.$(OBJEXT)
++      -rm -f src/arm/trampoline.lo
+       -rm -f src/avr32/ffi.$(OBJEXT)
+       -rm -f src/avr32/ffi.lo
+       -rm -f src/avr32/sysv.$(OBJEXT)
+@@ -833,6 +913,10 @@ mostlyclean-compile:
+       -rm -f src/mips/n32.lo
+       -rm -f src/mips/o32.$(OBJEXT)
+       -rm -f src/mips/o32.lo
++      -rm -f src/moxie/eabi.$(OBJEXT)
++      -rm -f src/moxie/eabi.lo
++      -rm -f src/moxie/ffi.$(OBJEXT)
++      -rm -f src/moxie/ffi.lo
+       -rm -f src/pa/ffi.$(OBJEXT)
+       -rm -f src/pa/ffi.lo
+       -rm -f src/pa/hpux32.$(OBJEXT)
+@@ -915,6 +999,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
+@@ -930,6 +1015,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
+@@ -1025,6 +1112,7 @@ clean-libtool:
+       -rm -rf src/m32r/.libs src/m32r/_libs
+       -rm -rf src/m68k/.libs src/m68k/_libs
+       -rm -rf src/mips/.libs src/mips/_libs
++      -rm -rf src/moxie/.libs src/moxie/_libs
+       -rm -rf src/pa/.libs src/pa/_libs
+       -rm -rf src/powerpc/.libs src/powerpc/_libs
+       -rm -rf src/s390/.libs src/s390/_libs
+@@ -1035,23 +1123,190 @@ clean-libtool:
+ distclean-libtool:
+       -rm -f libtool config.lt
++doc/$(am__dirstamp):
++      @$(MKDIR_P) doc
++      @: > doc/$(am__dirstamp)
 +
-+    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)=:
-+      ;;
++$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
++      restore=: && backupdir="$(am__leading_dot)am$$$$" && \
++      am__cwd=`pwd` && $(am__cd) $(srcdir) && \
++      rm -rf $$backupdir && mkdir $$backupdir && \
++      if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
++        for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
++          if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
++        done; \
++      else :; fi && \
++      cd "$$am__cwd"; \
++      if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $@ $(srcdir)/doc/libffi.texi; \
++      then \
++        rc=0; \
++        $(am__cd) $(srcdir); \
++      else \
++        rc=$$?; \
++        $(am__cd) $(srcdir) && \
++        $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
++      fi; \
++      rm -rf $$backupdir; exit $$rc
 +
-+    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'
++doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
 +
-+      # 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)=:
-+      ;;
++doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
 +
-+    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'
++doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      rm -rf $(@:.html=.htp)
++      if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
++      then \
++        rm -rf $@; \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
++      else \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
++        exit 1; \
 +      fi
-+      ;;
-+      esac
-+      _LT_TAGVAR(link_all_deplibs, $1)=yes
-+      ;;
++$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
++$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
++      test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
++      @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
++      set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
++      echo "@set UPDATED $$1 $$2 $$3"; \
++      echo "@set UPDATED-MONTH $$2 $$3"; \
++      echo "@set EDITION $(VERSION)"; \
++      echo "@set VERSION $(VERSION)") > vti.tmp
++      @cmp -s vti.tmp $(srcdir)/doc/version.texi \
++        || (echo "Updating $(srcdir)/doc/version.texi"; \
++            cp vti.tmp $(srcdir)/doc/version.texi)
++      -@rm -f vti.tmp
++      @cp $(srcdir)/doc/version.texi $@
 +
-+    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
-+      ;;
++mostlyclean-vti:
++      -rm -f vti.tmp
 +
-+    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
-+      ;;
++maintainer-clean-vti:
++@MAINTAINER_MODE_TRUE@        -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
++.dvi.ps:
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      $(DVIPS) -o $@ $<
 +
-+    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'
-+      ;;
++uninstall-dvi-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
++        rm -f "$(DESTDIR)$(dvidir)/$$f"; \
++      done
 +
-+    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
-+      ;;
++uninstall-html-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
++        rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
++      done
 +
-+    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'
++uninstall-info-am:
++      @$(PRE_UNINSTALL)
++      @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
++        list='$(INFO_DEPS)'; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
++          if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
++          then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
++        done; \
++      else :; fi
++      @$(NORMAL_UNINSTALL)
++      @list='$(INFO_DEPS)'; \
++      for file in $$list; do \
++        relfile=`echo "$$file" | sed 's|^.*/||'`; \
++        relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
++        (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
++           echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
++           rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
++         else :; fi); \
++      done
 +
-+      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
-+      ;;
++uninstall-pdf-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
++      done
 +
-+    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
-+      ;;
++uninstall-ps-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(psdir)/$$f"; \
++      done
+-# GNU Make needs to see an explicit $(MAKE) variable in the command it
+-# runs to enable its job server during parallel builds.  Hence the
+-# comments below.
+-all-multi:
+-      $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+-install-multi:
+-      $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
+-
+-mostlyclean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
+-clean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
+-distclean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
+-maintainer-clean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
++dist-info: $(INFO_DEPS)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; \
++      for base in $$list; do \
++        case $$base in \
++          $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$base; then d=.; else d=$(srcdir); fi; \
++        base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
++          if test -f $$file; then \
++            relfile=`expr "$$file" : "$$d/\(.*\)"`; \
++            test -f "$(distdir)/$$relfile" || \
++              cp -p $$file "$(distdir)/$$relfile"; \
++          else :; fi; \
++        done; \
++      done
 +
-+    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
-+      ;;
++mostlyclean-aminfo:
++      -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
++        libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
 +
-+    *)
-+      _LT_TAGVAR(ld_shlibs, $1)=no
-+      ;;
-+    esac
++clean-aminfo:
++      -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
++      || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
 +
-+    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
++maintainer-clean-aminfo:
++      @list='$(INFO_DEPS)'; for i in $$list; do \
++        i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
++        echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
++        rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
++      done
++install-pkgconfigDATA: $(pkgconfig_DATA)
++      @$(NORMAL_INSTALL)
++      @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; \
++        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)'; 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.
+@@ -1222,13 +1477,10 @@ distdir: $(DISTFILES)
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+-          test -d "$(distdir)/$$subdir" \
+-          || $(MKDIR_P) "$(distdir)/$$subdir" \
+-          || exit 1; \
+-        fi; \
+-      done
+-      @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+-        if test "$$subdir" = .; then :; else \
++          $(am__make_dryrun) \
++            || test -d "$(distdir)/$$subdir" \
++            || $(MKDIR_P) "$(distdir)/$$subdir" \
++            || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+@@ -1248,6 +1500,9 @@ distdir: $(DISTFILES)
+             || exit 1; \
+         fi; \
+       done
++      $(MAKE) $(AM_MAKEFLAGS) \
++        top_distdir="$(top_distdir)" distdir="$(distdir)" \
++        dist-info
+       -test -n "$(am__skip_mode_fix)" \
+       || find "$(distdir)" -type d ! -perm -755 \
+               -exec chmod u+rwx,go+rx {} \; -o \
+@@ -1260,7 +1515,11 @@ dist-gzip: distdir
+       $(am__remove_distdir)
+ dist-bzip2: distdir
+-      tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
++      tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
++      $(am__remove_distdir)
 +
-+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
++dist-lzip: distdir
++      tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+       $(am__remove_distdir)
+ dist-lzma: distdir
+@@ -1268,7 +1527,7 @@ dist-lzma: distdir
+       $(am__remove_distdir)
+ dist-xz: distdir
+-      tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
++      tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+       $(am__remove_distdir)
+ dist-tarZ: distdir
+@@ -1299,6 +1558,8 @@ distcheck: dist
+         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.lzma*) \
+         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
++      *.tar.lz*) \
++        lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+       *.tar.xz*) \
+         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+       *.tar.Z*) \
+@@ -1308,7 +1569,7 @@ distcheck: dist
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+-      chmod -R a-w $(distdir); chmod a+w $(distdir)
++      chmod -R a-w $(distdir); chmod u+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+@@ -1318,6 +1579,7 @@ distcheck: dist
+         && am__cwd=`pwd` \
+         && $(am__cd) $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
++          $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+@@ -1346,8 +1608,16 @@ distcheck: dist
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+ distuninstallcheck:
+-      @$(am__cd) '$(distuninstallcheck_dir)' \
+-      && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
++      @test -n '$(distuninstallcheck_dir)' || { \
++        echo 'ERROR: trying to run $@ with an empty' \
++             '$$(distuninstallcheck_dir)' >&2; \
++        exit 1; \
++      }; \
++      $(am__cd) '$(distuninstallcheck_dir)' || { \
++        echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
++        exit 1; \
++      }; \
++      test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+@@ -1365,10 +1635,10 @@ distcleancheck: distclean
+              exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+-all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
++all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
+ installdirs: installdirs-recursive
+ installdirs-am:
+-      for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
++      for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+ install: install-recursive
+@@ -1381,10 +1651,15 @@ install-am: all-am
+ installcheck: installcheck-recursive
+ install-strip:
+-      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+-        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+-        `test -z '$(STRIP)' || \
+-          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++      if test -z '$(STRIP)'; then \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++            install; \
++      else \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++      fi
+ mostlyclean-generic:
+ clean-generic:
+@@ -1392,6 +1667,7 @@ 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)
++      -rm -f doc/$(am__dirstamp)
+       -rm -f src/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/$(am__dirstamp)
+       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
+@@ -1412,6 +1688,8 @@ distclean-generic:
+       -rm -f src/m68k/$(am__dirstamp)
+       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/mips/$(am__dirstamp)
++      -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
++      -rm -f src/moxie/$(am__dirstamp)
+       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/pa/$(am__dirstamp)
+       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
+@@ -1430,114 +1708,201 @@ distclean-generic:
+ 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-multi clean-recursive
++clean: clean-recursive
+-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+-      clean-toolexeclibLTLIBRARIES mostlyclean-am
++clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
++      clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
+-distclean: distclean-multi distclean-recursive
++distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+-      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-tags
+ dvi: dvi-recursive
+-dvi-am:
++dvi-am: $(DVIS)
+ html: html-recursive
+-html-am:
++html-am: $(HTMLS)
+ info: info-recursive
+-info-am:
++info-am: $(INFO_DEPS)
+-install-data-am:
++install-data-am: install-info-am install-pkgconfigDATA
+ install-dvi: install-dvi-recursive
+-install-dvi-am:
+-
+-install-exec-am: install-multi install-toolexeclibLTLIBRARIES
+-
+-install-html: install-html-recursive
+-
+-install-html-am:
++install-dvi-am: $(DVIS)
++      @$(NORMAL_INSTALL)
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
++      fi; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
++      done
++install-exec-am: install-libLTLIBRARIES
++install-html-am: $(HTMLS)
++      @$(NORMAL_INSTALL)
++      @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
++      fi; \
++      for p in $$list; do \
++        if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        $(am__strip_dir) \
++        d2=$$d$$p; \
++        if test -d "$$d2"; then \
++          echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
++          echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
++        else \
++          list2="$$list2 $$d2"; \
++        fi; \
++      done; \
++      test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
++      done; }
+ install-info: install-info-recursive
+-install-info-am:
+-
++install-info-am: $(INFO_DEPS)
++      @$(NORMAL_INSTALL)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
++      fi; \
++      for file in $$list; do \
++        case $$file in \
++          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$file; then d=.; else d=$(srcdir); fi; \
++        file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
++                     $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
++          if test -f $$ifile; then \
++            echo "$$ifile"; \
++          else : ; fi; \
++        done; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
++      @$(POST_INSTALL)
++      @if $(am__can_run_installinfo); then \
++        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
++          install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
++        done; \
++      else : ; fi
+ install-man:
+-install-pdf: install-pdf-recursive
+-
+-install-pdf-am:
+-
++install-pdf-am: $(PDFS)
++      @$(NORMAL_INSTALL)
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
++      fi; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
+ install-ps: install-ps-recursive
+-install-ps-am:
+-
++install-ps-am: $(PSS)
++      @$(NORMAL_INSTALL)
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
++      fi; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
+ installcheck-am:
+-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
++maintainer-clean: maintainer-clean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+-      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
++maintainer-clean-am: distclean-am maintainer-clean-aminfo \
++      maintainer-clean-generic maintainer-clean-vti
+-mostlyclean: mostlyclean-multi mostlyclean-recursive
++mostlyclean: mostlyclean-recursive
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+-      mostlyclean-libtool
++mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
++      mostlyclean-generic mostlyclean-libtool mostlyclean-vti
+ pdf: pdf-recursive
+-pdf-am:
++pdf-am: $(PDFS)
+ ps: ps-recursive
+-ps-am:
++ps-am: $(PSS)
+-uninstall-am: uninstall-toolexeclibLTLIBRARIES
++uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
++      uninstall-libLTLIBRARIES uninstall-pdf-am \
++      uninstall-pkgconfigDATA uninstall-ps-am
+-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
+-      clean-multi ctags-recursive distclean-multi install-am \
+-      install-multi install-strip maintainer-clean-multi \
+-      mostlyclean-multi tags-recursive
++.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 all-multi am--refresh check check-am clean \
+-      clean-generic clean-libtool clean-multi \
+-      clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
+-      ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
+-      dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
++      all all-am am--refresh check check-am clean clean-aminfo \
++      clean-generic clean-libLTLIBRARIES clean-libtool \
++      clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
++      dist-bzip2 dist-gzip dist-info dist-lzip dist-lzma dist-shar \
++      dist-tarZ dist-xz dist-zip distcheck distclean \
+       distclean-compile distclean-generic distclean-hdr \
+-      distclean-libtool distclean-multi 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-multi install-pdf \
+-      install-pdf-am install-ps install-ps-am install-strip \
+-      install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+-      installdirs installdirs-am maintainer-clean \
+-      maintainer-clean-generic maintainer-clean-multi mostlyclean \
+-      mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+-      mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
+-      uninstall uninstall-am uninstall-toolexeclibLTLIBRARIES
+-
+-
+-# Multilib support.  Automake should provide these on its own.
+-all-recursive: all-multi
+-install-recursive: install-multi
+-mostlyclean-recursive: mostlyclean-multi
+-clean-recursive: clean-multi
+-distclean-recursive: distclean-multi
+-maintainer-clean-recursive: maintainer-clean-multi
++      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-libLTLIBRARIES 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-aminfo \
++      maintainer-clean-generic maintainer-clean-vti mostlyclean \
++      mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
++      mostlyclean-libtool mostlyclean-vti pdf pdf-am ps ps-am tags \
++      tags-recursive uninstall uninstall-am uninstall-dvi-am \
++      uninstall-html-am uninstall-info-am uninstall-libLTLIBRARIES \
++      uninstall-pdf-am uninstall-pkgconfigDATA uninstall-ps-am
 +
-+_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
++# No install-html or install-pdf support in automake yet
++.PHONY: install-html install-pdf
++install-html:
++install-pdf:
+ # 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.
+Index: libffi/include/Makefile.in
+===================================================================
+--- libffi.orig/include/Makefile.in
++++ libffi/include/Makefile.in
+@@ -1,9 +1,9 @@
+-# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -16,6 +16,23 @@
+ @SET_MAKE@
+ VPATH = @srcdir@
++am__make_dryrun = \
++  { \
++    am__dry=no; \
++    case $$MAKEFLAGS in \
++      *\\[\ \ ]*) \
++        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
++          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++      *) \
++        for am__flg in $$MAKEFLAGS; do \
++          case $$am__flg in \
++            *=*|--*) ;; \
++            *n*) am__dry=yes; break;; \
++          esac; \
++        done;; \
++    esac; \
++    test $$am__dry = yes; \
++  }
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+@@ -37,24 +54,34 @@ host_triplet = @host@
+ target_triplet = @target@
+ subdir = include
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+-      $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
++      $(srcdir)/ffi.h.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_check_compile_flag.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(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)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES = ffi.h ffitarget.h
+ CONFIG_CLEAN_VPATH_FILES =
+ SOURCES =
+ DIST_SOURCES =
++am__can_run_installinfo = \
++  case $$AM_UPDATE_INFO_DIR in \
++    n|no|NO) false;; \
++    *) (install-info --version) >/dev/null 2>&1;; \
++  esac
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+@@ -76,8 +103,14 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toollibffidir)"
+-HEADERS = $(toollibffi_HEADERS)
++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)$(includesdir)"
++HEADERS = $(nodist_includes_HEADERS)
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -102,6 +135,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -109,6 +143,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -127,6 +162,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -142,6 +178,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -154,6 +191,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -161,6 +199,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -188,7 +227,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -197,6 +235,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -211,11 +250,8 @@ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ DISTCLEANFILES = ffitarget.h
+ EXTRA_DIST = ffi.h.in ffi_common.h
+-
+-# Where generated headers like ffitarget.h get installed.
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+-toollibffi_HEADERS = ffi.h ffitarget.h
++includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++nodist_includes_HEADERS = ffi.h ffitarget.h
+ all: all-am
+ .SUFFIXES:
+@@ -257,26 +293,27 @@ mostlyclean-libtool:
+ clean-libtool:
+       -rm -rf .libs _libs
+-install-toollibffiHEADERS: $(toollibffi_HEADERS)
++install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
+       @$(NORMAL_INSTALL)
+-      test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
+-      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
++      if test -n "$$list"; then \
++        echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
++        $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
++      fi; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+-        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
+-        $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
++        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
++        $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
+       done
+-uninstall-toollibffiHEADERS:
++uninstall-nodist_includesHEADERS:
+       @$(NORMAL_UNINSTALL)
+-      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-      test -n "$$files" || exit 0; \
+-      echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
+-      cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
++      dir='$(DESTDIR)$(includesdir)'; $(am__uninstall_files_from_dir)
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+@@ -364,7 +401,7 @@ check-am: all-am
+ check: check-am
+ all-am: Makefile $(HEADERS)
+ installdirs:
+-      for dir in "$(DESTDIR)$(toollibffidir)"; do \
++      for dir in "$(DESTDIR)$(includesdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+ install: install-am
+@@ -377,10 +414,15 @@ install-am: all-am
+ installcheck: installcheck-am
+ install-strip:
+-      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+-        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+-        `test -z '$(STRIP)' || \
+-          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++      if test -z '$(STRIP)'; then \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++            install; \
++      else \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 +      fi
-+      $RM conftest*
-+      ])
-+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
-+      ;;
-+    esac
-+  fi
-+  ;;
-+esac
-+
-+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-+    [Whether or not to add -lc for building shared libraries])
-+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-+    [enable_shared_with_static_runtimes], [0],
-+    [Whether or not to disallow shared libs when runtime libs are static])
-+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-+    [Compiler flag to allow reflexive dlopens])
-+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-+    [Compiler flag to generate shared objects directly from archives])
-+_LT_TAGDECL([], [compiler_needs_object], [1],
-+    [Whether the compiler copes with passing no objects directly])
-+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-+    [Create an old-style archive from a shared archive])
-+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-+    [Create a temporary old-style archive to link instead of a shared archive])
-+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-+_LT_TAGDECL([], [archive_expsym_cmds], [2])
-+_LT_TAGDECL([], [module_cmds], [2],
-+    [Commands used to build a loadable module if different from building
-+    a shared archive.])
-+_LT_TAGDECL([], [module_expsym_cmds], [2])
-+_LT_TAGDECL([], [with_gnu_ld], [1],
-+    [Whether we are building with GNU ld or not])
-+_LT_TAGDECL([], [allow_undefined_flag], [1],
-+    [Flag that allows shared libraries with undefined symbols to be built])
-+_LT_TAGDECL([], [no_undefined_flag], [1],
-+    [Flag that enforces no undefined symbols])
-+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-+    [Flag to hardcode $libdir into a binary during linking.
-+    This must work even if $libdir does not exist])
-+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-+    [Whether we need a single "-rpath" flag with a separated argument])
-+_LT_TAGDECL([], [hardcode_direct], [0],
-+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-+    DIR into the resulting binary])
-+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-+    DIR into the resulting binary and the resulting library dependency is
-+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
-+    library is relocated])
-+_LT_TAGDECL([], [hardcode_minus_L], [0],
-+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-+    into the resulting binary])
-+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-+    into the resulting binary])
-+_LT_TAGDECL([], [hardcode_automatic], [0],
-+    [Set to "yes" if building a shared library automatically hardcodes DIR
-+    into the library and all subsequent libraries and executables linked
-+    against it])
-+_LT_TAGDECL([], [inherit_rpath], [0],
-+    [Set to yes if linker adds runtime paths of dependent libraries
-+    to runtime path list])
-+_LT_TAGDECL([], [link_all_deplibs], [0],
-+    [Whether libtool must link a program against all its dependency libraries])
-+_LT_TAGDECL([], [always_export_symbols], [0],
-+    [Set to "yes" if exported symbols are required])
-+_LT_TAGDECL([], [export_symbols_cmds], [2],
-+    [The commands to list exported symbols])
-+_LT_TAGDECL([], [exclude_expsyms], [1],
-+    [Symbols that should not be listed in the preloaded symbols])
-+_LT_TAGDECL([], [include_expsyms], [1],
-+    [Symbols that must always be exported])
-+_LT_TAGDECL([], [prelink_cmds], [2],
-+    [Commands necessary for linking programs (against libraries) with templates])
-+_LT_TAGDECL([], [postlink_cmds], [2],
-+    [Commands necessary for finishing linking programs])
-+_LT_TAGDECL([], [file_list_spec], [1],
-+    [Specify filename containing input files])
-+dnl FIXME: Not yet implemented
-+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-+dnl    [Compiler flag to generate thread safe objects])
-+])# _LT_LINKER_SHLIBS
-+
-+
-+# _LT_LANG_C_CONFIG([TAG])
-+# ------------------------
-+# Ensure that the configuration variables for a C compiler are suitably
-+# defined.  These variables are subsequently used by _LT_CONFIG to write
-+# the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_C_CONFIG],
-+[m4_require([_LT_DECL_EGREP])dnl
-+lt_save_CC="$CC"
-+AC_LANG_PUSH(C)
-+
-+# Source file extension for C test sources.
-+ac_ext=c
-+
-+# Object file extension for compiled C test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code="int some_variable = 0;"
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code='int main(){return(0);}'
-+
-+_LT_TAG_COMPILER
-+# Save the default compiler, since it gets overwritten when the other
-+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-+compiler_DEFAULT=$CC
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+if test -n "$compiler"; then
-+  _LT_COMPILER_NO_RTTI($1)
-+  _LT_COMPILER_PIC($1)
-+  _LT_COMPILER_C_O($1)
-+  _LT_COMPILER_FILE_LOCKS($1)
-+  _LT_LINKER_SHLIBS($1)
-+  _LT_SYS_DYNAMIC_LINKER($1)
-+  _LT_LINKER_HARDCODE_LIBPATH($1)
-+  LT_SYS_DLOPEN_SELF
-+  _LT_CMD_STRIPLIB
-+
-+  # Report 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
-+    ;;
+ mostlyclean-generic:
+ clean-generic:
+@@ -413,7 +455,7 @@ info: info-am
+ info-am:
+-install-data-am: install-toollibffiHEADERS
++install-data-am: install-nodist_includesHEADERS
+ install-dvi: install-dvi-am
+@@ -457,7 +499,7 @@ ps: ps-am
+ ps-am:
+-uninstall-am: uninstall-toollibffiHEADERS
++uninstall-am: uninstall-nodist_includesHEADERS
+ .MAKE: install-am install-strip
+@@ -467,13 +509,12 @@ uninstall-am: uninstall-toollibffiHEADER
+       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 \
+-      install-toollibffiHEADERS installcheck installcheck-am \
+-      installdirs maintainer-clean maintainer-clean-generic \
+-      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+-      ps ps-am tags uninstall uninstall-am \
+-      uninstall-toollibffiHEADERS
++      install-info-am install-man install-nodist_includesHEADERS \
++      install-pdf install-pdf-am install-ps install-ps-am \
++      install-strip installcheck installcheck-am installdirs \
++      maintainer-clean maintainer-clean-generic mostlyclean \
++      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++      tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+Index: libffi/man/Makefile.in
+===================================================================
+--- libffi.orig/man/Makefile.in
++++ libffi/man/Makefile.in
+@@ -1,9 +1,9 @@
+-# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,6 +15,23 @@
+ @SET_MAKE@
+ VPATH = @srcdir@
++am__make_dryrun = \
++  { \
++    am__dry=no; \
++    case $$MAKEFLAGS in \
++      *\\[\ \ ]*) \
++        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
++          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++      *) \
++        for am__flg in $$MAKEFLAGS; do \
++          case $$am__flg in \
++            *=*|--*) ;; \
++            *n*) am__dry=yes; break;; \
++          esac; \
++        done;; \
++    esac; \
++    test $$am__dry = yes; \
++  }
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+@@ -37,22 +54,32 @@ target_triplet = @target@
+ subdir = man
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_check_compile_flag.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(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)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.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
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+@@ -74,6 +101,12 @@ am__nobase_list = $(am__nobase_strip_set
+ 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; }; \
++  }
+ man3dir = $(mandir)/man3
+ am__installdirs = "$(DESTDIR)$(man3dir)"
+ NROFF = nroff
+@@ -100,6 +133,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -107,6 +141,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -125,6 +160,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -140,6 +176,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -152,6 +189,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -159,6 +197,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -186,7 +225,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -195,6 +233,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -207,8 +246,8 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+ all: all-am
+ .SUFFIXES:
+@@ -250,11 +289,18 @@ clean-libtool:
+       -rm -rf .libs _libs
+ install-man3: $(man_MANS)
+       @$(NORMAL_INSTALL)
+-      test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
+-      @list=''; test -n "$(man3dir)" || exit 0; \
+-      { for i in $$list; do echo "$$i"; done; \
+-      l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+-        sed -n '/\.3[a-z]*$$/p'; \
++      @list1=''; \
++      list2='$(man_MANS)'; \
++      test -n "$(man3dir)" \
++        && test -n "`echo $$list1$$list2`" \
++        || exit 0; \
++      echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
++      $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
++      { for i in $$list1; do echo "$$i"; done;  \
++      if test -n "$$list2"; then \
++        for i in $$list2; do echo "$$i"; done \
++          | sed -n '/\.3[a-z]*$$/p'; \
++      fi; \
+       } | while read p; do \
+         if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; echo "$$p"; \
+@@ -283,9 +329,7 @@ uninstall-man3:
+         sed -n '/\.3[a-z]*$$/p'; \
+       } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+-      test -z "$$files" || { \
+-        echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
+-        cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
++      dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
+ tags: TAGS
+ TAGS:
+@@ -353,10 +397,15 @@ install-am: all-am
+ installcheck: installcheck-am
+ install-strip:
+-      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+-        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+-        `test -z '$(STRIP)' || \
+-          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++      if test -z '$(STRIP)'; then \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++            install; \
++      else \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++      fi
+ mostlyclean-generic:
+ clean-generic:
+Index: libffi/testsuite/Makefile.in
+===================================================================
+--- libffi.orig/testsuite/Makefile.in
++++ libffi/testsuite/Makefile.in
+@@ -1,9 +1,9 @@
+-# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,6 +15,23 @@
+ @SET_MAKE@
+ VPATH = @srcdir@
++am__make_dryrun = \
++  { \
++    am__dry=no; \
++    case $$MAKEFLAGS in \
++      *\\[\ \ ]*) \
++        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
++          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++      *) \
++        for am__flg in $$MAKEFLAGS; do \
++          case $$am__flg in \
++            *=*|--*) ;; \
++            *n*) am__dry=yes; break;; \
++          esac; \
++        done;; \
++    esac; \
++    test $$am__dry = yes; \
++  }
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+@@ -37,22 +54,32 @@ target_triplet = @target@
+ subdir = testsuite
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_check_compile_flag.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(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)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.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
-+  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_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
+ DEJATOOL = $(PACKAGE)
+ RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -77,6 +104,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -84,6 +112,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -102,6 +131,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -117,6 +147,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -129,6 +160,7 @@ 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_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -136,6 +168,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -163,7 +196,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -172,6 +204,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -195,6 +228,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+           else echo runtest; fi`
+ CLEANFILES = *.exe core* *.log *.sum
++EXTRA_DIST = libffi.special/special.exp       \
++libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
++libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
++lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
++libffi.call/cls_multi_schar.c libffi.call/float3.c \
++libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
++libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
++libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
++libffi.call/nested_struct.c libffi.call/closure_fn1.c \
++libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
++libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
++libffi.call/return_fl2.c libffi.call/nested_struct7.c \
++libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
++libffi.call/float1.c libffi.call/cls_19byte.c \
++libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
++libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
++libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
++libffi.call/struct7.c libffi.call/nested_struct9.c \
++libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
++libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
++libffi.call/testclosure.c libffi.call/cls_3byte1.c \
++libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
++libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
++libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
++libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
++libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c       \
++libffi.call/return_ll.c libffi.call/cls_pointer.c \
++libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
++libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c       \
++libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
++libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
++libffi.call/cls_double.c libffi.call/many_win32.c \
++libffi.call/cls_16byte.c libffi.call/cls_align_double.c       \
++libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c       \
++libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
++libffi.call/closure_stdcall.c libffi.call/return_fl.c \
++libffi.call/strlen_win32.c libffi.call/return_ldl.c \
++libffi.call/cls_align_float.c libffi.call/struct3.c \
++libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
++libffi.call/cls_align_longdouble_split.c \
++libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
++libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
++libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
++libffi.call/return_dbl.c libffi.call/cls_20byte.c \
++libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c       \
++libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
++libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
++libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
++libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c       \
++libffi.call/struct2.c libffi.call/cls_3byte2.c \
++libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
++libffi.call/return_fl3.c libffi.call/cls_align_uint32.c       \
++libffi.call/problem1.c libffi.call/float4.c \
++libffi.call/cls_align_uint64.c libffi.call/struct9.c \
++libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
++libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
++libffi.call/struct4.c libffi.call/nested_struct2.c \
++libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
++libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
++libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
++libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
++libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
++libffi.call/huge_struct.c
 +
-+          exp_sym_flag='-bexport'
-+          no_entry_flag='-bnoentry'
-+        fi
+ all: all-am
+ .SUFFIXES:
+@@ -242,7 +339,7 @@ CTAGS:
+ check-DEJAGNU: site.exp
+-      srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
++      srcdir='$(srcdir)'; export srcdir; \
+       EXPECT=$(EXPECT); export EXPECT; \
+       runtest=$(RUNTEST); \
+       if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+@@ -253,12 +350,12 @@ check-DEJAGNU: site.exp
+       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+       fi; \
+       exit $$exit_status
+-site.exp: Makefile
++site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
+       @echo 'Making a new site.exp file...'
+       @echo '## these variables are automatically generated by make ##' >site.tmp
+       @echo '# Do not edit here.  If you wish to override these values' >>site.tmp
+       @echo '# edit the last section' >>site.tmp
+-      @echo 'set srcdir $(srcdir)' >>site.tmp
++      @echo 'set srcdir "$(srcdir)"' >>site.tmp
+       @echo "set objdir `pwd`" >>site.tmp
+       @echo 'set build_alias "$(build_alias)"' >>site.tmp
+       @echo 'set build_triplet $(build_triplet)' >>site.tmp
+@@ -266,9 +363,16 @@ site.exp: Makefile
+       @echo 'set host_triplet $(host_triplet)' >>site.tmp
+       @echo 'set target_alias "$(target_alias)"' >>site.tmp
+       @echo 'set target_triplet $(target_triplet)' >>site.tmp
+-      @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
+-      @test ! -f site.exp || \
+-        sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
++      @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
++        echo "## Begin content included from file $$f.  Do not modify. ##" \
++         && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
++         && echo "## End content included from file $$f. ##" \
++         || exit 1; \
++       done >> site.tmp
++      @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp
++      @if test -f site.exp; then \
++         sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
++       fi
+       @-rm -f site.bak
+       @test ! -f site.exp || mv site.exp site.bak
+       @mv site.tmp site.exp
+@@ -324,10 +428,15 @@ install-am: all-am
+ installcheck: installcheck-am
+ install-strip:
+-      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+-        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+-        `test -z '$(STRIP)' || \
+-          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++      if test -z '$(STRIP)'; then \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++            install; \
++      else \
++        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++          "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++      fi
+ mostlyclean-generic:
+ clean-generic:
+Index: libffi/man/Makefile.am
+===================================================================
+--- libffi.orig/man/Makefile.am
++++ libffi/man/Makefile.am
+@@ -2,7 +2,7 @@
+ AUTOMAKE_OPTIONS=foreign
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+Index: libffi/config.guess
+===================================================================
+--- libffi.orig/config.guess
++++ libffi/config.guess
+@@ -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, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011 Free Software Foundation, Inc.
+-timestamp='2009-11-20'
++timestamp='2011-06-03'
+ # 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
+@@ -56,8 +56,9 @@ version="\
+ 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, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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."
+@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+               fi
+               ;;
+           *)
+-              os=netbsd
++              os=netbsd
+               ;;
+       esac
+       # The OS release
+@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+-              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-      exit ;;
++      # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++      exitcode=$?
++      trap '' 0
++      exit $exitcode ;;
+     Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+       echo s390-ibm-zvmoe
+       exit ;;
+     *:OS400:*:*)
+-        echo powerpc-ibm-os400
++      echo powerpc-ibm-os400
+       exit ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+     # MiNT.  But MiNT is downward compatible to TOS, so this should
+     # be no problem.
+     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++      echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+-        exit ;;
++      exit ;;
+     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++      echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+-        echo m68k-milan-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-milan-mint${UNAME_RELEASE}
++      exit ;;
+     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+-        echo m68k-hades-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-hades-mint${UNAME_RELEASE}
++      exit ;;
+     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+-        echo m68k-unknown-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-unknown-mint${UNAME_RELEASE}
++      exit ;;
+     m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+@@ -480,8 +484,8 @@ EOF
+       echo m88k-motorola-sysv3
+       exit ;;
+     AViiON:dgux:*:*)
+-        # DG/UX returns AViiON for all architectures
+-        UNAME_PROCESSOR=`/usr/bin/uname -p`
++      # DG/UX returns AViiON for all architectures
++      UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+@@ -494,7 +498,7 @@ EOF
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+-      exit ;;
++      exit ;;
+     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+@@ -551,7 +555,7 @@ EOF
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+-    *:AIX:*:[456])
++    *:AIX:*:[4567])
+       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
+@@ -594,52 +598,52 @@ EOF
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+-                    case "${sc_cpu_version}" in
+-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+-                      532)                      # CPU_PA_RISC2_0
+-                        case "${sc_kernel_bits}" in
+-                          32) HP_ARCH="hppa2.0n" ;;
+-                          64) HP_ARCH="hppa2.0w" ;;
++                  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++                  case "${sc_cpu_version}" in
++                    523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++                    528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++                    532)                      # CPU_PA_RISC2_0
++                      case "${sc_kernel_bits}" in
++                        32) HP_ARCH="hppa2.0n" ;;
++                        64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+-                        esac ;;
+-                    esac
++                      esac ;;
++                  esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+-                  sed 's/^              //' << EOF >$dummy.c
++                  sed 's/^            //' << EOF >$dummy.c
 +
-+        # When large executables or shared objects are built, AIX ld can
-+        # have problems creating the table of contents.  If linking a library
-+        # or program results in "error TOC overflow" add -mminimal-toc to
-+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-+
-+        _LT_TAGVAR(archive_cmds, $1)=''
-+        _LT_TAGVAR(hardcode_direct, $1)=yes
-+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-+        _LT_TAGVAR(link_all_deplibs, $1)=yes
-+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-+
-+        if test "$GXX" = yes; then
-+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
-+          # We only want to do this on AIX 4.2 and lower, the check
-+          # below for broken collect2 doesn't work under 4.3+
-+        collect2name=`${CC} -print-prog-name=collect2`
-+        if test -f "$collect2name" &&
-+           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-+        then
-+          # We have reworked collect2
-+          :
-+        else
-+          # We have old collect2
-+          _LT_TAGVAR(hardcode_direct, $1)=unsupported
-+          # It fails to find uninstalled libraries when the uninstalled
-+          # path is not listed in the libpath.  Setting hardcode_minus_L
-+          # to unsupported forces relinking
-+          _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+          _LT_TAGVAR(hardcode_libdir_separator, $1)=
-+        fi
-+          esac
-+          shared_flag='-shared'
-+        if test "$aix_use_runtimelinking" = yes; then
-+          shared_flag="$shared_flag "'${wl}-G'
-+        fi
-+        else
-+          # not using gcc
-+          if test "$host_cpu" = ia64; then
-+        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-+        # chokes on -Wl,-G. The following line is correct:
-+        shared_flag='-G'
-+          else
-+          if test "$aix_use_runtimelinking" = yes; then
-+            shared_flag='${wl}-G'
-+          else
-+            shared_flag='${wl}-bM:SRE'
-+          fi
-+          fi
-+        fi
++              #define _HPUX_SOURCE
++              #include <stdlib.h>
++              #include <unistd.h>
+-              #define _HPUX_SOURCE
+-              #include <stdlib.h>
+-              #include <unistd.h>
+-
+-              int main ()
+-              {
+-              #if defined(_SC_KERNEL_BITS)
+-                  long bits = sysconf(_SC_KERNEL_BITS);
+-              #endif
+-                  long cpu  = sysconf (_SC_CPU_VERSION);
+-
+-                  switch (cpu)
+-                      {
+-                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+-                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+-                      case CPU_PA_RISC2_0:
+-              #if defined(_SC_KERNEL_BITS)
+-                          switch (bits)
+-                              {
+-                              case 64: puts ("hppa2.0w"); break;
+-                              case 32: puts ("hppa2.0n"); break;
+-                              default: puts ("hppa2.0"); break;
+-                              } break;
+-              #else  /* !defined(_SC_KERNEL_BITS) */
+-                          puts ("hppa2.0"); break;
+-              #endif
+-                      default: puts ("hppa1.0"); break;
+-                      }
+-                  exit (0);
+-              }
++              int main ()
++              {
++              #if defined(_SC_KERNEL_BITS)
++                  long bits = sysconf(_SC_KERNEL_BITS);
++              #endif
++                  long cpu  = sysconf (_SC_CPU_VERSION);
 +
-+        _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'
++                  switch (cpu)
++                      {
++                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++                      case CPU_PA_RISC2_0:
++              #if defined(_SC_KERNEL_BITS)
++                          switch (bits)
++                              {
++                              case 64: puts ("hppa2.0w"); break;
++                              case 32: puts ("hppa2.0n"); break;
++                              default: puts ("hppa2.0"); break;
++                              } break;
++              #else  /* !defined(_SC_KERNEL_BITS) */
++                          puts ("hppa2.0"); break;
++              #endif
++                      default: puts ("hppa1.0"); break;
++                      }
++                  exit (0);
++              }
+ EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -730,22 +734,22 @@ EOF
+       exit ;;
+     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+-        exit ;;
++      exit ;;
+     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+-        exit ;;
++      exit ;;
+     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+-        exit ;;
++      exit ;;
+     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+-        exit ;;
++      exit ;;
+     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+-        exit ;;
++      exit ;;
+     CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+@@ -769,14 +773,14 @@ EOF
+       exit ;;
+     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+-        exit ;;
++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++      FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++      echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++      exit ;;
+     5000:UNIX_System_V:4.*:*)
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++      FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++      echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+@@ -804,14 +808,14 @@ EOF
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+     i*:windows32*:*)
+-      # uname -m includes "-pc" on this system.
+-      echo ${UNAME_MACHINE}-mingw32
++      # uname -m includes "-pc" on this system.
++      echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+     i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+     *:Interix*:*)
+-      case ${UNAME_MACHINE} in
++      case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+@@ -866,7 +870,7 @@ EOF
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+-        esac
++      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}
+@@ -878,7 +882,13 @@ EOF
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-gnu
+       else
+-          echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++          if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++              | grep -q __ARM_PCS_VFP
++          then
++              echo ${UNAME_MACHINE}-unknown-linux-gnueabi
 +          else
-+            # Exported symbols can be pulled into shared objects from archives
-+            _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++              echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
 +          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
-+        ;;
+       fi
+       exit ;;
+     avr32*:Linux:*:*)
+@@ -891,7 +901,7 @@ EOF
+       echo crisv32-axis-linux-gnu
+       exit ;;
+     frv:Linux:*:*)
+-      echo frv-unknown-linux-gnu
++      echo frv-unknown-linux-gnu
+       exit ;;
+     i*86:Linux:*:*)
+       LIBC=gnu
+@@ -959,7 +969,7 @@ EOF
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+     sh64*:Linux:*:*)
+-      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+     sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+@@ -967,6 +977,9 @@ EOF
+     sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
++    tile*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit ;;
+     vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+@@ -974,7 +987,7 @@ EOF
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+     xtensa*:Linux:*:*)
+-      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+     i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+@@ -983,11 +996,11 @@ EOF
+       echo i386-sequent-sysv4
+       exit ;;
+     i*86:UNIX_SV:4.2MP:2.*)
+-        # Unixware is an offshoot of SVR4, but it has its own version
+-        # number series starting with 2...
+-        # I am not positive that other SVR4 systems won't match this,
++      # Unixware is an offshoot of SVR4, but it has its own version
++      # number series starting with 2...
++      # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+-        # Use sysv4.2uw... so that sysv4* matches it.
++      # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+     i*86:OS/2:*:*)
+@@ -1019,7 +1032,7 @@ EOF
+       fi
+       exit ;;
+     i*86:*:5:[678]*)
+-      # UnixWare 7.x, OpenUNIX and OpenServer 6.
++      # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+@@ -1047,13 +1060,13 @@ EOF
+       exit ;;
+     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 i586.
++      # uname -m prints for DJGPP always 'pc', but it prints nothing about
++      # 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 ;;
++      exit ;;
+     Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+@@ -1088,8 +1101,8 @@ EOF
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+-          && { echo i486-ncr-sysv4; exit; } ;;
++      /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 \
+@@ -1132,10 +1145,10 @@ EOF
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+-        echo i586-unisys-sysv4
+-        exit ;;
++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
++      echo i586-unisys-sysv4
++      exit ;;
+     *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+@@ -1161,11 +1174,11 @@ EOF
+       exit ;;
+     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+-              echo mips-nec-sysv${UNAME_RELEASE}
++              echo mips-nec-sysv${UNAME_RELEASE}
+       else
+-              echo mips-unknown-sysv${UNAME_RELEASE}
++              echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+-        exit ;;
++      exit ;;
+     BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+@@ -1230,6 +1243,9 @@ EOF
+     *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
++    NEO-?:NONSTOP_KERNEL:*:*)
++      echo neo-tandem-nsk${UNAME_RELEASE}
++      exit ;;
+     NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+@@ -1275,13 +1291,13 @@ EOF
+       echo pdp10-unknown-its
+       exit ;;
+     SEI:*:*:SEIUX)
+-        echo mips-sei-seiux${UNAME_RELEASE}
++      echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+     *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+     *:*VMS:*:*)
+-      UNAME_MACHINE=`(uname -p) 2>/dev/null`
++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+@@ -1321,11 +1337,11 @@ main ()
+ #include <sys/param.h>
+   printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+-          "4"
++      "4"
+ #else
+-        ""
++      ""
+ #endif
+-         ); exit (0);
++      ); exit (0);
+ #endif
+ #endif
+Index: libffi/config.sub
+===================================================================
+--- libffi.orig/config.sub
++++ libffi/config.sub
+@@ -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, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011 Free Software Foundation, Inc.
+-timestamp='2009-11-20'
++timestamp='2011-10-29'
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -75,8 +75,9 @@ Report bugs and patches to <config-patch
+ version="\
+ GNU config.sub ($timestamp)
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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."
+@@ -123,8 +124,9 @@ esac
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  nto-qnx* | linux-gnu* | linux-android* | 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
+@@ -156,8 +158,8 @@ case $os in
+               os=
+               basic_machine=$1
+               ;;
+-        -bluegene*)
+-              os=-cnk
++      -bluegene*)
++              os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+@@ -173,10 +175,10 @@ case $os in
+               os=-chorusos
+               basic_machine=$1
+               ;;
+-      -chorusrdb)
+-              os=-chorusrdb
++      -chorusrdb)
++              os=-chorusrdb
+               basic_machine=$1
+-              ;;
++              ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+@@ -249,13 +251,17 @@ case $basic_machine in
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++        | be32 | be64 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
++      | epiphany \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++      | hexagon \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
++      | le32 | le64 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep | metag \
+@@ -281,27 +287,38 @@ case $basic_machine in
+       | moxie \
+       | mt \
+       | msp430 \
++      | nds32 | nds32le | nds32be \
+       | nios | nios2 \
+       | ns16k | ns32k \
++      | open8 \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+-      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++      | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pyramid \
+-      | rx \
++      | rl78 | rx \
+       | score \
+       | 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 \
++      | spu \
++      | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+       | ubicom32 \
+-      | v850 | v850e \
++      | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+       | we32k \
+-      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++      | x86 | xc16x | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
++      c54x)
++              basic_machine=tic54x-unknown
++              ;;
++      c55x)
++              basic_machine=tic55x-unknown
++              ;;
++      c6x)
++              basic_machine=tic6x-unknown
++              ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+@@ -313,6 +330,18 @@ case $basic_machine in
+               basic_machine=mt-unknown
+               ;;
++      strongarm | thumb | xscale)
++              basic_machine=arm-unknown
++              ;;
 +
-+      beos*)
-+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-+        # support --undefined.  This deserves some investigation.  FIXME
-+        _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+      else
-+        _LT_TAGVAR(ld_shlibs, $1)=no
-+      fi
-+      ;;
++      xscaleeb)
++              basic_machine=armeb-unknown
++              ;;
 +
-+      chorus*)
-+        case $cc_basename in
-+          *)
-+        # FIXME: insert proper C++ library support
-+        _LT_TAGVAR(ld_shlibs, $1)=no
-+        ;;
-+        esac
-+        ;;
++      xscaleel)
++              basic_machine=armel-unknown
++              ;;
 +
-+      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"
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+@@ -332,16 +361,19 @@ case $basic_machine in
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
++      | be32-* | be64-* \
+       | bfin-* | bs2000-* \
+-      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++      | c[123]* | c30-* | [cjt]90-* | c4x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++      | hexagon-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
++      | le32-* | le64-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+@@ -367,25 +399,29 @@ case $basic_machine in
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
++      | nds32-* | nds32le-* | nds32be-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
++      | open8-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+-      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pyramid-* \
+-      | romp-* | rs6000-* | rx-* \
++      | rl78-* | 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-* | tile-* \
++      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++      | tahoe-* \
++      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++      | tile*-* \
+       | tron-* \
+       | ubicom32-* \
+-      | v850-* | v850e-* | vax-* \
++      | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++      | vax-* \
+       | we32k-* \
+-      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++      | x86-* | x86_64-* | xc16x-* | xps100-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+@@ -410,7 +446,7 @@ case $basic_machine in
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+-      abacus)
++      abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+@@ -480,11 +516,20 @@ case $basic_machine in
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
++      c54x-*)
++              basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      c55x-*)
++              basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      c6x-*)
++              basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+-        cegcc)
++      cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+@@ -516,7 +561,7 @@ case $basic_machine in
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+-      cr16)
++      cr16 | cr16-*)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+@@ -732,7 +777,7 @@ case $basic_machine in
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+-        microblaze)
++      microblaze)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw32)
+@@ -775,6 +820,10 @@ case $basic_machine in
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
++      nacl)
++              basic_machine=le32-unknown
++              os=-nacl
 +              ;;
-+          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
-+        ;;
-+
-+      freebsd2.*)
-+        # C++ shared libraries reported to be fairly broken before
-+      # switch to ELF
-+        _LT_TAGVAR(ld_shlibs, $1)=no
-+        ;;
-+
-+      freebsd-elf*)
-+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+        ;;
-+
-+      freebsd* | dragonfly*)
-+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-+        # conventions
-+        _LT_TAGVAR(ld_shlibs, $1)=yes
-+        ;;
-+
-+      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'
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+@@ -839,6 +888,12 @@ case $basic_machine in
+       np1)
+               basic_machine=np1-gould
+               ;;
++      neo-tandem)
++              basic_machine=neo-tandem
 +              ;;
-+            *)  # 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'
++      nse-tandem)
++              basic_machine=nse-tandem
 +              ;;
-+          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'
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+@@ -921,9 +976,10 @@ case $basic_machine in
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+-      ppc)    basic_machine=powerpc-unknown
++      ppc | ppcbe)    basic_machine=powerpc-unknown
+               ;;
+-      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++      ppc-* | ppcbe-*)
++              basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+@@ -1017,6 +1073,9 @@ case $basic_machine in
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
++      strongarm-* | thumb-*)
++              basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+@@ -1073,20 +1132,8 @@ case $basic_machine in
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+-      tic54x | c54x*)
+-              basic_machine=tic54x-unknown
+-              os=-coff
+-              ;;
+-      tic55x | c55x*)
+-              basic_machine=tic55x-unknown
+-              os=-coff
+-              ;;
+-      tic6x | c6x*)
+-              basic_machine=tic6x-unknown
+-              os=-coff
+-              ;;
+       tile*)
+-              basic_machine=tile-unknown
++              basic_machine=$basic_machine-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+@@ -1156,6 +1203,9 @@ case $basic_machine in
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
++      xscale-* | xscalee[bl]-*)
++              basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
 +              ;;
-+            *)
-+              _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'
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+@@ -1253,11 +1303,11 @@ esac
+ if [ x"$os" != x"" ]
+ then
+ case $os in
+-        # First match some system type aliases
+-        # that might get confused with valid system types.
++      # 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
++      -auroraux)
++              os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+@@ -1294,7 +1344,8 @@ case $os in
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+-            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++            | -mingw32* | -linux-gnu* | -linux-android* \
++            | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1341,7 +1392,7 @@ case $os in
+       -opened*)
+               os=-openedition
+               ;;
+-        -os400*)
++      -os400*)
+               os=-os400
+               ;;
+       -wince*)
+@@ -1390,7 +1441,7 @@ case $os in
+       -sinix*)
+               os=-sysv4
+               ;;
+-        -tpf*)
++      -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+@@ -1435,6 +1486,8 @@ case $os in
+       -dicos*)
+               os=-dicos
+               ;;
++      -nacl*)
 +              ;;
-+          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).
+       -none)
+               ;;
+       *)
+@@ -1457,10 +1510,10 @@ else
+ # system, and we'll never get to this point.
+ case $basic_machine in
+-        score-*)
++      score-*)
+               os=-elf
+               ;;
+-        spu-*)
++      spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+@@ -1472,8 +1525,17 @@ case $basic_machine in
+       arm*-semi)
+               os=-aout
+               ;;
+-        c4x-* | tic4x-*)
+-              os=-coff
++      c4x-* | tic4x-*)
++              os=-coff
++              ;;
++      tic54x-*)
++              os=-coff
++              ;;
++      tic55x-*)
++              os=-coff
++              ;;
++      tic6x-*)
++              os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+@@ -1500,7 +1562,7 @@ case $basic_machine in
+       m68*-cisco)
+               os=-aout
+               ;;
+-        mep-*)
++      mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+@@ -1527,7 +1589,7 @@ case $basic_machine in
+       *-ibm)
+               os=-aix
+               ;;
+-      *-knuth)
++      *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+Index: libffi/aclocal.m4
+===================================================================
+--- libffi.orig/aclocal.m4
++++ libffi/aclocal.m4
+@@ -1,7 +1,8 @@
+-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
++# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
++# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
++# Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -13,18 +14,909 @@
+ m4_ifndef([AC_AUTOCONF_VERSION],
+   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
+-[m4_warning([this file was generated for autoconf 2.64.
++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'.])])
+-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
++# ===========================================================================
++#      http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
++# ===========================================================================
 +#
-+# 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
-+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-+package foo
-+func foo() {
-+}
-+_LT_EOF
-+])
-+
-+_lt_libdeps_save_CFLAGS=$CFLAGS
-+case "$CC $CFLAGS " in #(
-+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-+esac
-+
-+dnl Parse the compiler output and extract the necessary
-+dnl objects, libraries and library flags.
-+if AC_TRY_EVAL(ac_compile); then
-+  # Parse the compiler output and extract the necessary
-+  # objects, libraries and library flags.
-+
-+  # Sentinel used to keep track of whether or not we are before
-+  # the conftest object file.
-+  pre_test_object_deps_done=no
-+
-+  for p in `eval "$output_verbose_link_cmd"`; do
-+    case ${prev}${p} in
-+
-+    -L* | -R* | -l*)
-+       # Some compilers place space between "-{L,R}" and the path.
-+       # Remove the space.
-+       if test $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_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_separator, $1)=
-+_LT_TAGVAR(hardcode_minus_L, $1)=no
-+_LT_TAGVAR(hardcode_automatic, $1)=no
-+_LT_TAGVAR(inherit_rpath, $1)=no
-+_LT_TAGVAR(module_cmds, $1)=
-+_LT_TAGVAR(module_expsym_cmds, $1)=
-+_LT_TAGVAR(link_all_deplibs, $1)=unknown
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(reload_flag, $1)=$reload_flag
-+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-+_LT_TAGVAR(no_undefined_flag, $1)=
-+_LT_TAGVAR(whole_archive_flag_spec, $1)=
-+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+
-+# Source file extension for fc test sources.
-+ac_ext=${ac_fc_srcext-f}
-+
-+# Object file extension for compiled fc test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# No sense in running all these tests if we already determined that
-+# the FC compiler isn't working.  Some variables (like enable_shared)
-+# are currently assumed to apply to all compilers on this platform,
-+# and will be corrupted by setting them based on a non-working compiler.
-+if test "$_lt_disable_FC" != yes; then
-+  # Code to be used in simple compile tests
-+  lt_simple_compile_test_code="\
-+      subroutine t
-+      return
-+      end
-+"
-+
-+  # Code to be used in simple link tests
-+  lt_simple_link_test_code="\
-+      program t
-+      end
-+"
-+
-+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+  _LT_TAG_COMPILER
-+
-+  # save warnings/boilerplate of simple test code
-+  _LT_COMPILER_BOILERPLATE
-+  _LT_LINKER_BOILERPLATE
-+
-+  # Allow CC to be a program name with arguments.
-+  lt_save_CC="$CC"
-+  lt_save_GCC=$GCC
-+  lt_save_CFLAGS=$CFLAGS
-+  CC=${FC-"f95"}
-+  CFLAGS=$FCFLAGS
-+  compiler=$CC
-+  GCC=$ac_cv_fc_compiler_gnu
-+
-+  _LT_TAGVAR(compiler, $1)=$CC
-+  _LT_CC_BASENAME([$compiler])
-+
-+  if test -n "$compiler"; then
-+    AC_MSG_CHECKING([if libtool supports shared libraries])
-+    AC_MSG_RESULT([$can_build_shared])
-+
-+    AC_MSG_CHECKING([whether to build shared libraries])
-+    test "$can_build_shared" = "no" && enable_shared=no
-+
-+    # On AIX, shared libraries and static libraries use the same namespace, and
-+    # are all built from PIC.
-+    case $host_os in
-+      aix3*)
-+        test "$enable_shared" = yes && enable_static=no
-+        if test -n "$RANLIB"; then
-+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-+          postinstall_cmds='$RANLIB $lib'
-+        fi
-+        ;;
-+      aix[[4-9]]*)
-+      if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-+        test "$enable_shared" = yes && enable_static=no
-+      fi
-+        ;;
-+    esac
-+    AC_MSG_RESULT([$enable_shared])
-+
-+    AC_MSG_CHECKING([whether to build static libraries])
-+    # Make sure either enable_shared or enable_static is yes.
-+    test "$enable_shared" = yes || enable_static=yes
-+    AC_MSG_RESULT([$enable_static])
-+
-+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-+    _LT_TAGVAR(LD, $1)="$LD"
-+
-+    ## CAVEAT EMPTOR:
-+    ## There is no encapsulation within the following macros, do not change
-+    ## the running order or otherwise move them around unless you know exactly
-+    ## what you are doing...
-+    _LT_SYS_HIDDEN_LIBDEPS($1)
-+    _LT_COMPILER_PIC($1)
-+    _LT_COMPILER_C_O($1)
-+    _LT_COMPILER_FILE_LOCKS($1)
-+    _LT_LINKER_SHLIBS($1)
-+    _LT_SYS_DYNAMIC_LINKER($1)
-+    _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+    _LT_CONFIG($1)
-+  fi # test -n "$compiler"
-+
-+  GCC=$lt_save_GCC
-+  CC=$lt_save_CC
-+  CFLAGS=$lt_save_CFLAGS
-+fi # test "$_lt_disable_FC" != yes
-+
-+AC_LANG_POP
-+])# _LT_LANG_FC_CONFIG
-+
-+
-+# _LT_LANG_GCJ_CONFIG([TAG])
-+# --------------------------
-+# Ensure that the configuration variables for the GNU Java Compiler compiler
-+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_GCJ_CONFIG],
-+[AC_REQUIRE([LT_PROG_GCJ])dnl
-+AC_LANG_SAVE
-+
-+# Source file extension for Java test sources.
-+ac_ext=java
-+
-+# Object file extension for compiled Java test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code="class foo {}"
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-+
-+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+_LT_TAG_COMPILER
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+# Allow CC to be a program name with arguments.
-+lt_save_CC=$CC
-+lt_save_CFLAGS=$CFLAGS
-+lt_save_GCC=$GCC
-+GCC=yes
-+CC=${GCJ-"gcj"}
-+CFLAGS=$GCJFLAGS
-+compiler=$CC
-+_LT_TAGVAR(compiler, $1)=$CC
-+_LT_TAGVAR(LD, $1)="$LD"
-+_LT_CC_BASENAME([$compiler])
-+
-+# GCJ did not exist at the time GCC didn't implicitly link libc in.
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(reload_flag, $1)=$reload_flag
-+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-+
-+if test -n "$compiler"; then
-+  _LT_COMPILER_NO_RTTI($1)
-+  _LT_COMPILER_PIC($1)
-+  _LT_COMPILER_C_O($1)
-+  _LT_COMPILER_FILE_LOCKS($1)
-+  _LT_LINKER_SHLIBS($1)
-+  _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+  _LT_CONFIG($1)
-+fi
-+
-+AC_LANG_RESTORE
-+
-+GCC=$lt_save_GCC
-+CC=$lt_save_CC
-+CFLAGS=$lt_save_CFLAGS
-+])# _LT_LANG_GCJ_CONFIG
-+
-+
-+# _LT_LANG_GO_CONFIG([TAG])
-+# --------------------------
-+# Ensure that the configuration variables for the GNU Go compiler
-+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_GO_CONFIG],
-+[AC_REQUIRE([LT_PROG_GO])dnl
-+AC_LANG_SAVE
-+
-+# Source file extension for Go test sources.
-+ac_ext=go
-+
-+# Object file extension for compiled Go test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code="package main; func main() { }"
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code='package main; func main() { }'
-+
-+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+_LT_TAG_COMPILER
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+# Allow CC to be a program name with arguments.
-+lt_save_CC=$CC
-+lt_save_CFLAGS=$CFLAGS
-+lt_save_GCC=$GCC
-+GCC=yes
-+CC=${GOC-"gccgo"}
-+CFLAGS=$GOFLAGS
-+compiler=$CC
-+_LT_TAGVAR(compiler, $1)=$CC
-+_LT_TAGVAR(LD, $1)="$LD"
-+_LT_CC_BASENAME([$compiler])
-+
-+# Go did not exist at the time GCC didn't implicitly link libc in.
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(reload_flag, $1)=$reload_flag
-+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-+
-+if test -n "$compiler"; then
-+  _LT_COMPILER_NO_RTTI($1)
-+  _LT_COMPILER_PIC($1)
-+  _LT_COMPILER_C_O($1)
-+  _LT_COMPILER_FILE_LOCKS($1)
-+  _LT_LINKER_SHLIBS($1)
-+  _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+  _LT_CONFIG($1)
-+fi
-+
-+AC_LANG_RESTORE
-+
-+GCC=$lt_save_GCC
-+CC=$lt_save_CC
-+CFLAGS=$lt_save_CFLAGS
-+])# _LT_LANG_GO_CONFIG
-+
-+
-+# _LT_LANG_RC_CONFIG([TAG])
-+# -------------------------
-+# Ensure that the configuration variables for the Windows resource compiler
-+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_RC_CONFIG],
-+[AC_REQUIRE([LT_PROG_RC])dnl
-+AC_LANG_SAVE
-+
-+# Source file extension for RC test sources.
-+ac_ext=rc
-+
-+# Object file extension for compiled RC test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code="$lt_simple_compile_test_code"
-+
-+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+_LT_TAG_COMPILER
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+# Allow CC to be a program name with arguments.
-+lt_save_CC="$CC"
-+lt_save_CFLAGS=$CFLAGS
-+lt_save_GCC=$GCC
-+GCC=
-+CC=${RC-"windres"}
-+CFLAGS=
-+compiler=$CC
-+_LT_TAGVAR(compiler, $1)=$CC
-+_LT_CC_BASENAME([$compiler])
-+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-+
-+if test -n "$compiler"; then
-+  :
-+  _LT_CONFIG($1)
-+fi
-+
-+GCC=$lt_save_GCC
-+AC_LANG_RESTORE
-+CC=$lt_save_CC
-+CFLAGS=$lt_save_CFLAGS
-+])# _LT_LANG_RC_CONFIG
-+
-+
-+# LT_PROG_GCJ
-+# -----------
-+AC_DEFUN([LT_PROG_GCJ],
-+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-+    [AC_CHECK_TOOL(GCJ, gcj,)
-+      test "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_GO
-+# ----------
-+AC_DEFUN([LT_PROG_GO],
-+[AC_CHECK_TOOL(GOC, gccgo,)
-+])
-+
-+
-+# LT_PROG_RC
-+# ----------
-+AC_DEFUN([LT_PROG_RC],
-+[AC_CHECK_TOOL(RC, windres,)
-+])
-+
-+# Old name:
-+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([LT_AC_PROG_RC], [])
-+
-+
-+# _LT_DECL_EGREP
-+# --------------
-+# If we don't have a new enough Autoconf to choose the best grep
-+# available, choose the one first in the user's PATH.
-+m4_defun([_LT_DECL_EGREP],
-+[AC_REQUIRE([AC_PROG_EGREP])dnl
-+AC_REQUIRE([AC_PROG_FGREP])dnl
-+test -z "$GREP" && GREP=grep
-+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-+_LT_DECL([], [EGREP], [1], [An ERE matcher])
-+_LT_DECL([], [FGREP], [1], [A literal string matcher])
-+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-+AC_SUBST([GREP])
-+])
-+
-+
-+# _LT_DECL_OBJDUMP
-+# --------------
-+# If we don't have a new enough Autoconf to choose the best objdump
-+# available, choose the one first in the user's PATH.
-+m4_defun([_LT_DECL_OBJDUMP],
-+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-+test -z "$OBJDUMP" && OBJDUMP=objdump
-+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-+AC_SUBST([OBJDUMP])
-+])
-+
-+# _LT_DECL_DLLTOOL
-+# ----------------
-+# Ensure DLLTOOL variable is set.
-+m4_defun([_LT_DECL_DLLTOOL],
-+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-+test -z "$DLLTOOL" && DLLTOOL=dlltool
-+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-+AC_SUBST([DLLTOOL])
-+])
-+
-+# _LT_DECL_SED
-+# ------------
-+# Check for a fully-functional sed program, that truncates
-+# as few characters as possible.  Prefer GNU sed if found.
-+m4_defun([_LT_DECL_SED],
-+[AC_PROG_SED
-+test -z "$SED" && SED=sed
-+Xsed="$SED -e 1s/^X//"
-+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-+])# _LT_DECL_SED
-+
-+m4_ifndef([AC_PROG_SED], [
-+# NOTE: This macro has been submitted for inclusion into   #
-+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-+#  a released version of Autoconf we should remove this    #
-+#  macro and use it instead.                               #
-+
-+m4_defun([AC_PROG_SED],
-+[AC_MSG_CHECKING([for a sed that does not truncate output])
-+AC_CACHE_VAL(lt_cv_path_SED,
-+[# Loop through the user's path and test for sed and gsed.
-+# Then use that list of sed's as ones to test for truncation.
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for lt_ac_prog in sed gsed; do
-+    for ac_exec_ext in '' $ac_executable_extensions; do
-+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-+      fi
-+    done
-+  done
-+done
-+IFS=$as_save_IFS
-+lt_ac_max=0
-+lt_ac_count=0
-+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-+# along with /bin/sed that truncates output.
-+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-+  test ! -f $lt_ac_sed && continue
-+  cat /dev/null > conftest.in
-+  lt_ac_count=0
-+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-+  # Check for GNU sed and select it if it is found.
-+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-+    lt_cv_path_SED=$lt_ac_sed
-+    break
-+  fi
-+  while true; do
-+    cat conftest.in conftest.in >conftest.tmp
-+    mv conftest.tmp conftest.in
-+    cp conftest.in conftest.nl
-+    echo >>conftest.nl
-+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-+    cmp -s conftest.out conftest.nl || break
-+    # 10000 chars as input seems more than enough
-+    test $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
-+])
++# SYNOPSIS
++#
++#   AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
++#
++# DESCRIPTION
++#
++#   FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
++#   added in between.
++#
++#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
++#   CFLAGS) is used.  FLAGS-VARIABLE is not changed if it already contains
++#   FLAG.  If FLAGS-VARIABLE is unset in the shell, it is set to exactly
++#   FLAG.
++#
++#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
 +
-+# _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
++#serial 2
 +
-+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
++AC_DEFUN([AX_APPEND_FLAG],
++[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
++AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])dnl
++AS_VAR_SET_IF(FLAGS,
++  [case " AS_VAR_GET(FLAGS) " in
++    *" $1 "*)
++      AC_RUN_LOG([: FLAGS already contains $1])
++      ;;
++    *)
++      AC_RUN_LOG([: FLAGS="$FLAGS $1"])
++      AS_VAR_SET(FLAGS, ["AS_VAR_GET(FLAGS) $1"])
++      ;;
++   esac],
++  [AS_VAR_SET(FLAGS,["$1"])])
++AS_VAR_POPDEF([FLAGS])dnl
++])dnl AX_APPEND_FLAG
 +
 +# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
 +#
@@ -27721,632 +20847,6 @@ Index: libffi/aclocal.m4
 +dnl aclocal-1.4 backwards compatibility:
 +dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
 +
-+# Helper functions for option handling.                    -*- Autoconf -*-
-+#
-+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-+#   Inc.
-+#   Written by Gary V. Vaughan, 2004
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# serial 7 ltoptions.m4
-+
-+# This is to help aclocal find these macros, as it can't see m4_define.
-+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-+
-+
-+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-+# ------------------------------------------
-+m4_define([_LT_MANGLE_OPTION],
-+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-+
-+
-+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-+# ---------------------------------------
-+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-+# saved as a flag.
-+m4_define([_LT_SET_OPTION],
-+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-+        _LT_MANGLE_DEFUN([$1], [$2]),
-+    [m4_warning([Unknown $1 option `$2'])])[]dnl
-+])
-+
-+
-+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-+# ------------------------------------------------------------
-+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-+m4_define([_LT_IF_OPTION],
-+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-+
-+
-+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-+# -------------------------------------------------------
-+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-+# are set.
-+m4_define([_LT_UNLESS_OPTIONS],
-+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-+          [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-+                    [m4_define([$0_found])])])[]dnl
-+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-+])[]dnl
-+])
-+
-+
-+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-+# ----------------------------------------
-+# OPTION-LIST is a space-separated list of Libtool options associated
-+# with MACRO-NAME.  If any OPTION has a matching handler declared with
-+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-+# the unknown option and exit.
-+m4_defun([_LT_SET_OPTIONS],
-+[# Set options
-+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-+    [_LT_SET_OPTION([$1], _LT_Option)])
-+
-+m4_if([$1],[LT_INIT],[
-+  dnl
-+  dnl Simply set some default values (i.e off) if boolean options were not
-+  dnl specified:
-+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-+  ])
-+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-+  ])
-+  dnl
-+  dnl If no reference was made to various pairs of opposing options, then
-+  dnl we run the default mode handler for the pair.  For example, if neither
-+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
-+  dnl archives by default:
-+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-+                 [_LT_ENABLE_FAST_INSTALL])
-+  ])
-+])# _LT_SET_OPTIONS
-+
-+
-+
-+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-+# -----------------------------------------
-+m4_define([_LT_MANGLE_DEFUN],
-+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-+
-+
-+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-+# -----------------------------------------------
-+m4_define([LT_OPTION_DEFINE],
-+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-+])# LT_OPTION_DEFINE
-+
-+
-+# dlopen
-+# ------
-+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-+])
-+
-+AU_DEFUN([AC_LIBTOOL_DLOPEN],
-+[_LT_SET_OPTION([LT_INIT], [dlopen])
-+AC_DIAGNOSE([obsolete],
-+[$0: Remove this warning and the call to _LT_SET_OPTION when you
-+put the `dlopen' option into LT_INIT's first parameter.])
-+])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-+
-+
-+# win32-dll
-+# ---------
-+# Declare package support for building win32 dll's.
-+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-+[enable_win32_dll=yes
-+
-+case $host in
-+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-+  AC_CHECK_TOOL(AS, as, false)
-+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-+  ;;
-+esac
-+
-+test -z "$AS" && AS=as
-+_LT_DECL([], [AS],      [1], [Assembler program])dnl
-+
-+test -z "$DLLTOOL" && DLLTOOL=dlltool
-+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-+
-+test -z "$OBJDUMP" && OBJDUMP=objdump
-+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-+])# win32-dll
-+
-+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+_LT_SET_OPTION([LT_INIT], [win32-dll])
-+AC_DIAGNOSE([obsolete],
-+[$0: Remove this warning and the call to _LT_SET_OPTION when you
-+put the `win32-dll' option into LT_INIT's first parameter.])
-+])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-+
-+
-+# _LT_ENABLE_SHARED([DEFAULT])
-+# ----------------------------
-+# implement the --enable-shared flag, and supports the `shared' and
-+# `disable-shared' LT_INIT options.
-+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-+m4_define([_LT_ENABLE_SHARED],
-+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-+AC_ARG_ENABLE([shared],
-+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-+      [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-+    [p=${PACKAGE-default}
-+    case $enableval in
-+    yes) enable_shared=yes ;;
-+    no) enable_shared=no ;;
-+    *)
-+      enable_shared=no
-+      # Look at the argument we got.  We use all the common list separators.
-+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-+      for pkg in $enableval; do
-+      IFS="$lt_save_ifs"
-+      if test "X$pkg" = "X$p"; then
-+        enable_shared=yes
-+      fi
-+      done
-+      IFS="$lt_save_ifs"
-+      ;;
-+    esac],
-+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-+
-+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-+      [Whether or not to build shared libraries])
-+])# _LT_ENABLE_SHARED
-+
-+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-+
-+# Old names:
-+AC_DEFUN([AC_ENABLE_SHARED],
-+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-+])
-+
-+AC_DEFUN([AC_DISABLE_SHARED],
-+[_LT_SET_OPTION([LT_INIT], [disable-shared])
-+])
-+
-+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-+
-+
-+
-+# _LT_ENABLE_STATIC([DEFAULT])
-+# ----------------------------
-+# implement the --enable-static flag, and support the `static' and
-+# `disable-static' LT_INIT options.
-+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-+m4_define([_LT_ENABLE_STATIC],
-+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-+AC_ARG_ENABLE([static],
-+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-+      [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-+    [p=${PACKAGE-default}
-+    case $enableval in
-+    yes) enable_static=yes ;;
-+    no) enable_static=no ;;
-+    *)
-+     enable_static=no
-+      # Look at the argument we got.  We use all the common list separators.
-+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-+      for pkg in $enableval; do
-+      IFS="$lt_save_ifs"
-+      if test "X$pkg" = "X$p"; then
-+        enable_static=yes
-+      fi
-+      done
-+      IFS="$lt_save_ifs"
-+      ;;
-+    esac],
-+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-+
-+    _LT_DECL([build_old_libs], [enable_static], [0],
-+      [Whether or not to build static libraries])
-+])# _LT_ENABLE_STATIC
-+
-+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-+
-+# Old names:
-+AC_DEFUN([AC_ENABLE_STATIC],
-+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-+])
-+
-+AC_DEFUN([AC_DISABLE_STATIC],
-+[_LT_SET_OPTION([LT_INIT], [disable-static])
-+])
-+
-+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-+
-+
-+
-+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-+# ----------------------------------
-+# implement the --enable-fast-install flag, and support the `fast-install'
-+# and `disable-fast-install' LT_INIT options.
-+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-+m4_define([_LT_ENABLE_FAST_INSTALL],
-+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-+AC_ARG_ENABLE([fast-install],
-+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-+    [p=${PACKAGE-default}
-+    case $enableval in
-+    yes) enable_fast_install=yes ;;
-+    no) enable_fast_install=no ;;
-+    *)
-+      enable_fast_install=no
-+      # Look at the argument we got.  We use all the common list separators.
-+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-+      for pkg in $enableval; do
-+      IFS="$lt_save_ifs"
-+      if test "X$pkg" = "X$p"; then
-+        enable_fast_install=yes
-+      fi
-+      done
-+      IFS="$lt_save_ifs"
-+      ;;
-+    esac],
-+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-+
-+_LT_DECL([fast_install], [enable_fast_install], [0],
-+       [Whether or not to optimize for fast installation])dnl
-+])# _LT_ENABLE_FAST_INSTALL
-+
-+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-+
-+# Old names:
-+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-+AC_DIAGNOSE([obsolete],
-+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-+the `fast-install' option into LT_INIT's first parameter.])
-+])
-+
-+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-+AC_DIAGNOSE([obsolete],
-+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-+the `disable-fast-install' option into LT_INIT's first parameter.])
-+])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-+
-+
-+# _LT_WITH_PIC([MODE])
-+# --------------------
-+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-+# LT_INIT options.
-+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-+m4_define([_LT_WITH_PIC],
-+[AC_ARG_WITH([pic],
-+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
-+      [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-+    [lt_p=${PACKAGE-default}
-+    case $withval in
-+    yes|no) pic_mode=$withval ;;
-+    *)
-+      pic_mode=default
-+      # Look at the argument we got.  We use all the common list separators.
-+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-+      for lt_pkg in $withval; do
-+      IFS="$lt_save_ifs"
-+      if test "X$lt_pkg" = "X$lt_p"; then
-+        pic_mode=yes
-+      fi
-+      done
-+      IFS="$lt_save_ifs"
-+      ;;
-+    esac],
-+    [pic_mode=default])
-+
-+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-+
-+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-+])# _LT_WITH_PIC
-+
-+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-+
-+# Old name:
-+AU_DEFUN([AC_LIBTOOL_PICMODE],
-+[_LT_SET_OPTION([LT_INIT], [pic-only])
-+AC_DIAGNOSE([obsolete],
-+[$0: Remove this warning and the call to _LT_SET_OPTION when you
-+put the `pic-only' option into LT_INIT's first parameter.])
-+])
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-+
-+
-+m4_define([_LTDL_MODE], [])
-+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-+               [m4_define([_LTDL_MODE], [nonrecursive])])
-+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-+               [m4_define([_LTDL_MODE], [recursive])])
-+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-+               [m4_define([_LTDL_MODE], [subproject])])
-+
-+m4_define([_LTDL_TYPE], [])
-+LT_OPTION_DEFINE([LTDL_INIT], [installable],
-+               [m4_define([_LTDL_TYPE], [installable])])
-+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-+               [m4_define([_LTDL_TYPE], [convenience])])
-+
-+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-+#
-+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-+# Written by Gary V. Vaughan, 2004
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# serial 6 ltsugar.m4
-+
-+# This is to help aclocal find these macros, as it can't see m4_define.
-+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-+
-+
-+# lt_join(SEP, ARG1, [ARG2...])
-+# -----------------------------
-+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-+# associated separator.
-+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-+# versions in m4sugar had bugs.
-+m4_define([lt_join],
-+[m4_if([$#], [1], [],
-+       [$#], [2], [[$2]],
-+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-+m4_define([_lt_join],
-+[m4_if([$#$2], [2], [],
-+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-+
-+
-+# lt_car(LIST)
-+# lt_cdr(LIST)
-+# ------------
-+# Manipulate m4 lists.
-+# These macros are necessary as long as will still need to support
-+# Autoconf-2.59 which quotes differently.
-+m4_define([lt_car], [[$1]])
-+m4_define([lt_cdr],
-+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-+       [$#], 1, [],
-+       [m4_dquote(m4_shift($@))])])
-+m4_define([lt_unquote], $1)
-+
-+
-+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-+# ------------------------------------------
-+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-+# Note that neither SEPARATOR nor STRING are expanded; they are appended
-+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-+# than defined and empty).
-+#
-+# This macro is needed until we can rely on Autoconf 2.62, since earlier
-+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-+m4_define([lt_append],
-+[m4_define([$1],
-+         m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-+
-+
-+
-+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-+# ----------------------------------------------------------
-+# Produce a SEP delimited list of all paired combinations of elements of
-+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-+# has the form PREFIXmINFIXSUFFIXn.
-+# Needed until we can rely on m4_combine added in Autoconf 2.62.
-+m4_define([lt_combine],
-+[m4_if(m4_eval([$# > 3]), [1],
-+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-+[[m4_foreach([_Lt_prefix], [$2],
-+           [m4_foreach([_Lt_suffix],
-+              ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-+      [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-+
-+
-+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-+# -----------------------------------------------------------------------
-+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-+m4_define([lt_if_append_uniq],
-+[m4_ifdef([$1],
-+        [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-+               [lt_append([$1], [$2], [$3])$4],
-+               [$5])],
-+        [lt_append([$1], [$2], [$3])$4])])
-+
-+
-+# lt_dict_add(DICT, KEY, VALUE)
-+# -----------------------------
-+m4_define([lt_dict_add],
-+[m4_define([$1($2)], [$3])])
-+
-+
-+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-+# --------------------------------------------
-+m4_define([lt_dict_add_subkey],
-+[m4_define([$1($2:$3)], [$4])])
-+
-+
-+# lt_dict_fetch(DICT, KEY, [SUBKEY])
-+# ----------------------------------
-+m4_define([lt_dict_fetch],
-+[m4_ifval([$3],
-+      m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-+
-+
-+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-+# -----------------------------------------------------------------
-+m4_define([lt_if_dict_fetch],
-+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-+      [$5],
-+    [$6])])
-+
-+
-+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-+# --------------------------------------------------------------
-+m4_define([lt_dict_filter],
-+[m4_if([$5], [], [],
-+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-+                    [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-+])
-+
-+# ltversion.m4 -- version numbers                     -*- Autoconf -*-
-+#
-+#   Copyright (C) 2004 Free Software Foundation, Inc.
-+#   Written by Scott James Remnant, 2004
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# @configure_input@
-+
-+# serial 3337 ltversion.m4
-+# This file is part of GNU Libtool
-+
-+m4_define([LT_PACKAGE_VERSION], [2.4.2])
-+m4_define([LT_PACKAGE_REVISION], [1.3337])
-+
-+AC_DEFUN([LTVERSION_VERSION],
-+[macro_version='2.4.2'
-+macro_revision='1.3337'
-+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-+_LT_DECL(, macro_revision, 0)
-+])
-+
-+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-+#
-+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-+#   Written by Scott James Remnant, 2004.
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# serial 5 lt~obsolete.m4
-+
-+# These exist entirely to fool aclocal when bootstrapping libtool.
-+#
-+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-+# which have later been changed to m4_define as they aren't part of the
-+# exported API, or moved to Autoconf or Automake where they belong.
-+#
-+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-+# using a macro with the same name in our local m4/libtool.m4 it'll
-+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-+# and doesn't know about Autoconf macros at all.)
-+#
-+# So we provide this file, which has a silly filename so it's always
-+# included after everything else.  This provides aclocal with the
-+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-+# because those macros already exist, or will be overwritten later.
-+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-+#
-+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-+# Yes, that means every name once taken will need to remain here until
-+# we give up compatibility with versions before 1.7, at which point
-+# we need to keep only those names which we still refer to.
-+
-+# This is to help aclocal find these macros, as it can't see m4_define.
-+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-+
-+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-+m4_ifndef([AC_PROG_EGREP],            [AC_DEFUN([AC_PROG_EGREP])])
-+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],       [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-+m4_ifndef([_LT_AC_SHELL_INIT],                [AC_DEFUN([_LT_AC_SHELL_INIT])])
-+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],   [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-+m4_ifndef([_LT_PROG_LTMAIN],          [AC_DEFUN([_LT_PROG_LTMAIN])])
-+m4_ifndef([_LT_AC_TAGVAR],            [AC_DEFUN([_LT_AC_TAGVAR])])
-+m4_ifndef([AC_LTDL_ENABLE_INSTALL],   [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-+m4_ifndef([AC_LTDL_PREOPEN],          [AC_DEFUN([AC_LTDL_PREOPEN])])
-+m4_ifndef([_LT_AC_SYS_COMPILER],      [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-+m4_ifndef([_LT_AC_LOCK],              [AC_DEFUN([_LT_AC_LOCK])])
-+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],       [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],   [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],   [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-+m4_ifndef([AC_LIBTOOL_OBJDIR],                [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-+m4_ifndef([AC_LTDL_OBJDIR],           [AC_DEFUN([AC_LTDL_OBJDIR])])
-+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-+m4_ifndef([AC_PATH_MAGIC],            [AC_DEFUN([AC_PATH_MAGIC])])
-+m4_ifndef([AC_PROG_LD_GNU],           [AC_DEFUN([AC_PROG_LD_GNU])])
-+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],   [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],  [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],        [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],        [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-+m4_ifndef([LT_AC_PROG_EGREP],         [AC_DEFUN([LT_AC_PROG_EGREP])])
-+m4_ifndef([LT_AC_PROG_SED],           [AC_DEFUN([LT_AC_PROG_SED])])
-+m4_ifndef([_LT_CC_BASENAME],          [AC_DEFUN([_LT_CC_BASENAME])])
-+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-+m4_ifndef([_LT_LINKER_BOILERPLATE],   [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-+m4_ifndef([_AC_PROG_LIBTOOL],         [AC_DEFUN([_AC_PROG_LIBTOOL])])
-+m4_ifndef([AC_LIBTOOL_SETUP],         [AC_DEFUN([AC_LIBTOOL_SETUP])])
-+m4_ifndef([_LT_AC_CHECK_DLFCN],               [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],    [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-+m4_ifndef([_LT_AC_TAGCONFIG],         [AC_DEFUN([_LT_AC_TAGCONFIG])])
-+m4_ifndef([AC_DISABLE_FAST_INSTALL],  [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-+m4_ifndef([_LT_AC_LANG_CXX],          [AC_DEFUN([_LT_AC_LANG_CXX])])
-+m4_ifndef([_LT_AC_LANG_F77],          [AC_DEFUN([_LT_AC_LANG_F77])])
-+m4_ifndef([_LT_AC_LANG_GCJ],          [AC_DEFUN([_LT_AC_LANG_GCJ])])
-+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_C_CONFIG],     [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],   [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_F77_CONFIG],   [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],   [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_RC_CONFIG],    [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_CONFIG],                [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-+m4_ifndef([_LT_AC_FILE_LTDLL_C],      [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],       [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-+m4_ifndef([_LT_AC_PROG_CXXCPP],               [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],       [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],  [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-+m4_ifndef([_LT_PROG_F77],             [AC_DEFUN([_LT_PROG_F77])])
-+m4_ifndef([_LT_PROG_FC],              [AC_DEFUN([_LT_PROG_FC])])
-+m4_ifndef([_LT_PROG_CXX],             [AC_DEFUN([_LT_PROG_CXX])])
-+
 +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
 +# Foundation, Inc.
  #
@@ -28359,7 +20859,7 @@ Index: libffi/aclocal.m4
  # AM_AUTOMAKE_VERSION(VERSION)
  # ----------------------------
  # Automake X.Y traces this macro to ensure aclocal.m4 has been
-@@ -34,7 +9447,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+@@ -34,7 +926,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
  [am__api_version='1.11'
  dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
  dnl require some minimum version.  Point them to the right macro.
@@ -28368,7 +20868,7 @@ Index: libffi/aclocal.m4
        [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
  ])
  
-@@ -50,7 +9463,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+@@ -50,7 +942,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
  # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
  # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
@@ -28377,7 +20877,7 @@ Index: libffi/aclocal.m4
  m4_ifndef([AC_AUTOCONF_VERSION],
    [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
  _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-@@ -79,12 +9492,14 @@ _AM_IF_OPTION([no-dependencies],, [_AM_D
+@@ -79,12 +971,14 @@ _AM_IF_OPTION([no-dependencies],, [_AM_D
  
  # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
  
@@ -28393,7 +20893,7 @@ Index: libffi/aclocal.m4
  # 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/../..'.
-@@ -166,14 +9581,14 @@ AC_CONFIG_COMMANDS_PRE(
+@@ -166,14 +1060,14 @@ AC_CONFIG_COMMANDS_PRE(
  Usually this means the macro was only invoked conditionally.]])
  fi])])
  
@@ -28411,7 +20911,7 @@ Index: libffi/aclocal.m4
  
  # 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,
-@@ -213,6 +9628,7 @@ AC_CACHE_CHECK([dependency style of $dep
+@@ -213,6 +1107,7 @@ AC_CACHE_CHECK([dependency style of $dep
    # 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'.
@@ -28419,7 +20919,7 @@ Index: libffi/aclocal.m4
    mkdir conftest.dir
    # Copy depcomp to subdir because otherwise we won't find it if we're
    # using a relative directory.
-@@ -277,7 +9693,7 @@ AC_CACHE_CHECK([dependency style of $dep
+@@ -277,7 +1172,7 @@ AC_CACHE_CHECK([dependency style of $dep
        break
        fi
        ;;
@@ -28428,7 +20928,7 @@ Index: libffi/aclocal.m4
        # 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.
-@@ -342,10 +9758,13 @@ AC_DEFUN([AM_DEP_TRACK],
+@@ -342,10 +1237,13 @@ AC_DEFUN([AM_DEP_TRACK],
  if test "x$enable_dependency_tracking" != xno; then
    am_depcomp="$ac_aux_dir/depcomp"
    AMDEPBACKSLASH='\'
@@ -28442,7 +20942,7 @@ Index: libffi/aclocal.m4
  ])
  
  # Generate code to set up dependency tracking.              -*- Autoconf -*-
-@@ -567,12 +9986,15 @@ for _am_header in $config_headers :; do
+@@ -567,12 +1465,15 @@ for _am_header in $config_headers :; do
  done
  echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
  
@@ -28459,7 +20959,7 @@ Index: libffi/aclocal.m4
  # AM_PROG_INSTALL_SH
  # ------------------
  # Define $install_sh.
-@@ -588,11 +10010,32 @@ if test x"${install_sh}" != xset; then
+@@ -588,11 +1489,32 @@ if test x"${install_sh}" != xset; then
  fi
  AC_SUBST(install_sh)])
  
@@ -28494,7 +20994,7 @@ Index: libffi/aclocal.m4
  #
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
-@@ -612,7 +10055,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
+@@ -612,7 +1534,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
         [disable], [m4_define([am_maintainer_other], [enable])],
         [m4_define([am_maintainer_other], [enable])
          m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
@@ -28503,7 +21003,7 @@ Index: libffi/aclocal.m4
    dnl maintainer-mode's default is 'disable' unless 'enable' is passed
    AC_ARG_ENABLE([maintainer-mode],
  [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-@@ -758,12 +10201,15 @@ else
+@@ -758,12 +1680,15 @@ else
  fi
  ])
  
@@ -28520,7 +21020,7 @@ Index: libffi/aclocal.m4
  # AM_PROG_MKDIR_P
  # ---------------
  # Check for `mkdir -p'.
-@@ -786,13 +10232,14 @@ esac
+@@ -786,13 +1711,14 @@ esac
  
  # Helper functions for option handling.                     -*- Autoconf -*-
  
@@ -28537,7 +21037,7 @@ Index: libffi/aclocal.m4
  
  # _AM_MANGLE_OPTION(NAME)
  # -----------------------
-@@ -800,13 +10247,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
+@@ -800,13 +1726,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
  [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
  
  # _AM_SET_OPTION(NAME)
@@ -28553,7 +21053,7 @@ Index: libffi/aclocal.m4
  # OPTIONS is a space-separated list of Automake options.
  AC_DEFUN([_AM_SET_OPTIONS],
  [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-@@ -882,12 +10329,14 @@ Check your system clock])
+@@ -882,12 +1808,14 @@ Check your system clock])
  fi
  AC_MSG_RESULT(yes)])
  
@@ -28569,7 +21069,7 @@ Index: libffi/aclocal.m4
  # AM_PROG_INSTALL_STRIP
  # ---------------------
  # One issue with vendor `install' (even GNU) is that you can't
-@@ -910,13 +10359,13 @@ fi
+@@ -910,13 +1838,13 @@ fi
  INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
  AC_SUBST([INSTALL_STRIP_PROGRAM])])
  
@@ -28585,7 +21085,7 @@ Index: libffi/aclocal.m4
  
  # _AM_SUBST_NOTMAKE(VARIABLE)
  # ---------------------------
-@@ -925,13 +10374,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+@@ -925,13 +1853,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
  AC_DEFUN([_AM_SUBST_NOTMAKE])
  
  # AM_SUBST_NOTMAKE(VARIABLE)
@@ -28601,7 +21101,7 @@ Index: libffi/aclocal.m4
  #
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
-@@ -953,10 +10402,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
+@@ -953,10 +1881,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
  # a tarball read from stdin.
  #     $(am__untar) < result.tar
  AC_DEFUN([_AM_PROG_TAR],
@@ -28616,7 +21116,7 @@ Index: libffi/aclocal.m4
       [m4_case([$1], [ustar],, [pax],,
                [m4_fatal([Unknown tar format])])
  AC_MSG_CHECKING([how to create a $1 tar archive])
-@@ -1025,14 +10475,4 @@ AC_SUBST([am__tar])
+@@ -1025,14 +1954,18 @@ AC_SUBST([am__tar])
  AC_SUBST([am__untar])
  ]) # _AM_PROG_TAR
  
@@ -28630,6 +21130,20 @@ Index: libffi/aclocal.m4
 -m4_include([../ltsugar.m4])
 -m4_include([../ltversion.m4])
 -m4_include([../lt~obsolete.m4])
++m4_include([m4/asmcfi.m4])
++m4_include([m4/ax_cc_maxopt.m4])
++m4_include([m4/ax_cflags_warn_all.m4])
++m4_include([m4/ax_check_compile_flag.m4])
++m4_include([m4/ax_compiler_vendor.m4])
++m4_include([m4/ax_configure_args.m4])
++m4_include([m4/ax_enable_builddir.m4])
++m4_include([m4/ax_gcc_archflag.m4])
++m4_include([m4/ax_gcc_x86_cpuid.m4])
++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([acinclude.m4])
 Index: libffi/README
 ===================================================================
@@ -28661,3 +21175,80 @@ Index: libffi/README
  
  3.0.10 Aug-23-11
          Add support for Apple's iOS.
+Index: libffi/m4/ax_check_compile_flag.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_check_compile_flag.m4
+@@ -0,0 +1,72 @@
++# ===========================================================================
++#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
++#
++# DESCRIPTION
++#
++#   Check whether the given FLAG works with the current language's compiler
++#   or gives an error.  (Warnings, however, are ignored)
++#
++#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
++#   success/failure.
++#
++#   If EXTRA-FLAGS is defined, it is added to the current language's default
++#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
++#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
++#   force the compiler to issue an error when a bad flag is given.
++#
++#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
++#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 2
++
++AC_DEFUN([AX_CHECK_COMPILE_FLAG],
++[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
++  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
++  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
++  AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
++    [AS_VAR_SET(CACHEVAR,[yes])],
++    [AS_VAR_SET(CACHEVAR,[no])])
++  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
++AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
++  [m4_default([$2], :)],
++  [m4_default([$3], :)])
++AS_VAR_POPDEF([CACHEVAR])dnl
++])dnl AX_CHECK_COMPILE_FLAGS
index ec2b698..3721021 100644 (file)
@@ -121,7 +121,7 @@ Index: libffi/Makefile.in
  subdir = .
  DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-@@ -179,6 +180,7 @@ am_libffi_la_OBJECTS = src/prep_cif.lo s
+@@ -190,6 +191,7 @@ am_libffi_la_OBJECTS = src/prep_cif.lo s
  @SH64_TRUE@am__objects_27 = src/sh64/sysv.lo src/sh64/ffi.lo
  @PA_LINUX_TRUE@am__objects_28 = src/pa/linux.lo src/pa/ffi.lo
  @PA_HPUX_TRUE@am__objects_29 = src/pa/hpux32.lo src/pa/ffi.lo
@@ -129,7 +129,7 @@ Index: libffi/Makefile.in
  nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
        $(am__objects_3) $(am__objects_4) $(am__objects_5) \
        $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-@@ -188,17 +190,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
+@@ -199,17 +201,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
        $(am__objects_18) $(am__objects_19) $(am__objects_20) \
        $(am__objects_21) $(am__objects_22) $(am__objects_23) \
        $(am__objects_24) $(am__objects_25) $(am__objects_26) \
@@ -152,7 +152,7 @@ Index: libffi/Makefile.in
        $(am__objects_4) $(am__objects_5) $(am__objects_6) \
        $(am__objects_7) $(am__objects_8) $(am__objects_9) \
        $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-@@ -207,8 +210,8 @@ am__objects_31 = $(am__objects_1) $(am__
+@@ -218,8 +221,8 @@ am__objects_31 = $(am__objects_1) $(am__
        $(am__objects_19) $(am__objects_20) $(am__objects_21) \
        $(am__objects_22) $(am__objects_23) $(am__objects_24) \
        $(am__objects_25) $(am__objects_26) $(am__objects_27) \
@@ -163,7 +163,7 @@ Index: libffi/Makefile.in
  libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
        $(nodist_libffi_convenience_la_OBJECTS)
  DEFAULT_INCLUDES = -I.@am__isrc@
-@@ -439,39 +442,39 @@ top_builddir = @top_builddir@
+@@ -452,39 +455,39 @@ top_builddir = @top_builddir@
  top_srcdir = @top_srcdir@
  AUTOMAKE_OPTIONS = foreign subdir-objects
  SUBDIRS = include testsuite man
@@ -236,7 +236,7 @@ Index: libffi/Makefile.in
  
  info_TEXINFOS = doc/libffi.texi
  
-@@ -531,10 +534,11 @@ nodist_libffi_la_SOURCES = $(am__append_
+@@ -544,10 +547,11 @@ nodist_libffi_la_SOURCES = $(am__append_
        $(am__append_18) $(am__append_19) $(am__append_20) \
        $(am__append_21) $(am__append_22) $(am__append_23) \
        $(am__append_24) $(am__append_25) $(am__append_26) \
@@ -250,7 +250,7 @@ Index: libffi/Makefile.in
  libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
  AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src -DFFI_BUILDING
  AM_CCASFLAGS = $(AM_CPPFLAGS) -g
-@@ -863,6 +867,16 @@ src/pa/linux.lo: src/pa/$(am__dirstamp)
+@@ -876,6 +880,16 @@ src/pa/linux.lo: src/pa/$(am__dirstamp)
  src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
  src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
        src/pa/$(DEPDIR)/$(am__dirstamp)
@@ -267,7 +267,7 @@ Index: libffi/Makefile.in
  libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES) 
        $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
  libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES) 
-@@ -972,6 +986,10 @@ mostlyclean-compile:
+@@ -985,6 +999,10 @@ mostlyclean-compile:
        -rm -f src/sparc/v8.lo
        -rm -f src/sparc/v9.$(OBJEXT)
        -rm -f src/sparc/v9.lo
@@ -278,7 +278,7 @@ Index: libffi/Makefile.in
        -rm -f src/types.$(OBJEXT)
        -rm -f src/types.lo
        -rm -f src/x86/darwin.$(OBJEXT)
-@@ -1048,6 +1066,8 @@ distclean-compile:
+@@ -1061,6 +1079,8 @@ distclean-compile:
  @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
@@ -287,7 +287,7 @@ Index: libffi/Makefile.in
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@@ -1129,6 +1149,7 @@ clean-libtool:
+@@ -1142,6 +1162,7 @@ clean-libtool:
        -rm -rf src/sh/.libs src/sh/_libs
        -rm -rf src/sh64/.libs src/sh64/_libs
        -rm -rf src/sparc/.libs src/sparc/_libs
@@ -295,7 +295,7 @@ Index: libffi/Makefile.in
        -rm -rf src/x86/.libs src/x86/_libs
  
  distclean-libtool:
-@@ -1714,6 +1735,8 @@ distclean-generic:
+@@ -1727,6 +1748,8 @@ distclean-generic:
        -rm -f src/sh64/$(am__dirstamp)
        -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/sparc/$(am__dirstamp)
@@ -304,7 +304,7 @@ Index: libffi/Makefile.in
        -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/x86/$(am__dirstamp)
  
-@@ -1727,7 +1750,7 @@ clean-am: clean-aminfo clean-generic cle
+@@ -1740,7 +1763,7 @@ clean-am: clean-aminfo clean-generic cle
  
  distclean: distclean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -313,7 +313,7 @@ Index: libffi/Makefile.in
        -rm -f Makefile
  distclean-am: clean-am distclean-compile distclean-generic \
        distclean-hdr distclean-libtool distclean-tags
-@@ -1862,7 +1885,7 @@ installcheck-am:
+@@ -1875,7 +1898,7 @@ installcheck-am:
  maintainer-clean: maintainer-clean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
        -rm -rf $(top_srcdir)/autom4te.cache
@@ -335,7 +335,7 @@ Index: libffi/configure
  PA64_HPUX_FALSE
  PA64_HPUX_TRUE
  PA_HPUX_FALSE
-@@ -12239,6 +12241,10 @@ case "$host" in
+@@ -13293,6 +13295,10 @@ case "$host" in
        TARGET=SPARC; TARGETDIR=sparc
        ;;
  
@@ -346,7 +346,7 @@ Index: libffi/configure
    x86_64-*-darwin*)
        TARGET=X86_DARWIN; TARGETDIR=x86
        ;;
-@@ -12492,6 +12498,14 @@ else
+@@ -13546,6 +13552,14 @@ else
    PA64_HPUX_FALSE=
  fi
  
@@ -361,7 +361,7 @@ Index: libffi/configure
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
  $as_echo_n "checking for ANSI C header files... " >&6; }
-@@ -13803,6 +13817,10 @@ if test -z "${PA64_HPUX_TRUE}" && test -
+@@ -14890,6 +14904,10 @@ if test -z "${PA64_HPUX_TRUE}" && test -
    as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
index 3ae3d6e..e4f6f43 100644 (file)
@@ -30,7 +30,7 @@ Index: libffi/Makefile.in
 ===================================================================
 --- libffi.orig/Makefile.in
 +++ libffi/Makefile.in
-@@ -466,6 +466,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+@@ -479,6 +479,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
        m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
        m4/ltversion.m4 src/arm/gentramp.sh src/debug.c \
        msvcc.sh generate-ios-source-and-headers.py \
index 3c4944c..dff858b 100644 (file)
@@ -34,7 +34,7 @@ Index: libffi/configure
  PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
  PACKAGE_URL=''
  
-@@ -1371,7 +1371,7 @@ if test "$ac_init_help" = "long"; then
+@@ -1376,7 +1376,7 @@ 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
@@ -43,7 +43,7 @@ Index: libffi/configure
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
-@@ -1442,7 +1442,7 @@ fi
+@@ -1447,7 +1447,7 @@ fi
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
@@ -52,7 +52,7 @@ Index: libffi/configure
     esac
    cat <<\_ACEOF
  
-@@ -1551,7 +1551,7 @@ fi
+@@ -1563,7 +1563,7 @@ fi
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
@@ -61,7 +61,7 @@ Index: libffi/configure
  generated by GNU Autoconf 2.68
  
  Copyright (C) 2010 Free Software Foundation, Inc.
-@@ -2152,7 +2152,7 @@ cat >config.log <<_ACEOF
+@@ -2164,7 +2164,7 @@ cat >config.log <<_ACEOF
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
@@ -70,7 +70,7 @@ Index: libffi/configure
  generated by GNU Autoconf 2.68.  Invocation command line was
  
    $ $0 $@
-@@ -3087,7 +3087,7 @@ fi
+@@ -3198,7 +3198,7 @@ fi
  
  # Define the identity of the package.
   PACKAGE='libffi'
@@ -79,7 +79,7 @@ Index: libffi/configure
  
  
  cat >>confdefs.h <<_ACEOF
-@@ -14210,7 +14210,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
+@@ -15297,7 +15297,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
@@ -88,7 +88,7 @@ Index: libffi/configure
  generated by GNU Autoconf 2.68.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
-@@ -14280,7 +14280,7 @@ _ACEOF
+@@ -15367,7 +15367,7 @@ _ACEOF
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
  ac_cs_version="\\
index 40ec66f..dc844a6 100644 (file)
@@ -37,7 +37,7 @@ Index: libffi/configure
 ===================================================================
 --- libffi.orig/configure
 +++ libffi/configure
-@@ -6739,7 +6739,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+@@ -6844,7 +6844,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
index be8100d..7d6070b 100644 (file)
@@ -645,7 +645,7 @@ Index: libffi/Makefile.in
 ===================================================================
 --- libffi.orig/Makefile.in
 +++ libffi/Makefile.in
-@@ -463,9 +463,11 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+@@ -476,9 +476,11 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
        src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
        src/moxie/ffi.c src/moxie/eabi.S libtool-version \
        ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
index 438a6df..44ca9c2 100644 (file)
@@ -54,7 +54,18 @@ target_triplet = @target@
 subdir = testsuite
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
+       $(top_srcdir)/m4/ax_cc_maxopt.m4 \
+       $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
+       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+       $(top_srcdir)/m4/ax_compiler_vendor.m4 \
+       $(top_srcdir)/m4/ax_configure_args.m4 \
+       $(top_srcdir)/m4/ax_enable_builddir.m4 \
+       $(top_srcdir)/m4/ax_gcc_archflag.m4 \
+       $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+       $(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)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
@@ -136,6 +147,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PRTDIAG = @PRTDIAG@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -156,6 +168,7 @@ am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
+ax_enable_builddir_sed = @ax_enable_builddir_sed@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@