Patching libffi so it can be built as DLL
authorClemens Fruhwirth <clemens@endorphin.org>
Tue, 14 Oct 2008 10:34:59 +0000 (10:34 +0000)
committerClemens Fruhwirth <clemens@endorphin.org>
Tue, 14 Oct 2008 10:34:59 +0000 (10:34 +0000)
libffi-dllize-3.0.6.patch should be pushed upstream

libffi/Makefile
libffi/libffi-autotools-update.patch [new file with mode: 0644]
libffi/libffi-dllize-3.0.6.patch [new file with mode: 0644]

index 3f674c4..f8651ac 100644 (file)
@@ -73,17 +73,17 @@ INSTALL_LIBS += libHSffi.a HSffi.o
 # We have to add the GHC version to the name of our dynamic libs, because
 # they will be residing in the system location along with dynamic libs from
 # other GHC installations.
+
+HS_DYN_LIB_NAME=libHSffi-ghc$(ProjectVersion)$(soext)
+
 ifeq "$(Windows)" "YES"
-DYNAMIC_PROG = libffi.dll.a
-DYNAMIC_LIBS = libffi-3.dll
-RENAME_LIBS  =
+DYNAMIC_PROG = $(HS_DYN_LIB_NAME).a
+DYNAMIC_LIBS = $(HS_DYN_LIB_NAME)
 else
 DYNAMIC_PROG =
 DYNAMIC_LIBS = libffi.so libffi.so.5 libffi.so.5.0.5
 endif
 
-HS_DYN_LIB_NAME=libHSffi-ghc$(ProjectVersion)$(soext)
-
 ifeq "$(BuildSharedLibs)" "YES"
 EnableShared=yes
 else
@@ -109,6 +109,11 @@ $(STAMP_CONFIGURE):
        $(TAR) -zxf $(LIBFFI_TARBALL)
        mv $(LIBFFI_DIR) build
        chmod +x ln
+       patch -p0 < libffi-dllize-3.0.6.patch
+
+       # This patch is just the resulting delta from running automake, autoreconf, libtoolize --force --copy
+       patch -p0 < libffi-autotools-update.patch
+
        (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \
            PATH=`pwd`:$$PATH; \
            export PATH; \
@@ -123,6 +128,11 @@ $(STAMP_CONFIGURE):
        # soname, but we don't need that anyway!
        $(CP) build/libtool build/libtool.orig
        sed -e s/soname_spec=.*/soname_spec="$(HS_DYN_LIB_NAME)"/ build/libtool.orig > build/libtool
+
+       # We don't want libtool's cygwin hacks
+       $(CP) build/libtool build/libtool.orig
+       sed -e s/dlname=\'\$$tdlname\'/dlname=\'\$$dlname\'/ build/libtool.orig > build/libtool
+
        touch $@
 
 ffi.h: $(STAMP_CONFIGURE)
@@ -133,7 +143,7 @@ $(STAMP_BUILD): $(STAMP_CONFIGURE)
        (cd build; ./libtool --mode=install cp libffi.la $(FPTOOLS_TOP_ABS)/libffi)
        touch $@
 
-$(STATIC_LIB) $(DYNAMIC_LIBS) $(DYNAMIC_PROG): $(STAMP_BUILD)
+$(STATIC_LIB) $(DYNAMIC_LIBS): $(STAMP_BUILD)
 
 libHSffi.a libHSffi_p.a: $(STATIC_LIB)
        $(CP) $(STATIC_LIB) $@
@@ -152,15 +162,27 @@ HSffi.o: libHSffi.a
 all :: HSffi.o
 
 ifeq "$(BuildSharedLibs)" "YES"
+ifeq "$(Windows)" "YES"
+# Windows libtool creates <soname>.dll, and as we already patched that
+# there is no need to copy from libffi.dll to libHSffi...dll.
+# However, the renaming is still required for the import library
+# libffi.dll.a.
+$(HS_DYN_LIB_NAME).a: $(STAMP_BUILD)
+       $(CP) libffi.dll.a $(HS_DYN_LIB_NAME).a
+all :: $(HS_DYN_LIB_NAME).a
+
+else
+# Rename libffi.so to libHSffi...so
 $(HS_DYN_LIB_NAME): $(DYNAMIC_LIBS)
        $(CP) $(word 1,$(DYNAMIC_LIBS)) $(HS_DYN_LIB_NAME)
 
 all :: $(HS_DYN_LIB_NAME)
 endif
+endif
 
 clean distclean maintainer-clean ::
        $(RM) -f stamp.ffi.* ffi.h empty.c
-       $(RM) -f libffi.a libffi.la $(DYNAMIC_PROG) $(DYNAMIC_LIBS) $(ORIG_DYNAMIC_LIBS)
+       $(RM) -f libffi.a libffi.la $(DYNAMIC_PROG) $(DYNAMIC_LIBS) $(HS_DYN_LIB_NAME) $(HS_DYN_LIB_NAME).a
        $(RM) -rf build
 
 #-----------------------------------------------------------------------------
diff --git a/libffi/libffi-autotools-update.patch b/libffi/libffi-autotools-update.patch
new file mode 100644 (file)
index 0000000..9f8a1e7
--- /dev/null
@@ -0,0 +1,2564 @@
+--- libffi-3.0.6/configure     2008-07-17 15:07:39.000000000 +0200
++++ build/configure    2008-10-14 09:55:37.000000000 +0200
+@@ -860,6 +860,8 @@
+ CCASDEPMODE
+ am__fastdepCCAS_TRUE
+ am__fastdepCCAS_FALSE
++LIBFFI_DLL
++LIBFFI_LDFLAGS
+ SED
+ GREP
+ EGREP
+@@ -867,6 +869,11 @@
+ ECHO
+ AR
+ RANLIB
++DSYMUTIL
++NMEDIT
++DLLTOOL
++AS
++OBJDUMP
+ CPP
+ CXX
+ CXXFLAGS
+@@ -3965,6 +3972,22 @@
+ fi
++
++
++
++LIBFFI_DLL=0
++
++
++case $host in
++  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
++    if test "$enable_shared" = yes; then
++      LIBFFI_LDFLAGS="-no-undefined -Wl,--export-all-symbols"
++      LIBFFI_DLL=1
++    fi
++    ;;
++esac
++
++
+ # Check whether --enable-shared was given.
+ if test "${enable_shared+set}" = set; then
+   enableval=$enable_shared; p=${PACKAGE-default}
+@@ -4474,7 +4497,7 @@
+ # whether `pass_all' will *always* work, you probably want this one.
+ case $host_os in
+-aix4* | aix5*)
++aix[4-9]*)
+   lt_cv_deplibs_check_method=pass_all
+   ;;
+@@ -4690,7 +4713,7 @@
+   ;;
+ *-*-irix6*)
+   # Find out which ABI we are using.
+-  echo '#line 4693 "configure"' > conftest.$ac_ext
++  echo '#line 4716 "configure"' > conftest.$ac_ext
+   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+@@ -4755,7 +4778,6 @@
+       esac
+       ;;
+     *64-bit*)
+-      libsuff=64
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+@@ -4863,7 +4885,11 @@
+     *64-bit*)
+       case $lt_cv_prog_gnu_ld in
+       yes*) LD="${LD-ld} -m elf64_sparc" ;;
+-      *)    LD="${LD-ld} -64" ;;
++      *)
++        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++        LD="${LD-ld} -64"
++      fi
++      ;;
+       esac
+       ;;
+     esac
+@@ -4871,6 +4897,296 @@
+   rm -rf conftest*
+   ;;
++*-*-cygwin* | *-*-mingw* | *-*-pw32*)
++  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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$DLLTOOL"; then
++  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { 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"
++    echo "$as_me:$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
++  { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
++echo "${ECHO_T}$DLLTOOL" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++  ac_ct_DLLTOOL=$DLLTOOL
++  # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_DLLTOOL"; then
++  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { 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_DLLTOOL="dlltool"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++  { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
++echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++  if test "x$ac_ct_DLLTOOL" = x; then
++    DLLTOOL="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++    DLLTOOL=$ac_ct_DLLTOOL
++  fi
++else
++  DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
++set dummy ${ac_tool_prefix}as; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AS+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$AS"; then
++  ac_cv_prog_AS="$AS" # 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_AS="${ac_tool_prefix}as"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AS=$ac_cv_prog_AS
++if test -n "$AS"; then
++  { echo "$as_me:$LINENO: result: $AS" >&5
++echo "${ECHO_T}$AS" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AS"; then
++  ac_ct_AS=$AS
++  # Extract the first word of "as", so it can be a program name with args.
++set dummy as; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_AS"; then
++  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_AS="as"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AS=$ac_cv_prog_ac_ct_AS
++if test -n "$ac_ct_AS"; then
++  { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
++echo "${ECHO_T}$ac_ct_AS" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++  if test "x$ac_ct_AS" = x; then
++    AS="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++    AS=$ac_ct_AS
++  fi
++else
++  AS="$ac_cv_prog_AS"
++fi
++
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
++set dummy ${ac_tool_prefix}objdump; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OBJDUMP+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$OBJDUMP"; then
++  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OBJDUMP=$ac_cv_prog_OBJDUMP
++if test -n "$OBJDUMP"; then
++  { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
++echo "${ECHO_T}$OBJDUMP" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OBJDUMP"; then
++  ac_ct_OBJDUMP=$OBJDUMP
++  # Extract the first word of "objdump", so it can be a program name with args.
++set dummy objdump; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_OBJDUMP"; then
++  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_OBJDUMP="objdump"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
++if test -n "$ac_ct_OBJDUMP"; then
++  { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
++echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++  if test "x$ac_ct_OBJDUMP" = x; then
++    OBJDUMP="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++    OBJDUMP=$ac_ct_OBJDUMP
++  fi
++else
++  OBJDUMP="$ac_cv_prog_OBJDUMP"
++fi
++
++  ;;
+ esac
+@@ -6465,7 +6781,6 @@
+ # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+-
+ # find the maximum length of command line arguments
+ { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+ echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
+@@ -6780,7 +7095,7 @@
+     echo "$progname: failed program was:" >&5
+     cat conftest.$ac_ext >&5
+   fi
+-  rm -f conftest* conftst*
++  rm -rf conftest* conftst*
+   # Do not use the global_symbol_pipe unless it works.
+   if test "$pipe_works" = yes; then
+@@ -7309,39 +7624,351 @@
+ *** may want to report the problem to your system manager and/or to
+ *** bug-libtool@gnu.org
+-EOF
+-        fi ;;
+-      esac
+-      fi
+-      break
+-    fi
+-  done
+-  IFS="$lt_save_ifs"
+-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+-  ;;
+-esac
++EOF
++        fi ;;
++      esac
++      fi
++      break
++    fi
++  done
++  IFS="$lt_save_ifs"
++  MAGIC_CMD="$lt_save_MAGIC_CMD"
++  ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++  else
++    MAGIC_CMD=:
++  fi
++fi
++
++  fi
++  ;;
++esac
++
++
++  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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&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"
++    echo "$as_me:$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
++  { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++echo "${ECHO_T}$DSYMUTIL" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&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"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++  { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++  if test "x$ac_ct_DSYMUTIL" = x; then
++    DSYMUTIL=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$NMEDIT"; then
++  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++  { echo "$as_me:$LINENO: result: $NMEDIT" >&5
++echo "${ECHO_T}$NMEDIT" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
+ fi
++if test -z "$ac_cv_prog_NMEDIT"; then
++  ac_ct_NMEDIT=$NMEDIT
++  # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_NMEDIT"; then
++  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_NMEDIT="nmedit"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
+-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+-if test -n "$MAGIC_CMD"; then
+-  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+-echo "${ECHO_T}$MAGIC_CMD" >&6; }
++fi
++fi
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++  { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
+ else
+   { echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6; }
+ fi
++  if test "x$ac_ct_NMEDIT" = x; then
++    NMEDIT=":"
+   else
+-    MAGIC_CMD=:
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet.  If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++    NMEDIT=$ac_ct_NMEDIT
+   fi
++else
++  NMEDIT="$ac_cv_prog_NMEDIT"
+ fi
+-  fi
+-  ;;
++
++    { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_apple_cc_single_mod=no
++      if test -z "${LT_MULTI_MODULE}"; then
++   # By default we will add the -single_module flag. You can override
++   # by either setting the environment variable LT_MULTI_MODULE
++   # non-empty at configure time, or by adding -multi_module to the
++   # link flags.
++   echo "int foo(void){return 1;}" > conftest.c
++   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++     -dynamiclib ${wl}-single_module conftest.c
++   if test -f libconftest.dylib; then
++     lt_cv_apple_cc_single_mod=yes
++     rm -rf libconftest.dylib*
++   fi
++   rm conftest.c
++      fi
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
++    { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_ld_exported_symbols_list=no
++      save_LDFLAGS=$LDFLAGS
++      echo "_main" > conftest.sym
++      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
+ esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++       } && test -s conftest$ac_exeext &&
++       $as_test_x conftest$ac_exeext; then
++  lt_cv_ld_exported_symbols_list=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++      lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++   LDFLAGS="$save_LDFLAGS"
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
++    case $host_os in
++    rhapsody* | darwin1.[0123])
++      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++    darwin1.*)
++     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++    darwin*)
++      # 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" != ":"; then
++      _lt_dsymutil="~$DSYMUTIL \$lib || :"
++    else
++      _lt_dsymutil=
++    fi
++    ;;
++  esac
++
+ enable_dlopen=no
+-enable_win32_dll=no
++enable_win32_dll=yes
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then
+@@ -7360,6 +7987,67 @@
+ test -z "$pic_mode" && pic_mode=default
++# Check if we have a version mismatch between libtool.m4 and ltmain.sh.
++#
++# Note:  This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined.
++#        We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually
++#        calls AC_LIBTOOL_CONFIG and creates libtool.
++#
++{ echo "$as_me:$LINENO: checking for correct ltmain.sh version" >&5
++echo $ECHO_N "checking for correct ltmain.sh version... $ECHO_C" >&6; }
++if test "x$ltmain" = "x" ; then
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++  { { echo "$as_me:$LINENO: error:
++
++*** [Gentoo] sanity check failed! ***
++*** \$ltmain is not defined, please check the patch for consistency! ***
++" >&5
++echo "$as_me: error:
++
++*** [Gentoo] sanity check failed! ***
++*** \$ltmain is not defined, please check the patch for consistency! ***
++" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++gentoo_lt_version="1.5.26"
++gentoo_ltmain_version=`sed -n '/^[    ]*VERSION=/{s/^[        ]*VERSION=//;p;q;}' "$ltmain"`
++if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++  { { echo "$as_me:$LINENO: error:
++
++*** [Gentoo] sanity check failed! ***
++*** libtool.m4 and ltmain.sh have a version mismatch! ***
++*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) ***
++
++Please run:
++
++  libtoolize --copy --force
++
++if appropriate, please contact the maintainer of this
++package (or your distribution) for help.
++" >&5
++echo "$as_me: error:
++
++*** [Gentoo] sanity check failed! ***
++*** libtool.m4 and ltmain.sh have a version mismatch! ***
++*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) ***
++
++Please run:
++
++  libtoolize --copy --force
++
++if appropriate, please contact the maintainer of this
++package (or your distribution) for help.
++" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++fi
++
++
+ # Use C for the default configuration in the libtool script
+ tagname=
+ lt_save_CC="$CC"
+@@ -7405,7 +8093,7 @@
+ echo "$lt_simple_link_test_code" >conftest.$ac_ext
+ eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+ _lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++$rm -r conftest*
+@@ -7433,11 +8121,11 @@
+    -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:7436: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8124: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:7440: \$? = $ac_status" >&5
++   echo "$as_me:8128: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+@@ -7707,10 +8395,10 @@
+ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+ echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_pic_works+set}" = set; then
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_pic_works=no
++  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+    lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+@@ -7723,27 +8411,27 @@
+    -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:7726: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8414: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:7730: \$? = $ac_status" >&5
++   echo "$as_me:8418: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+-       lt_prog_compiler_pic_works=yes
++       lt_cv_prog_compiler_pic_works=yes
+      fi
+    fi
+    $rm conftest*
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
+-if test x"$lt_prog_compiler_pic_works" = xyes; then
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+     case $lt_prog_compiler_pic in
+      "" | " "*) ;;
+      *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+@@ -7770,10 +8458,10 @@
+ wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+ { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+ echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_static_works+set}" = set; then
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_static_works=no
++  lt_cv_prog_compiler_static_works=no
+    save_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+    echo "$lt_simple_link_test_code" > conftest.$ac_ext
+@@ -7786,20 +8474,20 @@
+        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+        if diff conftest.exp conftest.er2 >/dev/null; then
+-         lt_prog_compiler_static_works=yes
++         lt_cv_prog_compiler_static_works=yes
+        fi
+      else
+-       lt_prog_compiler_static_works=yes
++       lt_cv_prog_compiler_static_works=yes
+      fi
+    fi
+-   $rm conftest*
++   $rm -r conftest*
+    LDFLAGS="$save_LDFLAGS"
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
+-if test x"$lt_prog_compiler_static_works" = xyes; then
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+     :
+ else
+     lt_prog_compiler_static=
+@@ -7827,11 +8515,11 @@
+    -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:7830: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8518: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:7834: \$? = $ac_status" >&5
++   echo "$as_me:8522: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -7911,12 +8599,13 @@
+   # it will be wrapped by ` (' and `)$', so one must not match beginning or
+   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+   # as well as any symbol that contains `d'.
+-  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
++  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+   # platforms (ab)use it in PIC code, but their linkers get confused if
+   # the symbol is explicitly referenced.  Since portable code cannot
+   # rely on this symbol name, it's probably fine to never include it in
+   # preloaded symbol tables.
++  # Exclude shared library initialization/finalization symbols.
+   extract_expsyms_cmds=
+   # Just being paranoid about ensuring that cc_basename is set.
+   for cc_temp in $compiler""; do
+@@ -7975,7 +8664,7 @@
+     # See if GNU ld supports shared libraries.
+     case $host_os in
+-    aix3* | aix4* | aix5*)
++    aix[3-9]*)
+       # On AIX/PPC, the GNU linker is very broken
+       if test "$host_cpu" != ia64; then
+       ld_shlibs=no
+@@ -8194,7 +8883,7 @@
+       fi
+       ;;
+-    aix4* | aix5*)
++    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.
+@@ -8214,7 +8903,7 @@
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+-      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
++      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
+@@ -8486,11 +9175,10 @@
+       link_all_deplibs=yes
+     if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+-        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+-      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+-      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+-      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
++        archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++        module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++        archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++        module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+     else
+       case $cc_basename in
+         xlc*)
+@@ -9010,7 +9698,7 @@
+   soname_spec='${libname}${release}${shared_ext}$major'
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -9178,7 +9866,14 @@
+     *) objformat=elf ;;
+     esac
+   fi
+-  version_type=freebsd-$objformat
++  # Handle Gentoo/FreeBSD as it was Linux
++  case $host_vendor in
++    gentoo)
++      version_type=linux ;;
++    *)
++      version_type=freebsd-$objformat ;;
++  esac
++
+   case $version_type in
+     freebsd-elf*)
+       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+@@ -9189,6 +9884,12 @@
+       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+       need_version=yes
+       ;;
++    linux)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++      soname_spec='${libname}${release}${shared_ext}$major'
++      need_lib_prefix=no
++      need_version=no
++      ;;
+   esac
+   shlibpath_var=LD_LIBRARY_PATH
+   case $host_os in
+@@ -9335,13 +10036,11 @@
+   # Some rework will be needed to allow for fast_install
+   # before this can be enabled.
+   hardcode_into_libs=yes
+-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[    ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    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
+@@ -9534,6 +10233,21 @@
+ echo "${ECHO_T}$dynamic_linker" >&6; }
+ test "$dynamic_linker" = no && can_build_shared=no
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
++fi
++
++sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
++fi
++
++sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++
+ 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"
+@@ -9853,7 +10567,7 @@
+ { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+ echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
+ if test $ac_cv_lib_dld_shl_load = yes; then
+-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
++  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+ else
+   { echo "$as_me:$LINENO: checking for dlopen" >&5
+ echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+@@ -10129,7 +10843,7 @@
+ { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+ echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
+ if test $ac_cv_lib_dld_dld_link = yes; then
+-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
++  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+ fi
+@@ -10178,7 +10892,7 @@
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<EOF
+-#line 10181 "configure"
++#line 10895 "configure"
+ #include "confdefs.h"
+ #if HAVE_DLFCN_H
+@@ -10278,7 +10992,7 @@
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<EOF
+-#line 10281 "configure"
++#line 10995 "configure"
+ #include "confdefs.h"
+ #if HAVE_DLFCN_H
+@@ -10405,7 +11119,7 @@
+   fi
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+     test "$enable_shared" = yes && enable_static=no
+   fi
+@@ -10461,6 +11175,7 @@
+     predeps \
+     postdeps \
+     compiler_lib_search_path \
++    compiler_lib_search_dirs \
+     archive_cmds \
+     archive_expsym_cmds \
+     postinstall_cmds \
+@@ -10521,7 +11236,7 @@
+ # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ # Free Software Foundation, Inc.
+ #
+ # This file is part of GNU Libtool:
+@@ -10757,6 +11472,10 @@
+ # shared library.
+ postdeps=$lt_postdeps
++# The directories searched by this compiler when creating a shared
++# library
++compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
++
+ # The library search path used internally by the compiler when linking
+ # a shared library.
+ compiler_lib_search_path=$lt_compiler_lib_search_path
+@@ -11005,6 +11724,7 @@
+ predeps_CXX=
+ postdeps_CXX=
+ compiler_lib_search_path_CXX=
++compiler_lib_search_dirs_CXX=
+ # Source file extension for C++ test sources.
+ ac_ext=cpp
+@@ -11042,7 +11762,7 @@
+ echo "$lt_simple_link_test_code" >conftest.$ac_ext
+ eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+ _lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++$rm -r conftest*
+ # Allow CC to be a program name with arguments.
+@@ -11249,7 +11969,7 @@
+     # FIXME: insert proper C++ library support
+     ld_shlibs_CXX=no
+     ;;
+-  aix4* | aix5*)
++  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.
+@@ -11262,7 +11982,7 @@
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+-      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
++      case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+       for ld_flag in $LDFLAGS; do
+         case $ld_flag in
+         *-brtl*)
+@@ -11520,51 +12240,23 @@
+     fi
+   ;;
+       darwin* | rhapsody*)
+-        case $host_os in
+-        rhapsody* | darwin1.[012])
+-         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+-         ;;
+-       *) # Darwin 1.3 on
+-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+-           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+-         else
+-           case ${MACOSX_DEPLOYMENT_TARGET} in
+-             10.[012])
+-               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+-               ;;
+-             10.*)
+-               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+-               ;;
+-           esac
+-         fi
+-         ;;
+-        esac
+       archive_cmds_need_lc_CXX=no
+       hardcode_direct_CXX=no
+       hardcode_automatic_CXX=yes
+       hardcode_shlibpath_var_CXX=unsupported
+       whole_archive_flag_spec_CXX=''
+       link_all_deplibs_CXX=yes
+-
+-    if test "$GXX" = yes ; then
+-      lt_int_apple_cc_single_mod=no
++      allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
++      if test "$GXX" = yes ; then
+       output_verbose_link_cmd='echo'
+-      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+-       lt_int_apple_cc_single_mod=yes
++      archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++      module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++      module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
++        archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
++        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+       fi
+-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+-       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+-      else
+-          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+-        fi
+-        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+-          else
+-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+-          fi
+-            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+       else
+       case $cc_basename in
+         xlc*)
+@@ -11815,7 +12507,7 @@
+       export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+       whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+       ;;
+-      pgCC*)
++      pgCC* | pgcpp*)
+         # Portland Group C++ compiler
+       archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+@@ -12222,7 +12914,6 @@
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
+-
+ cat > conftest.$ac_ext <<EOF
+ class Foo
+ {
+@@ -12324,6 +13015,11 @@
+ $rm -f confest.$objext
++compiler_lib_search_dirs_CXX=
++if test -n "$compiler_lib_search_path_CXX"; then
++  compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
++fi
++
+ # PORTME: override above test on systems where it is broken
+ case $host_os in
+ interix[3-9]*)
+@@ -12379,7 +13075,6 @@
+   ;;
+ esac
+-
+ case " $postdeps_CXX " in
+ *" -lc "*) archive_cmds_need_lc_CXX=no ;;
+ esac
+@@ -12455,7 +13150,7 @@
+     esac
+   else
+     case $host_os in
+-      aix4* | aix5*)
++      aix[4-9]*)
+       # All AIX code is PIC.
+       if test "$host_cpu" = ia64; then
+         # AIX 5 now supports IA64 processor
+@@ -12551,7 +13246,7 @@
+           lt_prog_compiler_pic_CXX='-KPIC'
+           lt_prog_compiler_static_CXX='-static'
+           ;;
+-        pgCC*)
++        pgCC* | pgcpp*)
+           # Portland Group C++ compiler.
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-fpic'
+@@ -12682,10 +13377,10 @@
+ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+ echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
++if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_pic_works_CXX=no
++  lt_cv_prog_compiler_pic_works_CXX=no
+   ac_outfile=conftest.$ac_objext
+    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+    lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+@@ -12698,27 +13393,27 @@
+    -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:12701: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:13396: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:12705: \$? = $ac_status" >&5
++   echo "$as_me:13400: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+-       lt_prog_compiler_pic_works_CXX=yes
++       lt_cv_prog_compiler_pic_works_CXX=yes
+      fi
+    fi
+    $rm conftest*
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
++if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+     case $lt_prog_compiler_pic_CXX in
+      "" | " "*) ;;
+      *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+@@ -12745,10 +13440,10 @@
+ wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+ { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+ echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
++if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_static_works_CXX=no
++  lt_cv_prog_compiler_static_works_CXX=no
+    save_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+    echo "$lt_simple_link_test_code" > conftest.$ac_ext
+@@ -12761,20 +13456,20 @@
+        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+        if diff conftest.exp conftest.er2 >/dev/null; then
+-         lt_prog_compiler_static_works_CXX=yes
++         lt_cv_prog_compiler_static_works_CXX=yes
+        fi
+      else
+-       lt_prog_compiler_static_works_CXX=yes
++       lt_cv_prog_compiler_static_works_CXX=yes
+      fi
+    fi
+-   $rm conftest*
++   $rm -r conftest*
+    LDFLAGS="$save_LDFLAGS"
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
+-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
++if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+     :
+ else
+     lt_prog_compiler_static_CXX=
+@@ -12802,11 +13497,11 @@
+    -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:12805: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:13500: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:12809: \$? = $ac_status" >&5
++   echo "$as_me:13504: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -12859,7 +13554,7 @@
+   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+   case $host_os in
+-  aix4* | aix5*)
++  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
+     if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+@@ -12878,6 +13573,7 @@
+     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+   ;;
+   esac
++  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+ echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+@@ -12979,7 +13675,7 @@
+   soname_spec='${libname}${release}${shared_ext}$major'
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -13146,7 +13842,14 @@
+     *) objformat=elf ;;
+     esac
+   fi
+-  version_type=freebsd-$objformat
++  # Handle Gentoo/FreeBSD as it was Linux
++  case $host_vendor in
++    gentoo)
++      version_type=linux ;;
++    *)
++      version_type=freebsd-$objformat ;;
++  esac
++
+   case $version_type in
+     freebsd-elf*)
+       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+@@ -13157,6 +13860,12 @@
+       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+       need_version=yes
+       ;;
++    linux)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++      soname_spec='${libname}${release}${shared_ext}$major'
++      need_lib_prefix=no
++      need_version=no
++      ;;
+   esac
+   shlibpath_var=LD_LIBRARY_PATH
+   case $host_os in
+@@ -13303,13 +14012,11 @@
+   # Some rework will be needed to allow for fast_install
+   # before this can be enabled.
+   hardcode_into_libs=yes
+-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[    ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    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
+@@ -13502,6 +14209,21 @@
+ echo "${ECHO_T}$dynamic_linker" >&6; }
+ test "$dynamic_linker" = no && can_build_shared=no
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
++fi
++
++sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
++fi
++
++sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++
+ 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"
+@@ -13585,6 +14307,7 @@
+     predeps_CXX \
+     postdeps_CXX \
+     compiler_lib_search_path_CXX \
++    compiler_lib_search_dirs_CXX \
+     archive_cmds_CXX \
+     archive_expsym_cmds_CXX \
+     postinstall_cmds_CXX \
+@@ -13833,6 +14556,10 @@
+ # shared library.
+ postdeps=$lt_postdeps_CXX
++# The directories searched by this compiler when creating a shared
++# library
++compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
++
+ # The library search path used internally by the compiler when linking
+ # a shared library.
+ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+@@ -14047,7 +14774,7 @@
+ echo "$lt_simple_link_test_code" >conftest.$ac_ext
+ eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+ _lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++$rm -r conftest*
+ # Allow CC to be a program name with arguments.
+@@ -14085,7 +14812,7 @@
+     postinstall_cmds='$RANLIB $lib'
+   fi
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+     test "$enable_shared" = yes && enable_static=no
+   fi
+@@ -14350,10 +15077,10 @@
+ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+ echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
++if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_pic_works_F77=no
++  lt_cv_prog_compiler_pic_works_F77=no
+   ac_outfile=conftest.$ac_objext
+    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+    lt_compiler_flag="$lt_prog_compiler_pic_F77"
+@@ -14366,27 +15093,27 @@
+    -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:14369: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:15096: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:14373: \$? = $ac_status" >&5
++   echo "$as_me:15100: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+-       lt_prog_compiler_pic_works_F77=yes
++       lt_cv_prog_compiler_pic_works_F77=yes
+      fi
+    fi
+    $rm conftest*
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_F77" >&6; }
+-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
++if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
+     case $lt_prog_compiler_pic_F77 in
+      "" | " "*) ;;
+      *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+@@ -14413,10 +15140,10 @@
+ wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+ { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+ echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
++if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_static_works_F77=no
++  lt_cv_prog_compiler_static_works_F77=no
+    save_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+    echo "$lt_simple_link_test_code" > conftest.$ac_ext
+@@ -14429,20 +15156,20 @@
+        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+        if diff conftest.exp conftest.er2 >/dev/null; then
+-         lt_prog_compiler_static_works_F77=yes
++         lt_cv_prog_compiler_static_works_F77=yes
+        fi
+      else
+-       lt_prog_compiler_static_works_F77=yes
++       lt_cv_prog_compiler_static_works_F77=yes
+      fi
+    fi
+-   $rm conftest*
++   $rm -r conftest*
+    LDFLAGS="$save_LDFLAGS"
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works_F77" >&6; }
+-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
++if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
+     :
+ else
+     lt_prog_compiler_static_F77=
+@@ -14470,11 +15197,11 @@
+    -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:14473: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:15200: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:14477: \$? = $ac_status" >&5
++   echo "$as_me:15204: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -14554,12 +15281,13 @@
+   # it will be wrapped by ` (' and `)$', so one must not match beginning or
+   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+   # as well as any symbol that contains `d'.
+-  exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
++  exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+   # platforms (ab)use it in PIC code, but their linkers get confused if
+   # the symbol is explicitly referenced.  Since portable code cannot
+   # rely on this symbol name, it's probably fine to never include it in
+   # preloaded symbol tables.
++  # Exclude shared library initialization/finalization symbols.
+   extract_expsyms_cmds=
+   # Just being paranoid about ensuring that cc_basename is set.
+   for cc_temp in $compiler""; do
+@@ -14618,7 +15346,7 @@
+     # See if GNU ld supports shared libraries.
+     case $host_os in
+-    aix3* | aix4* | aix5*)
++    aix[3-9]*)
+       # On AIX/PPC, the GNU linker is very broken
+       if test "$host_cpu" != ia64; then
+       ld_shlibs_F77=no
+@@ -14837,7 +15565,7 @@
+       fi
+       ;;
+-    aix4* | aix5*)
++    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.
+@@ -14857,7 +15585,7 @@
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+-      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
++      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
+@@ -15109,11 +15837,10 @@
+       link_all_deplibs_F77=yes
+     if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+-        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+-      module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+-      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+-      module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
++        archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++        module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++        archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++        module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+     else
+       case $cc_basename in
+         xlc*)
+@@ -15582,7 +16309,7 @@
+   soname_spec='${libname}${release}${shared_ext}$major'
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -15749,7 +16476,14 @@
+     *) objformat=elf ;;
+     esac
+   fi
+-  version_type=freebsd-$objformat
++  # Handle Gentoo/FreeBSD as it was Linux
++  case $host_vendor in
++    gentoo)
++      version_type=linux ;;
++    *)
++      version_type=freebsd-$objformat ;;
++  esac
++
+   case $version_type in
+     freebsd-elf*)
+       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+@@ -15760,6 +16494,12 @@
+       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+       need_version=yes
+       ;;
++    linux)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++      soname_spec='${libname}${release}${shared_ext}$major'
++      need_lib_prefix=no
++      need_version=no
++      ;;
+   esac
+   shlibpath_var=LD_LIBRARY_PATH
+   case $host_os in
+@@ -15906,13 +16646,11 @@
+   # Some rework will be needed to allow for fast_install
+   # before this can be enabled.
+   hardcode_into_libs=yes
+-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[    ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    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
+@@ -16105,6 +16843,21 @@
+ echo "${ECHO_T}$dynamic_linker" >&6; }
+ test "$dynamic_linker" = no && can_build_shared=no
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
++fi
++
++sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
++fi
++
++sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++
+ 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"
+@@ -16188,6 +16941,7 @@
+     predeps_F77 \
+     postdeps_F77 \
+     compiler_lib_search_path_F77 \
++    compiler_lib_search_dirs_F77 \
+     archive_cmds_F77 \
+     archive_expsym_cmds_F77 \
+     postinstall_cmds_F77 \
+@@ -16436,6 +17190,10 @@
+ # shared library.
+ postdeps=$lt_postdeps_F77
++# The directories searched by this compiler when creating a shared
++# library
++compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
++
+ # The library search path used internally by the compiler when linking
+ # a shared library.
+ compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+@@ -16610,7 +17368,7 @@
+ echo "$lt_simple_link_test_code" >conftest.$ac_ext
+ eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+ _lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++$rm -r conftest*
+ # Allow CC to be a program name with arguments.
+@@ -16659,11 +17417,11 @@
+    -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:16662: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:17420: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:16666: \$? = $ac_status" >&5
++   echo "$as_me:17424: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+@@ -16723,7 +17481,7 @@
+       # built for inclusion in a dll (and should export symbols for example).
+       # Although the cygwin gcc ignores -fPIC, still need this for old-style
+       # (--disable-auto-import) libraries
+-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
++
+       ;;
+     darwin* | rhapsody*)
+@@ -16793,7 +17551,7 @@
+     mingw* | cygwin* | pw32* | os2*)
+       # This hack is so that the source file can tell whether it is being
+       # built for inclusion in a dll (and should export symbols for example).
+-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
++
+       ;;
+     hpux9* | hpux10* | hpux11*)
+@@ -16933,10 +17691,10 @@
+ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+ echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
++if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_pic_works_GCJ=no
++  lt_cv_prog_compiler_pic_works_GCJ=no
+   ac_outfile=conftest.$ac_objext
+    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+    lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+@@ -16949,27 +17707,27 @@
+    -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:16952: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:17710: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:16956: \$? = $ac_status" >&5
++   echo "$as_me:17714: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+-       lt_prog_compiler_pic_works_GCJ=yes
++       lt_cv_prog_compiler_pic_works_GCJ=yes
+      fi
+    fi
+    $rm conftest*
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
+-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
++if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
+     case $lt_prog_compiler_pic_GCJ in
+      "" | " "*) ;;
+      *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+@@ -16996,10 +17754,10 @@
+ wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+ { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+ echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
++if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  lt_prog_compiler_static_works_GCJ=no
++  lt_cv_prog_compiler_static_works_GCJ=no
+    save_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+    echo "$lt_simple_link_test_code" > conftest.$ac_ext
+@@ -17012,20 +17770,20 @@
+        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+        if diff conftest.exp conftest.er2 >/dev/null; then
+-         lt_prog_compiler_static_works_GCJ=yes
++         lt_cv_prog_compiler_static_works_GCJ=yes
+        fi
+      else
+-       lt_prog_compiler_static_works_GCJ=yes
++       lt_cv_prog_compiler_static_works_GCJ=yes
+      fi
+    fi
+-   $rm conftest*
++   $rm -r conftest*
+    LDFLAGS="$save_LDFLAGS"
+ fi
+-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
+-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
++if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
+     :
+ else
+     lt_prog_compiler_static_GCJ=
+@@ -17053,11 +17811,11 @@
+    -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:17056: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:17814: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:17060: \$? = $ac_status" >&5
++   echo "$as_me:17818: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -17137,12 +17895,13 @@
+   # it will be wrapped by ` (' and `)$', so one must not match beginning or
+   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+   # as well as any symbol that contains `d'.
+-  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
++  exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+   # platforms (ab)use it in PIC code, but their linkers get confused if
+   # the symbol is explicitly referenced.  Since portable code cannot
+   # rely on this symbol name, it's probably fine to never include it in
+   # preloaded symbol tables.
++  # Exclude shared library initialization/finalization symbols.
+   extract_expsyms_cmds=
+   # Just being paranoid about ensuring that cc_basename is set.
+   for cc_temp in $compiler""; do
+@@ -17201,7 +17960,7 @@
+     # See if GNU ld supports shared libraries.
+     case $host_os in
+-    aix3* | aix4* | aix5*)
++    aix[3-9]*)
+       # On AIX/PPC, the GNU linker is very broken
+       if test "$host_cpu" != ia64; then
+       ld_shlibs_GCJ=no
+@@ -17420,7 +18179,7 @@
+       fi
+       ;;
+-    aix4* | aix5*)
++    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.
+@@ -17440,7 +18199,7 @@
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+-      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
++      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
+@@ -17712,11 +18471,10 @@
+       link_all_deplibs_GCJ=yes
+     if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+-        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+-      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+-      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+-      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
++        archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++        module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++        archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++        module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+     else
+       case $cc_basename in
+         xlc*)
+@@ -18185,7 +18943,7 @@
+   soname_spec='${libname}${release}${shared_ext}$major'
+   ;;
+-aix4* | aix5*)
++aix[4-9]*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -18352,7 +19110,14 @@
+     *) objformat=elf ;;
+     esac
+   fi
+-  version_type=freebsd-$objformat
++  # Handle Gentoo/FreeBSD as it was Linux
++  case $host_vendor in
++    gentoo)
++      version_type=linux ;;
++    *)
++      version_type=freebsd-$objformat ;;
++  esac
++
+   case $version_type in
+     freebsd-elf*)
+       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+@@ -18363,6 +19128,12 @@
+       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+       need_version=yes
+       ;;
++    linux)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++      soname_spec='${libname}${release}${shared_ext}$major'
++      need_lib_prefix=no
++      need_version=no
++      ;;
+   esac
+   shlibpath_var=LD_LIBRARY_PATH
+   case $host_os in
+@@ -18509,13 +19280,11 @@
+   # Some rework will be needed to allow for fast_install
+   # before this can be enabled.
+   hardcode_into_libs=yes
+-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[    ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    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
+@@ -18708,6 +19477,21 @@
+ echo "${ECHO_T}$dynamic_linker" >&6; }
+ test "$dynamic_linker" = no && can_build_shared=no
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
++fi
++
++sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
++fi
++
++sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++
+ 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"
+@@ -18791,6 +19575,7 @@
+     predeps_GCJ \
+     postdeps_GCJ \
+     compiler_lib_search_path_GCJ \
++    compiler_lib_search_dirs_GCJ \
+     archive_cmds_GCJ \
+     archive_expsym_cmds_GCJ \
+     postinstall_cmds_GCJ \
+@@ -19039,6 +19824,10 @@
+ # shared library.
+ postdeps=$lt_postdeps_GCJ
++# The directories searched by this compiler when creating a shared
++# library
++compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
++
+ # The library search path used internally by the compiler when linking
+ # a shared library.
+ compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+@@ -19212,7 +20001,7 @@
+ echo "$lt_simple_link_test_code" >conftest.$ac_ext
+ eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+ _lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++$rm -r conftest*
+ # Allow CC to be a program name with arguments.
+@@ -19272,6 +20061,7 @@
+     predeps_RC \
+     postdeps_RC \
+     compiler_lib_search_path_RC \
++    compiler_lib_search_dirs_RC \
+     archive_cmds_RC \
+     archive_expsym_cmds_RC \
+     postinstall_cmds_RC \
+@@ -19520,6 +20310,10 @@
+ # shared library.
+ postdeps=$lt_postdeps_RC
++# The directories searched by this compiler when creating a shared
++# library
++compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
++
+ # The library search path used internally by the compiler when linking
+ # a shared library.
+ compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+@@ -23659,11 +24453,11 @@
+ CCASDEPMODE!$CCASDEPMODE$ac_delim
+ am__fastdepCCAS_TRUE!$am__fastdepCCAS_TRUE$ac_delim
+ am__fastdepCCAS_FALSE!$am__fastdepCCAS_FALSE$ac_delim
++LIBFFI_DLL!$LIBFFI_DLL$ac_delim
++LIBFFI_LDFLAGS!$LIBFFI_LDFLAGS$ac_delim
+ SED!$SED$ac_delim
+ GREP!$GREP$ac_delim
+ EGREP!$EGREP$ac_delim
+-LN_S!$LN_S$ac_delim
+-ECHO!$ECHO$ac_delim
+ _ACEOF
+   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+@@ -23705,8 +24499,15 @@
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+   cat >conf$$subs.sed <<_ACEOF
++LN_S!$LN_S$ac_delim
++ECHO!$ECHO$ac_delim
+ AR!$AR$ac_delim
+ RANLIB!$RANLIB$ac_delim
++DSYMUTIL!$DSYMUTIL$ac_delim
++NMEDIT!$NMEDIT$ac_delim
++DLLTOOL!$DLLTOOL$ac_delim
++AS!$AS$ac_delim
++OBJDUMP!$OBJDUMP$ac_delim
+ CPP!$CPP$ac_delim
+ CXX!$CXX$ac_delim
+ CXXFLAGS!$CXXFLAGS$ac_delim
+@@ -23783,7 +24584,7 @@
+ LTLIBOBJS!$LTLIBOBJS$ac_delim
+ _ACEOF
+-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then
++  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; then
+     break
+   elif $ac_last_try; then
+     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+@@ -24184,21 +24985,22 @@
+   fi
+   rm -f "$tmp/out12"
+ # Compute $ac_file's index in $config_headers.
++_am_arg=$ac_file
+ _am_stamp_count=1
+ for _am_header in $config_headers :; do
+   case $_am_header in
+-    $ac_file | $ac_file:* )
++    $_am_arg | $_am_arg:* )
+       break ;;
+     * )
+       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+   esac
+ done
+-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
+-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+-       X$ac_file : 'X\(//\)[^/]' \| \
+-       X$ac_file : 'X\(//\)$' \| \
+-       X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
+-echo X$ac_file |
++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
++$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$_am_arg" : 'X\(//\)[^/]' \| \
++       X"$_am_arg" : 'X\(//\)$' \| \
++       X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$_am_arg" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+@@ -24261,7 +25063,7 @@
+   # each Makefile.in and add a new line on top of each file to say so.
+   # Grep'ing the whole file is not good either: AIX grep has a line
+   # limit of 2048, but all sed's we know have understand at least 4000.
+-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
++  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+     dirpart=`$as_dirname -- "$mf" ||
+ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$mf" : 'X\(//\)[^/]' \| \
+--- libffi-3.0.6/Makefile.in   2008-02-21 14:36:18.000000000 +0100
++++ build/Makefile.in  2008-10-14 09:55:38.000000000 +0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.10 from Makefile.am.
++# Makefile.in generated by automake 1.10.1 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008  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.
+@@ -216,6 +216,7 @@
+ AMTAR = @AMTAR@
+ AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+ AR = @AR@
++AS = @AS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+@@ -235,6 +236,8 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
++DSYMUTIL = @DSYMUTIL@
+ ECHO = @ECHO@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+@@ -251,6 +254,8 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LIBFFI_DLL = @LIBFFI_DLL@
++LIBFFI_LDFLAGS = @LIBFFI_LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+@@ -259,6 +264,8 @@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MKDIR_P = @MKDIR_P@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
+ OBJEXT = @OBJEXT@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+@@ -420,7 +427,7 @@
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+ AM_CFLAGS = -Wall -g -fexceptions
+-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libffi_la_LDFLAGS = $(LIBFFI_LDFLAGS) -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
+ all: fficonfig.h
+@@ -486,8 +493,8 @@
+       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           f=$(am__strip_dir) \
+-          echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+-          $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
++          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
++          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+         else :; fi; \
+       done
+@@ -495,8 +502,8 @@
+       @$(NORMAL_UNINSTALL)
+       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
+-        echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+-        $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+       done
+ clean-libLTLIBRARIES:
+@@ -1203,8 +1210,8 @@
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+-        $(AWK) '    { files[$$0] = 1; } \
+-             END { for (i in files) print i; }'`; \
++        $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
+       mkid -fID $$unique
+ tags: TAGS
+@@ -1229,8 +1236,8 @@
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+-        $(AWK) '    { files[$$0] = 1; } \
+-             END { for (i in files) print i; }'`; \
++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+@@ -1240,13 +1247,12 @@
+ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+-      here=`pwd`; \
+       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+-        $(AWK) '    { files[$$0] = 1; } \
+-             END { for (i in files) print i; }'`; \
++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+@@ -1320,6 +1326,10 @@
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
++dist-lzma: distdir
++      tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
++      $(am__remove_distdir)
++
+ dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+@@ -1346,6 +1356,8 @@
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
++      *.tar.lzma*) \
++        unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+@@ -1612,8 +1624,8 @@
+       all all-am am--refresh check check-am clean clean-generic \
+       clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
+       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+-      dist-info dist-shar dist-tarZ dist-zip distcheck distclean \
+-      distclean-compile distclean-generic distclean-hdr \
++      dist-info dist-lzma dist-shar dist-tarZ dist-zip distcheck \
++      distclean distclean-compile distclean-generic distclean-hdr \
+       distclean-libtool distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+--- libffi-3.0.6/ltmain.sh     2008-01-29 13:28:14.000000000 +0100
++++ build/ltmain.sh    2008-02-28 09:33:19.000000000 +0100
+@@ -2,7 +2,7 @@
+ # NOTE: Changing this file will not affect anything until you rerun configure.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+-# 2007  Free Software Foundation, Inc.
++# 2007, 2008  Free Software Foundation, Inc.
+ # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -43,8 +43,8 @@
+ PROGRAM=ltmain.sh
+ PACKAGE=libtool
+-VERSION=1.5.24
+-TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
++VERSION=1.5.26
++TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
+ # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+@@ -113,15 +113,21 @@
+ # These must not be set unconditionally because not all systems understand
+ # e.g. LANG=C (notably SCO).
+ # We save the old values to restore during execute mode.
+-for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++lt_env=
++for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+   eval "if test \"\${$lt_var+set}\" = set; then
+         save_$lt_var=\$$lt_var
++        lt_env=\"$lt_var=\$$lt_var \$lt_env\"
+         $lt_var=C
+         export $lt_var
+       fi"
+ done
++if test -n "$lt_env"; then
++  lt_env="env $lt_env"
++fi
++
+ # Make sure IFS has a sensible default
+ lt_nl='
+ '
+@@ -275,7 +281,21 @@
+           esac
+           CC_quoted="$CC_quoted $arg"
+         done
++          # user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'
++          trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
++          # and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc
++          extendcc=${host}-${CC}
++          # and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc  
++          # (Gentoo-specific hack because we always export $CHOST)
++          mungedcc=${CHOST-${host}}-${trimedcc}
+           case "$@ " in
++            "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\
++            "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*)
++            tagname=CC
++            break ;;
++            "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
++            "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
++            "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
+             " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+             # The compiler in the base compile command matches
+             # the one in the tagged configuration.
+@@ -485,7 +505,7 @@
+     echo "\
+ $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+-Copyright (C) 2007  Free Software Foundation, Inc.
++Copyright (C) 2008  Free Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+     exit $?
+@@ -788,6 +808,7 @@
+     *.for) xform=for ;;
+     *.java) xform=java ;;
+     *.obj) xform=obj ;;
++    *.sx) xform=sx ;;
+     esac
+     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+@@ -881,7 +902,7 @@
+     # Lock this critical section if it is needed
+     # We use this script file to make the link, it avoids creating a new file
+     if test "$need_locks" = yes; then
+-      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
++      until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
+       $show "Waiting for $lockfile to be removed"
+       sleep 2
+       done
+@@ -956,7 +977,7 @@
+       $run $rm "$lobj" "$output_obj"
+       $show "$command"
+-      if $run eval "$command"; then :
++      if $run eval $lt_env "$command"; then :
+       else
+       test -n "$output_obj" && $run $rm $removelist
+       exit $EXIT_FAILURE
+@@ -1028,7 +1049,7 @@
+       command="$command$suppress_output"
+       $run $rm "$obj" "$output_obj"
+       $show "$command"
+-      if $run eval "$command"; then :
++      if $run eval $lt_env "$command"; then :
+       else
+       $run $rm $removelist
+       exit $EXIT_FAILURE
+@@ -1161,6 +1182,7 @@
+     thread_safe=no
+     vinfo=
+     vinfo_number=no
++    single_module="${wl}-single_module"
+     func_infer_tag $base_compile
+@@ -1646,6 +1668,11 @@
+       continue
+       ;;
++      -multi_module)
++      single_module="${wl}-multi_module"
++      continue
++      ;;
++
+       -module)
+       module=yes
+       continue
+@@ -2149,7 +2176,12 @@
+           continue
+         fi
+         name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+-        for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
++        if test "$linkmode" = lib; then
++          searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
++        else
++          searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
++        fi
++        for searchdir in $searchdirs; do
+           for search_ext in .la $std_shrext .so .a; do
+             # Search the libtool library
+             lib="$searchdir/lib${name}${search_ext}"
+@@ -2945,12 +2977,18 @@
+                 # we do not want to link against static libs,
+                 # but need to link against shared
+                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
++                eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names" ; then
+                   for tmp in $deplibrary_names ; do
+                     depdepl=$tmp
+                   done
+-                  if test -f "$path/$depdepl" ; then
++                  if test -f "$deplibdir/$depdepl" ; then
++                    depdepl="$deplibdir/$depdepl"
++                  elif test -f "$path/$depdepl" ; then
+                     depdepl="$path/$depdepl"
++                  else
++                    # Can't find it, oh well...
++                    depdepl=
+                   fi
+                   # do not add paths which are already there
+                   case " $newlib_search_path " in
+@@ -3098,9 +3136,10 @@
+     case $linkmode in
+     oldlib)
+-      if test -n "$deplibs"; then
+-      $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+-      fi
++      case " $deplibs" in
++      *\ -l* | *\ -L*)
++      $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
++      esac
+       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+@@ -4237,9 +4276,10 @@
+       ;;
+     obj)
+-      if test -n "$deplibs"; then
+-      $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+-      fi
++      case " $deplibs" in
++      *\ -l* | *\ -L*)
++      $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
++      esac
+       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+@@ -5442,6 +5482,11 @@
+       $echo >> $output "\
+     if test \"\$libtool_execute_magic\" != \"$magic\"; then
+       # Run the actual program with our arguments.
++
++      # Make sure env LD_LIBRARY_PATH does not mess us up
++      if test -n \"\${LD_LIBRARY_PATH+set}\"; then
++        export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH
++      fi
+ "
+       case $host in
+       # Backslashes separate directories on plain windows
+@@ -6478,7 +6523,7 @@
+       fi
+       # Restore saved environment variables
+-      for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+       do
+       eval "if test \"\${save_$lt_var+set}\" = set; then
+               $lt_var=\$save_$lt_var; export $lt_var
diff --git a/libffi/libffi-dllize-3.0.6.patch b/libffi/libffi-dllize-3.0.6.patch
new file mode 100644 (file)
index 0000000..8f60f23
--- /dev/null
@@ -0,0 +1,213 @@
+--- libffi-3.0.6/include/ffi.h.in      2008-04-03 20:57:34.000000000 +0200
++++ build/include/ffi.h.in     2008-10-14 09:51:55.000000000 +0200
+@@ -61,6 +61,17 @@
+ #define @TARGET@
+ #endif
++#if @LIBFFI_DLL@
++#ifdef DLL_EXPORT
++#define __FFI_DECLSPEC __declspec(__dllexport__)
++#else
++#define __FFI_DECLSPEC __declspec(__dllimport__)
++#endif
++#else
++#define __FFI_DECLSPEC
++#endif
++
++
+ /* ---- System configuration information --------------------------------- */
+ #include <ffitarget.h>
+@@ -223,27 +234,27 @@
+ #endif
+-void ffi_raw_call (ffi_cif *cif,
+-                 void (*fn)(void),
+-                 void *rvalue,
+-                 ffi_raw *avalue);
+-
+-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
+-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
+-size_t ffi_raw_size (ffi_cif *cif);
++__FFI_DECLSPEC void ffi_raw_call (ffi_cif *cif,
++                                void (*fn)(void),
++                                void *rvalue,
++                                ffi_raw *avalue);
++
++__FFI_DECLSPEC void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
++__FFI_DECLSPEC void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
++__FFI_DECLSPEC size_t ffi_raw_size (ffi_cif *cif);
+ /* This is analogous to the raw API, except it uses Java parameter    */
+ /* packing, even on 64-bit machines.  I.e. on 64-bit machines         */
+ /* longs and doubles are followed by an empty 64-bit word.            */
+-void ffi_java_raw_call (ffi_cif *cif,
+-                      void (*fn)(void),
+-                      void *rvalue,
+-                      ffi_java_raw *avalue);
+-
+-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
+-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
+-size_t ffi_java_raw_size (ffi_cif *cif);
++__FFI_DECLSPEC void ffi_java_raw_call (ffi_cif *cif,
++                                     void (*fn)(void),
++                                     void *rvalue,
++                                     ffi_java_raw *avalue);
++
++__FFI_DECLSPEC void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
++__FFI_DECLSPEC void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
++__FFI_DECLSPEC size_t ffi_java_raw_size (ffi_cif *cif);
+ /* ---- Definitions for closures ----------------------------------------- */
+@@ -256,16 +267,16 @@
+   void      *user_data;
+ } ffi_closure __attribute__((aligned (8)));
+-void *ffi_closure_alloc (size_t size, void **code);
+-void ffi_closure_free (void *);
++__FFI_DECLSPEC void *ffi_closure_alloc (size_t size, void **code);
++__FFI_DECLSPEC void ffi_closure_free (void *);
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_closure (ffi_closure*,
+                 ffi_cif *,
+                 void (*fun)(ffi_cif*,void*,void**,void*),
+                 void *user_data);
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_closure_loc (ffi_closure*,
+                     ffi_cif *,
+                     void (*fun)(ffi_cif*,void*,void**,void*),
+@@ -314,26 +325,26 @@
+ } ffi_java_raw_closure;
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_raw_closure (ffi_raw_closure*,
+                     ffi_cif *cif,
+                     void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+                     void *user_data);
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_raw_closure_loc (ffi_raw_closure*,
+                         ffi_cif *cif,
+                         void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+                         void *user_data,
+                         void *codeloc);
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_java_raw_closure (ffi_java_raw_closure*,
+                          ffi_cif *cif,
+                          void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+                          void *user_data);
+-ffi_status
++__FFI_DECLSPEC ffi_status
+ ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
+                              ffi_cif *cif,
+                              void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+@@ -344,16 +355,16 @@
+ /* ---- Public interface definition -------------------------------------- */
+-ffi_status ffi_prep_cif(ffi_cif *cif,
+-                      ffi_abi abi,
+-                      unsigned int nargs,
+-                      ffi_type *rtype,
+-                      ffi_type **atypes);
+-
+-void ffi_call(ffi_cif *cif,
+-            void (*fn)(void),
+-            void *rvalue,
+-            void **avalue);
++__FFI_DECLSPEC ffi_status ffi_prep_cif(ffi_cif *cif,
++                                     ffi_abi abi,
++                                     unsigned int nargs,
++                                     ffi_type *rtype,
++                                     ffi_type **atypes);
++
++__FFI_DECLSPEC void ffi_call(ffi_cif *cif,
++                           void (*fn)(void),
++                           void *rvalue,
++                           void **avalue);
+ /* Useful for eliminating compiler warnings */
+ #define FFI_FN(f) ((void (*)(void))f)
+--- build/Makefile.am  2008-02-21 14:21:24.000000000 +0100
++++ build-shared/Makefile.am   2008-10-11 20:44:15.000000000 +0200
+@@ -165,7 +165,7 @@
+ AM_CFLAGS = -Wall -g -fexceptions
+-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libffi_la_LDFLAGS = $(LIBFFI_LDFLAGS) -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
+--- build/src/x86/win32.S      2008-02-15 02:17:20.000000000 +0100
++++ build-shared/src/x86/win32.S       2008-10-11 19:19:03.000000000 +0200
+@@ -33,8 +33,6 @@
+  
+ .text
+  
+-.globl ffi_prep_args
+- 
+         # This assumes we are using gas.
+         .balign 16
+ .globl _ffi_call_SYSV
+
+--- build/include/ffi_common.h 2008-01-29 16:15:17.000000000 +0100
++++ build-shared/include/ffi_common.h  2008-10-13 00:35:02.000000000 +0200
+@@ -49,9 +49,9 @@
+ #endif
+ #ifdef FFI_DEBUG
+-void ffi_assert(char *expr, char *file, int line);
+-void ffi_stop_here(void);
+-void ffi_type_test(ffi_type *a, char *file, int line);
++__FFI_DECLSPEC void ffi_assert(char *expr, char *file, int line);
++__FFI_DECLSPEC void ffi_stop_here(void);
++__FFI_DECLSPEC void ffi_type_test(ffi_type *a, char *file, int line);
+ #define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
+ #define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
+@@ -66,7 +66,7 @@
+ #define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
+ /* Perform machine dependent cif processing */
+-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
++__FFI_DECLSPEC ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
+ /* Extended cif, used in callback from assembly routine */
+ typedef struct
+--- build/configure.ac 2008-02-24 18:20:21.000000000 +0100
++++ build-shared/configure.ac  2008-10-13 19:20:04.000000000 +0200
+@@ -26,6 +26,20 @@
+ AM_PROG_AS
+ AM_PROG_CC_C_O
++
++AC_LIBTOOL_WIN32_DLL
++AC_SUBST(LIBFFI_DLL,0)
++
++case $host in
++  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
++    if test "$enable_shared" = yes; then
++      LIBFFI_LDFLAGS="-no-undefined -Wl,--export-all-symbols"
++      LIBFFI_DLL=1
++    fi
++    ;;
++esac
++AC_SUBST(LIBFFI_LDFLAGS)
++
+ AC_PROG_LIBTOOL
+ AM_MAINTAINER_MODE