[BACK]Return to aclocal.m4 CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

Diff for /OpenXM_contrib/gmp/Attic/aclocal.m4 between version 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2000/12/01 05:44:41 version 1.1.1.3, 2003/08/25 16:05:56
Line 1 
Line 1 
 dnl aclocal.m4 generated automatically by aclocal 1.4a  # aclocal.m4 generated automatically by aclocal 1.5
   
 dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.  # Copyright 1996, 1997, 1998, 1999, 2000, 2001
 dnl This file is free software; the Free Software Foundation  # Free Software Foundation, Inc.
 dnl gives unlimited permission to copy and/or distribute it,  # This file is free software; the Free Software Foundation
 dnl with or without modifications, as long as this notice is preserved.  # gives unlimited permission to copy and/or distribute it,
   # with or without modifications, as long as this notice is preserved.
   
 dnl This program is distributed in the hope that it will be useful,  # This program is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without  # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 dnl PARTICULAR PURPOSE.  # PARTICULAR PURPOSE.
   
 dnl  GMP specific autoconf macros  dnl  GMP specific autoconf macros
   
   
 dnl  Copyright (C) 2000 Free Software Foundation, Inc.  dnl  Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 dnl  dnl
 dnl  This file is part of the GNU MP Library.  dnl  This file is part of the GNU MP Library.
 dnl  dnl
Line 33  dnl  the Free Software Foundation, Inc., 59 Temple Pla
Line 34  dnl  the Free Software Foundation, Inc., 59 Temple Pla
 dnl  MA 02111-1307, USA.  dnl  MA 02111-1307, USA.
   
   
   define(X86_PATTERN,
   [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-*]])
   
   define(POWERPC64_PATTERN,
   [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-*]])
   
   
   dnl  GMP_STRIP_PATH(subdir)
   dnl  ----------------------
   dnl  Strip entries */subdir from $path.
   
   define(GMP_STRIP_PATH,
   [tmp_path=
   for i in $path; do
     case $i in
       */$1) ;;
       *) tmp_path="$tmp_path $i" ;;
     esac
   done
   path="$tmp_path"
   ])
   
   
   dnl  GMP_INCLUDE_GMP_H
   dnl  -----------------
   dnl  Expand to the right way to #include gmp-h.in.  This must be used
   dnl  instead of gmp.h, since that file isn't generated until the end of the
   dnl  configure.
   dnl
   dnl  GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB starts as a dummy, but gets
   dnl  redefined in GMP_C_SIZES when the right value is known.
   
   define(GMP_INCLUDE_GMP_H,
   [[#define __GMP_WITHIN_CONFIGURE 1   /* ignore template stuff */
   #define GMP_NAIL_BITS $GMP_NAIL_BITS]
   GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB
   [$DEFN_LONG_LONG_LIMB
   #include "$srcdir/gmp-h.in"]
   ])
   
   define(GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB,
   [[#define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
   #define GMP_LIMB_BITS 123]])
   
   
 dnl  GMP_HEADER_GETVAL(NAME,FILE)  dnl  GMP_HEADER_GETVAL(NAME,FILE)
 dnl  ----------------------------  dnl  ----------------------------
 dnl  Expand to the value of a "#define NAME" from the given FILE.  dnl  Expand at autoconf time to the value of a "#define NAME" from the given
 dnl  The regexps here aren't very rugged, but are enough for gmp.  dnl  FILE.  The regexps here aren't very rugged, but are enough for gmp.
 dnl  /dev/null as a parameter prevents a hang if $2 is accidentally omitted.  dnl  /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
   
 define(GMP_HEADER_GETVAL,  define(GMP_HEADER_GETVAL,
Line 49  esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]
Line 95  esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]
   
 dnl  GMP_VERSION  dnl  GMP_VERSION
 dnl  -----------  dnl  -----------
 dnl  The gmp version number, extracted from the #defines in gmp.h.  dnl  The gmp version number, extracted from the #defines in gmp-h.in at
 dnl  Two digits like 3.0 if patchlevel <= 0, or three digits like 3.0.1 if  dnl  autoconf time.  Two digits like 3.0 if patchlevel <= 0, or three digits
 dnl  patchlevel > 0.  dnl  like 3.0.1 if patchlevel > 0.
   
 define(GMP_VERSION,  define(GMP_VERSION,
 [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp.h)[]dnl  [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp.h)[]dnl  .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
 ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp.h) > 0),1,  ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
 [.GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp.h)])])  [.GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)])])
   
   
 dnl  GMP_PROG_M4()  dnl  GMP_SUBST_CHECK_FUNCS(func,...)
 dnl  -------------  dnl  ------------------------------
   dnl  Setup an AC_SUBST of HAVE_FUNC_01 for each argument.
   
   AC_DEFUN(GMP_SUBST_CHECK_FUNCS,
   [m4_if([$1],,,
   [_GMP_SUBST_CHECK_FUNCS(ac_cv_func_[$1],HAVE_[]m4_translit([$1],[a-z],[A-Z])_01)
   GMP_SUBST_CHECK_FUNCS(m4_shift($@))])])
   
   dnl  Called: _GMP_SUBST_CHECK_FUNCS(cachvar,substvar)
   AC_DEFUN(_GMP_SUBST_CHECK_FUNCS,
   [case $[$1] in
   yes) AC_SUBST([$2],1) ;;
   no)  [$2]=0 ;;
   esac
   ])
   
   
   dnl  GMP_SUBST_CHECK_HEADERS(foo.h,...)
   dnl  ----------------------------------
   dnl  Setup an AC_SUBST of HAVE_FOO_H_01 for each argument.
   
   AC_DEFUN(GMP_SUBST_CHECK_HEADERS,
   [m4_if([$1],,,
   [_GMP_SUBST_CHECK_HEADERS(ac_cv_header_[]m4_translit([$1],[./],[__]),
   HAVE_[]m4_translit([$1],[a-z./],[A-Z__])_01)
   GMP_SUBST_CHECK_HEADERS(m4_shift($@))])])
   
   dnl  Called: _GMP_SUBST_CHECK_HEADERS(cachvar,substvar)
   AC_DEFUN(_GMP_SUBST_CHECK_HEADERS,
   [case $[$1] in
   yes) AC_SUBST([$2],1) ;;
   no)  [$2]=0 ;;
   esac
   ])
   
   
   dnl  GMP_COMPARE_GE(A1,B1, A2,B2, ...)
   dnl  ---------------------------------
   dnl  Compare two version numbers A1.A2.etc and B1.B2.etc.  Set
   dnl  $gmp_compare_ge to yes or no accoring to the result.  The A parts
   dnl  should be variables, the B parts fixed numbers.  As many parts as
   dnl  desired can be included.  An empty string in an A part is taken to be
   dnl  zero, the B parts should be non-empty and non-zero.
 dnl  dnl
   dnl  For example,
   dnl
   dnl      GMP_COMPARE($major,10, $minor,3, $subminor,1)
   dnl
   dnl  would test whether $major.$minor.$subminor is greater than or equal to
   dnl  10.3.1.
   
   AC_DEFUN(GMP_COMPARE_GE,
   [gmp_compare_ge=no
   GMP_COMPARE_GE_INTERNAL($@)
   ])
   
   AC_DEFUN(GMP_COMPARE_GE_INTERNAL,
   [ifelse(len([$3]),0,
   [if test -n "$1" && test "$1" -ge $2; then
     gmp_compare_ge=yes
   fi],
   [if test -n "$1"; then
     if test "$1" -gt $2; then
       gmp_compare_ge=yes
     else
       if test "$1" -eq $2; then
         GMP_COMPARE_GE_INTERNAL(m4_shift(m4_shift($@)))
       fi
     fi
   fi])
   ])
   
   
   dnl  GMP_PROG_AR
   dnl  -----------
   dnl  GMP additions to $AR.
   dnl
   dnl  A cross-"ar" may be necessary when cross-compiling since the build
   dnl  system "ar" might try to interpret the object files to build a symbol
   dnl  table index, hence the use of AC_CHECK_TOOL.
   dnl
   dnl  A user-selected $AR is always left unchanged.  AC_CHECK_TOOL is still
   dnl  run to get the "checking" message printed though.
   dnl
   dnl  $AR_FLAGS is set to "cq" rather than leaving it to libtool "cru".  The
   dnl  latter fails when libtool goes into piecewise mode and is unlucky
   dnl  enough to have two same-named objects in separate pieces, as happens
   dnl  for instance to random.o (and others) on vax-dec-ultrix4.5.  Naturally
   dnl  a user-selected $AR_FLAGS is left unchanged.
   
   AC_DEFUN(GMP_PROG_AR,
   [dnl  Want to establish $AR before libtool initialization.
   AC_BEFORE([$0],[AC_PROG_LIBTOOL])
   gmp_user_AR=$AR
   AC_CHECK_TOOL(AR, ar, ar)
   if test -z "$gmp_user_AR"; then
                           eval arflags=\"\$ar${abi1}_flags\"
     test -n "$arflags" || eval arflags=\"\$ar${abi2}_flags\"
     if test -n "$arflags"; then
       AC_MSG_CHECKING([for extra ar flags])
       AR="$AR $arflags"
       AC_MSG_RESULT([$arflags])
     fi
   fi
   if test -z "$AR_FLAGS"; then
     AR_FLAGS=cq
   fi
   ])
   
   
   dnl  GMP_PROG_HOST_CC
   dnl  ----------------
   dnl  Establish a value for $HOST_CC.
   dnl
   dnl  Any HOST_CC already set is used without testing.  Likewise any
   dnl  CC_FOR_BUILD is used without testing.  CC_FOR_BUILD is the new name for
   dnl  a build system compiler, see configfsf.guess.
   
   AC_DEFUN(GMP_PROG_HOST_CC,
   [AC_BEFORE([$0],[AC_PROG_LIBTOOL])
   AC_REQUIRE([AC_PROG_CC])
   AC_CACHE_CHECK([for HOST_CC build system compiler],
                  gmp_cv_prog_host_cc,
   [if test -n "$HOST_CC"; then
     gmp_cv_prog_host_cc=$HOST_CC
   else
     if test -n "$CC_FOR_BUILD"; then
       gmp_cv_prog_host_cc=$CC_FOR_BUILD
     else
       cat >conftest.c <<EOF
   int main () { exit(0); }
   EOF
       for c in "$CC" cc gcc c89; do
         echo "trying $c" >&AC_FD_CC
         if ($c conftest.c -o conftest) >&AC_FD_CC 2>&1; then
           if (./conftest) >&AC_FD_CC 2>&1; then
             gmp_cv_prog_host_cc=$c
             break
           fi
         fi
       done
       rm -f conftest*
       if test -z "$gmp_cv_prog_host_cc"; then
         AC_MSG_ERROR([cannot find a build system compiler])
       fi
     fi
   fi
   ])
   HOST_CC=$gmp_cv_prog_host_cc
   ])
   
   
   dnl  GMP_PROG_LEX
   dnl  ------------
   dnl  AC_PROG_LEX bombs if $LEX is set to ${am_missing_run}flex by
   dnl  AM_PROG_LEX.  It needs to see LEX=: if lex is missing.  Avoid this by
   dnl  running AC_PROG_LEX first and then using "missing".
   dnl
   dnl  FIXME: This can be removed and just AM_PROG_LEX used, one that macro
   dnl  works properly.
   
   AC_DEFUN(GMP_PROG_LEX,
   [AC_REQUIRE([AC_PROG_LEX])
   if test "$LEX" = :; then
     LEX=${am_missing_run}flex
   fi
   ])
   
   
   dnl  GMP_PROG_M4
   dnl  -----------
 dnl  Find a working m4, either in $PATH or likely locations, and setup $M4  dnl  Find a working m4, either in $PATH or likely locations, and setup $M4
 dnl  and an AC_SUBST accordingly.  If $M4 is already set then it's a user  dnl  and an AC_SUBST accordingly.  If $M4 is already set then it's a user
 dnl  choice and is accepted with no checks.  GMP_PROG_M4 is like  dnl  choice and is accepted with no checks.  GMP_PROG_M4 is like
 dnl  AC_PATH_PROG or AC_CHECK_PROG, but it tests each m4 found to see if  dnl  AC_PATH_PROG or AC_CHECK_PROG, but tests each m4 found to see if it's
 dnl  it's good enough.  dnl  good enough.
 dnl  dnl
 dnl  See mpn/asm-defs.m4 for details on the known bad m4s.  dnl  See mpn/asm-defs.m4 for details on the known bad m4s.
   
 AC_DEFUN(GMP_PROG_M4,  AC_DEFUN(GMP_PROG_M4,
 [AC_CACHE_CHECK([for suitable m4],  [AC_ARG_VAR(M4,[m4 macro processor])
   AC_CACHE_CHECK([for suitable m4],
                 gmp_cv_prog_m4,                  gmp_cv_prog_m4,
 [if test -n "$M4"; then  [if test -n "$M4"; then
   gmp_cv_prog_m4="$M4"    gmp_cv_prog_m4="$M4"
 else  else
   cat >conftest.m4 <<\EOF    cat >conftest.m4 <<\EOF
 dnl  must protect this against being expanded during autoconf m4!  dnl  Must protect this against being expanded during autoconf m4!
 [define(dollarhash,``$][#'')dnl  dnl  Dont put "dnl"s in this as autoconf will flag an error for unexpanded
 ifelse(dollarhash(x),1,`define(t1,Y)',  dnl  macros.
   [define(dollarhash,``$][#'')ifelse(dollarhash(x),1,`define(t1,Y)',
 ``bad: $][# not supported (SunOS /usr/bin/m4)  ``bad: $][# not supported (SunOS /usr/bin/m4)
 '')dnl  '')ifelse(eval(89),89,`define(t2,Y)',
 ifelse(eval(89),89,`define(t2,Y)',  
 `bad: eval() doesnt support 8 or 9 in a constant (OpenBSD 2.6 m4)  `bad: eval() doesnt support 8 or 9 in a constant (OpenBSD 2.6 m4)
 ')dnl  ')ifelse(t1`'t2,YY,`good
 ifelse(t1`'t2,YY,`good  ')]
 ')dnl]  
 EOF  EOF
   echo "trying m4" 1>&AC_FD_CC  dnl ' <- balance the quotes for emacs sh-mode
   gmp_tmp_val="`(m4 conftest.m4) 2>&AC_FD_CC`"    echo "trying m4" >&AC_FD_CC
   echo "$gmp_tmp_val" 1>&AC_FD_CC    gmp_tmp_val=`(m4 conftest.m4) 2>&AC_FD_CC`
     echo "$gmp_tmp_val" >&AC_FD_CC
   if test "$gmp_tmp_val" = good; then    if test "$gmp_tmp_val" = good; then
     gmp_cv_prog_m4="m4"      gmp_cv_prog_m4="m4"
   else    else
Line 102  dnl not every word.  This closes a longstanding sh sec
Line 318  dnl not every word.  This closes a longstanding sh sec
     ac_dummy="$PATH:/usr/5bin"      ac_dummy="$PATH:/usr/5bin"
     for ac_dir in $ac_dummy; do      for ac_dir in $ac_dummy; do
       test -z "$ac_dir" && ac_dir=.        test -z "$ac_dir" && ac_dir=.
       echo "trying $ac_dir/m4" 1>&AC_FD_CC        echo "trying $ac_dir/m4" >&AC_FD_CC
       gmp_tmp_val="`($ac_dir/m4 conftest.m4) 2>&AC_FD_CC`"        gmp_tmp_val=`($ac_dir/m4 conftest.m4) 2>&AC_FD_CC`
       echo "$gmp_tmp_val" 1>&AC_FD_CC        echo "$gmp_tmp_val" >&AC_FD_CC
       if test "$gmp_tmp_val" = good; then        if test "$gmp_tmp_val" = good; then
         gmp_cv_prog_m4="$ac_dir/m4"          gmp_cv_prog_m4="$ac_dir/m4"
         break          break
Line 122  AC_SUBST(M4)
Line 338  AC_SUBST(M4)
 ])  ])
   
   
 dnl  GMP_PROG_CC_FIND([CC_LIST], [REQ_64BIT_CC])  dnl  GMP_M4_M4WRAP_SPURIOUS
 dnl  Find first working compiler in CC_LIST.  dnl  ----------------------
 dnl  If REQ_64BIT_CC is "yes", the compiler is required to be able to  dnl  Check for spurious output from m4wrap(), as described in mpn/asm-defs.m4.
 dnl  produce 64-bit code.  
 dnl  NOTE: If a compiler needs any special flags for producing 64-bit code,  
 dnl  these have to be found in shell variable `gmp_cflags64_{cc}', where `{cc}'  
 dnl  is the name of the compiler.  
 dnl  Set CC to the name of the first working compiler.  
 dnl  If a 64-bit compiler is found, set CC64 to the name of the compiler and  
 dnl  CFLAGS64 to flags to use.  
 dnl  This macro does not test if any of the compilers found is a GNU compiler.  
 dnl  To do this, when you have finally made up your mind on which one to use,  
 dnl  and set CC accordingly, invoke [GMP_PROG_CC_SELECT].  That macro will  
 dnl  also make sure that your selection of CFLAGS is valid.  
 dnl  dnl
 AC_DEFUN(GMP_PROG_CC_FIND,  dnl  The following systems have been seen with the problem.
 [AC_BEFORE([$0], [CC_PROG_CPP])  dnl
 ifelse([$1], , gmp_cc_list="gcc cc", gmp_cc_list="[$1]")  dnl  - Unicos alpha, but its assembler doesn't seem to mind.
 ifelse([$2], , gmp_req_64bit_cc="no", gmp_req_64bit_cc="[$2]")  dnl  - MacOS X Darwin, its assembler fails.
   dnl  - NetBSD 1.4.1 m68k, and gas 1.92.3 there gives a warning and ignores
   dnl    the bad last line since it doesn't have a newline.
   dnl  - NetBSD 1.4.2 alpha, but its assembler doesn't seem to mind.
   dnl
   dnl  Enhancement: Maybe this could be in GMP_PROG_M4, and attempt to prefer
   dnl  an m4 with a working m4wrap, if it can be found.
   
 CC32=  AC_DEFUN(GMP_M4_M4WRAP_SPURIOUS,
 CC64=  [AC_REQUIRE([GMP_PROG_M4])
 for c in $gmp_cc_list; do  AC_CACHE_CHECK([if m4wrap produces spurious output],
   # Avoid cache hits.                 gmp_cv_m4_m4wrap_spurious,
   unset CC  [# hide the d-n-l from autoconf's error checking
   unset ac_cv_prog_CC  tmp_d_n_l=d""nl
   AC_CHECK_TOOL(CC, $c, $c)  cat >conftest.m4 <<EOF
   if test -n "$CC"; then  [changequote({,})define(x,)m4wrap({x})$tmp_d_n_l]
     eval c_flags=\$gmp_cflags_$c  EOF
     GMP_PROG_CC_WORKS($CC, $c_flags,  echo test input is >&AC_FD_CC
                       gmp_prog_cc_works=yes,  cat conftest.m4 >&AC_FD_CC
                       gmp_prog_cc_works=no)  tmp_chars=`$M4 conftest.m4 | wc -c`
   echo produces $tmp_chars chars output >&AC_FD_CC
   rm -f conftest.m4
   if test $tmp_chars = 0; then
     gmp_cv_m4_m4wrap_spurious=no
   else
     gmp_cv_m4_m4wrap_spurious=yes
   fi
   ])
   GMP_DEFINE_RAW(["define(<M4WRAP_SPURIOUS>,<$gmp_cv_m4_m4wrap_spurious>)"])
   ])
   
     if test "$gmp_prog_cc_works" != "yes"; then  
       continue  
     fi  
   
     # Save first working compiler, whether 32- or 64-bit capable.  dnl  GMP_PROG_NM
     if test -z "$CC32"; then  dnl  -----------
       CC32="$CC"  dnl  GMP additions to libtool AC_PROG_NM.
     fi  dnl
     if test "$gmp_req_64bit_cc" = "yes"; then  dnl  Note that if AC_PROG_NM can't find a working nm it still leaves
       eval c_flags=\$gmp_cflags64_$c  dnl  $NM set to "nm", so $NM can't be assumed to actually work.
   dnl
   dnl  A user-selected $NM is always left unchanged.  AC_PROG_NM is still run
   dnl  to get the "checking" message printed though.
   
       # Verify that the compiler works in 64-bit mode as well.  AC_DEFUN(GMP_PROG_NM,
       # /usr/ucb/cc on Solaris 7 can *compile* in 64-bit mode, but not link.  [dnl  Make sure we're the first to call AC_PROG_NM, so our extra flags are
       GMP_PROG_CC_WORKS($c, $c_flags,  dnl   used by everyone.
                         gmp_prog_cc_works=yes,  AC_BEFORE([$0],[AC_PROG_NM])
                         gmp_prog_cc_works=no)  gmp_user_NM=$NM
   AC_PROG_NM
   
       if test "$gmp_prog_cc_works" = "yes"; then  # FIXME: When cross compiling (ie. $ac_tool_prefix not empty), libtool
         GMP_CHECK_CC_64BIT($c, $c_flags)  # defaults to plain "nm" if a "${ac_tool_prefix}nm" is not found.  In this
         if test "$gmp_cv_cc_64bit" = "yes"; then  # case run it again to try the native "nm", firstly so that likely locations
           test -z "$CC64" && CC64="$c"  # are searched, secondly so that -B or -p are added if necessary for BSD
           test -z "$CFLAGS64" && CFLAGS64="$c_flags"  # format.  This is necessary for instance on OSF with "./configure
           # We have CC64 so we're done.  # --build=alphaev5-dec-osf --host=alphaev6-dec-osf".
           break  #
         fi  if test -z "$gmp_user_NM" && test -n "$ac_tool_prefix" && test "$NM" = nm; then
       fi    $as_unset lt_cv_path_NM
     else    gmp_save_ac_tool_prefix=$ac_tool_prefix
       # We have CC32, and we don't need a 64-bit compiler so we're done.    ac_tool_prefix=
       break    NM=
     AC_PROG_NM
     ac_tool_prefix=$gmp_save_ac_tool_prefix
   fi
   
   if test -z "$gmp_user_NM"; then
                           eval nmflags=\"\$nm${abi1}_flags\"
     test -n "$nmflags" || eval nmflags=\"\$nm${abi2}_flags\"
     if test -n "$nmflags"; then
       AC_MSG_CHECKING([for extra nm flags])
       NM="$NM $nmflags"
       AC_MSG_RESULT([$nmflags])
     fi
   fi
   ])
   
   
   dnl  GMP_PROG_CC_WORKS(cc+cflags,[ACTION-IF-WORKS][,ACTION-IF-NOT-WORKS])
   dnl  --------------------------------------------------------------------
   dnl  Check if cc+cflags can compile and link.
   dnl
   dnl  This test is designed to be run repeatedly with different cc+cflags
   dnl  selections, so the result is not cached.
   dnl
   dnl  For a native build, meaning $cross_compiling == no, we require that the
   dnl  generated program will run.  This is the same as AC_PROG_CC does in
   dnl  _AC_COMPILER_EXEEXT_WORKS, and checking here will ensure we don't pass
   dnl  a CC/CFLAGS combination that it rejects.
   dnl
   dnl  sparc-*-solaris2.7 can compile ABI=64 but won't run it if the kernel
   dnl  was booted in 32-bit mode.  The effect of requiring the compiler output
   dnl  will run is that a plain native "./configure" falls back on ABI=32, but
   dnl  ABI=64 is still available as a cross-compile.
   
   AC_DEFUN(GMP_PROG_CC_WORKS,
   [AC_MSG_CHECKING([compiler $1])
   cat >conftest.c <<EOF
   
   /* The following provokes an internal error from gcc 2.95.2 -mpowerpc64
      (without -maix64), hence detecting an unusable compiler */
   void *g() { return (void *) 0; }
   void *f() { return g(); }
   
   /* The following provokes an invalid instruction syntax from i386 gcc
      -march=pentiumpro on Solaris 2.8.  The native sun assembler
      requires a non-standard syntax for cmov which gcc (as of 2.95.2 at
      least) doesn't know.  */
   int n;
   int cmov () { return (n >= 0 ? n : 0); }
   
   /* The following provokes a linker invocation problem with gcc 3.0.3
      on AIX 4.3 under "-maix64 -mpowerpc64 -mcpu=630".  The -mcpu=630
      option causes gcc to incorrectly select the 32-bit libgcc.a, not
      the 64-bit one, and consequently it misses out on the __fixunsdfdi
      helper (double -> uint64 conversion).  */
   double d;
   unsigned long gcc303 () { return (unsigned long) d; }
   
   int main () { return 0; }
   EOF
   gmp_prog_cc_works=no
   gmp_compile="$1 conftest.c >&AC_FD_CC"
   if AC_TRY_EVAL(gmp_compile); then
     if test "$cross_compiling" = no; then
       if AC_TRY_COMMAND([./a.out || ./a.exe || ./conftest]); then
         gmp_prog_cc_works=yes
     fi      fi
     else
       gmp_prog_cc_works=yes
   fi    fi
 done  fi
 CC="$CC32"  rm -f conftest* a.out a.exe
 ])dnl  AC_MSG_RESULT($gmp_prog_cc_works)
   if test $gmp_prog_cc_works = yes; then
     ifelse([$2],,:,[$2])
   else
     ifelse([$3],,:,[$3])
   fi
   ])
   
 dnl  GMP_PROG_CC_SELECT  
 dnl  Check that `CC' works with `CFLAGS'.  Check if `CC' is a GNU compiler.  
 dnl  Cache the result as `ac_cv_prog_CC'.  
 AC_DEFUN(GMP_PROG_CC_SELECT,  
 [AC_BEFORE([$0], [CC_PROG_CPP])  
 AC_PROG_CC_WORKS  
 AC_PROG_CC_GNU  
   
 if test "$ac_cv_prog_gcc" = "yes"; then  dnl  GMP_PROG_CC_IS_GNU(CC,[ACTIONS-IF-YES][,ACTIONS-IF-NO])
   GCC=yes  dnl  -------------------------------------------------------
   dnl  Determine whether the given compiler is GNU C.
   dnl
   dnl  This test is the same as autoconf _AC_LANG_COMPILER_GNU, but doesn't
   dnl  cache the result.  The same "ifndef" style test is used, to avoid
   dnl  problems with syntax checking cpp's used on NeXT and Apple systems.
   
   AC_DEFUN(GMP_PROG_CC_IS_GNU,
   [cat >conftest.c <<EOF
   #ifndef __GNUC__
     choke me
   #endif
   EOF
   gmp_compile="$1 -c conftest.c >&AC_FD_CC"
   if AC_TRY_EVAL(gmp_compile); then
     rm -f conftest*
     AC_MSG_CHECKING([whether $1 is gcc])
     AC_MSG_RESULT(yes)
     ifelse([$2],,:,[$2])
 else  else
   GCC=    rm -f conftest*
     ifelse([$3],,:,[$3])
 fi  fi
   ])
   
 # Set CFLAGS if not already set.  
 if test -z "$CFLAGS"; then  dnl  GMP_PROG_CC_IS_XLC(CC,[ACTIONS-IF-YES][,ACTIONS-IF-NO])
   CFLAGS="-g"  dnl  -------------------------------------------------------
   if test "$GCC" = "yes"; then  dnl  Determine whether the given compiler is IBM xlc (on AIX).
     CFLAGS="$CFLAGS -O2"  dnl
   dnl  There doesn't seem to be a preprocessor symbol to test for this, or if
   dnl  there is one then it's well hidden in xlc 3.1 on AIX 4.3, so just grep
   dnl  the man page printed when xlc is invoked with no arguments.
   
   AC_DEFUN(GMP_PROG_CC_IS_XLC,
   [gmp_command="$1 2>&1 | grep xlc >/dev/null"
   if AC_TRY_EVAL(gmp_command); then
     AC_MSG_CHECKING([whether $1 is xlc])
     AC_MSG_RESULT(yes)
     ifelse([$2],,:,[$2])
   else
     ifelse([$3],,:,[$3])
   fi
   ])
   
   
   dnl  GMP_HPC_HPPA_2_0(cc,[ACTION-IF-GOOD][,ACTION-IF-BAD])
   dnl  ---------------------------------------------------------
   dnl  Find out whether a HP compiler is good enough to generate hppa 2.0.
   dnl
   dnl  This test might be repeated for different compilers, so the result is
   dnl  not cached.
   
   AC_DEFUN(GMP_HPC_HPPA_2_0,
   [AC_MSG_CHECKING([whether HP compiler $1 is good for 64-bits])
   # Bad compiler output:
   #   ccom: HP92453-01 G.10.32.05 HP C Compiler
   # Good compiler output:
   #   ccom: HP92453-01 A.10.32.30 HP C Compiler
   # Let A.10.32.30 or higher be ok.
   echo >conftest.c
   gmp_tmp_vs=`$1 $2 -V -c -o conftest.$OBJEXT conftest.c 2>&1 | grep "^ccom:"`
   echo "Version string: $gmp_tmp_vs" >&AC_FD_CC
   rm conftest*
   gmp_tmp_v1=`echo $gmp_tmp_vs | sed 's/.* .\.\(.*\)\..*\..* HP C.*/\1/'`
   gmp_tmp_v2=`echo $gmp_tmp_vs | sed 's/.* .\..*\.\(.*\)\..* HP C.*/\1/'`
   gmp_tmp_v3=`echo $gmp_tmp_vs | sed 's/.* .\..*\..*\.\(.*\) HP C.*/\1/'`
   echo "Version number: $gmp_tmp_v1.$gmp_tmp_v2.$gmp_tmp_v3" >&AC_FD_CC
   if test -z "$gmp_tmp_v1"; then
     gmp_hpc_64bit=not-applicable
   else
     GMP_COMPARE_GE($gmp_tmp_v1, 10, $gmp_tmp_v2, 32, $gmp_tmp_v3, 30)
     gmp_hpc_64bit=$gmp_compare_ge
   fi
   AC_MSG_RESULT($gmp_hpc_64bit)
   if test $gmp_hpc_64bit = yes; then
     ifelse([$2],,:,[$2])
   else
     ifelse([$3],,:,[$3])
   fi
   ])
   
   
   dnl  GMP_GCC_VERSION_GE(CC,MAJOR[,MINOR[,SUBMINOR]])
   dnl  -----------------------------------------------
   dnl  Test whether the version of CC (which must be GNU C) is >=
   dnl  MAJOR.MINOR.SUBMINOR.  Set $gmp_compare_ge to "yes" or "no"
   dnl  accordingly, or to "error" if the version number string can't be
   dnl  parsed.
   dnl
   dnl  gcc --version is normally just "2.7.2.3" or "2.95.3" or whatever, but
   dnl  egcs gives something like "egcs-2.91".  "[a-z-]*" is used to match that
   dnl  (Solaris 8 sed doesn't support "?" or "*" of a group, like "\(...\)?"
   dnl  or "\(...\)*".)
   dnl
   dnl  There's no caching here, so that different CC's can be tested.
   
   AC_DEFUN(GMP_GCC_VERSION_GE,
   [tmp_version=`($1 --version) 2>&AC_FD_CC`
   echo "$1 --version '$tmp_version'" >&AC_FD_CC
   
   major=`(echo "$tmp_version" | sed -n ['s/^[a-z-]*\([0-9][0-9]*\).*/\1/p']) 2>&AC_FD_CC`
   echo "    major '$major'" >&AC_FD_CC
   
   ifelse([$3],,,
   [minor=`(echo "$tmp_version" | sed -n ['s/^[a-z-]*[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p']) 2>&AC_FD_CC`
   echo "    minor '$minor'" >&AC_FD_CC])
   
   ifelse([$4],,,
   [subminor=`(echo "$tmp_version" | sed -n ['s/^[a-z-]*[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p']) 2>&AC_FD_CC`
   echo "    subminor '$subminor'" >&AC_FD_CC])
   
   if test -z "$major"; then
     AC_MSG_WARN([unrecognised gcc version string: $tmp_version])
     gmp_compare_ge=error
   else
     ifelse([$3],, [GMP_COMPARE_GE($major, $2)],
     [ifelse([$4],,[GMP_COMPARE_GE($major, $2, $minor, $3)],
                   [GMP_COMPARE_GE($major, $2, $minor, $3, $subminor, $4)])])
   fi
   ])
   
   
   dnl  GMP_GCC_ARM_UMODSI(CC,[ACTIONS-IF-GOOD][,ACTIONS-IF-BAD])
   dnl  ---------------------------------------------------------
   dnl  gcc 2.95.3 and earlier on arm has a bug in the libgcc __umodsi routine
   dnl  making "%" give wrong results for some operands, eg. "0x90000000 % 3".
   dnl  We're hoping it'll be fixed in 2.95.4, and we know it'll be fixed in
   dnl  gcc 3.
   dnl
   dnl  There's only a couple of places gmp cares about this, one is the
   dnl  size==1 case in mpn/generic/mode1o.c, and this shows up in
   dnl  tests/mpz/t-jac.c as a wrong result from mpz_kronecker_ui.
   
   AC_DEFUN(GMP_GCC_ARM_UMODSI,
   [AC_MSG_CHECKING([whether ARM gcc unsigned division works])
   tmp_version=`$1 --version`
   echo "$tmp_version" >&AC_FD_CC
   case $tmp_version in
     [2.95 | 2.95.[123]])
       ifelse([$3],,:,[$3])
       gmp_gcc_arm_umodsi_result="no, gcc 2.95.[0123]" ;;
     *)
       ifelse([$2],,:,[$2])
       gmp_gcc_arm_umodsi_result=yes ;;
   esac
   AC_MSG_RESULT([$gmp_gcc_arm_umodsi_result])
   ])
   
   
   dnl  GMP_GCC_MARCH_PENTIUMPRO(CC,[ACTIONS-IF-GOOD][,ACTIONS-IF-BAD])
   dnl  ---------------------------------------------------------------
   dnl  mpz/powm.c swox cvs rev 1.4 tickled a bug in gcc 2.95.2 and 2.95.3 when
   dnl  -march=pentiumpro was used.  The bug was wrong handling of the input to
   dnl  an ABSIZ(z) expression in mpz_redc().  Fixed in 2.95.4 and pre-release
   dnl  3.0, and didn't seem to occur in unofficial 2.96, so test for 2.95.4
   dnl  and up.
   dnl
   dnl  This macro is used only once, after finalizing a choice of CC, so the
   dnl  result is cached.
   
   AC_DEFUN(GMP_GCC_MARCH_PENTIUMPRO,
   [AC_CACHE_CHECK([whether gcc -march=pentiumpro is good],
                   gmp_cv_gcc_march_pentiumpro,
   [GMP_GCC_VERSION_GE([$1], 2,95,4)
   case $gmp_compare_ge in
   yes|no)  gmp_cv_gcc_march_pentiumpro=$gmp_compare_ge ;;
   error|*) gmp_cv_gcc_march_pentiumpro=no ;;
   esac])
   if test $gmp_cv_gcc_march_pentiumpro = yes; then
     ifelse([$2],,:,[$2])
   else
     ifelse([$3],,:,[$3])
   fi
   ])
   
   
   dnl  GMP_GCC_M68K_OPTIMIZE(CCBASE,CC,FLAG-VARIABLE)
   dnl  ----------------------------------------------
   dnl  m68k gcc 2.95.x gets an internal compiler error when compiling the
   dnl  current mpn/generic/gcdext.c (swox cvs rev 1.20) under -O2 or higher,
   dnl  so just use -O for the offending gcc versions.  Naturally if gcdext.c
   dnl  gets rearranged or rewritten so the ICE doesn't happen then this can be
   dnl  removed.
   
   AC_DEFUN(GMP_GCC_M68K_OPTIMIZE,
   [case $host in
   m68*-*-*)
     if test $1 = gcc; then
       case `$2 --version` in
       2.95*) $3=-O ;;
       esac
   fi    fi
     ;;
   esac
   ])
   
   
   dnl  GMP_GCC_MIPS_O32(gcc,[actions-yes][,[actions-no]])
   dnl  -------------------------------------------------
   dnl  Test whether gcc supports o32.
   dnl
   dnl  gcc 2.7.2.2 only does o32, and doesn't accept -mabi=32.
   dnl
   dnl  gcc 2.95 accepts -mabi=32 but it only works on irix5, on irix6 it gives
   dnl  "cc1: The -mabi=32 support does not work yet".
   
   AC_DEFUN(GMP_GCC_MIPS_O32,
   [AC_MSG_CHECKING([whether gcc supports o32])
   echo 'int x;' >conftest.c
   echo "$1 -mabi=32 -c conftest.c" >&AC_FD_CC
   if $1 -mabi=32 -c conftest.c >conftest.out 2>&1; then
     result=yes
   else
     cat conftest.out >&AC_FD_CC
     if grep "cc1: Invalid option \`abi=32'" conftest.out >/dev/null; then
       result=yes
     else
       result=no
     fi
 fi  fi
   rm -f conftest.*
   AC_MSG_RESULT($result)
   if test $result = yes; then
     ifelse([$2],,:,[$2])
   else
     ifelse([$3],,:,[$3])
   fi
   ])
   
 AC_SUBST(CC)  
 AC_CACHE_VAL(ac_cv_prog_CC, ac_cv_prog_CC="$CC")  
 AC_PROVIDE([AC_PROG_CC])  
 ])dnl  
   
 dnl  GMP_CHECK_CC_64BIT(cc, cflags64)  dnl  GMP_GCC_NO_CPP_PRECOMP(CCBASE,CC,CFLAGS,[ACTIONS-YES][,ACTIONS-NO])
 dnl  Find out if `CC' can produce 64-bit code.  dnl  -------------------------------------------------------------------
 dnl  Requires NM to be set to nm for target.  dnl  Check whether -no-cpp-precomp should be used on this compiler, and
 dnl  FIXME: Cache result.  dnl  execute the corresponding ACTIONS-YES or ACTIONS-NO.
 AC_DEFUN(GMP_CHECK_CC_64BIT,  dnl
 [  dnl  -no-cpp-precomp is only meant for Apple's hacked version of gcc found
   gmp_tmp_CC_save="$CC"  dnl  on powerpc*-*-darwin*, but we can give it a try on any gcc.  Normal gcc
   CC="[$1]"  dnl  (as of 3.0 at least) only gives a warning, not an actual error, and we
   AC_MSG_CHECKING([whether the C compiler ($CC) is 64-bit capable])  dnl  watch for that and decide against the option in that case, to avoid
   if test -z "$NM"; then  dnl  confusing the user.
     echo; echo ["configure: $0: fatal: need nm"]  
     exit 1  AC_DEFUN(GMP_GCC_NO_CPP_PRECOMP,
   [if test "$ccbase" = gcc; then
     AC_MSG_CHECKING([compiler $2 $3 -no-cpp-precomp])
     result=no
     cat >conftest.c <<EOF
   int main () { return 0; }
   EOF
     gmp_compile="$2 $3 -no-cpp-precomp conftest.c >conftest.out 2>&1"
     if AC_TRY_EVAL(gmp_compile); then
       if grep "unrecognized option.*-no-cpp-precomp" conftest.out >/dev/null; then : ;
       else
         result=yes
       fi
   fi    fi
   gmp_tmp_CFLAGS_save="$CFLAGS"    cat conftest.out >&AC_FD_CC
   CFLAGS="[$2]"    rm -f conftest* a.out
     AC_MSG_RESULT($result)
     if test "$result" = yes; then
         ifelse([$4],,:,[$4])
     else
         ifelse([$5],,:,[$5])
     fi
   fi
   ])
   
   case "$target" in  
     hppa2.0*-*-*)  dnl  GMP_GCC_WA_MCPU(CC+CFLAGS, NEWFLAG [,ACTION-YES [,ACTION-NO]])
       # FIXME: If gcc is installed under another name than "gcc", we will  dnl  --------------------------------------------------------------
       # test the wrong thing.  dnl  Check whether gcc (or gas rather) accepts a flag like "-Wa,-mev67".
       if test "$CC" != "gcc"; then  dnl
         dnl Let compiler version A.10.32.30 or higher be ok.  dnl  Gas doesn't give an error for an unknown cpu, it only prints a warning
         dnl Bad compiler output:  dnl  like "Warning: Unknown CPU identifier `ev78'".
         dnl   ccom: HP92453-01 G.10.32.05 HP C Compiler  dnl
         dnl Good compiler output:  dnl  This is intended for use on alpha, since only recent versions of gas
         dnl   ccom: HP92453-01 A.10.32.30 HP C Compiler  dnl  accept -mev67, but there's nothing here that's alpha specific.
         echo >conftest.c  
         gmp_tmp_vs=`$CC $CFLAGS -V -c -o conftest.o conftest.c 2>&1 | grep "^ccom:"`  AC_DEFUN(GMP_GCC_WA_MCPU,
         rm conftest*  [AC_MSG_CHECKING([assembler $1 $2])
         gmp_tmp_v1=`echo $gmp_tmp_vs | sed 's/.* .\.\(.*\)\..*\..* HP C.*/\1/'`  result=no
         gmp_tmp_v2=`echo $gmp_tmp_vs | sed 's/.* .\..*\.\(.*\)\..* HP C.*/\1/'`  cat >conftest.c <<EOF
         gmp_tmp_v3=`echo $gmp_tmp_vs | sed 's/.* .\..*\..*\.\(.*\) HP C.*/\1/'`  int main () {}
         gmp_cv_cc_64bit=no  
         test -n "$gmp_tmp_v1" && test "$gmp_tmp_v1" -ge "10" \  
           && test -n "$gmp_tmp_v2" && test "$gmp_tmp_v2" -ge "32" \  
           && test -n "$gmp_tmp_v3" && test "$gmp_tmp_v3" -ge "30" \  
           && gmp_cv_cc_64bit=yes  
       else      # gcc  
         # FIXME: Compile a minimal file and determine if the resulting object  
         # file is an ELF file.  If so, gcc can produce 64-bit code.  
         # Do we have file(1) for target?  
         gmp_cv_cc_64bit=no  
       fi  
       ;;  
     mips-sgi-irix6.*)  
       # We use `-n32' to cc and `-mabi=n32' to gcc, resulting in 64-bit  
       # arithmetic but not 64-bit pointers, so the general test for sizeof  
       # (void *) is not valid.  
       # Simply try to compile an empty main.  If that succeeds return  
       # true.  
       AC_TRY_COMPILE( , ,  
                      gmp_cv_cc_64bit=yes, gmp_cv_cc_64bit=no,  
                      gmp_cv_cc_64bit=no)  
       ;;  
     *-*-*)  
       # Allocate an array of size sizeof (void *) and use nm to determine its  
       # size.  We depend on the first declared variable being put at address 0.  
       cat >conftest.c <<EOF  
 [char arr[sizeof (void *)]={0};  
 char post=0;]  
 EOF  EOF
       gmp_compile="$CC $CFLAGS -c conftest.c 1>&AC_FD_CC"  gmp_compile="$1 $2 -c conftest.c >conftest.out 2>&1"
       if AC_TRY_EVAL(gmp_compile); then  if AC_TRY_EVAL(gmp_compile); then
         changequote(<,>)dnl    if grep "Unknown CPU identifier" conftest.out >/dev/null; then : ;
         gmp_tmp_val=`$NM conftest.o | grep post | sed -e 's;[[][0-9][]]\(.*\);\1;' \    else
           -e 's;[^1-9]*\([0-9]*\).*;\1;'`      result=yes
         changequote([, ])dnl    fi
         if test "$gmp_tmp_val" = "8"; then  fi
           gmp_cv_cc_64bit=yes  cat conftest.out >&AC_FD_CC
         else  rm -f conftest*
           gmp_cv_cc_64bit=no  AC_MSG_RESULT($result)
         fi  if test "$result" = yes; then
       else    ifelse([$3],,:,[$3])
         echo "configure: failed program was:" >&AC_FD_CC  else
         cat conftest.$ac_ext >&AC_FD_CC    ifelse([$4],,:,[$4])
         gmp_cv_cc_64bit=no  fi
       fi  ])
       rm -f conftest*  
       ;;  
   esac  
   
   CC="$gmp_tmp_CC_save"  
   CFLAGS="$gmp_tmp_CFLAGS_save"  
   AC_MSG_RESULT($gmp_cv_cc_64bit)  
 ])dnl  
   
   dnl  GMP_PROG_CXX_WORKS(cxx/cxxflags [, ACTION-YES [,ACTION-NO]])
   dnl  ------------------------------------------------------------
   dnl  Check whether cxx/cxxflags can compile and link.
   dnl
   dnl  This test is designed to be run repeatedly with different cxx/cxxflags
   dnl  selections, so the result is not cached.
   
   AC_DEFUN(GMP_PROG_CXX_WORKS,
   [AC_MSG_CHECKING([C++ compiler $1])
   cat >conftest.cc <<EOF
   #include <iostream>
   using namespace std;
   int
   main (void)
   {
     cout.setf (ios::hex);
     cout << 123;
     return 0;
   }
   EOF
   
   gmp_cxxcompile="$1 conftest.cc -o conftest >&AC_FD_CC"
   if AC_TRY_EVAL(gmp_cxxcompile); then
     rm -f conftest*
     AC_MSG_RESULT(yes)
     ifelse([$2],,:,[$2])
   else
     rm -f conftest*
     AC_MSG_RESULT(no)
     ifelse([$3],,:,[$3])
   fi
   ])
   
   
 dnl  GMP_INIT([M4-DEF-FILE])  dnl  GMP_INIT([M4-DEF-FILE])
 dnl  dnl  -----------------------
   dnl  Initializations for GMP config.m4 generation.
   dnl
   dnl  FIXME: The generated config.m4 doesn't get recreated by config.status.
   dnl  Maybe the relevant "echo"s should go through AC_CONFIG_COMMANDS.
   
 AC_DEFUN(GMP_INIT,  AC_DEFUN(GMP_INIT,
 [ifelse([$1], , gmp_configm4=config.m4, gmp_configm4="[$1]")  [ifelse([$1], , gmp_configm4=config.m4, gmp_configm4="[$1]")
 gmp_tmpconfigm4=cnfm4.tmp  gmp_tmpconfigm4=cnfm4.tmp
 gmp_tmpconfigm4i=cnfm4i.tmp  gmp_tmpconfigm4i=cnfm4i.tmp
 gmp_tmpconfigm4p=cnfm4p.tmp  gmp_tmpconfigm4p=cnfm4p.tmp
 test -f $gmp_tmpconfigm4 && rm $gmp_tmpconfigm4  rm -f $gmp_tmpconfigm4 $gmp_tmpconfigm4i $gmp_tmpconfigm4p
 test -f $gmp_tmpconfigm4i && rm $gmp_tmpconfigm4i  
 test -f $gmp_tmpconfigm4p && rm $gmp_tmpconfigm4p  
 ])dnl  
   
   # CONFIG_TOP_SRCDIR is a path from the mpn builddir to the top srcdir.
   # The pattern here tests for an absolute path the same way as
   # _AC_OUTPUT_FILES in autoconf acgeneral.m4.
   case $srcdir in
   [[\\/]]* | ?:[[\\/]]* )  tmp="$srcdir"    ;;
   *)                       tmp="../$srcdir" ;;
   esac
   echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
   
   # All CPUs use asm-defs.m4
   echo ["include(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
   ])
   
   
 dnl  GMP_FINISH  dnl  GMP_FINISH
 dnl  ----------  dnl  ----------
 dnl  Create config.m4 from its accumulated parts.  dnl  Create config.m4 from its accumulated parts.
Line 335  dnl  on BSD m4.
Line 871  dnl  on BSD m4.
 AC_DEFUN(GMP_FINISH,  AC_DEFUN(GMP_FINISH,
 [AC_REQUIRE([GMP_INIT])  [AC_REQUIRE([GMP_INIT])
 echo "creating $gmp_configm4"  echo "creating $gmp_configm4"
 echo ["dnl $gmp_configm4.  Generated automatically by configure."] > $gmp_configm4  echo ["d""nl $gmp_configm4.  Generated automatically by configure."] > $gmp_configm4
 if test -f $gmp_tmpconfigm4; then  if test -f $gmp_tmpconfigm4; then
   echo ["changequote(<,>)dnl"] >> $gmp_configm4    echo ["changequote(<,>)"] >> $gmp_configm4
   echo ["ifdef(<__CONFIG_M4_INCLUDED__>,,<"] >> $gmp_configm4    echo ["ifdef(<__CONFIG_M4_INCLUDED__>,,<"] >> $gmp_configm4
   cat $gmp_tmpconfigm4 >> $gmp_configm4    cat $gmp_tmpconfigm4 >> $gmp_configm4
   echo [">)"] >> $gmp_configm4    echo [">)"] >> $gmp_configm4
   echo ["changequote(\`,')dnl"] >> $gmp_configm4    echo ["changequote(\`,')"] >> $gmp_configm4
   rm $gmp_tmpconfigm4    rm $gmp_tmpconfigm4
 fi  fi
 echo ["ifdef(\`__CONFIG_M4_INCLUDED__',,\`"] >> $gmp_configm4  echo ["ifdef(\`__CONFIG_M4_INCLUDED__',,\`"] >> $gmp_configm4
Line 355  if test -f $gmp_tmpconfigm4p; then
Line 891  if test -f $gmp_tmpconfigm4p; then
 fi  fi
 echo ["')"] >> $gmp_configm4  echo ["')"] >> $gmp_configm4
 echo ["define(\`__CONFIG_M4_INCLUDED__')"] >> $gmp_configm4  echo ["define(\`__CONFIG_M4_INCLUDED__')"] >> $gmp_configm4
 ])dnl  ])
   
 dnl  GMP_INCLUDE(FILE)  
 AC_DEFUN(GMP_INCLUDE,  
 [AC_REQUIRE([GMP_INIT])  
 echo ["include(\`$1')"] >> $gmp_tmpconfigm4i  
 ])dnl  
   
 dnl  GMP_SINCLUDE(FILE)  dnl  GMP_INCLUDE_MPN(FILE)
 AC_DEFUN(GMP_SINCLUDE,  dnl  ---------------------
   dnl  Add an include_mpn(`FILE') to config.m4.  FILE should be a path
   dnl  relative to the mpn source directory, for example
   dnl
   dnl      GMP_INCLUDE_MPN(`x86/x86-defs.m4')
   dnl
   
   AC_DEFUN(GMP_INCLUDE_MPN,
 [AC_REQUIRE([GMP_INIT])  [AC_REQUIRE([GMP_INIT])
 echo ["sinclude(\`$1')"] >> $gmp_tmpconfigm4i  echo ["include_mpn(\`$1')"] >> $gmp_tmpconfigm4i
 ])dnl  ])
   
 dnl GMP_DEFINE(MACRO, DEFINITION [, LOCATION])  
 dnl [ Define M4 macro MACRO as DEFINITION in temporary file.            ]  dnl  GMP_DEFINE(MACRO, DEFINITION [, LOCATION])
 dnl [ If LOCATION is `POST', the definition will appear after any       ]  dnl  ------------------------------------------
 dnl [ include() directives inserted by GMP_INCLUDE/GMP_SINCLUDE.        ]  dnl  Define M4 macro MACRO as DEFINITION in temporary file.
 dnl [ Mind the quoting!  No shell variables will get expanded.          ]  dnl
 dnl [ Don't forget to invoke GMP_FINISH to create file config.m4.       ]  dnl  If LOCATION is `POST', the definition will appear after any include()
 dnl [ config.m4 uses `<' and '>' as quote characters for all defines.   ]  dnl  directives inserted by GMP_INCLUDE.  Mind the quoting!  No shell
   dnl  variables will get expanded.  Don't forget to invoke GMP_FINISH to
   dnl  create file config.m4.  config.m4 uses `<' and '>' as quote characters
   dnl  for all defines.
   
 AC_DEFUN(GMP_DEFINE,  AC_DEFUN(GMP_DEFINE,
 [AC_REQUIRE([GMP_INIT])  [AC_REQUIRE([GMP_INIT])
 echo ['define(<$1>, <$2>)'] >> ifelse([$3], [POST], $gmp_tmpconfigm4p, $gmp_tmpconfigm4)  echo ['define(<$1>, <$2>)'] >>ifelse([$3], [POST],
 ])dnl                                $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
   ])
   
 dnl GMP_DEFINE_RAW(STRING, [, LOCATION])  
 dnl [ Put STRING in temporary file.                                     ]  dnl  GMP_DEFINE_RAW(STRING, [, LOCATION])
 dnl [ If LOCATION is `POST', the definition will appear after any       ]  dnl  ------------------------------------
 dnl [ include() directives inserted by GMP_INCLUDE/GMP_SINCLUDE.        ]  dnl  Put STRING into config.m4 file.
 dnl [ Don't forget to invoke GMP_FINISH to create file config.m4.       ]  dnl
   dnl  If LOCATION is `POST', the definition will appear after any include()
   dnl  directives inserted by GMP_INCLUDE.  Don't forget to invoke GMP_FINISH
   dnl  to create file config.m4.
   
 AC_DEFUN(GMP_DEFINE_RAW,  AC_DEFUN(GMP_DEFINE_RAW,
 [AC_REQUIRE([GMP_INIT])  [AC_REQUIRE([GMP_INIT])
 echo [$1] >> ifelse([$2], [POST], $gmp_tmpconfigm4p, $gmp_tmpconfigm4)  echo [$1] >> ifelse([$2], [POST], $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_LABEL_SUFFIX  
   dnl  GMP_TRY_ASSEMBLE(asm-code,[action-success][,action-fail])
   dnl  ----------------------------------------------------------
   dnl  Attempt to assemble the given code.
   dnl  Do "action-success" if this succeeds, "action-fail" if not.
   dnl
   dnl  conftest.o and conftest.out are available for inspection in
   dnl  "action-success".  If either action does a "break" out of a loop then
   dnl  an explicit "rm -f conftest*" will be necessary.
   dnl
   dnl  This is not unlike AC_TRY_COMPILE, but there's no default includes or
   dnl  anything in "asm-code", everything wanted must be given explicitly.
   
   AC_DEFUN(GMP_TRY_ASSEMBLE,
   [cat >conftest.s <<EOF
   [$1]
   EOF
   gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1"
   if AC_TRY_EVAL(gmp_assemble); then
     cat conftest.out >&AC_FD_CC
     ifelse([$2],,:,[$2])
   else
     cat conftest.out >&AC_FD_CC
     echo "configure: failed program was:" >&AC_FD_CC
     cat conftest.s >&AC_FD_CC
     ifelse([$3],,:,[$3])
   fi
   rm -f conftest*
   ])
   
   
   dnl  GMP_ASM_LABEL_SUFFIX
   dnl  --------------------
 dnl  Should a label have a colon or not?  dnl  Should a label have a colon or not?
 AC_DEFUN(GMP_CHECK_ASM_LABEL_SUFFIX,  
   AC_DEFUN(GMP_ASM_LABEL_SUFFIX,
 [AC_CACHE_CHECK([what assembly label suffix to use],  [AC_CACHE_CHECK([what assembly label suffix to use],
                gmp_cv_check_asm_label_suffix,                  gmp_cv_asm_label_suffix,
 [case "$target" in  [case $host in
   *-*-hpux*) gmp_cv_check_asm_label_suffix=[""] ;;    # Empty is only for the HP-UX hppa assembler; hppa gas requires a colon.
   *) gmp_cv_check_asm_label_suffix=[":"] ;;    *-*-hpux*) gmp_cv_asm_label_suffix=  ;;
     *)         gmp_cv_asm_label_suffix=: ;;
 esac  esac
 ])  ])
 echo ["define(<LABEL_SUFFIX>, <\$][1$gmp_cv_check_asm_label_suffix>)"] >> $gmp_tmpconfigm4  echo ["define(<LABEL_SUFFIX>, <\$][1$gmp_cv_asm_label_suffix>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])  
 dnl  Shamelessly borrowed from glibc.  dnl  GMP_ASM_UNDERSCORE
 AC_DEFUN(GMP_CHECK_ASM_UNDERSCORE,  dnl  ------------------
 [AC_CACHE_CHECK([if symbols are prefixed by underscore],  dnl  Determine whether global symbols need to be prefixed with an underscore.
                 gmp_cv_check_asm_underscore,  dnl  A test program is linked to an assembler module with or without an
 [cat > conftest.$ac_ext <<EOF  dnl  underscore to see which works.
 dnl This sometimes fails to find confdefs.h, for some reason.  dnl
 dnl [#]line __oline__ "[$]0"  dnl  This method should be more reliable than grepping a .o file or using
 [#]line __oline__ "configure"  dnl  nm, since it corresponds to what a real program is going to do.  Note
 #include "confdefs.h"  dnl  in particular that grepping doesn't work with SunOS 4 native grep since
 int underscore_test() {  dnl  that grep seems to have trouble with '\0's in files.
 return; }  
   AC_DEFUN(GMP_ASM_UNDERSCORE,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_REQUIRE([GMP_ASM_GLOBL])
   AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
   AC_CACHE_CHECK([if globals are prefixed by underscore],
                  gmp_cv_asm_underscore,
   [cat >conftes1.c <<EOF
   #ifdef __cplusplus
   extern "C" { void underscore_test(); }
   #endif
   main () { underscore_test(); }
 EOF  EOF
 if AC_TRY_EVAL(ac_compile); then  for tmp_underscore in "" "_"; do
   if grep _underscore_test conftest* >/dev/null; then    cat >conftes2.s <<EOF
     gmp_cv_check_asm_underscore=yes          $gmp_cv_asm_text
           $gmp_cv_asm_globl ${tmp_underscore}underscore_test
   ${tmp_underscore}underscore_test$gmp_cv_asm_label_suffix
   EOF
     case $host in
     *-*-aix*)
       cat >>conftes2.s <<EOF
           $gmp_cv_asm_globl .${tmp_underscore}underscore_test
   .${tmp_underscore}underscore_test$gmp_cv_asm_label_suffix
   EOF
       ;;
     esac
     gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftes1.c >&AC_FD_CC && $CCAS $CFLAGS conftes2.s >&AC_FD_CC && $CC $CFLAGS conftes1.$OBJEXT conftes2.$OBJEXT >&AC_FD_CC"
     if AC_TRY_EVAL(gmp_compile); then
       eval tmp_result$tmp_underscore=yes
   else    else
     gmp_cv_check_asm_underscore=no      eval tmp_result$tmp_underscore=no
   fi    fi
   done
   
   if test $tmp_result_ = yes; then
     if test $tmp_result = yes; then
       AC_MSG_ERROR([Test program unexpectedly links both with and without underscore.])
     else
       gmp_cv_asm_underscore=yes
     fi
 else  else
   echo "configure: failed program was:" >&AC_FD_CC    if test $tmp_result = yes; then
   cat conftest.$ac_ext >&AC_FD_CC      gmp_cv_asm_underscore=no
     else
       AC_MSG_ERROR([Test program links neither with nor without underscore.])
     fi
 fi  fi
 rm -f conftest*  rm -f conftes1* conftes2* a.out
 ])  ])
 if test "$gmp_cv_check_asm_underscore" = "yes"; then  if test "$gmp_cv_asm_underscore" = "yes"; then
   GMP_DEFINE(GSYM_PREFIX, [_])    GMP_DEFINE(GSYM_PREFIX, [_])
   ifelse([$1], , :, [$1])  
 else  else
   GMP_DEFINE(GSYM_PREFIX, [])    GMP_DEFINE(GSYM_PREFIX, [])
   ifelse([$2], , :, [$2])  
 fi  fi
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_ALIGN_LOG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])  
   dnl  GMP_ASM_ALIGN_LOG
   dnl  -----------------
 dnl  Is parameter to `.align' logarithmic?  dnl  Is parameter to `.align' logarithmic?
 dnl  Requires NM to be set to nm for target.  
 AC_DEFUN(GMP_CHECK_ASM_ALIGN_LOG,  AC_DEFUN(GMP_ASM_ALIGN_LOG,
 [AC_REQUIRE([GMP_CHECK_ASM_GLOBL])  [AC_REQUIRE([GMP_ASM_GLOBL])
 AC_REQUIRE([GMP_CHECK_ASM_DATA])  AC_REQUIRE([GMP_ASM_DATA])
 AC_REQUIRE([GMP_CHECK_ASM_LABEL_SUFFIX])  AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
   AC_REQUIRE([GMP_PROG_NM])
 AC_CACHE_CHECK([if .align assembly directive is logarithmic],  AC_CACHE_CHECK([if .align assembly directive is logarithmic],
                 gmp_cv_check_asm_align_log,                 gmp_cv_asm_align_log,
 [if test -z "$NM"; then  [GMP_TRY_ASSEMBLE(
   echo; echo ["configure: $0: fatal: need nm"]  [       $gmp_cv_asm_data
   exit 1  
 fi  
 cat > conftest.s <<EOF  
         $gmp_cv_check_asm_data  
         .align  4          .align  4
         $gmp_cv_check_asm_globl foo          $gmp_cv_asm_globl       foo
         .byte   1          .byte   1
         .align  4          .align  4
 foo$gmp_cv_check_asm_label_suffix  foo$gmp_cv_asm_label_suffix
         .byte   2          .byte   2],
 EOF    [gmp_tmp_val=[`$NM conftest.$OBJEXT | grep foo | \
 ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"       sed -e 's;[[][0-9][]]\(.*\);\1;' -e 's;[^1-9]*\([0-9]*\).*;\1;'`]
 if AC_TRY_EVAL(ac_assemble); then  
   changequote(<,>)  
   gmp_tmp_val=`$NM conftest.o | grep foo | sed -e 's;[[][0-9][]]\(.*\);\1;' \  
        -e 's;[^1-9]*\([0-9]*\).*;\1;'`  
   changequote([, ])dnl  
   if test "$gmp_tmp_val" = "10" || test "$gmp_tmp_val" = "16"; then    if test "$gmp_tmp_val" = "10" || test "$gmp_tmp_val" = "16"; then
     gmp_cv_check_asm_align_log=yes      gmp_cv_asm_align_log=yes
   else    else
     gmp_cv_check_asm_align_log=no      gmp_cv_asm_align_log=no
   fi    fi],
 else    [AC_MSG_ERROR([cannot assemble alignment test])])])
   echo "configure: failed program was:" >&AC_FD_CC  
   cat conftest.s >&AC_FD_CC  GMP_DEFINE_RAW(["define(<ALIGN_LOGARITHMIC>,<$gmp_cv_asm_align_log>)"])
 fi  
 rm -f conftest*  
 ])  ])
 GMP_DEFINE_RAW(["define(<ALIGN_LOGARITHMIC>,<$gmp_cv_check_asm_align_log>)"])  
 if test "$gmp_cv_check_asm_align_log" = "yes"; then  
   ifelse([$1], , :, [$1])  
 else  
   ifelse([$2], , :, [$2])  
 fi  
 ])dnl  
   
   
 dnl  GMP_CHECK_ASM_ALIGN_FILL_0x90  dnl  GMP_ASM_ALIGN_FILL_0x90
 dnl  -----------------------------  dnl  -----------------------
 dnl  Determine whether a ",0x90" suffix works on a .align directive.  dnl  Determine whether a ",0x90" suffix works on a .align directive.
 dnl  This is only meant for use on x86, where 0x90 is a "nop".  dnl  This is only meant for use on x86, 0x90 being a "nop".
 dnl  dnl
 dnl  Old gas, eg. 1.92.3 - needs ",0x90" or else the fill is an invalid 0x00.  dnl  Old gas, eg. 1.92.3
 dnl  New gas, eg. 2.91 - generates the good multibyte nop fills even when  dnl       Needs ",0x90" or else the fill is 0x00, which can't be executed
 dnl                      ",0x90" is given.  dnl       across.
 dnl  Solaris 2.6 as - doesn't allow ",0x90", gives a fatal error.  
 dnl  Solaris 2.8 as - gives a warning for ",0x90", no ill effect.  
 dnl  dnl
   dnl  New gas, eg. 2.91
   dnl       Generates multi-byte nop fills even when ",0x90" is given.
   dnl
   dnl  Solaris 2.6 as
   dnl       ",0x90" is not allowed, causes a fatal error.
   dnl
   dnl  Solaris 2.8 as
   dnl       ",0x90" does nothing, generates a warning that it's being ignored.
   dnl
   dnl  SCO OpenServer 5 as
   dnl       Second parameter is max bytes to fill, not a fill pattern.
   dnl       ",0x90" is an error due to being bigger than the first parameter.
   dnl       Multi-byte nop fills are generated in text segments.
   dnl
 dnl  Note that both solaris "as"s only care about ",0x90" if they actually  dnl  Note that both solaris "as"s only care about ",0x90" if they actually
 dnl  have to use it to fill something, hence the .byte in the sample.  It's  dnl  have to use it to fill something, hence the .byte in the test.  It's
 dnl  only the second .align that provokes an error or warning.  dnl  the second .align which provokes the error or warning.
 dnl  dnl
 dnl  We prefer to suppress the warning from solaris 2.8 to stop anyone  dnl  The warning from solaris 2.8 is supressed to stop anyone worrying that
 dnl  worrying something might be wrong.  dnl  something might be wrong.
   
 AC_DEFUN(GMP_CHECK_ASM_ALIGN_FILL_0x90,  AC_DEFUN(GMP_ASM_ALIGN_FILL_0x90,
 [AC_CACHE_CHECK([if the .align directive accepts an 0x90 fill in .text],  [AC_REQUIRE([GMP_ASM_TEXT])
                 gmp_cv_check_asm_align_fill_0x90,  AC_CACHE_CHECK([if the .align directive accepts an 0x90 fill in .text],
 [AC_REQUIRE([GMP_CHECK_ASM_TEXT])                 gmp_cv_asm_align_fill_0x90,
 cat > conftest.s <<EOF  [GMP_TRY_ASSEMBLE(
         $gmp_cv_check_asm_text  [       $gmp_cv_asm_text
         .align  4, 0x90          .align  4, 0x90
         .byte   0          .byte   0
         .align  4, 0x90          .align  4, 0x90],
 EOF  [if grep "Warning: Fill parameter ignored for executable section" conftest.out >/dev/null; then
 gmp_tmp_val="`$CCAS $CFLAGS conftest.s 2>&1`"    echo "Supressing this warning by omitting 0x90" 1>&AC_FD_CC
 if test $? = 0; then    gmp_cv_asm_align_fill_0x90=no
   echo "$gmp_tmp_val" 1>&AC_FD_CC  
   if echo "$gmp_tmp_val" | grep "Warning: Fill parameter ignored for executable section"; then  
     echo "Supressing this warning by omitting 0x90" 1>&AC_FD_CC  
     gmp_cv_check_asm_align_fill_0x90=no  
   else  
     gmp_cv_check_asm_align_fill_0x90=yes  
   fi  
 else  else
   echo "Non-zero exit code" 1>&AC_FD_CC    gmp_cv_asm_align_fill_0x90=yes
   echo "$gmp_tmp_val" 1>&AC_FD_CC  fi],
   gmp_cv_check_asm_align_fill_0x90=no  [gmp_cv_asm_align_fill_0x90=no])])
 fi  
 rm -f conftest*  GMP_DEFINE_RAW(["define(<ALIGN_FILL_0x90>,<$gmp_cv_asm_align_fill_0x90>)"])
 ])  ])
 GMP_DEFINE_RAW(  
 ["define(<ALIGN_FILL_0x90>,<$gmp_cv_check_asm_align_fill_0x90>)"])  
 ])  
   
   
 dnl  GMP_CHECK_ASM_TEXT  dnl  GMP_ASM_TEXT
 AC_DEFUN(GMP_CHECK_ASM_TEXT,  dnl  ------------
 [AC_CACHE_CHECK([how to switch to text section], gmp_cv_check_asm_text,  
 [case "$target" in  AC_DEFUN(GMP_ASM_TEXT,
   *-*-aix*)  [AC_CACHE_CHECK([how to switch to text section],
     changequote({, })                  gmp_cv_asm_text,
     gmp_cv_check_asm_text={".csect .text[PR]"}  [case $host in
     changequote([, ])    *-*-aix*)  gmp_cv_asm_text=[".csect .text[PR]"] ;;
     ;;    *-*-hpux*) gmp_cv_asm_text=".code" ;;
   *-*-hpux*) gmp_cv_check_asm_text=[".code"] ;;    *)         gmp_cv_asm_text=".text" ;;
   *) gmp_cv_check_asm_text=[".text"] ;;  
 esac  esac
 ])  ])
 echo ["define(<TEXT>, <$gmp_cv_check_asm_text>)"] >> $gmp_tmpconfigm4  echo ["define(<TEXT>, <$gmp_cv_asm_text>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_DATA  
   dnl  GMP_ASM_DATA
   dnl  ------------
 dnl  Can we say `.data'?  dnl  Can we say `.data'?
 AC_DEFUN(GMP_CHECK_ASM_DATA,  
 [AC_CACHE_CHECK([how to switch to data section], gmp_cv_check_asm_data,  AC_DEFUN(GMP_ASM_DATA,
 [case "$target" in  [AC_CACHE_CHECK([how to switch to data section],
   *-*-aix*)                  gmp_cv_asm_data,
     changequote({, })  [case $host in
     gmp_cv_check_asm_data={".csect .data[RW]"}    *-*-aix*) gmp_cv_asm_data=[".csect .data[RW]"] ;;
     changequote([, ])    *)        gmp_cv_asm_data=".data" ;;
     ;;  
   *) gmp_cv_check_asm_data=[".data"] ;;  
 esac  esac
 ])  ])
 echo ["define(<DATA>, <$gmp_cv_check_asm_data>)"] >> $gmp_tmpconfigm4  echo ["define(<DATA>, <$gmp_cv_asm_data>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_GLOBL  
   dnl  GMP_ASM_RODATA
   dnl  --------------
   dnl  Find out how to switch to the read-only data section.
   dnl
   dnl  The compiler output is grepped for the right directive.  It's not
   dnl  considered wise to just probe for ".section .rodata" or whatever works,
   dnl  since arbitrary section names might be accepted, but not necessarily do
   dnl  the right thing when they get to the linker.
   dnl
   dnl  Only a few asm files use RODATA, so this code is perhaps a bit
   dnl  excessive right now, but should find more uses in the future.
   dnl
   dnl  FIXME: gcc on aix generates something like ".csect _foo.ro_c[RO],3"
   dnl  where foo is the object file.  Might need to check for that if we use
   dnl  RODATA there.
   
   AC_DEFUN(GMP_ASM_RODATA,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_REQUIRE([GMP_ASM_DATA])
   AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
   AC_REQUIRE([GMP_ASM_UNDERSCORE])
   AC_CACHE_CHECK([how to switch to read-only data section],
                  gmp_cv_asm_rodata,
   [
   dnl Default to DATA on CPUs with split code/data caching, and TEXT
   dnl elsewhere.  i386 means generic x86, so use DATA on it.
   case $host in
   X86_PATTERN) gmp_cv_asm_rodata="$gmp_cv_asm_data" ;;
   *)           gmp_cv_asm_rodata="$gmp_cv_asm_text" ;;
   esac
   
   cat >conftest.c <<EOF
   const int foo = 123;
   EOF
   echo "Test program:" >&AC_FD_CC
   cat conftest.c >&AC_FD_CC
   gmp_compile="$CC $CFLAGS $CPPFLAGS -S conftest.c >&AC_FD_CC"
   if AC_TRY_EVAL(gmp_compile); then
     echo "Compiler output:" >&AC_FD_CC
     cat conftest.s >&AC_FD_CC
     if test $gmp_cv_asm_underscore = yes; then
       tmp_gsym_prefix=_
     else
       tmp_gsym_prefix=
     fi
     # must see our label
     if grep "^${tmp_gsym_prefix}foo$gmp_cv_asm_label_suffix" conftest.s >/dev/null 2>&AC_FD_CC; then
       # take the last directive before our label (hence skipping segments
       # getting debugging info etc)
       tmp_match=`sed -n ["/^${tmp_gsym_prefix}foo$gmp_cv_asm_label_suffix/q
                           /^[.    ]*data/p
                           /^[.    ]*rdata/p
                           /^[.    ]*text/p
                           /^[.    ]*section/p
                           /^[.    ]*csect/p
                           /^[.    ]*CSECT/p"] conftest.s | sed -n '$p'`
       echo "Match: $tmp_match" >&AC_FD_CC
       if test -n "$tmp_match"; then
         gmp_cv_asm_rodata=$tmp_match
       fi
     else
       echo "Couldn't find label: ^${tmp_gsym_prefix}foo$gmp_cv_asm_label_suffix" >&AC_FD_CC
     fi
   fi
   ])
   echo ["define(<RODATA>, <$gmp_cv_asm_rodata>)"] >> $gmp_tmpconfigm4
   ])
   
   
   dnl  GMP_ASM_GLOBL
   dnl  -------------
 dnl  Can we say `.global'?  dnl  Can we say `.global'?
 AC_DEFUN(GMP_CHECK_ASM_GLOBL,  
 [AC_CACHE_CHECK([how to export a symbol], gmp_cv_check_asm_globl,  AC_DEFUN(GMP_ASM_GLOBL,
 [case "$target" in  [AC_CACHE_CHECK([how to export a symbol],
   *-*-hpux*) gmp_cv_check_asm_globl=[".export"] ;;                  gmp_cv_asm_globl,
   *) gmp_cv_check_asm_globl=[".globl"] ;;  [case $host in
     *-*-hpux*) gmp_cv_asm_globl=".export" ;;
     *)         gmp_cv_asm_globl=".globl" ;;
 esac  esac
 ])  ])
 echo ["define(<GLOBL>, <$gmp_cv_check_asm_globl>)"] >> $gmp_tmpconfigm4  echo ["define(<GLOBL>, <$gmp_cv_asm_globl>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_TYPE  
 dnl  Can we say `.type'?  dnl  GMP_ASM_GLOBL_ATTR
 AC_DEFUN(GMP_CHECK_ASM_TYPE,  dnl  ------------------
 [AC_CACHE_CHECK([how the .type assembly directive should be used],  dnl  Do we need something after `.global symbol'?
 gmp_cv_check_asm_type,  
 [ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"  AC_DEFUN(GMP_ASM_GLOBL_ATTR,
   [AC_CACHE_CHECK([if the export directive needs an attribute],
                   gmp_cv_asm_globl_attr,
   [case $host in
     *-*-hpux*) gmp_cv_asm_globl_attr=",entry" ;;
     *)         gmp_cv_asm_globl_attr="" ;;
   esac
   ])
   echo ["define(<GLOBL_ATTR>, <$gmp_cv_asm_globl_attr>)"] >> $gmp_tmpconfigm4
   ])
   
   
   dnl  GMP_ASM_TYPE
   dnl  ------------
   dnl  Can we say ".type", and how?
   dnl
   dnl  For i386 GNU/Linux ELF systems, and very likely other ELF systems,
   dnl  .type and .size are important on functions in shared libraries.  If
   dnl  .type is omitted and the mainline program references that function then
   dnl  the code will be copied down to the mainline at load time like a piece
   dnl  of data.  If .size is wrong or missing (it defaults to 4 bytes or some
   dnl  such) then incorrect bytes will be copied and a segv is the most likely
   dnl  result.  In any case such copying is not what's wanted, a .type
   dnl  directive will ensure a PLT entry is used.
   dnl
   dnl  In GMP the assembler functions are normally only used from within the
   dnl  library (since most programs are not interested in the low level
   dnl  routines), and in those circumstances a missing .type isn't fatal,
   dnl  letting the problem go unnoticed.  tests/mpn/t-asmtype.c aims to check
   dnl  for it.
   
   AC_DEFUN(GMP_ASM_TYPE,
   [AC_CACHE_CHECK([for assembler .type directive],
                   gmp_cv_asm_type,
   [gmp_cv_asm_type=
 for gmp_tmp_prefix in @ \# %; do  for gmp_tmp_prefix in @ \# %; do
   echo "        .type   sym,${gmp_tmp_prefix}function" > conftest.s    GMP_TRY_ASSEMBLE([    .type   sym,${gmp_tmp_prefix}function],
   if AC_TRY_EVAL(ac_assemble); then      [if grep "\.type pseudo-op used outside of \.def/\.endef ignored" conftest.out >/dev/null; then : ;
     gmp_cv_check_asm_type="[.type       \$][1,${gmp_tmp_prefix}\$][2]"      else
     break        gmp_cv_asm_type=".type    \$][1,${gmp_tmp_prefix}\$][2"
   fi        break
       fi])
 done  done
 if test -z "$gmp_cv_check_asm_type"; then  rm -f conftest*
   gmp_cv_check_asm_type="[dnl]"  
 fi  
 ])  ])
 echo ["define(<TYPE>, <$gmp_cv_check_asm_type>)"] >> $gmp_tmpconfigm4  echo ["define(<TYPE>, <$gmp_cv_asm_type>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_SIZE  
   dnl  GMP_ASM_SIZE
   dnl  ------------
 dnl  Can we say `.size'?  dnl  Can we say `.size'?
 AC_DEFUN(GMP_CHECK_ASM_SIZE,  
 [AC_CACHE_CHECK([if the .size assembly directive works], gmp_cv_check_asm_size,  AC_DEFUN(GMP_ASM_SIZE,
 [ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"  [AC_CACHE_CHECK([for assembler .size directive],
 echo '  .size   sym,1' > conftest.s                  gmp_cv_asm_size,
 if AC_TRY_EVAL(ac_assemble); then  [gmp_cv_asm_size=
   gmp_cv_check_asm_size="[.size \$][1,\$][2]"  GMP_TRY_ASSEMBLE([      .size   sym,1],
 else    [if grep "\.size pseudo-op used outside of \.def/\.endef ignored" conftest.out >/dev/null; then : ;
   gmp_cv_check_asm_size="[dnl]"    else
 fi      gmp_cv_asm_size=".size      \$][1,\$][2"
     fi])
 ])  ])
 echo ["define(<SIZE>, <$gmp_cv_check_asm_size>)"] >> $gmp_tmpconfigm4  echo ["define(<SIZE>, <$gmp_cv_asm_size>)"] >> $gmp_tmpconfigm4
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_LSYM_PREFIX  
   dnl  GMP_ASM_LSYM_PREFIX
   dnl  -------------------
 dnl  What is the prefix for a local label?  dnl  What is the prefix for a local label?
 dnl  Requires NM to be set to nm for target.  dnl
 AC_DEFUN(GMP_CHECK_ASM_LSYM_PREFIX,  dnl  The prefixes tested are,
 [AC_REQUIRE([GMP_CHECK_ASM_LABEL_SUFFIX])  dnl
   dnl      L  - usual for underscore systems
   dnl      .L - usual for non-underscore systems
   dnl      $  - alpha (gas and OSF system assembler)
   dnl      L$ - hppa (gas and HP-UX system assembler)
   dnl
   dnl  The default is "L" if the tests fail for any reason.  There's a good
   dnl  chance this will be adequate, since on most systems labels are local
   dnl  anyway unless given a ".globl", and an "L" will avoid clashes with
   dnl  other identifers.
   dnl
   dnl  For gas, ".L" is normally purely local to the assembler, it doesn't get
   dnl  put into the object file at all.  This style is preferred, to keep the
   dnl  object files nice and clean.
   dnl
   dnl  BSD format nm produces a line like the following.  The lower case "t"
   dnl  indicates a local text segment label.  On OSF with "nm -B", an "N" is
   dnl  printed instead.
   dnl
   dnl      00000000 t Lgurkmacka
   dnl
   dnl  HP-UX nm prints an error message (though seems to give a 0 exit) if
   dnl  there's no symbols at all in an object file, hence the use of "dummy".
   
   AC_DEFUN(GMP_ASM_LSYM_PREFIX,
   [AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
   AC_REQUIRE([GMP_PROG_NM])
 AC_CACHE_CHECK([what prefix to use for a local label],  AC_CACHE_CHECK([what prefix to use for a local label],
 gmp_cv_check_asm_lsym_prefix,                 gmp_cv_asm_lsym_prefix,
 [if test -z "$NM"; then  [for gmp_tmp_pre in L .L $ L$; do
   echo; echo ["$0: fatal: need nm"]    echo "Trying $gmp_tmp_pre" >&AC_FD_CC
   exit 1    GMP_TRY_ASSEMBLE(
 fi  [dummy${gmp_cv_asm_label_suffix}
 ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"  ${gmp_tmp_pre}gurkmacka${gmp_cv_asm_label_suffix}],
 gmp_cv_check_asm_lsym_prefix="L"    [if $NM conftest.$OBJEXT >conftest.nm 2>&AC_FD_CC; then : ; else
 for gmp_tmp_pre in L .L $ L$; do      cat conftest.nm >&AC_FD_CC
   cat > conftest.s <<EOF      AC_MSG_WARN(["$NM" failure])
 dummy${gmp_cv_check_asm_label_suffix}      break
 ${gmp_tmp_pre}gurkmacka${gmp_cv_check_asm_label_suffix}    fi
         .byte 0    cat conftest.nm >&AC_FD_CC
 EOF    if grep gurkmacka conftest.nm >/dev/null; then : ; else
   if AC_TRY_EVAL(ac_assemble); then      # no mention of the symbol, this is good
     $NM conftest.o >/dev/null 2>&1      gmp_cv_asm_lsym_prefix="$gmp_tmp_pre"
     gmp_rc=$?      break
     if test "$gmp_rc" != "0"; then    fi
       echo "configure: $NM failure, using default"    if grep [' [Nt] .*gurkmacka'] conftest.nm >/dev/null; then
       break      # symbol mentioned as a local, use this if nothing better
       if test -z "$gmp_cv_asm_lsym_prefix"; then
         gmp_cv_asm_lsym_prefix="$gmp_tmp_pre"
     fi      fi
     if $NM conftest.o | grep gurkmacka >/dev/null; then true; else  
       gmp_cv_check_asm_lsym_prefix="$gmp_tmp_pre"  
       break  
     fi  
   else  
     echo "configure: failed program was:" >&AC_FD_CC  
     cat conftest.s >&AC_FD_CC  
     # Use default.  
   fi    fi
     ])
 done  done
 rm -f conftest*  rm -f conftest*
   if test -z "$gmp_cv_asm_lsym_prefix"; then
     gmp_cv_asm_lsym_prefix=L
     AC_MSG_WARN([cannot determine local label, using default $gmp_cv_asm_lsym_prefix])
   fi
 ])  ])
 echo ["define(<LSYM_PREFIX>, <${gmp_cv_check_asm_lsym_prefix}>)"] >> $gmp_tmpconfigm4  echo ["define(<LSYM_PREFIX>, <${gmp_cv_asm_lsym_prefix}>)"] >> $gmp_tmpconfigm4
   AC_DEFINE_UNQUOTED(LSYM_PREFIX, "$gmp_cv_asm_lsym_prefix",
                      [Assembler local label prefix])
 ])  ])
   
 dnl  GMP_CHECK_ASM_W32  
 dnl  How to [define] a 32-bit word.  
 dnl  Requires NM to be set to nm for target.  
 AC_DEFUN(GMP_CHECK_ASM_W32,  
 [AC_REQUIRE([GMP_CHECK_ASM_DATA])  
 AC_REQUIRE([GMP_CHECK_ASM_GLOBL])  
 AC_REQUIRE([GMP_CHECK_ASM_LABEL_SUFFIX])  
 AC_CACHE_CHECK([how to [define] a 32-bit word],  
                gmp_cv_check_asm_w32,  
 [if test -z "$NM"; then  
   echo; echo ["configure: $0: fatal: need nm"]  
   exit 1  
 fi  
   
 # FIXME: HPUX puts first symbol at 0x40000000, breaking our assumption  dnl  GMP_ASM_W32
 # that it's at 0x0.  We'll have to declare another symbol before the  dnl  -----------
 # .long/.word and look at the distance between the two symbols.  The  dnl  How to define a 32-bit word.
 # only problem is that the sed expression(s) barfs (on Solaris, for  
 # example) for the symbol with value 0.  For now, HPUX uses .word.  
   
 case "$target" in  AC_DEFUN(GMP_ASM_W32,
   [AC_REQUIRE([GMP_ASM_DATA])
   AC_REQUIRE([GMP_ASM_GLOBL])
   AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
   AC_REQUIRE([GMP_PROG_NM])
   AC_CACHE_CHECK([how to define a 32-bit word],
                  gmp_cv_asm_w32,
   [case $host in
   *-*-hpux*)    *-*-hpux*)
     gmp_cv_check_asm_w32=".word"      # FIXME: HPUX puts first symbol at 0x40000000, breaking our assumption
       # that it's at 0x0.  We'll have to declare another symbol before the
       # .long/.word and look at the distance between the two symbols.  The
       # only problem is that the sed expression(s) barfs (on Solaris, for
       # example) for the symbol with value 0.  For now, HPUX uses .word.
       gmp_cv_asm_w32=".word"
     ;;      ;;
   *-*-*)    *-*-*)
     ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"      gmp_tmp_val=
     for gmp_tmp_op in .long .word; do      for gmp_tmp_op in .long .word; do
       cat > conftest.s <<EOF        GMP_TRY_ASSEMBLE(
         $gmp_cv_check_asm_data  [       $gmp_cv_asm_data
         $gmp_cv_check_asm_globl foo          $gmp_cv_asm_globl       foo
         $gmp_tmp_op     0          $gmp_tmp_op     0
 foo${gmp_cv_check_asm_label_suffix}  foo$gmp_cv_asm_label_suffix
         .byte   0          .byte   0],
 EOF          [gmp_tmp_val=[`$NM conftest.$OBJEXT | grep foo | \
       if AC_TRY_EVAL(ac_assemble); then            sed -e 's;[[][0-9][]]\(.*\);\1;' -e 's;[^1-9]*\([0-9]*\).*;\1;'`]
         changequote(<,>)          if test "$gmp_tmp_val" = 4; then
         gmp_tmp_val=`$NM conftest.o | grep foo | sed -e 's;[[][0-9][]]\(.*\);\1;' \            gmp_cv_asm_w32="$gmp_tmp_op"
              -e 's;[^1-9]*\([0-9]*\).*;\1;'`  
         changequote([, ])dnl  
         if test "$gmp_tmp_val" = "4"; then  
           gmp_cv_check_asm_w32="$gmp_tmp_op"  
           break            break
         fi          fi])
       fi  
     done      done
       rm -f conftest*
     ;;      ;;
 esac  esac
   if test -z "$gmp_cv_asm_w32"; then
 if test -z "$gmp_cv_check_asm_w32"; then    AC_MSG_ERROR([cannot determine how to define a 32-bit word])
   echo; echo ["configure: $0: fatal: do not know how to define a 32-bit word"]  
   exit 1  
 fi  fi
 rm -f conftest*  
 ])  ])
 echo ["define(<W32>, <$gmp_cv_check_asm_w32>)"] >> $gmp_tmpconfigm4  echo ["define(<W32>, <$gmp_cv_asm_w32>)"] >> $gmp_tmpconfigm4
 ])  ])
   
 dnl  GMP_CHECK_ASM_MMX([ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]])  
 dnl  Can we assemble MMX insns?  dnl  GMP_ASM_X86_MMX([ACTION-IF-YES][,ACTION-IF-NO])
 AC_DEFUN(GMP_CHECK_ASM_MMX,  dnl  -----------------------------------------------
 [AC_REQUIRE([GMP_CHECK_ASM_TEXT])  dnl  Determine whether the assembler supports MMX instructions.
 AC_CACHE_CHECK([if the assembler knows about MMX instructions],  dnl
                 gmp_cv_check_asm_mmx,  dnl  This macro is wanted before GMP_ASM_TEXT, so ".text" is hard coded
 [cat > conftest.s <<EOF  dnl  here.  ".text" is believed to be correct on all x86 systems, certainly
         $gmp_cv_check_asm_text  dnl  it's all GMP_ASM_TEXT gives currently.  Actually ".text" probably isn't
         por     %mm0, %mm0  dnl  needed at all, at least for just checking instruction syntax.
 EOF  dnl
 ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"  dnl  "movq %mm0, %mm1" should assemble to "0f 6f c8", but Solaris 2.6 and
 if AC_TRY_EVAL(ac_assemble); then  dnl  2.7 wrongly assemble it to "0f 6f c1" (that being the reverse "movq
   gmp_cv_check_asm_mmx=yes  dnl  %mm1, %mm0").  It seems more trouble than it's worth to work around
 else  dnl  this in the code, so just detect and reject.
   gmp_cv_check_asm_mmx=no  
 fi  AC_DEFUN(GMP_ASM_X86_MMX,
 rm -f conftest*  [AC_CACHE_CHECK([if the assembler knows about MMX instructions],
 ])                  gmp_cv_asm_x86_mmx,
 if test "$gmp_cv_check_asm_mmx" = "yes"; then  [GMP_TRY_ASSEMBLE(
   ifelse([$1], , :, [$1])  [       .text
 else          movq    %mm0, %mm1],
   [gmp_cv_asm_x86_mmx=yes
   case $host in
   *-*-solaris*)
     if (dis conftest.$OBJEXT >conftest.out) 2>/dev/null; then
       if grep "0f 6f c1" conftest.out >/dev/null; then
         gmp_cv_asm_x86_mmx=movq-bug
       fi
     else
       AC_MSG_WARN(["dis" not available to check for "as" movq bug])
     fi
   esac],
   [gmp_cv_asm_x86_mmx=no])])
   
   case $gmp_cv_asm_x86_mmx in
   movq-bug)
   AC_MSG_WARN([+----------------------------------------------------------])    AC_MSG_WARN([+----------------------------------------------------------])
   AC_MSG_WARN([| WARNING WARNING WARNING])    AC_MSG_WARN([| WARNING WARNING WARNING])
   AC_MSG_WARN([| Target CPU has MMX code, but it can't be assembled by])    AC_MSG_WARN([| Host CPU has MMX code, but the assembler])
   AC_MSG_WARN([|     $CCAS $CFLAGS])    AC_MSG_WARN([|     $CCAS $CFLAGS])
     AC_MSG_WARN([| has the Solaris 2.6 and 2.7 bug where register to register])
     AC_MSG_WARN([| movq operands are reversed.])
   AC_MSG_WARN([| Non-MMX replacements will be used.])    AC_MSG_WARN([| Non-MMX replacements will be used.])
   AC_MSG_WARN([| This will be an inferior build.])    AC_MSG_WARN([| This will be an inferior build.])
   AC_MSG_WARN([+----------------------------------------------------------])    AC_MSG_WARN([+----------------------------------------------------------])
   ifelse([$2], , :, [$2])    ;;
   no)
     AC_MSG_WARN([+----------------------------------------------------------])
     AC_MSG_WARN([| WARNING WARNING WARNING])
     AC_MSG_WARN([| Host CPU has MMX code, but it can't be assembled by])
     AC_MSG_WARN([|     $CCAS $CFLAGS])
     AC_MSG_WARN([| Non-MMX replacements will be used.])
     AC_MSG_WARN([| This will be an inferior build.])
     AC_MSG_WARN([+----------------------------------------------------------])
     ;;
   esac
   if test "$gmp_cv_asm_x86_mmx" = yes; then
     ifelse([$1],,:,[$1])
   else
     ifelse([$2],,:,[$2])
 fi  fi
 ])dnl  ])
   
 dnl  GMP_CHECK_ASM_SHLDL_CL([ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]])  
 AC_DEFUN(GMP_CHECK_ASM_SHLDL_CL,  dnl  GMP_ASM_X86_SHLDL_CL
 [AC_REQUIRE([GMP_CHECK_ASM_TEXT])  dnl  --------------------
   
   AC_DEFUN(GMP_ASM_X86_SHLDL_CL,
   [AC_REQUIRE([GMP_ASM_TEXT])
 AC_CACHE_CHECK([if the assembler takes cl with shldl],  AC_CACHE_CHECK([if the assembler takes cl with shldl],
                 gmp_cv_check_asm_shldl_cl,                  gmp_cv_asm_x86_shldl_cl,
 [cat > conftest.s <<EOF  [GMP_TRY_ASSEMBLE(
         $gmp_cv_check_asm_text  [       $gmp_cv_asm_text
         shldl   %cl, %eax, %ebx          shldl   %cl, %eax, %ebx],
 EOF    gmp_cv_asm_x86_shldl_cl=yes,
 ac_assemble="$CCAS $CFLAGS conftest.s 1>&AC_FD_CC"    gmp_cv_asm_x86_shldl_cl=no)
 if AC_TRY_EVAL(ac_assemble); then  
   gmp_cv_check_asm_shldl_cl=yes  
 else  
   gmp_cv_check_asm_shldl_cl=no  
 fi  
 rm -f conftest*  
 ])  ])
 if test "$gmp_cv_check_asm_shldl_cl" = "yes"; then  if test "$gmp_cv_asm_x86_shldl_cl" = "yes"; then
   ifelse([$1], , :, [$1])    GMP_DEFINE(WANT_SHLDL_CL,1)
 else  else
   ifelse([$2], , :, [$2])    GMP_DEFINE(WANT_SHLDL_CL,0)
 fi  fi
 ])dnl  ])
   
 dnl  GMP_PROG_CC_WORKS(CC, CFLAGS, ACTION-IF-WORKS, [ACTION-IF-NOT-WORKS])  
 dnl  Check if CC can compile and link.  Perform various target specific tests.  
 dnl  FIXME: Require `$target'.  
 AC_DEFUN(GMP_PROG_CC_WORKS,  
 [AC_LANG_C      dnl  Note: Destructive.  
 CC="[$1]"  
 CFLAGS="[$2]"  
 AC_MSG_CHECKING([if the C compiler ($CC) works with flags $CFLAGS])  
   
 # Simple test for all targets.  dnl  GMP_ASM_X86_SSE2([ACTION-IF-YES][,ACTION-IF-NO])
 AC_TRY_COMPILER([int main(){return(0);}],  dnl  ------------------------------------------------
                 tmp_works, tmp_cross)  dnl  Determine whether the assembler supports SSE2 instructions.
   dnl
   dnl  This macro is wanted before GMP_ASM_TEXT, so ".text" is hard coded
   dnl  here.  ".text" is believed to be correct on all x86 systems, certainly
   dnl  it's all GMP_ASM_TEXT gives currently.  Actually ".text" probably isn't
   dnl  needed at all, at least for just checking instruction syntax.
   
 # Target specific tests.  AC_DEFUN(GMP_ASM_X86_SSE2,
 if test "$tmp_works" = "yes"; then  [AC_CACHE_CHECK([if the assembler knows about SSE2 instructions],
   case "$target" in                  gmp_cv_asm_x86_sse2,
     *-*-aix*)   # Returning a funcptr.  [GMP_TRY_ASSEMBLE(
       AC_TRY_COMPILE( , [} void *g(); void *f() { return g(); } int bar(){],  [       .text
                       tmp_works=yes, tmp_works=no)          paddq   %mm0, %mm1],
       ;;    [gmp_cv_asm_x86_sse2=yes],
   esac    [gmp_cv_asm_x86_sse2=no])
   ])
   case $gmp_cv_asm_x86_sse2 in
   yes)
     ifelse([$1],,:,[$1])
     ;;
   *)
     AC_MSG_WARN([+----------------------------------------------------------])
     AC_MSG_WARN([| WARNING WARNING WARNING])
     AC_MSG_WARN([| Host CPU has SSE2 code, but it can't be assembled by])
     AC_MSG_WARN([|     $CCAS $CFLAGS])
     AC_MSG_WARN([| Non-SSE2 replacements will be used.])
     AC_MSG_WARN([| This will be an inferior build.])
     AC_MSG_WARN([+----------------------------------------------------------])
     ifelse([$2],,:,[$2])
     ;;
   esac
   ])
   
   
   dnl  GMP_ASM_X86_MCOUNT
   dnl  ------------------
   dnl  Find out how to call mcount for profiling on an x86 system.
   dnl
   dnl  A dummy function is compiled and the ".s" output examined.  The pattern
   dnl  matching might be a bit fragile, but should work at least with gcc on
   dnl  sensible systems.  Certainly it's better than hard coding a table of
   dnl  conventions.
   dnl
   dnl  For non-PIC, any ".data" is taken to mean a counter might be passed.
   dnl  It's assumed a movl will set it up, and the right register is taken
   dnl  from that movl.  Any movl involving %esp is ignored (a frame pointer
   dnl  setup normally).
   dnl
   dnl  For PIC, any ".data" is similarly interpreted, but a GOTOFF identifies
   dnl  the line setting up the right register.
   dnl
   dnl  In both cases a line with "mcount" identifies the call and that line is
   dnl  used literally.
   dnl
   dnl  On some systems (eg. FreeBSD 3.5) gcc emits ".data" but doesn't use it,
   dnl  so it's not an error to have .data but then not find a register.
   dnl
   dnl  Variations in mcount conventions on different x86 systems can be found
   dnl  in gcc config/i386.  mcount can have a "_" prefix or be .mcount or
   dnl  _mcount_ptr, and for PIC it can be called through a GOT entry, or via
   dnl  the PLT.  If a pointer to a counter is required it's passed in %eax or
   dnl  %edx.
   dnl
   dnl  Flags to specify PIC are taken from $lt_prog_compiler_pic set by
   dnl  AC_PROG_LIBTOOL.
   dnl
   dnl  Enhancement: Cache the values determined here. But what's the right way
   dnl  to get two variables (mcount_nonpic_reg and mcount_nonpic_call say) set
   dnl  from one block of commands?
   
   AC_DEFUN(GMP_ASM_X86_MCOUNT,
   [AC_REQUIRE([AC_ENABLE_SHARED])
   AC_REQUIRE([AC_PROG_LIBTOOL])
   AC_MSG_CHECKING([how to call x86 mcount])
   cat >conftest.c <<EOF
   foo(){bar();}
   EOF
   
   if test "$enable_static" = yes; then
     gmp_asmout_compile="$CC $CFLAGS $CPPFLAGS -S conftest.c 1>&AC_FD_CC"
     if AC_TRY_EVAL(gmp_asmout_compile); then
       if grep '\.data' conftest.s >/dev/null; then
         mcount_nonpic_reg=`sed -n ['/esp/!s/.*movl.*,\(%[a-z]*\).*$/\1/p'] conftest.s`
       else
         mcount_nonpic_reg=
       fi
       mcount_nonpic_call=`grep 'call.*mcount' conftest.s`
       if test -z "$mcount_nonpic_call"; then
         AC_MSG_ERROR([Cannot find mcount call for non-PIC])
       fi
     else
       AC_MSG_ERROR([Cannot compile test program for non-PIC])
     fi
 fi  fi
   
 if test "$tmp_works" = "yes"; then  if test "$enable_shared" = yes; then
   [$3]    gmp_asmout_compile="$CC $CFLAGS $CPPFLAGS $lt_prog_compiler_pic -S conftest.c 1>&AC_FD_CC"
 else    if AC_TRY_EVAL(gmp_asmout_compile); then
   ifelse([$4], , :, [$4])      if grep '\.data' conftest.s >/dev/null; then
         case $lt_prog_compiler_pic in
           *-DDLL_EXPORT*)
             # Windows DLLs have non-PIC style mcount
             mcount_pic_reg=`sed -n ['/esp/!s/.*movl.*,\(%[a-z]*\).*$/\1/p'] conftest.s`
             ;;
           *)
             mcount_pic_reg=`sed -n ['s/.*GOTOFF.*,\(%[a-z]*\).*$/\1/p'] conftest.s`
             ;;
         esac
       else
         mcount_pic_reg=
       fi
       mcount_pic_call=`grep 'call.*mcount' conftest.s`
       if test -z "$mcount_pic_call"; then
         AC_MSG_ERROR([Cannot find mcount call for PIC])
       fi
     else
       AC_MSG_ERROR([Cannot compile test program for PIC])
     fi
 fi  fi
   
 AC_MSG_RESULT($tmp_works)  GMP_DEFINE_RAW(["define(<MCOUNT_NONPIC_REG>, <\`$mcount_nonpic_reg'>)"])
 ])dnl  GMP_DEFINE_RAW(["define(<MCOUNT_NONPIC_CALL>,<\`$mcount_nonpic_call'>)"])
   GMP_DEFINE_RAW(["define(<MCOUNT_PIC_REG>,    <\`$mcount_pic_reg'>)"])
   GMP_DEFINE_RAW(["define(<MCOUNT_PIC_CALL>,   <\`$mcount_pic_call'>)"])
   
   rm -f conftest.*
   AC_MSG_RESULT([determined])
   ])
   
 dnl  GMP_C_ANSI2KNR  
 dnl  --------------  dnl  GMP_ASM_M68K_INSTRUCTION
 dnl  Setup to use ansi2knr if necessary.  dnl  ------------------------
   dnl  Not sure if ".l" and "%" are independent settings, but it doesn't hurt
   dnl  to try all four possibilities.  Note that the % ones must be first, so
   dnl  "d0" won't be interpreted as a label.
 dnl  dnl
 dnl  The test here is simply that if an ANSI style function works then  dnl  gas 1.92.3 on NetBSD 1.4 needs to be tested with a two operand
 dnl  ansi2knr isn't needed.  The normal tests for whether $CC works mean we  dnl  instruction.  It takes registers without "%", but a single operand
 dnl  don't need to worry here about anything badly broken.  dnl  "clrl %d0" only gives a warning, not an error.
   
   AC_DEFUN(GMP_ASM_M68K_INSTRUCTION,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_CACHE_CHECK([assembler instruction and register style],
                   gmp_cv_asm_m68k_instruction,
   [gmp_cv_asm_m68k_instruction=unknown
   for i in "addl %d0,%d1" "add.l %d0,%d1" "addl d0,d1" "add.l d0,d1"; do
     GMP_TRY_ASSEMBLE(
       [   $gmp_cv_asm_text
           $i],
       [gmp_cv_asm_m68k_instruction=$i
       rm -f conftest*
       break])
   done
   ])
   case $gmp_cv_asm_m68k_instruction in
   "addl d0,d1")    want_dot_size=no;  want_register_percent=no  ;;
   "addl %d0,%d1")  want_dot_size=no;  want_register_percent=yes ;;
   "add.l d0,d1")   want_dot_size=yes; want_register_percent=no  ;;
   "add.l %d0,%d1") want_dot_size=yes; want_register_percent=yes ;;
   *) AC_MSG_ERROR([cannot determine assembler instruction and register style]) ;;
   esac
   GMP_DEFINE_RAW(["define(<WANT_REGISTER_PERCENT>, <\`$want_register_percent'>)"])
   GMP_DEFINE_RAW(["define(<WANT_DOT_SIZE>, <\`$want_dot_size'>)"])
   ])
   
   
   dnl  GMP_ASM_M68K_ADDRESSING
   dnl  -----------------------
   
   AC_DEFUN(GMP_ASM_M68K_ADDRESSING,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_REQUIRE([GMP_ASM_M68K_INSTRUCTION])
   AC_CACHE_CHECK([assembler addressing style],
                   gmp_cv_asm_m68k_addressing,
   [case $gmp_cv_asm_m68k_instruction in
   addl*)  movel=movel ;;
   add.l*) movel=move.l ;;
   *) AC_MSG_ERROR([oops, unrecognised gmp_cv_asm_m68k_instruction]) ;;
   esac
   case $gmp_cv_asm_m68k_instruction in
   *"%d0,%d1") dreg=%d0; areg=%a0 ;;
   *"d0,d1")   dreg=d0;  areg=a0  ;;
   *) AC_MSG_ERROR([oops, unrecognised gmp_cv_asm_m68k_instruction]) ;;
   esac
   GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
           $movel  $dreg, $areg@-],
     [gmp_cv_asm_m68k_addressing=mit],
   [GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
           $movel  $dreg, -($areg)],
     [gmp_cv_asm_m68k_addressing=motorola],
   [AC_MSG_ERROR([cannot determine assembler addressing style])])])
   ])
   GMP_DEFINE_RAW(["define(<WANT_ADDRESSING>, <\`$gmp_cv_asm_m68k_addressing'>)"])
   ])
   
   
   dnl  GMP_ASM_M68K_BRANCHES
   dnl  ---------------------
   dnl  "bra" is the standard branch instruction.  "jra" or "jbra" are
   dnl  preferred where available, since on gas for instance they give a
   dnl  displacement only as big as it needs to be, whereas "bra" is always
   dnl  16-bits.  This applies to the conditional branches "bcc" etc too.
   dnl  However "dbcc" etc on gas are already only as big as they need to be.
   
   AC_DEFUN(GMP_ASM_M68K_BRANCHES,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_CACHE_CHECK([assembler shortest branches],
                   gmp_cv_asm_m68k_branches,
   [gmp_cv_asm_m68k_branches=unknown
   for i in jra jbra bra; do
     GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
   foo$gmp_cv_asm_label_suffix
           $i      foo],
     [gmp_cv_asm_m68k_branches=$i
     rm -f conftest*
     break])
   done
   ])
   if test "$gmp_cv_asm_m68k_branches" = unknown; then
     AC_MSG_ERROR([cannot determine assembler branching style])
   fi
   GMP_DEFINE_RAW(["define(<WANT_BRANCHES>, <\`$gmp_cv_asm_m68k_branches'>)"])
   ])
   
   
   dnl  GMP_ASM_POWERPC_R_REGISTERS
   dnl  ---------------------------
   dnl  Determine whether the assembler takes powerpc registers with an "r" as
   dnl  in "r6", or as plain "6".  The latter is standard, but NeXT, Rhapsody,
   dnl  and MacOS-X require the "r" forms.
 dnl  dnl
 dnl  AM_C_PROTOTYPES is the normal way to set up ansi2knr, but (in automake  dnl  See also mpn/powerpc32/powerpc-defs.m4 which uses the result of this
 dnl  March 2000) it gives the wrong answer on a C++ compiler because its  dnl  test.
 dnl  test requires that the compiler accept both ANSI and K&R, or otherwise  
 dnl  ansi2knr is used.  A C++ compiler fails on the K&R part, which makes  
 dnl  AM_C_PROTOTYPES think it needs ansi2knr!  GMP has no bare K&R so we  
 dnl  only need ANSI or K&R to work, not both.  
   
 AC_DEFUN(GMP_C_ANSI2KNR,  AC_DEFUN(GMP_ASM_POWERPC_R_REGISTERS,
 [AC_CACHE_CHECK([if ansi2knr should be used],  [AC_REQUIRE([GMP_ASM_TEXT])
                 gmp_cv_c_ansi2knr,  AC_CACHE_CHECK([if the assembler needs r on registers],
                  gmp_cv_asm_powerpc_r_registers,
   [GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
           mtctr   6],
   [gmp_cv_asm_powerpc_r_registers=no],
   [GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
           mtctr   r6],
   [gmp_cv_asm_powerpc_r_registers=yes],
   [AC_MSG_ERROR([neither "mtctr 6" nor "mtctr r6" works])])])])
   
   GMP_DEFINE_RAW(["define(<WANT_R_REGISTERS>,<$gmp_cv_asm_powerpc_r_registers>)"])
   ])
   
   
   dnl  GMP_ASM_SPARC_REGISTER
   dnl  ----------------------
   dnl  Determine whether the assembler accepts the ".register" directive.
   dnl  Old versions of solaris "as" don't.
   dnl
   dnl  See also mpn/sparc32/sparc-defs.m4 which uses the result of this test.
   
   AC_DEFUN(GMP_ASM_SPARC_REGISTER,
   [AC_REQUIRE([GMP_ASM_TEXT])
   AC_CACHE_CHECK([if the assembler accepts ".register"],
                  gmp_cv_asm_sparc_register,
   [GMP_TRY_ASSEMBLE(
   [       $gmp_cv_asm_text
           .register       %g2,#scratch
   ],
   [gmp_cv_asm_sparc_register=yes],
   [gmp_cv_asm_sparc_register=no])])
   
   GMP_DEFINE_RAW(["define(<HAVE_REGISTER>,<$gmp_cv_asm_sparc_register>)"])
   ])
   
   
   dnl  GMP_C_ATTRIBUTE_CONST
   dnl  ---------------------
   
   AC_DEFUN(GMP_C_ATTRIBUTE_CONST,
   [AC_CACHE_CHECK([whether gcc __attribute__ ((const)) works],
                   gmp_cv_c_attribute_const,
   [AC_TRY_COMPILE([int foo (int x) __attribute__ ((const));], ,
     gmp_cv_c_attribute_const=yes, gmp_cv_c_attribute_const=no)
   ])
   if test $gmp_cv_c_attribute_const = yes; then
     AC_DEFINE(HAVE_ATTRIBUTE_CONST, 1,
     [Define if the compiler accepts gcc style __attribute__ ((const))])
   fi
   ])
   
   
   dnl  GMP_C_ATTRIBUTE_MALLOC
   dnl  ----------------------
   dnl  gcc 2.95.x accepts __attribute__ ((malloc)) but with a warning that
   dnl  it's ignored.  Pretend it doesn't exist in this case, to avoid that
   dnl  warning.
   
   AC_DEFUN(GMP_C_ATTRIBUTE_MALLOC,
   [AC_CACHE_CHECK([whether gcc __attribute__ ((malloc)) works],
                   gmp_cv_c_attribute_malloc,
 [cat >conftest.c <<EOF  [cat >conftest.c <<EOF
 int main (int argc, char *argv[]) { return 0; }  void *foo (int x) __attribute__ ((malloc));
 EOF  EOF
 if AC_TRY_EVAL(ac_compile); then  gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftest.c >conftest.out 2>&1"
   gmp_cv_c_ansi2knr=no  if AC_TRY_EVAL(gmp_compile); then
     if grep "attribute directive ignored" conftest.out >/dev/null; then
       gmp_cv_c_attribute_malloc=no
     else
       gmp_cv_c_attribute_malloc=yes
     fi
 else  else
   gmp_cv_c_ansi2knr=yes    gmp_cv_c_attribute_malloc=no
 fi  fi
 rm -f conftest.*  cat conftest.out >&AC_FD_CC
   rm -f conftest*
 ])  ])
 if test $gmp_cv_c_ansi2knr = no; then  if test $gmp_cv_c_attribute_malloc = yes; then
   U= ANSI2KNR=    AC_DEFINE(HAVE_ATTRIBUTE_MALLOC, 1,
 else    [Define if the compiler accepts gcc style __attribute__ ((malloc))])
   U=_ ANSI2KNR=./ansi2knr  
   # Ensure some checks needed by ansi2knr itself.  
   AC_HEADER_STDC  
   AC_CHECK_HEADERS(string.h)  
 fi  fi
 AC_SUBST(U)  
 AC_SUBST(ANSI2KNR)  
 ])  ])
   
   
 dnl  Deal with bad synchronization of Autoconf with Libtool.  dnl  GMP_C_ATTRIBUTE_MODE
 AC_DEFUN(AC_CANONICAL_BUILD, [_AC_CANONICAL_BUILD])  dnl  --------------------
 AC_DEFUN(AC_CHECK_TOOL_PREFIX, [_AC_CHECK_TOOL_PREFIX])  dnl  Introduced in gcc 2.2, but perhaps not in all Apple derived versions.
   
   AC_DEFUN(GMP_C_ATTRIBUTE_MODE,
   [AC_CACHE_CHECK([whether gcc __attribute__ ((mode (XX))) works],
                   gmp_cv_c_attribute_mode,
   [AC_TRY_COMPILE([typedef int SItype __attribute__ ((mode (SI)));], ,
     gmp_cv_c_attribute_mode=yes, gmp_cv_c_attribute_mode=no)
   ])
   if test $gmp_cv_c_attribute_mode = yes; then
     AC_DEFINE(HAVE_ATTRIBUTE_MODE, 1,
     [Define if the compiler accepts gcc style __attribute__ ((mode (XX)))])
   fi
   ])
   
 # serial 1  
   
 AC_DEFUN(AM_C_PROTOTYPES,  dnl  GMP_C_ATTRIBUTE_NORETURN
 [AC_REQUIRE([AM_PROG_CC_STDC])  dnl  ------------------------
 AC_REQUIRE([AC_PROG_CPP])  
 AC_MSG_CHECKING([for function prototypes])  AC_DEFUN(GMP_C_ATTRIBUTE_NORETURN,
 if test "$am_cv_prog_cc_stdc" != no; then  [AC_CACHE_CHECK([whether gcc __attribute__ ((noreturn)) works],
   AC_MSG_RESULT(yes)                  gmp_cv_c_attribute_noreturn,
   AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])  [AC_TRY_COMPILE([void foo (int x) __attribute__ ((noreturn));], ,
   U= ANSI2KNR=    gmp_cv_c_attribute_noreturn=yes, gmp_cv_c_attribute_noreturn=no)
 else  ])
   AC_MSG_RESULT(no)  if test $gmp_cv_c_attribute_noreturn = yes; then
   U=_ ANSI2KNR=./ansi2knr    AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
   # Ensure some checks needed by ansi2knr itself.    [Define if the compiler accepts gcc style __attribute__ ((noreturn))])
   AC_HEADER_STDC  
   AC_CHECK_HEADERS(string.h)  
 fi  fi
 AC_SUBST(U)dnl  
 AC_SUBST(ANSI2KNR)dnl  
 ])  ])
   
   
 # serial 1  dnl  GMP_C_DOUBLE_FORMAT
   dnl  -------------------
   dnl  Determine the floating point format.
   dnl
   dnl  The object file is grepped, in order to work when cross compiling.  A
   dnl  start and end sequence is included to avoid false matches, and
   dnl  allowance is made for the desired data crossing an "od -b" line
   dnl  boundary.  The test number is a small integer so it should appear
   dnl  exactly, no rounding or truncation etc.
   dnl
   dnl  "od -b", incidentally, is supported even by Unix V7, and the awk script
   dnl  used doesn't have functions or anything, so even an "old" awk should
   dnl  suffice.
   
 # @defmac AC_PROG_CC_STDC  AC_DEFUN(GMP_C_DOUBLE_FORMAT,
 # @maindex PROG_CC_STDC  
 # @ovindex CC  
 # If the C compiler in not in ANSI C mode by default, try to add an option  
 # to output variable @code{CC} to make it so.  This macro tries various  
 # options that select ANSI C on some system or another.  It considers the  
 # compiler to be in ANSI C mode if it handles function prototypes correctly.  
 #  
 # If you use this macro, you should check after calling it whether the C  
 # compiler has been set to accept ANSI C; if not, the shell variable  
 # @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source  
 # code in ANSI C, you can make an un-ANSIfied copy of it by using the  
 # program @code{ansi2knr}, which comes with Ghostscript.  
 # @end defmac  
   
 AC_DEFUN(AM_PROG_CC_STDC,  
 [AC_REQUIRE([AC_PROG_CC])  [AC_REQUIRE([AC_PROG_CC])
 AC_BEFORE([$0], [AC_C_INLINE])  AC_REQUIRE([AC_PROG_AWK])
 AC_BEFORE([$0], [AC_C_CONST])  AC_CACHE_CHECK([format of `double' floating point],
 dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require                  gmp_cv_c_double_format,
 dnl a magic option to avoid problems with ANSI preprocessor commands  [gmp_cv_c_double_format=unknown
 dnl like #elif.  cat >conftest.c <<\EOF
 dnl FIXME: can't do this because then AC_AIX won't work due to a  [struct {
 dnl circular dependency.    char    before[8];
 dnl AC_BEFORE([$0], [AC_PROG_CPP])    double  x;
 AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)    char    after[8];
 AC_CACHE_VAL(am_cv_prog_cc_stdc,  } foo = {
 [am_cv_prog_cc_stdc=no    { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF },
 ac_save_CC="$CC"    -123456789.0,
 # Don't try gcc -ansi; that turns off useful extensions and    { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10 },
 # breaks some systems' header files.  };]
 # AIX                   -qlanglvl=ansi  EOF
 # Ultrix and OSF/1      -std1  gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftest.c >&AC_FD_CC 2>&1"
 # HP-UX 10.20 and later -Ae  if AC_TRY_EVAL(gmp_compile); then
 # HP-UX older versions  -Aa -D_HPUX_SOURCE  cat >conftest.awk <<\EOF
 # SVR4                  -Xc -D__EXTENSIONS__  [
 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"  BEGIN {
 do    found = 0
   CC="$ac_save_CC $ac_arg"  
   AC_TRY_COMPILE(  
 [#include <stdarg.h>  
 #include <stdio.h>  
 #include <sys/types.h>  
 #include <sys/stat.h>  
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */  
 struct buf { int x; };  
 FILE * (*rcsopen) (struct buf *, struct stat *, int);  
 static char *e (p, i)  
      char **p;  
      int i;  
 {  
   return p[i];  
 }  }
 static char *f (char * (*g) (char **, int), char **p, ...)  
 {  {
   char *s;    for (f = 2; f <= NF; f++)
   va_list v;      {
   va_start (v,p);        for (i = 0; i < 23; i++)
   s = g (p, va_arg (v,int));          got[i] = got[i+1];
   va_end (v);        got[23] = $f;
   return s;  
         # match the special begin and end sequences
         if (got[0] != "001") continue
         if (got[1] != "043") continue
         if (got[2] != "105") continue
         if (got[3] != "147") continue
         if (got[4] != "211") continue
         if (got[5] != "253") continue
         if (got[6] != "315") continue
         if (got[7] != "357") continue
         if (got[16] != "376") continue
         if (got[17] != "334") continue
         if (got[18] != "272") continue
         if (got[19] != "230") continue
         if (got[20] != "166") continue
         if (got[21] != "124") continue
         if (got[22] != "062") continue
         if (got[23] != "020") continue
   
         saw = " (" got[8] " " got[9] " " got[10] " " got[11] " " got[12] " " got[13] " " got[14] " " got[15] ")"
   
         if (got[8]  == "000" &&  \
             got[9]  == "000" &&  \
             got[10] == "000" &&  \
             got[11] == "124" &&  \
             got[12] == "064" &&  \
             got[13] == "157" &&  \
             got[14] == "235" &&  \
             got[15] == "301")
           {
             print "IEEE little endian"
             found = 1
             exit
           }
   
         # ARM style little endian but with the two 4-byte halves swapped
         if (got[8]  == "064" &&  \
             got[9]  == "157" &&  \
             got[10] == "235" &&  \
             got[11] == "301" &&  \
             got[12] == "000" &&  \
             got[13] == "000" &&  \
             got[14] == "000" &&  \
             got[15] == "124")
           {
             print "IEEE little endian, swapped halves"
             found = 1
             exit
           }
   
         if (got[8]  == "301" &&  \
             got[9]  == "235" &&  \
             got[10] == "157" &&  \
             got[11] == "064" &&  \
             got[12] == "124" &&  \
             got[13] == "000" &&  \
             got[14] == "000" &&  \
             got[15] == "000")
           {
             print "IEEE big endian"
             found = 1
             exit
           }
   
         if (got[8]  == "353" &&  \
             got[9]  == "315" &&  \
             got[10] == "242" &&  \
             got[11] == "171" &&  \
             got[12] == "000" &&  \
             got[13] == "240" &&  \
             got[14] == "000" &&  \
             got[15] == "000")
           {
             print "VAX D"
             found = 1
             exit
           }
   
         if (got[8]  == "275" &&  \
             got[9]  == "301" &&  \
             got[10] == "064" &&  \
             got[11] == "157" &&  \
             got[12] == "000" &&  \
             got[13] == "124" &&  \
             got[14] == "000" &&  \
             got[15] == "000")
           {
             print "VAX G"
             found = 1
             exit
           }
   
         if (got[8]  == "300" &&  \
             got[9]  == "033" &&  \
             got[10] == "353" &&  \
             got[11] == "171" &&  \
             got[12] == "242" &&  \
             got[13] == "240" &&  \
             got[14] == "000" &&  \
             got[15] == "000")
           {
             print "Cray CFP"
             found = 1
             exit
           }
       }
 }  }
 int test (int i, double x);  
 struct s1 {int (*f) (int a);};  END {
 struct s2 {int (*f) (double a);};    if (! found)
 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);      print "unknown", saw
 int argc;  }
 char **argv;  ]
 ], [  EOF
 return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];    gmp_cv_c_double_format=`od -b conftest.$OBJEXT | $AWK -f conftest.awk`
 ],    case $gmp_cv_c_double_format in
 [am_cv_prog_cc_stdc="$ac_arg"; break])    unknown*)
 done      echo "cannot match anything, conftest.$OBJEXT contains" >&AC_FD_CC
 CC="$ac_save_CC"      od -b conftest.$OBJEXT >&AC_FD_CC
 ])      ;;
 if test -z "$am_cv_prog_cc_stdc"; then    esac
   AC_MSG_RESULT([none needed])  
 else  else
   AC_MSG_RESULT($am_cv_prog_cc_stdc)    AC_MSG_WARN([oops, cannot compile test program])
 fi  fi
 case "x$am_cv_prog_cc_stdc" in  ])
   x|xno) ;;  
   *) CC="$CC $am_cv_prog_cc_stdc" ;;  AH_VERBATIM([HAVE_DOUBLE],
   [/* Define one (and only one) of the following for the format of a `double'.
      If your format is not among these choices, or you don't know what it is,
      then leave all of them undefined.
      "IEEE_LITTLE_SWAPPED" means little endian, but with the two 4-byte halves
      swapped, as used by ARM CPUs in little endian mode.  */
   #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN
   #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN
   #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED
   #undef HAVE_DOUBLE_VAX_D
   #undef HAVE_DOUBLE_VAX_G
   #undef HAVE_DOUBLE_CRAY_CFP])
   
   case $gmp_cv_c_double_format in
     "IEEE big endian")
       AC_DEFINE(HAVE_DOUBLE_IEEE_BIG_ENDIAN, 1) ;;
     "IEEE little endian")
       AC_DEFINE(HAVE_DOUBLE_IEEE_LITTLE_ENDIAN, 1) ;;
     "IEEE little endian, swapped halves")
       AC_DEFINE(HAVE_DOUBLE_IEEE_LITTLE_SWAPPED, 1) ;;
     "VAX D")
       AC_DEFINE(HAVE_DOUBLE_VAX_D, 1) ;;
     "VAX G")
       AC_DEFINE(HAVE_DOUBLE_VAX_G, 1) ;;
     "Cray CFP")
       AC_DEFINE(HAVE_DOUBLE_CRAY_CFP, 1) ;;
     unknown*)
       ;;
     *)
       AC_MSG_WARN([oops, unrecognised float format: $gmp_cv_c_double_format])
       ;;
 esac  esac
 ])  ])
   
 # Do all the work for Automake.  This macro actually does too much --  
 # some checks are only needed if your package does certain things.  
 # But this isn't really a big deal.  
   
 # serial 1  dnl  GMP_C_INLINE
   dnl  ------------
   dnl  Establish an "inline" keyword, if possible.
   dnl
   dnl  This is the same as AC_C_INLINE, but introduing a typedef into the test
   dnl  program.  Some versions of HP C succeed when the return value is a
   dnl  plain builtin type like "int", but fail when it's a typedef.
   dnl
   dnl  FIXME: Hopefully autoconf will do this extra itself one day.
   
 dnl Usage:  AC_DEFUN(GMP_C_INLINE,
 dnl AM_INIT_AUTOMAKE(package,version, [no-define])  [AC_CACHE_CHECK([for inline], gmp_cv_c_inline,
   [gmp_cv_c_inline=no
   for i in inline __inline__ __inline; do
     AC_TRY_COMPILE(
   [#ifndef __cplusplus
   typedef int foo_t;
   $i foo_t func1 () { return 0; }
   static $i foo_t func2 () { return 0; }
   #endif], ,
       [gmp_cv_c_inline=$i
       break])
   done
   if test $gmp_cv_c_inline = inline; then
     gmp_cv_c_inline=yes
   fi
   ])
   case $gmp_cv_c_inline in
     inline | yes) ;;
     no) AC_DEFINE(inline,,
                   [Define as `__inline' if that's what the C compiler calls it,
                    or to nothing if it is not supported.]) ;;
     *)  AC_DEFINE_UNQUOTED(inline, $gmp_cv_c_inline) ;;
   esac
   ])
   
 AC_DEFUN(AM_INIT_AUTOMAKE,  
 [AC_REQUIRE([AC_PROG_INSTALL])  dnl  GMP_C_RESTRICT
 dnl We require 2.13 because we rely on SHELL being computed by configure.  dnl  --------------
 AC_PREREQ([2.13])  dnl  Establish a "restrict" keyword, if possible, like AC_C_INLINE.
 PACKAGE=[$1]  dnl
 AC_SUBST(PACKAGE)  dnl  If restrict works already, then do nothing.  Otherwise AC_DEFINE it to
 VERSION=[$2]  dnl  __restrict__ or __restrict if they work, or to empty otherwise.
 AC_SUBST(VERSION)  dnl
 dnl test to see if srcdir already configured  dnl  "restrict" is in C99.  GCC 2.95 and up has it in c99 mode, and also as
 if test "`CDPATH=: && cd $srcdir && pwd`" != "`pwd`" &&  dnl  __restrict__ and __restrict in all modes.
    test -f $srcdir/config.status; then  dnl
   AC_MSG_ERROR([source directory already configured; run "make distclean" there first])  dnl  "yes" is used in the cache variable if plain "restrict" works, to make
   dnl  the configure message look nicer.
   
   AC_DEFUN(GMP_C_RESTRICT,
   [AC_CACHE_CHECK([for restrict], gmp_cv_c_restrict,
   [gmp_cv_c_restrict=no
   for r in restrict __restrict__ __restrict; do
     AC_TRY_COMPILE(, [char * $r foo;],
       [gmp_cv_c_restrict=$r
       break])
   done
   if test $gmp_cv_c_restrict = restrict; then
     gmp_cv_c_restrict=yes
 fi  fi
 ifelse([$3],,  
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])  
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))  
 AC_REQUIRE([AM_SANITY_CHECK])  
 AC_REQUIRE([AC_ARG_PROGRAM])  
 AM_MISSING_PROG(ACLOCAL, aclocal)  
 AM_MISSING_PROG(AUTOCONF, autoconf)  
 AM_MISSING_PROG(AUTOMAKE, automake)  
 AM_MISSING_PROG(AUTOHEADER, autoheader)  
 AM_MISSING_PROG(MAKEINFO, makeinfo)  
 AM_MISSING_PROG(AMTAR, tar)  
 AM_MISSING_INSTALL_SH  
 dnl We need awk for the "check" target.  The system "awk" is bad on  
 dnl some platforms.  
 AC_REQUIRE([AC_PROG_AWK])  
 AC_REQUIRE([AC_PROG_MAKE_SET])  
 AC_REQUIRE([AM_DEP_TRACK])  
 AC_REQUIRE([AM_SET_DEPDIR])  
 ifdef([AC_PROVIDE_AC_PROG_CC], [AM_DEPENDENCIES(CC)], [  
    define([AC_PROG_CC], defn([AC_PROG_CC])[AM_DEPENDENCIES(CC)])])  
 ifdef([AC_PROVIDE_AC_PROG_CXX], [AM_DEPENDENCIES(CXX)], [  
    define([AC_PROG_CXX], defn([AC_PROG_CXX])[AM_DEPENDENCIES(CXX)])])  
 ])  ])
   case $gmp_cv_c_restrict in
     restrict | yes) ;;
     no) AC_DEFINE(restrict,,
                   [Define as `__restrict' if that's what the C compiler calls it,
                    or to nothing if it is not supported.]) ;;
     *)  AC_DEFINE_UNQUOTED(restrict, $gmp_cv_c_restrict) ;;
   esac
   ])
   
 #  
 # Check to make sure that the build environment is sane.  
 #  
   
 AC_DEFUN(AM_SANITY_CHECK,  dnl  GMP_C_SIZES
 [AC_MSG_CHECKING([whether build environment is sane])  dnl  -----------
 # Just in case  dnl  Determine some sizes, if not alredy provided by gmp-mparam.h.
 sleep 1  dnl  $gmp_mparam_source is the selected gmp-mparam.h.
 echo timestamp > conftestfile  dnl
 # Do `set' in a subshell so we don't clobber the current shell's  dnl  BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB and BITS_PER_ULONG are needed at
 # arguments.  Must try -L first in case configure is actually a  dnl  preprocessing time when building the library, for use in #if
 # symlink; some systems play weird games with the mod time of symlinks  dnl  conditionals.
 # (eg FreeBSD returns the mod time of the symlink's containing  dnl
 # directory).  dnl  BITS_PER_MP_LIMB is also wanted as a plain constant for some macros in
 if (  dnl  the generated gmp.h, and is instantiated as BITS_PER_MP_LIMB.
    set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`  dnl
    if test "[$]*" = "X"; then  dnl  If some assembler code depends on a particular type size it's probably
       # -L didn't work.  dnl  best to put explicit #defines for these in gmp-mparam.h.  That way if
       set X `ls -t $srcdir/configure conftestfile`  dnl  strange compiler options change the size then a mismatch will be
    fi  dnl  detected by t-constants.c rather than only by the code crashing or
    if test "[$]*" != "X $srcdir/configure conftestfile" \  dnl  giving wrong results.
       && test "[$]*" != "X conftestfile $srcdir/configure"; then  dnl
   dnl  None of the assembler code depends on BITS_PER_ULONG currently, so it's
   dnl  just as easy to let configure find its size as to put explicit values.
   dnl
   dnl  The tests here assume bits=8*sizeof, but that might not be universally
   dnl  true.  It'd be better to probe for how many bits seem to work, like
   dnl  t-constants does.  But all currently supported systems have limbs and
   dnl  ulongs with bits=8*sizeof, so it's academic.  Strange systems can
   dnl  always have the right values put in gmp-mparam.h explicitly.
   
       # If neither matched, then we have a broken ls.  This can happen  AC_DEFUN(GMP_C_SIZES,
       # if, for instance, CONFIG_SHELL is bash and it inherits a  [BITS_PER_MP_LIMB=[`sed -n 's/^#define BITS_PER_MP_LIMB[        ][      ]*\([0-9]*\).*$/\1/p' $gmp_mparam_source`]
       # broken ls alias from the environment.  This has actually  if test -n "$BITS_PER_MP_LIMB" \
       # happened.  Such a system could not be considered "sane".     && grep "^#define BYTES_PER_MP_LIMB" $gmp_mparam_source >/dev/null; then : ;
       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken  else
 alias in your environment])    AC_CHECK_SIZEOF(mp_limb_t,,
    fi  [#include <stdio.h>]
   GMP_INCLUDE_GMP_H)
     if test "$ac_cv_sizeof_mp_limb_t" = 0; then
       AC_MSG_ERROR([some sort of compiler problem, mp_limb_t doesn't seem to work])
     fi
     if test -z "$BITS_PER_MP_LIMB"; then
       BITS_PER_MP_LIMB="(8*$ac_cv_sizeof_mp_limb_t)"
     fi
     if grep "^#define BYTES_PER_MP_LIMB" $gmp_mparam_source >/dev/null; then : ;
     else
       AC_DEFINE_UNQUOTED(BYTES_PER_MP_LIMB, $ac_cv_sizeof_mp_limb_t,
                          [bytes per mp_limb_t, if not in gmp-mparam.h])
     fi
   fi
   AC_SUBST(BITS_PER_MP_LIMB)
   define([GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB],
   [[#define __GMP_BITS_PER_MP_LIMB $BITS_PER_MP_LIMB
   #define GMP_LIMB_BITS $BITS_PER_MP_LIMB]])
   
    test "[$]2" = conftestfile  if grep "^#define BITS_PER_ULONG" $gmp_mparam_source >/dev/null; then : ;
    )  
 then  
    # Ok.  
    :  
 else  else
    AC_MSG_ERROR([newly created file is older than distributed files!    case $limb_chosen in
 Check your system clock])    longlong)
       AC_CHECK_SIZEOF(unsigned long)
       AC_DEFINE_UNQUOTED(BITS_PER_ULONG, (8 * $ac_cv_sizeof_unsigned_long),
                          [bits per unsigned long, if not in gmp-mparam.h])
       ;;
     *)
       # Copy the limb size when a limb is a ulong
       AC_DEFINE(BITS_PER_ULONG, BITS_PER_MP_LIMB)
       ;;
     esac
 fi  fi
 rm -f conftest*  ])
 AC_MSG_RESULT(yes)])  
   
 dnl AM_MISSING_PROG(NAME, PROGRAM)  
 AC_DEFUN(AM_MISSING_PROG, [  
 AC_REQUIRE([AM_MISSING_HAS_RUN])  
 $1=${$1-"${am_missing_run}$2"}  
 AC_SUBST($1)])  
   
 dnl Like AM_MISSING_PROG, but only looks for install-sh.  dnl  GMP_C_STDARG
 dnl AM_MISSING_INSTALL_SH()  dnl  ------------
 AC_DEFUN(AM_MISSING_INSTALL_SH, [  dnl  Test whether to use <stdarg.h> or <varargs.h>.
 AC_REQUIRE([AM_MISSING_HAS_RUN])  dnl
 if test -z "$install_sh"; then  dnl  Notice the AC_DEFINE here is HAVE_STDARG to avoid clashing with
    install_sh="$ac_aux_dir/install-sh"  dnl  HAVE_STDARG_H which could arise from AC_CHECK_HEADERS.
    test -f "$install_sh" || install_sh="$ac_aux_dir/install.sh"  dnl
    test -f "$install_sh" || install_sh="${am_missing_run}${ac_auxdir}/install-sh"  dnl  This test might be slight overkill, after all there's really only going
    dnl FIXME: an evil hack: we remove the SHELL invocation from  dnl  to be ANSI or K&R and the two can be differentiated by AC_PROG_CC_STDC
    dnl install_sh because automake adds it back in.  Sigh.  dnl  or very likely by the setups for _PROTO in gmp.h.  On the other hand
    install_sh="`echo $install_sh | sed -e 's/\${SHELL}//'`"  dnl  this test is nice and direct, being what we're going to actually use.
   
   AC_DEFUN(GMP_C_STDARG,
   [AC_CACHE_CHECK([whether <stdarg.h> exists and works],
                   gmp_cv_c_stdarg,
   [AC_TRY_COMPILE(
   [#include <stdarg.h>
   int foo (int x, ...)
   {
     va_list  ap;
     int      y;
     va_start (ap, x);
     y = va_arg (ap, int);
     va_end (ap);
     return y;
   }],,
   gmp_cv_c_stdarg=yes, gmp_cv_c_stdarg=no)
   ])
   if test $gmp_cv_c_stdarg = yes; then
     AC_DEFINE(HAVE_STDARG, 1, [Define if <stdarg.h> exists and works])
 fi  fi
 AC_SUBST(install_sh)])  ])
   
 dnl AM_MISSING_HAS_RUN.  
 dnl Define MISSING if not defined so far and test if it supports --run.  dnl  GMP_FUNC_ALLOCA
 dnl If it does, set am_missing_run to use it, otherwise, to nothing.  dnl  ---------------
 AC_DEFUN([AM_MISSING_HAS_RUN], [  dnl  Determine whether "alloca" is available.  This is AC_FUNC_ALLOCA from
 test x"${MISSING+set}" = xset || \  dnl  autoconf, but changed so it doesn't use alloca.c if alloca() isn't
   MISSING="\${SHELL} `CDPATH=: && cd $ac_aux_dir && pwd`/missing"  dnl  available, and also to use gmp-impl.h for the conditionals detecting
 dnl Use eval to expand $SHELL  dnl  compiler builtin alloca's.
 if eval "$MISSING --run :"; then  
   am_missing_run="$MISSING --run "  AC_DEFUN(GMP_FUNC_ALLOCA,
 else  [AC_REQUIRE([GMP_HEADER_ALLOCA])
   am_missing_run=  AC_CACHE_CHECK([for alloca (via gmp-impl.h)],
   am_backtick='`'                 gmp_cv_func_alloca,
   AC_MSG_WARN([${am_backtick}missing' script is too old or missing])  [AC_TRY_LINK(
   GMP_INCLUDE_GMP_H
   [#include "$srcdir/gmp-impl.h"
   ],
     [char *p = (char *) alloca (1);],
     gmp_cv_func_alloca=yes,
     gmp_cv_func_alloca=no)])
   if test $gmp_cv_func_alloca = yes; then
     AC_DEFINE(HAVE_ALLOCA, 1,
       [Define if alloca() works (via gmp-impl.h).])
 fi  fi
 ])  ])
   
 dnl See how the compiler implements dependency checking.  AC_DEFUN(GMP_HEADER_ALLOCA,
 dnl Usage:  [# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 dnl AM_DEPENDENCIES(NAME)  # for constant arguments.  Useless!
 dnl NAME is "CC", "CXX" or "OBJC".  AC_CACHE_CHECK([for working alloca.h],
                  gmp_cv_header_alloca,
   [AC_TRY_LINK([#include <alloca.h>],
     [char *p = (char *) alloca (2 * sizeof (int));],
     gmp_cv_header_alloca=yes,
     gmp_cv_header_alloca=no)])
   if test $gmp_cv_header_alloca = yes; then
     AC_DEFINE(HAVE_ALLOCA_H, 1,
       [Define if you have <alloca.h> and it should be used (not on Ultrix).])
   fi
   ])
   
 dnl We try a few techniques and use that to set a single cache variable.  
   
 AC_DEFUN(AM_DEPENDENCIES,[  dnl  GMP_OPTION_ALLOCA
 AC_REQUIRE([AM_SET_DEPDIR])  dnl  -----------------
 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])  dnl  Decide what to do about --enable-alloca from the user.
 ifelse([$1],CC,[  dnl  This is a macro so it can require GMP_FUNC_ALLOCA.
 AC_REQUIRE([AC_PROG_CC])  
 AC_REQUIRE([AC_PROG_CPP])  
 depcc="$CC"  
 depcpp="$CPP"],[$1],CXX,[  
 AC_REQUIRE([AC_PROG_CXX])  
 AC_REQUIRE([AC_PROG_CXXCPP])  
 depcc="$CXX"  
 depcpp="$CXXCPP"],[$1],OBJC,[  
 am_cv_OBJC_dependencies_compiler_type=gcc],[  
 AC_REQUIRE([AC_PROG_][$1])  
 depcc="$[$1]"  
 depcpp=""])  
 AC_MSG_CHECKING([dependency style of $depcc])  
 AC_CACHE_VAL(am_cv_[$1]_dependencies_compiler_type,[  
 if test -z "$AMDEP"; then  
   echo '#include "conftest.h"' > conftest.c  
   echo 'int i;' > conftest.h  
   
   am_cv_[$1]_dependencies_compiler_type=none  AC_DEFUN(GMP_OPTION_ALLOCA,
   for depmode in `sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$am_depcomp"`; do  [AC_REQUIRE([GMP_FUNC_ALLOCA])
     case "$depmode" in  AC_CACHE_CHECK([how to allocate temporary memory],
     nosideeffect)                 gmp_cv_option_alloca,
       # after this tag, mechanisms are not by side-effect, so they'll  [case $enable_alloca in
       # only be used when explicitly requested    yes)
       if test "x$enable_dependency_tracking" = xyes; then      gmp_cv_option_alloca=alloca
         continue      ;;
       else    no)
         break      gmp_cv_option_alloca=malloc-reentrant
       fi      ;;
       ;;    reentrant | notreentrant)
     none) break ;;      case $gmp_cv_func_alloca in
       yes)  gmp_cv_option_alloca=alloca ;;
       *)    gmp_cv_option_alloca=malloc-$enable_alloca ;;
     esac      esac
     if depmode="$depmode" \      ;;
        source=conftest.c object=conftest.o \    *)
        depfile=conftest.Po tmpdepfile=conftest.TPo \      gmp_cv_option_alloca=$enable_alloca
        $SHELL $am_depcomp $depcc -c conftest.c 2>/dev/null &&      ;;
        grep conftest.h conftest.Po > /dev/null 2>&1; then  esac
       am_cv_[$1]_dependencies_compiler_type="$depmode"  ])
       break  case $gmp_cv_option_alloca in
     alloca)
       if test $gmp_cv_func_alloca = no; then
         AC_MSG_ERROR([--enable-alloca=alloca specified, but alloca not available])
     fi      fi
   done      AC_DEFINE(WANT_TMP_ALLOCA, 1, [--enable-alloca=yes])
       ;;
     malloc-reentrant)
       AC_DEFINE(WANT_TMP_REENTRANT, 1, [--enable-alloca=malloc-reentrant])
       TAL_OBJECT=tal-reent$U.lo
       ;;
     malloc-notreentrant)
       AC_DEFINE(WANT_TMP_NOTREENTRANT, 1, [--enable-alloca=malloc-notreentrant])
       TAL_OBJECT=tal-notreent$U.lo
       ;;
     debug)
       AC_DEFINE(WANT_TMP_DEBUG, 1, [--enable-alloca=debug])
       TAL_OBJECT=tal-debug$U.lo
       ;;
     *)
       # checks at the start of configure.in should protect us
       AC_MSG_ERROR([unrecognised --enable-alloca=$gmp_cv_option_alloca])
       ;;
   esac
   AC_SUBST(TAL_OBJECT)
   ])
   
   rm -f conftest.*  
 else  dnl  GMP_FUNC_SSCANF_WRITABLE_INPUT
   am_cv_[$1]_dependencies_compiler_type=none  dnl  ------------------------------
 fi  dnl  Determine whether sscanf requires a writable input string.
   dnl
   dnl  FIXME: Run a program to try this, when doing a native build.
   
   AC_DEFUN(GMP_FUNC_SSCANF_WRITABLE_INPUT,
   [AC_CACHE_CHECK([whether sscanf needs writable input],
                    gmp_cv_func_sscanf_writable_input,
   [case $host in
     *-*-hpux9 | *-*-hpux9.*)
        gmp_cv_func_sscanf_writable_input=yes ;;
     *) gmp_cv_func_sscanf_writable_input=no  ;;
   esac
 ])  ])
 AC_MSG_RESULT($am_cv_[$1]_dependencies_compiler_type)  case $gmp_cv_func_sscanf_writable_input in
 [$1]DEPMODE="depmode=$am_cv_[$1]_dependencies_compiler_type"    yes) AC_DEFINE(SSCANF_WRITABLE_INPUT, 1,
 AC_SUBST([$1]DEPMODE)                   [Define if sscanf requires writable inputs]) ;;
     no)  ;;
     *)   AC_MSG_ERROR([unrecognised \$gmp_cv_func_sscanf_writable_input]) ;;
   esac
 ])  ])
   
 dnl Choose a directory name for dependency files.  
 dnl This macro is AC_REQUIREd in AM_DEPENDENCIES  
   
 AC_DEFUN(AM_SET_DEPDIR,[  dnl  GMP_FUNC_VSNPRINTF
 if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then  dnl  ------------------
   DEPDIR=.deps  dnl  Check whether vsnprintf exists, and works properly.
 else  dnl
   DEPDIR=_deps  dnl  Sparc Solaris 2.7 in 64-bit mode doesn't always truncate, making
 fi  dnl  vsnprintf like vsprintf, and hence completely useless.  On one system a
 AC_SUBST(DEPDIR)  dnl  literal string is enough to provoke the problem, on another a "%n" was
 ])  dnl  needed.  There seems to be something weird going on with the optimizer
   dnl  or something, since on the first system adding a second check with
   dnl  "%n", or even just an initialized local variable, makes it work.  In
   dnl  any case, without bothering to get to the bottom of this, the two
   dnl  program runs in the code below end up successfully detecting the
   dnl  problem.
   dnl
   dnl  glibc 2.0.x returns either -1 or bufsize-1 for an overflow (both seen,
   dnl  not sure which 2.0.x does which), but still puts the correct null
   dnl  terminated result into the buffer.
   
 AC_DEFUN(AM_DEP_TRACK,[  AC_DEFUN(GMP_FUNC_VSNPRINTF,
 AC_ARG_ENABLE(dependency-tracking,  [AC_REQUIRE([GMP_C_STDARG])
 [  --disable-dependency-tracking Speeds up one-time builds  AC_CHECK_FUNC(vsnprintf,
   --enable-dependency-tracking  Do not reject slow dependency extractors])                [gmp_vsnprintf_exists=yes],
 if test "x$enable_dependency_tracking" = xno; then                [gmp_vsnprintf_exists=no])
   AMDEP="#"  if test "$gmp_vsnprintf_exists" = no; then
     gmp_cv_func_vsnprintf=no
 else  else
   am_depcomp="$ac_aux_dir/depcomp"    AC_CACHE_CHECK([whether vsnprintf works],
   if test ! -f "$am_depcomp"; then                   gmp_cv_func_vsnprintf,
     AMDEP="#"    [gmp_cv_func_vsnprintf=yes
   else     for i in 'check ("hello world");' 'int n; check ("%nhello world", &n);'; do
     AMDEP=       AC_TRY_RUN([
   #include <string.h>  /* for strcmp */
   #include <stdio.h>   /* for vsnprintf */
   
   #if HAVE_STDARG
   #include <stdarg.h>
   #else
   #include <varargs.h>
   #endif
   
   int
   #if HAVE_STDARG
   check (const char *fmt, ...)
   #else
   check (va_alist)
        va_dcl
   #endif
   {
     static char  buf[128];
     va_list  ap;
     int      ret;
   
   #if HAVE_STDARG
     va_start (ap, fmt);
   #else
     char *fmt;
     va_start (ap);
     fmt = va_arg (ap, char *);
   #endif
   
     ret = vsnprintf (buf, 4, fmt, ap);
   
     if (strcmp (buf, "hel") != 0)
       exit (1);
   
     /* allowed return values */
     if (ret != -1 && ret != 3 && ret != 11)
       exit (2);
   
     return 0;
   }
   
   int
   main ()
   {
   $i
     exit (0);
   }
   ],
         [:],
         [gmp_cv_func_vsnprintf=no; break],
         [gmp_cv_func_vsnprintf=probably; break])
     done
     ])
     if test "$gmp_cv_func_vsnprintf" = probably; then
       AC_MSG_WARN([cannot check for properly working vsnprintf when cross compiling, will assume it's ok])
   fi    fi
     if test "$gmp_cv_func_vsnprintf" != no; then
       AC_DEFINE(HAVE_VSNPRINTF,1,
                 [Define if you have vsnprintf and it works properly.])
     fi
 fi  fi
 AC_SUBST(AMDEP)  
 if test -z "$AMDEP"; then  
   AMDEPBACKSLASH='\'  
 else  
   AMDEPBACKSLASH=  
 fi  
 pushdef([subst], defn([AC_SUBST]))  
 subst(AMDEPBACKSLASH)  
 popdef([subst])  
 ])  ])
   
 dnl Generate code to set up dependency tracking.  
 dnl This macro should only be invoked once -- use via AC_REQUIRE.  
 dnl Usage:  
 dnl AM_OUTPUT_DEPENDENCY_COMMANDS  
   
 dnl  dnl  GMP_H_ANSI
 dnl This code is only required when automatic dependency tracking  dnl  ----------
 dnl is enabled.  FIXME.  This creates each `.P' file that we will  dnl  Check whether gmp.h recognises the compiler as ANSI capable.
 dnl need in order to bootstrap the dependency handling code.  
 AC_DEFUN(AM_OUTPUT_DEPENDENCY_COMMANDS,[  
 AC_OUTPUT_COMMANDS([  
 test x"$AMDEP" != x"" ||  
 for mf in $CONFIG_FILES; do  
   case "$mf" in  
   Makefile) dirpart=.;;  
   */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;  
   *) continue;;  
   esac  
   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue  
   # Extract the definition of DEP_FILES from the Makefile without  
   # running `make'.  
   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`  
   test -z "$DEPDIR" && continue  
   # When using ansi2knr, U may be empty or an underscore; expand it  
   U=`sed -n -e '/^U = / s///p' < "$mf"`  
   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"  
   # We invoke sed twice because it is the simplest approach to  
   # changing $(DEPDIR) to its actual value in the expansion.  
   for file in `sed -n -e '  
     /^DEP_FILES = .*\\\\$/ {  
       s/^DEP_FILES = //  
       :loop  
         s/\\\\$//  
         p  
         n  
         /\\\\$/ b loop  
       p  
     }  
     /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \  
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do  
     # Make sure the directory exists.  
     test -f "$dirpart/$file" && continue  
     fdir=`echo "$file" | sed -e 's|/[^/]*$||'`  
     $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1  
     # echo "creating $dirpart/$file"  
     echo '# dummy' > "$dirpart/$file"  
   done  
 done  
 ], [AMDEP="$AMDEP"  
 ac_aux_dir="$ac_aux_dir"])])  
   
 # Like AC_CONFIG_HEADER, but automatically create stamp file.  AC_DEFUN(GMP_H_ANSI,
   [AC_REQUIRE([AC_PROG_CC_STDC])
 AC_DEFUN(AM_CONFIG_HEADER,  case $ac_cv_prog_cc_stdc in
 [AC_PREREQ([2.12])    no)
 AC_CONFIG_HEADER([$1])  
 dnl When config.status generates a header, we must update the stamp-h file.  
 dnl This file resides in the same directory as the config header  
 dnl that is generated.  We must strip everything past the first ":",  
 dnl and everything past the last "/".  
 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl  
 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,  
 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,  
 <<am_indx=1  
 for am_file in <<$1>>; do  
   case " <<$>>CONFIG_HEADERS " in  
   *" <<$>>am_file "*<<)>>  
     echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx  
     ;;      ;;
   esac    *)
   am_indx=`expr "<<$>>am_indx" + 1`      AC_TRY_COMPILE(
 done<<>>dnl>>)  GMP_INCLUDE_GMP_H
 changequote([,]))])  [#if ! __GMP_HAVE_PROTOTYPES
   die die die
   #endif
   ],,,
       [AC_MSG_WARN([gmp.h doesnt recognise compiler as ANSI, prototypes and "const" will be unavailable])])
       ;;
   esac
   ])
   
 # Add --enable-maintainer-mode option to configure.  
 # From Jim Meyering  
   
 # serial 1  dnl  GMP_H_EXTERN_INLINE
   dnl  -------------------
   dnl  If the compiler has an "inline" of some sort, check whether the
   dnl  #ifdef's in gmp.h recognise it.
   
 AC_DEFUN(AM_MAINTAINER_MODE,  AC_DEFUN(GMP_H_EXTERN_INLINE,
 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])  [AC_REQUIRE([GMP_C_INLINE])
   dnl maintainer-mode is disabled by default  case $gmp_cv_c_inline in
   AC_ARG_ENABLE(maintainer-mode,  no) ;;
 [  --enable-maintainer-mode enable make rules and dependencies not useful  *)
                           (and sometimes confusing) to the casual installer],    AC_TRY_COMPILE(
       USE_MAINTAINER_MODE=$enableval,  [#define __GMP_WITHIN_CONFIGURE_INLINE 1
       USE_MAINTAINER_MODE=no)  ]GMP_INCLUDE_GMP_H[
   AC_MSG_RESULT($USE_MAINTAINER_MODE)  #ifndef __GMP_EXTERN_INLINE
   AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)  die die die
   MAINT=$MAINTAINER_MODE_TRUE  #endif
   AC_SUBST(MAINT)dnl  ],,,
 ]    [case $gmp_cv_c_inline in
 )    yes) tmp_inline=inline ;;
     *)   tmp_inline=$gmp_cv_c_inline ;;
     esac
     AC_MSG_WARN([gmp.h doesnt recognise compiler "$tmp_inline", inlines will be unavailable])])
     ;;
   esac
   ])
   
 # Define a conditional.  
   
 AC_DEFUN(AM_CONDITIONAL,  dnl  GMP_H_HAVE_FILE
 [AC_SUBST($1_TRUE)  dnl  ---------------
 AC_SUBST($1_FALSE)  dnl  Check whether the #ifdef's in gmp.h recognise when stdio.h has been
 if $2; then  dnl  included to get FILE.
   $1_TRUE=  
   $1_FALSE='#'  
 else  
   $1_TRUE='#'  
   $1_FALSE=  
 fi])  
   
   AC_DEFUN(GMP_H_HAVE_FILE,
   [AC_TRY_COMPILE(
   [#include <stdio.h>]
   GMP_INCLUDE_GMP_H
   [#if ! _GMP_H_HAVE_FILE
   die die die
   #endif
   ],,,
     [AC_MSG_WARN([gmp.h doesnt recognise <stdio.h>, FILE prototypes will be unavailable])])
   ])
   
 # serial 42 AC_PROG_LIBTOOL  
 AC_DEFUN(AC_PROG_LIBTOOL,  
 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl  
   
 # Save cache, so that ltconfig can load it  dnl  GMP_IMPL_H_IEEE_FLOATS
 AC_CACHE_SAVE  dnl  ----------------------
   dnl  Check whether the #ifdef's in gmp-impl.h recognise IEEE format and
   dnl  endianness.
   
 # Actually configure libtool.  ac_aux_dir is where install-sh is found.  AC_DEFUN(GMP_IMPL_H_IEEE_FLOATS,
 AR="$AR" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \  [case $host in
 MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \    vax*-*-*)
 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \      # not IEEE (neither D nor G formats are IEEE)
 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \      ;;
 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \    none-*-*)
 deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \      # don't worry about this when CPU "none"
 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \      ;;
 $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $lt_target \    *)
 || AC_MSG_ERROR([libtool configure failed])      case $path in
         *cray/cfp*)
           # not IEEE
           ;;
         *)
           AC_TRY_COMPILE(
   [#include <stdio.h>]
   GMP_INCLUDE_GMP_H
   [#include "$srcdir/gmp-impl.h"
   #ifndef _GMP_IEEE_FLOATS
   die die die
   #endif
   ],,,[
             AC_MSG_WARN([gmp-impl.h doesnt recognise "double" as IEEE.])
             AC_MSG_WARN([If your CPU floats are in fact IEEE then you])
             AC_MSG_WARN([might like to augment the tests there.])
           ])
           ;;
       esac
       ;;
   esac
   ])
   
 # Reload cache, that may have been modified by ltconfig  # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 AC_CACHE_LOAD  
   
   # serial 47 AC_PROG_LIBTOOL
   
   # AC_PROG_LIBTOOL
   # ---------------
   AC_DEFUN([AC_PROG_LIBTOOL],
   [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
   dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
   dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
     AC_PROVIDE_IFELSE([AC_PROG_CXX],
       [AC_LIBTOOL_CXX],
       [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
     ])])
   
   dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
   dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
   dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
     AC_PROVIDE_IFELSE([AC_PROG_GCJ],
       [AC_LIBTOOL_GCJ],
       [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
         [AC_LIBTOOL_GCJ],
         [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
           [AC_LIBTOOL_GCJ],
         [ifdef([AC_PROG_GCJ],
                [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
          ifdef([A][M_PROG_GCJ],
                [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
          ifdef([LT_AC_PROG_GCJ],
                [define([LT_AC_PROG_GCJ],
                   defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
   ])])# AC_PROG_LIBTOOL
   
   
   # _AC_PROG_LIBTOOL
   # ----------------
   AC_DEFUN([_AC_PROG_LIBTOOL],
   [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
   AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
   AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
   
 # This can be used to rebuild libtool when needed  # This can be used to rebuild libtool when needed
 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"  LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
   
 # Always use our own libtool.  # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'  LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 AC_SUBST(LIBTOOL)dnl  AC_SUBST(LIBTOOL)dnl
   
 # Redirect the config.log output again, so that the ltconfig log is not  # Prevent multiple expansion
 # clobbered by the next message.  define([AC_PROG_LIBTOOL], [])
 exec 5>>./config.log  ])# _AC_PROG_LIBTOOL
 ])  
   
 AC_DEFUN(AC_LIBTOOL_SETUP,  
 [AC_PREREQ(2.13)dnl  # AC_LIBTOOL_SETUP
   # ----------------
   AC_DEFUN([AC_LIBTOOL_SETUP],
   [AC_PREREQ(2.50)dnl
 AC_REQUIRE([AC_ENABLE_SHARED])dnl  AC_REQUIRE([AC_ENABLE_SHARED])dnl
 AC_REQUIRE([AC_ENABLE_STATIC])dnl  AC_REQUIRE([AC_ENABLE_STATIC])dnl
 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl  AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
Line 1336  AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
Line 2652  AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
 AC_REQUIRE([AC_PROG_NM])dnl  AC_REQUIRE([AC_PROG_NM])dnl
 AC_REQUIRE([AC_PROG_LN_S])dnl  AC_REQUIRE([AC_PROG_LN_S])dnl
 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl  AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
   # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
 AC_REQUIRE([AC_OBJEXT])dnl  AC_REQUIRE([AC_OBJEXT])dnl
 AC_REQUIRE([AC_EXEEXT])dnl  AC_REQUIRE([AC_EXEEXT])dnl
 dnl  dnl
   
   AC_LIBTOOL_SYS_MAX_CMD_LEN
   AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
   AC_LIBTOOL_OBJDIR
   
   AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
   _LT_AC_PROG_ECHO_BACKSLASH
   
   case $host_os in
   aix3*)
     # AIX sometimes has problems with the GCC collect2 program.  For some
     # reason, if we set the COLLECT_NAMES environment variable, the problems
     # vanish in a puff of smoke.
     if test "X${COLLECT_NAMES+set}" != Xset; then
       COLLECT_NAMES=
       export COLLECT_NAMES
     fi
     ;;
   esac
   
   # Sed substitution that helps us do robust quoting.  It backslashifies
   # metacharacters that are still active within double-quoted strings.
   Xsed='sed -e s/^X//'
   [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
   
   # Same as above, but do not quote variable references.
   [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
   
   # Sed substitution to delay expansion of an escaped shell variable in a
   # double_quote_subst'ed string.
   delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
   
   # Sed substitution to avoid accidental globbing in evaled expressions
   no_glob_subst='s/\*/\\\*/g'
   
   # Constants:
   rm="rm -f"
   
   # Global variables:
   default_ofile=libtool
   can_build_shared=yes
   
   # All known linkers require a `.a' archive for static linking (except M$VC,
   # which needs '.lib').
   libext=a
   ltmain="$ac_aux_dir/ltmain.sh"
   ofile="$default_ofile"
   with_gnu_ld="$lt_cv_prog_gnu_ld"
   
   AC_CHECK_TOOL(RANLIB, ranlib, :)
   AC_CHECK_TOOL(STRIP, strip, :)
   
   old_CC="$CC"
   old_CFLAGS="$CFLAGS"
   
   # Set sane defaults for various variables
   test -z "$AR" && AR=ar
   test -z "$AR_FLAGS" && AR_FLAGS=cru
   test -z "$AS" && AS=as
   test -z "$CC" && CC=cc
   test -z "$LTCC" && LTCC=$CC
   test -z "$DLLTOOL" && DLLTOOL=dlltool
   test -z "$LD" && LD=ld
   test -z "$LN_S" && LN_S="ln -s"
   test -z "$MAGIC_CMD" && MAGIC_CMD=file
   test -z "$NM" && NM=nm
   test -z "$OBJDUMP" && OBJDUMP=objdump
   test -z "$RANLIB" && RANLIB=:
   test -z "$STRIP" && STRIP=:
   test -z "$ac_objext" && ac_objext=o
   
   # Determine commands to create old-style static archives.
   old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
   old_postinstall_cmds='chmod 644 $oldlib'
   old_postuninstall_cmds=
   
   if test -n "$RANLIB"; then
     case $host_os in
     openbsd*)
       old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
       ;;
     *)
       old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
       ;;
     esac
     old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
   fi
   
 # Only perform the check for file, if the check method requires it  # Only perform the check for file, if the check method requires it
 case "$deplibs_check_method" in  case $deplibs_check_method in
 file_magic*)  file_magic*)
   if test "$file_magic_cmd" = '${MAGIC}'; then    if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     AC_PATH_MAGIC      AC_PATH_MAGIC
   fi    fi
   ;;    ;;
 esac  esac
   
 case "$target" in  ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
 NONE) lt_target="$host" ;;  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
 *) lt_target="$target" ;;  enable_win32_dll=yes, enable_win32_dll=no)
   
   AC_ARG_ENABLE([libtool-lock],
       [AC_HELP_STRING([--disable-libtool-lock],
           [avoid locking (might break parallel builds)])])
   test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
   
   AC_ARG_WITH([pic],
       [AC_HELP_STRING([--with-pic],
           [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
       [pic_mode="$withval"],
       [pic_mode=default])
   test -z "$pic_mode" && pic_mode=default
   
   # Use C for the default configuration in the libtool script
   tagname=
   AC_LIBTOOL_LANG_C_CONFIG
   _LT_AC_TAGCONFIG
   ])# AC_LIBTOOL_SETUP
   
   
   # _LT_AC_SYS_COMPILER
   # -------------------
   AC_DEFUN([_LT_AC_SYS_COMPILER],
   [AC_REQUIRE([AC_PROG_CC])dnl
   
   # If no C compiler was specified, use CC.
   LTCC=${LTCC-"$CC"}
   
   # Allow CC to be a program name with arguments.
   set dummy $CC
   compiler="[$]2"
   ])# _LT_AC_SYS_COMPILER
   
   
   # _LT_AC_SYS_LIBPATH_AIX
   # ----------------------
   # Links a minimal program and checks the executable
   # for the system default hardcoded library path. In most cases,
   # this is /usr/lib:/lib, but when the MPI compilers are used
   # the location of the communication and MPI libs are included too.
   # If we don't find anything, use the default library path according
   # to the aix ld manual.
   AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
   [AC_LINK_IFELSE(AC_LANG_PROGRAM,[
   aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
   }'`
   # Check for a 64-bit object if we didn't find anything.
   if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
   }'`; fi],[])
   if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   ])# _LT_AC_SYS_LIBPATH_AIX
   
   
   # _LT_AC_PROG_ECHO_BACKSLASH
   # --------------------------
   # Add some code to the start of the generated configure script which
   # will find an echo command which doesn't interpret backslashes.
   AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
   [ifdef([AC_DIVERSION_NOTICE],
                [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
            [AC_DIVERT_PUSH(NOTICE)])
   
   # Check that we are running under the correct shell.
   SHELL=${CONFIG_SHELL-/bin/sh}
   
   case X$ECHO in
   X*--fallback-echo)
     # Remove one level of quotation (which was required for Make).
     ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
     ;;
 esac  esac
   
 AC_CHECK_TOOL(RANLIB, ranlib, :)  echo=${ECHO-echo}
 AC_CHECK_TOOL(STRIP, strip, :)  if test "X[$]1" = X--no-reexec; then
     # Discard the --no-reexec flag, and continue.
     shift
   elif test "X[$]1" = X--fallback-echo; then
     # Avoid inline document here, it may be left over
     :
   elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
     # Yippee, $echo works!
     :
   else
     # Restart under the correct shell.
     exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
   fi
   
 # Check for any special flags to pass to ltconfig.  if test "X[$]1" = X--fallback-echo; then
 libtool_flags="--cache-file=$cache_file"    # used as fallback echo
 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"    shift
 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"    cat <<EOF
 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"  [$]*
 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"  EOF
 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"    exit 0
 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],  fi
 [libtool_flags="$libtool_flags --enable-dlopen"])  
 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],  
 [libtool_flags="$libtool_flags --enable-win32-dll"])  
 AC_ARG_ENABLE(libtool-lock,  
   [  --disable-libtool-lock  avoid locking (might break parallel builds)])  
 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"  
 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"  
   
 AC_ARG_WITH(pic,  # The HP-UX ksh and POSIX shell print the target directory to stdout
   [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],  # if CDPATH is set.
      pic_mode="$withval", pic_mode=default)  if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
 test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"  
 test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"  
   
   if test -z "$ECHO"; then
   if test "X${echo_test_string+set}" != Xset; then
   # find a string as large as possible, as long as the shell can cope with it
     for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
       # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
       if (echo_test_string="`eval $cmd`") 2>/dev/null &&
          echo_test_string="`eval $cmd`" &&
          (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
       then
         break
       fi
     done
   fi
   
   if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
      echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
      test "X$echo_testing_string" = "X$echo_test_string"; then
     :
   else
     # The Solaris, AIX, and Digital Unix default echo programs unquote
     # backslashes.  This makes it impossible to quote backslashes using
     #   echo "$something" | sed 's/\\/\\\\/g'
     #
     # So, first we look for a working echo in the user's PATH.
   
     lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
     for dir in $PATH /usr/ucb; do
       IFS="$lt_save_ifs"
       if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
          test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
          echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
          test "X$echo_testing_string" = "X$echo_test_string"; then
         echo="$dir/echo"
         break
       fi
     done
     IFS="$lt_save_ifs"
   
     if test "X$echo" = Xecho; then
       # We didn't find a better echo, so look for alternatives.
       if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
          echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
          test "X$echo_testing_string" = "X$echo_test_string"; then
         # This shell has a builtin print -r that does the trick.
         echo='print -r'
       elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
            test "X$CONFIG_SHELL" != X/bin/ksh; then
         # If we have ksh, try running configure again with it.
         ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
         export ORIGINAL_CONFIG_SHELL
         CONFIG_SHELL=/bin/ksh
         export CONFIG_SHELL
         exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
       else
         # Try using printf.
         echo='printf %s\n'
         if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
            echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
            test "X$echo_testing_string" = "X$echo_test_string"; then
           # Cool, printf works
           :
         elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
              test "X$echo_testing_string" = 'X\t' &&
              echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
              test "X$echo_testing_string" = "X$echo_test_string"; then
           CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
           export CONFIG_SHELL
           SHELL="$CONFIG_SHELL"
           export SHELL
           echo="$CONFIG_SHELL [$]0 --fallback-echo"
         elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
              test "X$echo_testing_string" = 'X\t' &&
              echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
              test "X$echo_testing_string" = "X$echo_test_string"; then
           echo="$CONFIG_SHELL [$]0 --fallback-echo"
         else
           # maybe with a smaller string...
           prev=:
   
           for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
             if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
             then
               break
             fi
             prev="$cmd"
           done
   
           if test "$prev" != 'sed 50q "[$]0"'; then
             echo_test_string=`eval $prev`
             export echo_test_string
             exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
           else
             # Oops.  We lost completely, so just stick with echo.
             echo=echo
           fi
         fi
       fi
     fi
   fi
   fi
   
   # Copy echo and quote the copy suitably for passing to libtool from
   # the Makefile, instead of quoting the original, which is used later.
   ECHO=$echo
   if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
      ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
   fi
   
   AC_SUBST(ECHO)
   AC_DIVERT_POP
   ])# _LT_AC_PROG_ECHO_BACKSLASH
   
   
   # _LT_AC_LOCK
   # -----------
   AC_DEFUN([_LT_AC_LOCK],
   [AC_ARG_ENABLE([libtool-lock],
       [AC_HELP_STRING([--disable-libtool-lock],
           [avoid locking (might break parallel builds)])])
   test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
   
 # Some flags need to be propagated to the compiler or linker for good  # Some flags need to be propagated to the compiler or linker for good
 # libtool support.  # libtool support.
 case "$lt_target" in  case $host in
   ia64-*-hpux*)
     # Find out which ABI we are using.
     echo 'int i;' > conftest.$ac_ext
     if AC_TRY_EVAL(ac_compile); then
       case `/usr/bin/file conftest.$ac_objext` in
       *ELF-32*)
         HPUX_IA64_MODE="32"
         ;;
       *ELF-64*)
         HPUX_IA64_MODE="64"
         ;;
       esac
     fi
     rm -rf conftest*
     ;;
 *-*-irix6*)  *-*-irix6*)
   # Find out which ABI we are using.    # Find out which ABI we are using.
   echo '[#]line __oline__ "configure"' > conftest.$ac_ext    echo '[#]line __oline__ "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then    if AC_TRY_EVAL(ac_compile); then
     case "`/usr/bin/file conftest.o`" in      case `/usr/bin/file conftest.$ac_objext` in
     *32-bit*)      *32-bit*)
       LD="${LD-ld} -32"        LD="${LD-ld} -32"
       ;;        ;;
Line 1406  case "$lt_target" in
Line 3019  case "$lt_target" in
   SAVE_CFLAGS="$CFLAGS"    SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"    CFLAGS="$CFLAGS -belf"
   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,    AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
     [AC_LANG_SAVE      [AC_LANG_PUSH(C)
      AC_LANG_C  
      AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])       AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
      AC_LANG_RESTORE])       AC_LANG_POP])
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then    if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf      # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"      CFLAGS="$SAVE_CFLAGS"
   fi    fi
   ;;    ;;
   
 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
 [*-*-cygwin* | *-*-mingw*)  [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)    AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(AS, as, false)    AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)    AC_CHECK_TOOL(OBJDUMP, objdump, false)
Line 1430  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
Line 3041  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
       DllMain (0, 0, 0);],        DllMain (0, 0, 0);],
       [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])        [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
   
   case "$lt_target/$CC" in    case $host/$CC in
   *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)    *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
     # old mingw systems require "-dll" to link a DLL, while more recent ones      # old mingw systems require "-dll" to link a DLL, while more recent ones
     # require "-mdll"      # require "-mdll"
Line 1439  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
Line 3050  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
     AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,      AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
       [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])        [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
     CFLAGS="$SAVE_CFLAGS" ;;      CFLAGS="$SAVE_CFLAGS" ;;
   *-*-cygwin*)    *-*-cygwin* | *-*-pw32*)
     # cygwin systems need to pass --dll to the linker, and not link      # cygwin systems need to pass --dll to the linker, and not link
     # crt.o which will require a WinMain@16 definition.      # crt.o which will require a WinMain@16 definition.
     lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;      lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
Line 1447  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
Line 3058  ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
   ;;    ;;
   ])    ])
 esac  esac
   
   need_locks="$enable_libtool_lock"
   
   ])# _LT_AC_LOCK
   
   
   # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
   #               [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
   # ----------------------------------------------------------------
   # Check whether the given compiler option works
   AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
   [AC_CACHE_CHECK([$1], [$2],
     [$2=no
     ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
      save_CFLAGS="$CFLAGS"
      CFLAGS="$CFLAGS $3"
      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
      if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then
        # The compiler can only warn and ignore the option if not recognized
        # So say no if there are warnings mentioning the option
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
        $2=yes
        for lt_i in $3; do
          if grep -- $lt_i conftest.err >/dev/null; then
            $2=no
          fi
        done
      fi
      $rm conftest*
      CFLAGS="$save_CFLAGS"
 ])  ])
   
 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support  if test x"[$]$2" = xyes; then
 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])      ifelse([$5], , :, [$5])
   else
       ifelse([$6], , :, [$6])
   fi
   ])# AC_LIBTOOL_COMPILER_OPTION
   
 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's  
 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])  
   
 # AC_ENABLE_SHARED - implement the --enable-shared flag  # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
 # Usage: AC_ENABLE_SHARED[(DEFAULT)]  #                          [ACTION-SUCCESS], [ACTION-FAILURE])
 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to  # ------------------------------------------------------------
 #   `yes'.  # Check whether the given compiler option works
 AC_DEFUN(AC_ENABLE_SHARED, [dnl  AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl  [AC_CACHE_CHECK([$1], [$2],
 AC_ARG_ENABLE(shared,    [$2=no
 changequote(<<, >>)dnl     save_LDFLAGS="$LDFLAGS"
 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],     LDFLAGS="$LDFLAGS $3"
 changequote([, ])dnl     echo "$lt_simple_link_test_code" > conftest.$ac_ext
 [p=${PACKAGE-default}     if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
 case "$enableval" in       # The compiler can only warn and ignore the option if not recognized
 yes) enable_shared=yes ;;       # So say no if there are warnings
 no) enable_shared=no ;;       if test -s conftest.err; then
 *)         # Append any errors to the config.log.
   enable_shared=no         cat conftest.err 1>&AS_MESSAGE_LOG_FD
   # Look at the argument we got.  We use all the common list separators.       else
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"         $2=yes
   for pkg in $enableval; do       fi
     if test "X$pkg" = "X$p"; then     fi
       enable_shared=yes     $rm conftest*
     fi     LDFLAGS="$save_LDFLAGS"
   done  
   IFS="$ac_save_ifs"  
   ;;  
 esac],  
 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl  
 ])  ])
   
 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared  if test x"[$]$2" = xyes; then
 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl      ifelse([$4], , :, [$4])
 AC_ENABLE_SHARED(no)])  else
       ifelse([$5], , :, [$5])
   fi
   ])# AC_LIBTOOL_LINKER_OPTION
   
 # AC_ENABLE_STATIC - implement the --enable-static flag  
 # Usage: AC_ENABLE_STATIC[(DEFAULT)]  # AC_LIBTOOL_SYS_MAX_CMD_LEN
 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to  # --------------------------
 #   `yes'.  AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
 AC_DEFUN(AC_ENABLE_STATIC, [dnl  [# find the maximum length of command line arguments
 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl  AC_MSG_CHECKING([the maximum length of command line arguments])
 AC_ARG_ENABLE(static,  AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
 changequote(<<, >>)dnl    i=0
 <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],    testring="ABCD"
 changequote([, ])dnl  
 [p=${PACKAGE-default}    case $host_os in
 case "$enableval" in    msdosdjgpp*)
 yes) enable_static=yes ;;      # On DJGPP, this test can blow up pretty badly due to problems in libc
 no) enable_static=no ;;      # (any single argument exceeding 2000 bytes causes a buffer overrun
 *)      # during glob expansion).  Even if it were fixed, the result of this
   enable_static=no      # check would be larger than it should be.
   # Look at the argument we got.  We use all the common list separators.      lt_cv_sys_max_cmd_len=12288;    # 12K is about right
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"      ;;
   for pkg in $enableval; do  
     if test "X$pkg" = "X$p"; then    gnu*)
       enable_static=yes      # Under GNU Hurd, this test is not required because there is
       # no limit to the length of command line arguments.
       # Libtool will interpret -1 as no limit whatsoever
       lt_cv_sys_max_cmd_len=-1;
       ;;
   
     *)
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
       while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \
                  = "XX$testring") >/dev/null 2>&1 &&
               new_result=`expr "X$testring" : ".*" 2>&1` &&
               lt_cv_sys_max_cmd_len=$new_result &&
               test $i != 17 # 1/2 MB should be enough
       do
         i=`expr $i + 1`
         testring=$testring$testring
       done
       testring=
       # add a significant safety factor because C++ compilers can tack on massive
       # amounts of additional arguments before passing them to the linker.  1/4
       # should be good.
       len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len - $len`
       ;;
     esac
   ])
   if test -n $lt_cv_sys_max_cmd_len ; then
     AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
   else
     AC_MSG_RESULT(none)
   fi
   ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
   
   
   # _LT_AC_CHECK_DLFCN
   # --------------------
   AC_DEFUN([_LT_AC_CHECK_DLFCN],
   [AC_CHECK_HEADERS(dlfcn.h)dnl
   ])# _LT_AC_CHECK_DLFCN
   
   
   # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
   #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
   # ------------------------------------------------------------------
   AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
   [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
   if test "$cross_compiling" = yes; then :
     [$4]
   else
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     lt_status=$lt_dlunknown
     cat > conftest.$ac_ext <<EOF
   [#line __oline__ "configure"
   #include "confdefs.h"
   
   #if HAVE_DLFCN_H
   #include <dlfcn.h>
   #endif
   
   #include <stdio.h>
   
   #ifdef RTLD_GLOBAL
   #  define LT_DLGLOBAL           RTLD_GLOBAL
   #else
   #  ifdef DL_GLOBAL
   #    define LT_DLGLOBAL         DL_GLOBAL
   #  else
   #    define LT_DLGLOBAL         0
   #  endif
   #endif
   
   /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
      find out it does not work in some platform. */
   #ifndef LT_DLLAZY_OR_NOW
   #  ifdef RTLD_LAZY
   #    define LT_DLLAZY_OR_NOW            RTLD_LAZY
   #  else
   #    ifdef DL_LAZY
   #      define LT_DLLAZY_OR_NOW          DL_LAZY
   #    else
   #      ifdef RTLD_NOW
   #        define LT_DLLAZY_OR_NOW        RTLD_NOW
   #      else
   #        ifdef DL_NOW
   #          define LT_DLLAZY_OR_NOW      DL_NOW
   #        else
   #          define LT_DLLAZY_OR_NOW      0
   #        endif
   #      endif
   #    endif
   #  endif
   #endif
   
   #ifdef __cplusplus
   extern "C" void exit (int);
   #endif
   
   void fnord() { int i=42;}
   int main ()
   {
     void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     int status = $lt_dlunknown;
   
     if (self)
       {
         if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
         else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
         /* dlclose (self); */
       }
   
       exit (status);
   }]
   EOF
     if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
       (./conftest; exit; ) 2>/dev/null
       lt_status=$?
       case x$lt_status in
         x$lt_dlno_uscore) $1 ;;
         x$lt_dlneed_uscore) $2 ;;
         x$lt_unknown|x*) $3 ;;
       esac
     else :
       # compilation failed
       $3
     fi
   fi
   rm -fr conftest*
   ])# _LT_AC_TRY_DLOPEN_SELF
   
   
   # AC_LIBTOOL_DLOPEN_SELF
   # -------------------
   AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
   [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
   if test "x$enable_dlopen" != xyes; then
     enable_dlopen=unknown
     enable_dlopen_self=unknown
     enable_dlopen_self_static=unknown
   else
     lt_cv_dlopen=no
     lt_cv_dlopen_libs=
   
     case $host_os in
     beos*)
       lt_cv_dlopen="load_add_on"
       lt_cv_dlopen_libs=
       lt_cv_dlopen_self=yes
       ;;
   
     cygwin* | mingw* | pw32*)
       lt_cv_dlopen="LoadLibrary"
       lt_cv_dlopen_libs=
      ;;
   
     *)
       AC_CHECK_FUNC([shl_load],
             [lt_cv_dlopen="shl_load"],
         [AC_CHECK_LIB([dld], [shl_load],
               [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
           [AC_CHECK_FUNC([dlopen],
                 [lt_cv_dlopen="dlopen"],
             [AC_CHECK_LIB([dl], [dlopen],
                   [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
               [AC_CHECK_LIB([svld], [dlopen],
                     [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
                 [AC_CHECK_LIB([dld], [dld_link],
                       [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
                 ])
               ])
             ])
           ])
         ])
       ;;
     esac
   
     if test "x$lt_cv_dlopen" != xno; then
       enable_dlopen=yes
     else
       enable_dlopen=no
     fi
   
     case $lt_cv_dlopen in
     dlopen)
       save_CPPFLAGS="$CPPFLAGS"
       test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
   
       save_LDFLAGS="$LDFLAGS"
       eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
   
       save_LIBS="$LIBS"
       LIBS="$lt_cv_dlopen_libs $LIBS"
   
       AC_CACHE_CHECK([whether a program can dlopen itself],
             lt_cv_dlopen_self, [dnl
             _LT_AC_TRY_DLOPEN_SELF(
               lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
               lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
       ])
   
       if test "x$lt_cv_dlopen_self" = xyes; then
         LDFLAGS="$LDFLAGS $link_static_flag"
         AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
             lt_cv_dlopen_self_static, [dnl
             _LT_AC_TRY_DLOPEN_SELF(
               lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
               lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
         ])
     fi      fi
   done  
   IFS="$ac_save_ifs"      CPPFLAGS="$save_CPPFLAGS"
   ;;      LDFLAGS="$save_LDFLAGS"
 esac],      LIBS="$save_LIBS"
 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl      ;;
     esac
   
     case $lt_cv_dlopen_self in
     yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
     *) enable_dlopen_self=unknown ;;
     esac
   
     case $lt_cv_dlopen_self_static in
     yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
     *) enable_dlopen_self_static=unknown ;;
     esac
   fi
   ])# AC_LIBTOOL_DLOPEN_SELF
   
   
   # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
   # ---------------------------------
   # Check to see if options -c and -o are simultaneously supported by compiler
   AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
   [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
   AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
     [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
     [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
      $rm -r conftest 2>/dev/null
      mkdir conftest
      cd conftest
      mkdir out
      ifelse([$1],[],[save_CFLAGS="$CFLAGS"
                      CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"],
             [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS"
                      CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"],
             [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS"
                      GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"])
      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
   
      # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
      # that will create temporary files in the current directory regardless of
      # the output directory.  Thus, making CWD read-only will cause this test
      # to fail, enabling locking or at least warning the user not to do parallel
      # builds.
      chmod -w .
   
      if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext
      then
        # The compiler can only warn and ignore the option if not recognized
        # So say no if there are warnings
        if test -s out/conftest.err; then
          # Append any errors to the config.log.
          cat out/conftest.err 1>&AS_MESSAGE_LOG_FD
        else
          _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
        fi
      fi
      ifelse([$1],[],[CFLAGS="$save_CFLAGS"],
             [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"],
             [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"])
      chmod u+w .
      $rm conftest* out/*
      rmdir out
      cd ..
      rmdir conftest
      $rm conftest*
 ])  ])
   ])# AC_LIBTOOL_PROG_CC_C_O
   
 # AC_DISABLE_STATIC - set the default static flag to --disable-static  
 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl  
 AC_ENABLE_STATIC(no)])  
   
   # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
   # -----------------------------------------
   # Check to see if we can do hard links to lock some files if needed
   AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
   [AC_REQUIRE([_LT_AC_LOCK])dnl
   
 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag  hard_links="nottested"
 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]  if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to    # do not overwrite the value of need_locks provided by the user
 #   `yes'.    AC_MSG_CHECKING([if we can lock with hard links])
 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl    hard_links=yes
 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl    $rm conftest*
 AC_ARG_ENABLE(fast-install,    ln conftest.a conftest.b 2>/dev/null && hard_links=no
 changequote(<<, >>)dnl    touch conftest.a
 <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],    ln conftest.a conftest.b 2>&5 || hard_links=no
 changequote([, ])dnl    ln conftest.a conftest.b 2>/dev/null && hard_links=no
 [p=${PACKAGE-default}    AC_MSG_RESULT([$hard_links])
 case "$enableval" in    if test "$hard_links" = no; then
 yes) enable_fast_install=yes ;;      AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
 no) enable_fast_install=no ;;      need_locks=warn
 *)    fi
   else
     need_locks=no
   fi
   ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
   
   
   # AC_LIBTOOL_OBJDIR
   # -----------------
   AC_DEFUN([AC_LIBTOOL_OBJDIR],
   [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
   [rm -f .libs 2>/dev/null
   mkdir .libs 2>/dev/null
   if test -d .libs; then
     lt_cv_objdir=.libs
   else
     # MS-DOS does not allow filenames that begin with a dot.
     lt_cv_objdir=_libs
   fi
   rmdir .libs 2>/dev/null])
   objdir=$lt_cv_objdir
   ])# AC_LIBTOOL_OBJDIR
   
   
   # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
   # ----------------------------------------------
   # Check hardcoding attributes.
   AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
   [AC_MSG_CHECKING([how to hardcode library paths into programs])
   _LT_AC_TAGVAR(hardcode_action, $1)=
   if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
      test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then
   
     # We can hardcode non-existant directories.
     if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
        # If the only mechanism to avoid hardcoding is shlibpath_var, we
        # have to relink, otherwise we might link with an installed library
        # when we should be linking with a yet-to-be-installed one
        ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
        test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
       # Linking always hardcodes the temporary library directory.
       _LT_AC_TAGVAR(hardcode_action, $1)=relink
     else
       # We can link without hardcoding, and we can hardcode nonexisting dirs.
       _LT_AC_TAGVAR(hardcode_action, $1)=immediate
     fi
   else
     # We cannot hardcode anything, or else we can only hardcode existing
     # directories.
     _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
   fi
   AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
   
   if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
     # Fast installation is not supported
   enable_fast_install=no    enable_fast_install=no
   # Look at the argument we got.  We use all the common list separators.  elif test "$shlibpath_overrides_runpath" = yes ||
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"       test "$enable_shared" = no; then
   for pkg in $enableval; do    # Fast installation is not necessary
     if test "X$pkg" = "X$p"; then    enable_fast_install=needless
       enable_fast_install=yes  fi
   ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
   
   
   # AC_LIBTOOL_SYS_LIB_STRIP
   # ------------------------
   AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
   [striplib=
   old_striplib=
   AC_MSG_CHECKING([whether stripping libraries is possible])
   if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
     test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
     test -z "$striplib" && striplib="$STRIP --strip-unneeded"
     AC_MSG_RESULT([yes])
   else
     AC_MSG_RESULT([no])
   fi
   ])# AC_LIBTOOL_SYS_LIB_STRIP
   
   
   # AC_LIBTOOL_SYS_DYNAMIC_LINKER
   # -----------------------------
   # PORTME Fill in your ld.so characteristics
   AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
   [AC_MSG_CHECKING([dynamic linker characteristics])
   library_names_spec=
   libname_spec='lib$name'
   soname_spec=
   postinstall_cmds=
   postuninstall_cmds=
   finish_cmds=
   finish_eval=
   shlibpath_var=
   shlibpath_overrides_runpath=unknown
   version_type=none
   dynamic_linker="$host_os ld.so"
   sys_lib_dlsearch_path_spec="/lib /usr/lib"
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
   need_lib_prefix=unknown
   hardcode_into_libs=no
   
   # when you set need_version to no, make sure it does not cause -set_version
   # flags to be left without arguments
   need_version=unknown
   
   case $host_os in
   aix3*)
     version_type=linux
     library_names_spec='${libname}${release}.so$versuffix $libname.a'
     shlibpath_var=LIBPATH
   
     # AIX 3 has no versioning support, so we append a major version to the name.
     soname_spec='${libname}${release}.so$major'
     ;;
   
   aix4* | aix5*)
     version_type=linux
     if test "$host_cpu" = ia64; then
       # AIX 5 supports IA64
       library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
       shlibpath_var=LD_LIBRARY_PATH
     else
       # With GCC up to 2.95.x, collect2 would create an import file
       # for dependence libraries.  The import file would start with
       # the line `#! .'.  This would cause the generated library to
       # depend on `.', always an invalid library.  This was fixed in
       # development snapshots of GCC prior to 3.0.
       case $host_os in
         aix4 | aix4.[[01]] | aix4.[[01]].*)
         if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
              echo ' yes '
              echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
           :
         else
           can_build_shared=no
         fi
         ;;
       esac
       # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
       # soname into executable. Probably we can add versioning support to
       # collect2, so additional links can be useful in future.
       if test "$aix_use_runtimelinking" = yes; then
         # If using run time linking (on AIX 4.2 or later) use lib<name>.so
         # instead of lib<name>.a to let people know that these are not
         # typical AIX shared libraries.
         library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
       else
         # We preserve .a as extension for shared libraries through AIX4.2
         # and later when we are not doing run time linking.
         library_names_spec='${libname}${release}.a $libname.a'
         soname_spec='${libname}${release}.so$major'
     fi      fi
   done      shlibpath_var=LIBPATH
   IFS="$ac_save_ifs"    fi
   ;;    ;;
 esac],  
 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl  
 ])  
   
 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install  amigaos*)
 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl    library_names_spec='$libname.ixlibrary $libname.a'
 AC_ENABLE_FAST_INSTALL(no)])    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
     ;;
   
   beos*)
     library_names_spec='${libname}.so'
     dynamic_linker="$host_os ld.so"
     shlibpath_var=LIBRARY_PATH
     ;;
   
 # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library  bsdi4*)
 AC_DEFUN(AC_PATH_TOOL_PREFIX,    version_type=linux
 [AC_MSG_CHECKING([for $1])    need_version=no
 AC_CACHE_VAL(lt_cv_path_MAGIC,    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
 [case "$MAGIC" in    soname_spec='${libname}${release}.so$major'
   /*)    finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path.    shlibpath_var=LD_LIBRARY_PATH
     sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     # the default ld.so.conf also contains /usr/contrib/lib and
     # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     # libtool to hard-code these into programs
   ;;    ;;
   ?:/*)  
   ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path.  cygwin* | mingw* | pw32*)
     version_type=windows
     need_version=no
     need_lib_prefix=no
     case $GCC,$host_os in
     yes,cygwin*)
       library_names_spec='$libname.dll.a'
       sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
       postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
         dldir=$destdir/`dirname \$dlpath`~
         test -d \$dldir || mkdir -p \$dldir~
         $install_prog .libs/$dlname \$dldir/$dlname'
       postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
         dlpath=$dir/\$dldll~
          $rm \$dlpath'
       ;;
     yes,mingw*)
       library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
       sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"`
       if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then
         # It is most probably a Windows format PATH printed by
         # mingw gcc, but we are running on Cygwin. Gcc prints its search
         # path with ; separators, and with drive letters. We can handle the
         # drive letters (cygwin fileutils understands them), so leave them,
         # especially as we might pass files found there to a mingw objdump,
         # which wouldn't understand a cygwinified path. Ahh.
         sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'`
       else
         sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed  -e "s/$PATH_SEPARATOR/ /g"`
       fi
       ;;
     yes,pw32*)
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
       ;;
     *)
       library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
       ;;
     esac
     dynamic_linker='Win32 ld.exe'
     # FIXME: first we should search . and the directory the executable is in
     shlibpath_var=PATH
   ;;    ;;
   
   darwin* | rhapsody*)
     dynamic_linker="$host_os dyld"
     version_type=darwin
     need_lib_prefix=no
     need_version=no
     # FIXME: Relying on posixy $() will cause problems for
     #        cross-compilation, but unfortunately the echo tests do not
     #        yet detect zsh echo's removal of \ escapes.
     library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
     soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
     shlibpath_overrides_runpath=yes
     shlibpath_var=DYLD_LIBRARY_PATH
     ;;
   
   dgux*)
     version_type=linux
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     ;;
   
   freebsd1*)
     dynamic_linker=no
     ;;
   
   freebsd*)
     objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
     version_type=freebsd-$objformat
     case $version_type in
       freebsd-elf*)
         library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
         need_version=no
         need_lib_prefix=no
         ;;
       freebsd-*)
         library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
         need_version=yes
         ;;
     esac
     shlibpath_var=LD_LIBRARY_PATH
     case $host_os in
     freebsd2*)
       shlibpath_overrides_runpath=yes
       ;;
     freebsd3.[01]* | freebsdelf3.[01]*)
       shlibpath_overrides_runpath=yes
       hardcode_into_libs=yes
       ;;
     *) # from 3.2 on
       shlibpath_overrides_runpath=no
       hardcode_into_libs=yes
       ;;
     esac
     ;;
   
   gnu*)
     version_type=linux
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     hardcode_into_libs=yes
     ;;
   
   hpux9* | hpux10* | hpux11*)
     # Give a soname corresponding to the major version so that dld.sl refuses to
     # link against other versions.
     version_type=sunos
     need_lib_prefix=no
     need_version=no
     if test "$host_cpu" = ia64; then
       hardcode_into_libs=yes
       dynamic_linker="$host_os dld.so"
       shlibpath_var=LD_LIBRARY_PATH
       shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
       soname_spec='${libname}${release}.so$major'
       if test "X$HPUX_IA64_MODE" = X32; then
         sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
       else
         sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
       fi
       sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     else
       dynamic_linker="$host_os dld.sl"
       shlibpath_var=SHLIB_PATH
       shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
       library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
       soname_spec='${libname}${release}.sl$major'
     fi
     # HP-UX runs *really* slowly unless shared libraries are mode 555.
     postinstall_cmds='chmod 555 $lib'
     ;;
   
   irix5* | irix6*)
     version_type=irix
     need_lib_prefix=no
     need_version=no
     soname_spec='${libname}${release}.so$major'
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
     case $host_os in
     irix5*)
       libsuff= shlibsuff=
       ;;
   *)    *)
   ac_save_MAGIC="$MAGIC"      case $LD in # libtool.m4 will add one of these switches to LD
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"      *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
       *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
       *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
       *) libsuff= shlibsuff= libmagic=never-match;;
       esac
       ;;
     esac
     shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     shlibpath_overrides_runpath=no
     sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
     sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
     ;;
   
   # No shared lib support for Linux oldld, aout, or coff.
   linux*oldld* | linux*aout* | linux*coff*)
     dynamic_linker=no
     ;;
   
   # This must be Linux ELF.
   linux*)
     version_type=linux
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=no
     # This implies no fast_install, which is unacceptable.
     # Some rework will be needed to allow for fast_install
     # before this can be enabled.
     hardcode_into_libs=yes
   
     # We used to test for /lib/ld.so.1 and disable shared libraries on
     # powerpc, because MkLinux only supported shared libraries with the
     # GNU dynamic linker.  Since this was broken with cross compilers,
     # most powerpc-linux boxes support dynamic linking these days and
     # people can always --disable-shared, the test was removed, and we
     # assume the GNU/Linux dynamic linker is in use.
     dynamic_linker='GNU/Linux ld.so'
     ;;
   
   netbsd*)
     version_type=sunos
     need_lib_prefix=no
     need_version=no
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
       finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
       dynamic_linker='NetBSD (a.out) ld.so'
     else
       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
       soname_spec='${libname}${release}.so$major'
       dynamic_linker='NetBSD ld.elf_so'
     fi
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
   
   newsos6)
     version_type=linux
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes
     ;;
   
   nto-qnx)
     version_type=linux
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes
     ;;
   
   openbsd*)
     version_type=sunos
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     shlibpath_var=LD_LIBRARY_PATH
     if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
       case $host_os in
         openbsd2.[[89]] | openbsd2.[[89]].*)
           shlibpath_overrides_runpath=no
           ;;
         *)
           shlibpath_overrides_runpath=yes
           ;;
         esac
     else
       shlibpath_overrides_runpath=yes
     fi
     ;;
   
   os2*)
     libname_spec='$name'
     need_lib_prefix=no
     library_names_spec='$libname.dll $libname.a'
     dynamic_linker='OS/2 ld.exe'
     shlibpath_var=LIBPATH
     ;;
   
   osf3* | osf4* | osf5*)
     version_type=osf
     need_lib_prefix=no
     need_version=no
     soname_spec='${libname}${release}.so'
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
     shlibpath_var=LD_LIBRARY_PATH
     sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
     ;;
   
   sco3.2v5*)
     version_type=osf
     soname_spec='${libname}${release}.so$major'
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     shlibpath_var=LD_LIBRARY_PATH
     ;;
   
   solaris*)
     version_type=linux
     need_lib_prefix=no
     need_version=no
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     # ldd complains unless libraries are executable
     postinstall_cmds='chmod +x $lib'
     ;;
   
   sunos4*)
     version_type=sunos
     library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
     finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes
     if test "$with_gnu_ld" = yes; then
       need_lib_prefix=no
     fi
     need_version=yes
     ;;
   
   sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
     version_type=linux
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     case $host_vendor in
       sni)
         shlibpath_overrides_runpath=no
         ;;
       motorola)
         need_lib_prefix=no
         need_version=no
         shlibpath_overrides_runpath=no
         sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
         ;;
     esac
     ;;
   
   sysv4*MP*)
     if test -d /usr/nec ;then
       version_type=linux
       library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
       soname_spec='$libname.so.$major'
       shlibpath_var=LD_LIBRARY_PATH
     fi
     ;;
   
   uts4*)
     version_type=linux
     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     soname_spec='${libname}${release}.so$major'
     shlibpath_var=LD_LIBRARY_PATH
     ;;
   
   *)
     dynamic_linker=no
     ;;
   esac
   AC_MSG_RESULT([$dynamic_linker])
   test "$dynamic_linker" = no && can_build_shared=no
   ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
   
   
   # _LT_AC_TAGCONFIG
   # ----------------
   AC_DEFUN([_LT_AC_TAGCONFIG],
   [AC_ARG_WITH([tags],
       [AC_HELP_STRING([--with-tags=TAGS],
           [include additional configurations @<:@CXX,GCJ@:>@])],
       [tagnames="$withval"],
       [tagnames="CXX,GCJ"
       case $host_os in
         mingw*|cygwin*) tagnames="$tagnames,RC" ;;
       esac])
   
   if test -f "$ltmain" && test -n "$tagnames"; then
     if test ! -f "${ofile}"; then
       AC_MSG_WARN([output file `$ofile' does not exist])
     fi
   
     if test -z "$LTCC"; then
       eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
       if test -z "$LTCC"; then
         AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
       else
         AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
       fi
     fi
   
     # Extract list of available tagged configurations in $ofile.
     # Note that this assumes the entire list is on one line.
     available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
   
     lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
     for tagname in $tagnames; do
       IFS="$lt_save_ifs"
       # Check whether tagname contains only valid characters
       case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
       "") ;;
       *)  AC_MSG_ERROR([invalid tag name: $tagname])
           ;;
       esac
   
       if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
       then
         AC_MSG_ERROR([tag name \"$tagname\" already exists])
       fi
   
       # Update the list of available tags.
       if test -n "$tagname"; then
         echo appending configuration tag \"$tagname\" to $ofile
   
         case $tagname in
         CXX)
           AC_LIBTOOL_LANG_CXX_CONFIG
           ;;
   
         GCJ)
           AC_LIBTOOL_LANG_GCJ_CONFIG
           ;;
   
         RC)
           AC_LIBTOOL_LANG_RC_CONFIG
           ;;
   
         *)
           AC_MSG_ERROR([Unsupported tag name: $tagname])
           ;;
         esac
   
         # Append the new tag name to the list of available tags.
         available_tags="$available_tags $tagname"
       fi
     done
     IFS="$lt_save_ifs"
   
     # Now substitute the updated list of available tags.
     if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
       mv "${ofile}T" "$ofile"
       chmod +x "$ofile"
     else
       rm -f "${ofile}T"
       AC_MSG_ERROR([unable to update list of available tagged configurations.])
     fi
   fi
   ])# _LT_AC_TAGCONFIG
   
   
   # AC_LIBTOOL_DLOPEN
   # -----------------
   # enable checks for dlopen support
   AC_DEFUN([AC_LIBTOOL_DLOPEN],
    [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
   ])# AC_LIBTOOL_DLOPEN
   
   
   # AC_LIBTOOL_WIN32_DLL
   # --------------------
   # declare package support for building win32 dll's
   AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
   [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
   ])# AC_LIBTOOL_WIN32_DLL
   
   
   # AC_ENABLE_SHARED([DEFAULT])
   # ---------------------------
   # implement the --enable-shared flag
   # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   AC_DEFUN([AC_ENABLE_SHARED],
   [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
   AC_ARG_ENABLE([shared],
       [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
           [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
       [p=${PACKAGE-default}
       case $enableval in
       yes) enable_shared=yes ;;
       no) enable_shared=no ;;
       *)
         enable_shared=no
         # Look at the argument we got.  We use all the common list separators.
         lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
         for pkg in $enableval; do
           IFS="$lt_save_ifs"
           if test "X$pkg" = "X$p"; then
             enable_shared=yes
           fi
         done
         IFS="$lt_save_ifs"
         ;;
       esac],
       [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
   ])# AC_ENABLE_SHARED
   
   
   # AC_DISABLE_SHARED
   # -----------------
   #- set the default shared flag to --disable-shared
   AC_DEFUN([AC_DISABLE_SHARED],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   AC_ENABLE_SHARED(no)
   ])# AC_DISABLE_SHARED
   
   
   # AC_ENABLE_STATIC([DEFAULT])
   # ---------------------------
   # implement the --enable-static flag
   # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   AC_DEFUN([AC_ENABLE_STATIC],
   [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
   AC_ARG_ENABLE([static],
       [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
           [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
       [p=${PACKAGE-default}
       case $enableval in
       yes) enable_static=yes ;;
       no) enable_static=no ;;
       *)
        enable_static=no
         # Look at the argument we got.  We use all the common list separators.
         lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
         for pkg in $enableval; do
           IFS="$lt_save_ifs"
           if test "X$pkg" = "X$p"; then
             enable_static=yes
           fi
         done
         IFS="$lt_save_ifs"
         ;;
       esac],
       [enable_static=]AC_ENABLE_STATIC_DEFAULT)
   ])# AC_ENABLE_STATIC
   
   
   # AC_DISABLE_STATIC
   # -----------------
   # set the default static flag to --disable-static
   AC_DEFUN([AC_DISABLE_STATIC],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   AC_ENABLE_STATIC(no)
   ])# AC_DISABLE_STATIC
   
   
   # AC_ENABLE_FAST_INSTALL([DEFAULT])
   # ---------------------------------
   # implement the --enable-fast-install flag
   # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   AC_DEFUN([AC_ENABLE_FAST_INSTALL],
   [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
   AC_ARG_ENABLE([fast-install],
       [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
       [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
       [p=${PACKAGE-default}
       case $enableval in
       yes) enable_fast_install=yes ;;
       no) enable_fast_install=no ;;
       *)
         enable_fast_install=no
         # Look at the argument we got.  We use all the common list separators.
         lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
         for pkg in $enableval; do
           IFS="$lt_save_ifs"
           if test "X$pkg" = "X$p"; then
             enable_fast_install=yes
           fi
         done
         IFS="$lt_save_ifs"
         ;;
       esac],
       [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
   ])# AC_ENABLE_FAST_INSTALL
   
   
   # AC_DISABLE_FAST_INSTALL
   # -----------------------
   # set the default to --disable-fast-install
   AC_DEFUN([AC_DISABLE_FAST_INSTALL],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   AC_ENABLE_FAST_INSTALL(no)
   ])# AC_DISABLE_FAST_INSTALL
   
   
   # AC_LIBTOOL_PICMODE([MODE])
   # --------------------------
   # implement the --with-pic flag
   # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
   AC_DEFUN([AC_LIBTOOL_PICMODE],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   pic_mode=ifelse($#,1,$1,default)
   ])# AC_LIBTOOL_PICMODE
   
   
   # AC_PATH_TOOL_PREFIX
   # -------------------
   # find a file program which can recognise shared library
   AC_DEFUN([AC_PATH_TOOL_PREFIX],
   [AC_MSG_CHECKING([for $1])
   AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
   [case $MAGIC_CMD in
   [[\\/*] |  ?:[\\/]*])
     lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
     ;;
   *)
     lt_save_MAGIC_CMD="$MAGIC_CMD"
     lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
 dnl $ac_dummy forces splitting on constant user-supplied paths.  dnl $ac_dummy forces splitting on constant user-supplied paths.
 dnl POSIX.2 word splitting is done only on the output of word expansions,  dnl POSIX.2 word splitting is done only on the output of word expansions,
 dnl not every word.  This closes a longstanding sh security hole.  dnl not every word.  This closes a longstanding sh security hole.
   ac_dummy="ifelse([$2], , $PATH, [$2])"    ac_dummy="ifelse([$2], , $PATH, [$2])"
   for ac_dir in $ac_dummy; do    for ac_dir in $ac_dummy; do
       IFS="$lt_save_ifs"
     test -z "$ac_dir" && ac_dir=.      test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$1; then      if test -f $ac_dir/$1; then
       lt_cv_path_MAGIC="$ac_dir/$1"        lt_cv_path_MAGIC_CMD="$ac_dir/$1"
       if test -n "$file_magic_test_file"; then        if test -n "$file_magic_test_file"; then
         case "$deplibs_check_method" in          case $deplibs_check_method in
         "file_magic "*)          "file_magic "*)
           file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"            file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
           MAGIC="$lt_cv_path_MAGIC"            MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
           if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |            if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
             egrep "$file_magic_regex" > /dev/null; then              egrep "$file_magic_regex" > /dev/null; then
             :              :
Line 1605  EOF
Line 4254  EOF
       break        break
     fi      fi
   done    done
   IFS="$ac_save_ifs"    IFS="$lt_save_ifs"
   MAGIC="$ac_save_MAGIC"    MAGIC_CMD="$lt_save_MAGIC_CMD"
   ;;    ;;
 esac])  esac])
 MAGIC="$lt_cv_path_MAGIC"  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC"; then  if test -n "$MAGIC_CMD"; then
   AC_MSG_RESULT($MAGIC)    AC_MSG_RESULT($MAGIC_CMD)
 else  else
   AC_MSG_RESULT(no)    AC_MSG_RESULT(no)
 fi  fi
 ])  ])# AC_PATH_TOOL_PREFIX
   
   
 # AC_PATH_MAGIC - find a file program which can recognise a shared library  # AC_PATH_MAGIC
 AC_DEFUN(AC_PATH_MAGIC,  # -------------
 [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl  # find a file program which can recognise a shared library
 AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)  AC_DEFUN([AC_PATH_MAGIC],
 if test -z "$lt_cv_path_MAGIC"; then  [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
   if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then    if test -n "$ac_tool_prefix"; then
     AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)      AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
   else    else
     MAGIC=:      MAGIC_CMD=:
   fi    fi
 fi  fi
 ])  ])# AC_PATH_MAGIC
   
   
 # AC_PROG_LD - find the path to the GNU or non-GNU linker  # AC_PROG_LD
 AC_DEFUN(AC_PROG_LD,  # ----------
 [AC_ARG_WITH(gnu-ld,  # find the path to the GNU or non-GNU linker
 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],  AC_DEFUN([AC_PROG_LD],
 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)  [AC_ARG_WITH([gnu-ld],
       [AC_HELP_STRING([--with-gnu-ld],
           [assume the C compiler uses GNU ld @<:@default=no@:>@])],
       [test "$withval" = no || with_gnu_ld=yes],
       [with_gnu_ld=no])
 AC_REQUIRE([AC_PROG_CC])dnl  AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AC_CANONICAL_HOST])dnl  AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl  AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 ac_prog=ld  ac_prog=ld
 if test "$ac_cv_prog_gcc" = yes; then  if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.    # Check if gcc -print-prog-name=ld gives a path.
   AC_MSG_CHECKING([for ld used by GCC])    AC_MSG_CHECKING([for ld used by GCC])
   case $lt_target in    case $host in
   *-*-mingw*)    *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw      # gcc leaves a trailing carriage return which upsets mingw
     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;      ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
   *)    *)
     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;      ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
   esac    esac
   case "$ac_prog" in    case $ac_prog in
     # Accept absolute paths.      # Accept absolute paths.
 changequote(,)dnl      [[\\/]]* | ?:[[\\/]]*)
     [\\/]* | [A-Za-z]:[\\/]*)        re_direlt='/[[^/]][[^/]]*/\.\./'
       re_direlt='/[^/][^/]*/\.\./'  
 changequote([,])dnl  
       # Canonicalize the path of ld        # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`        ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do        while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
Line 1678  elif test "$with_gnu_ld" = yes; then
Line 4330  elif test "$with_gnu_ld" = yes; then
 else  else
   AC_MSG_CHECKING([for non-GNU ld])    AC_MSG_CHECKING([for non-GNU ld])
 fi  fi
 AC_CACHE_VAL(ac_cv_path_LD,  AC_CACHE_VAL(lt_cv_path_LD,
 [if test -z "$LD"; then  [if test -z "$LD"; then
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do    for ac_dir in $PATH; do
       IFS="$lt_save_ifs"
     test -z "$ac_dir" && ac_dir=.      test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       ac_cv_path_LD="$ac_dir/$ac_prog"        lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,        # Check to see if the program is GNU ld.  I'd rather use --version,
       # but apparently some GNU ld's only accept -v.        # but apparently some GNU ld's only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.        # Break only if it was the GNU/non-GNU ld that we prefer.
       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then        if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
         test "$with_gnu_ld" != no && break          test "$with_gnu_ld" != no && break
       else        else
         test "$with_gnu_ld" != yes && break          test "$with_gnu_ld" != yes && break
       fi        fi
     fi      fi
   done    done
   IFS="$ac_save_ifs"    IFS="$lt_save_ifs"
 else  else
   ac_cv_path_LD="$LD" # Let the user override the test with a path.    lt_cv_path_LD="$LD" # Let the user override the test with a path.
 fi])  fi])
 LD="$ac_cv_path_LD"  LD="$lt_cv_path_LD"
 if test -n "$LD"; then  if test -n "$LD"; then
   AC_MSG_RESULT($LD)    AC_MSG_RESULT($LD)
 else  else
Line 1707  else
Line 4360  else
 fi  fi
 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])  test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
 AC_PROG_LD_GNU  AC_PROG_LD_GNU
 ])  ])# AC_PROG_LD
   
 AC_DEFUN(AC_PROG_LD_GNU,  
 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,  # AC_PROG_LD_GNU
   # --------------
   AC_DEFUN([AC_PROG_LD_GNU],
   [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.  [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then  if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
   ac_cv_prog_gnu_ld=yes    lt_cv_prog_gnu_ld=yes
 else  else
   ac_cv_prog_gnu_ld=no    lt_cv_prog_gnu_ld=no
 fi])  fi])
 with_gnu_ld=$ac_cv_prog_gnu_ld  with_gnu_ld=$lt_cv_prog_gnu_ld
 ])  ])# AC_PROG_LD_GNU
   
 # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker  
   # AC_PROG_LD_RELOAD_FLAG
   # ----------------------
   # find reload flag for linker
 #   -- PORTME Some linkers may need a different reload flag.  #   -- PORTME Some linkers may need a different reload flag.
 AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,  AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
 [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,  [AC_CACHE_CHECK([for $LD option to reload object files],
 [lt_cv_ld_reload_flag='-r'])    lt_cv_ld_reload_flag,
     [lt_cv_ld_reload_flag='-r'])
 reload_flag=$lt_cv_ld_reload_flag  reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"  case $reload_flag in
 ])  "" | " "*) ;;
   *) reload_flag=" $reload_flag" ;;
   esac
   reload_cmds='$LD$reload_flag -o $output$reload_objs'
   ])# AC_PROG_LD_RELOAD_FLAG
   
 # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies  
   # AC_DEPLIBS_CHECK_METHOD
   # -----------------------
   # how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics  #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,  AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
 [AC_CACHE_CHECK([how to recognise dependant libraries],  [AC_CACHE_CHECK([how to recognise dependant libraries],
 lt_cv_deplibs_check_method,  lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='${MAGIC}'  [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=  lt_cv_file_magic_test_file=
 lt_cv_deplibs_check_method='unknown'  lt_cv_deplibs_check_method='unknown'
 # Need to set the preceding variable on all platforms that support  # Need to set the preceding variable on all platforms that support
Line 1743  lt_cv_deplibs_check_method='unknown'
Line 4410  lt_cv_deplibs_check_method='unknown'
 # `unknown' -- same as none, but documents that we really don't know.  # `unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.  # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.  # 'test_compile' -- check by making test program.
 # 'file_magic [regex]' -- check by looking for files in library path  # 'file_magic [[regex]]' -- check by looking for files in library path
 # which responds to the $file_magic_cmd with a given egrep regex.  # which responds to the $file_magic_cmd with a given egrep regex.
 # If you have `file' or equivalent on your system and you're not sure  # If you have `file' or equivalent on your system and you're not sure
 # whether `pass_all' will *always* work, you probably want this one.  # whether `pass_all' will *always* work, you probably want this one.
   
 case "$host_os" in  case $host_os in
 aix4* | beos*)  aix4* | aix5*)
   lt_cv_deplibs_check_method=pass_all    lt_cv_deplibs_check_method=pass_all
   ;;    ;;
   
   beos*)
     lt_cv_deplibs_check_method=pass_all
     ;;
   
 bsdi4*)  bsdi4*)
   changequote(,)dnl    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
   lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'    lt_cv_file_magic_cmd='/usr/bin/file -L'
   changequote([, ])dnl  
   lt_cv_file_magic_test_file=/shlib/libc.so    lt_cv_file_magic_test_file=/shlib/libc.so
   ;;    ;;
   
 cygwin* | mingw*)  cygwin* | mingw* | pw32*)
   lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
   lt_cv_file_magic_cmd='${OBJDUMP} -f'    lt_cv_file_magic_cmd='$OBJDUMP -f'
   ;;    ;;
   
 freebsd*)  darwin* | rhapsody*)
   case "$version_type" in    lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
   freebsd-elf*)    lt_cv_file_magic_cmd='/usr/bin/file -L'
     lt_cv_deplibs_check_method=pass_all    case "$host_os" in
     rhapsody* | darwin1.[[012]])
       lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
     ;;      ;;
     *) # Darwin 1.3 on
       lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
       ;;
   esac    esac
   ;;    ;;
   
   freebsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
       case $host_cpu in
       i*86 )
         # Not sure whether the presence of OpenBSD here was a mistake.
         # Let's accept both of them until this is cleared up.
         lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
         lt_cv_file_magic_cmd=/usr/bin/file
         lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
         ;;
       esac
     else
       lt_cv_deplibs_check_method=pass_all
     fi
     ;;
   
 gnu*)  gnu*)
   lt_cv_deplibs_check_method=pass_all    lt_cv_deplibs_check_method=pass_all
   ;;    ;;
   
   hpux10.20* | hpux11*)
     lt_cv_file_magic_cmd=/usr/bin/file
     if test "$host_cpu" = ia64; then
       lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
       lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     else
       lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
       lt_cv_file_magic_test_file=/usr/lib/libc.sl
     fi
     ;;
   
 irix5* | irix6*)  irix5* | irix6*)
   case "$host_os" in    case $host_os in
   irix5*)    irix5*)
     # this will be overridden with pass_all, but let us keep it just in case      # this will be overridden with pass_all, but let us keep it just in case
     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"      lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
     ;;      ;;
   *)    *)
     case "$LD" in      case $LD in
     *-32|*"-32 ") libmagic=32-bit;;      *-32|*"-32 ") libmagic=32-bit;;
     *-n32|*"-n32 ") libmagic=N32;;      *-n32|*"-n32 ") libmagic=N32;;
     *-64|*"-64 ") libmagic=64-bit;;      *-64|*"-64 ") libmagic=64-bit;;
     *) libmagic=never-match;;      *) libmagic=never-match;;
     esac      esac
     # this will be overridden with pass_all, but let us keep it just in case      # this will be overridden with pass_all, but let us keep it just in case
     changequote(,)dnl      lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
     lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"  
     changequote([, ])dnl  
     ;;      ;;
   esac    esac
   lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`    lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
Line 1801  irix5* | irix6*)
Line 4501  irix5* | irix6*)
   ;;    ;;
   
 # This must be Linux ELF.  # This must be Linux ELF.
 linux-gnu*)  linux*)
   case "$host_cpu" in    case $host_cpu in
   alpha* | i*86 | powerpc* | sparc* )    alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*)
     lt_cv_deplibs_check_method=pass_all ;;      lt_cv_deplibs_check_method=pass_all ;;
   *)    *)
     # glibc up to 2.1.1 does not perform some relocations on ARM      # glibc up to 2.1.1 does not perform some relocations on ARM
     changequote(,)dnl      lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
     lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;  
     changequote([, ])dnl  
   esac    esac
   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   ;;    ;;
   
   netbsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
       lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
     else
       lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
     fi
     ;;
   
   newos6*)
     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
     lt_cv_file_magic_cmd=/usr/bin/file
     lt_cv_file_magic_test_file=/usr/lib/libnls.so
     ;;
   
   nto-qnx)
     lt_cv_deplibs_check_method=unknown
     ;;
   
   openbsd*)
     lt_cv_file_magic_cmd=/usr/bin/file
     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
     if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
       lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
     else
       lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
     fi
     ;;
   
 osf3* | osf4* | osf5*)  osf3* | osf4* | osf5*)
   # this will be overridden with pass_all, but let us keep it just in case    # this will be overridden with pass_all, but let us keep it just in case
   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'    lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
Line 1831  solaris*)
Line 4557  solaris*)
   ;;    ;;
   
 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
   case "$host_vendor" in    case $host_vendor in
     motorola)
       lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
       ;;
   ncr)    ncr)
     lt_cv_deplibs_check_method=pass_all      lt_cv_deplibs_check_method=pass_all
     ;;      ;;
   motorola)    sequent)
     changequote(,)dnl      lt_cv_file_magic_cmd='/bin/file'
     lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'      lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
     changequote([, ])dnl  
     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`  
     ;;      ;;
     sni)
       lt_cv_file_magic_cmd='/bin/file'
       lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
       lt_cv_file_magic_test_file=/lib/libc.so
       ;;
   esac    esac
   ;;    ;;
   
   sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
     lt_cv_deplibs_check_method=pass_all
     ;;
 esac  esac
 ])  ])
 file_magic_cmd=$lt_cv_file_magic_cmd  file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method  deplibs_check_method=$lt_cv_deplibs_check_method
 ])  test -z "$deplibs_check_method" && deplibs_check_method=unknown
   ])# AC_DEPLIBS_CHECK_METHOD
   
   
 # AC_PROG_NM - find the path to a BSD-compatible name lister  # AC_PROG_NM
 AC_DEFUN(AC_PROG_NM,  # ----------
 [AC_MSG_CHECKING([for BSD-compatible nm])  # find the path to a BSD-compatible name lister
 AC_CACHE_VAL(ac_cv_path_NM,  AC_DEFUN([AC_PROG_NM],
   [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
 [if test -n "$NM"; then  [if test -n "$NM"; then
   # Let the user override the test.    # Let the user override the test.
   ac_cv_path_NM="$NM"    lt_cv_path_NM="$NM"
 else  else
   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do    for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
       IFS="$lt_save_ifs"
     test -z "$ac_dir" && ac_dir=.      test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then      tmp_nm="$ac_dir/${ac_tool_prefix}nm"
       if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
       # Check to see if the nm accepts a BSD-compat flag.        # Check to see if the nm accepts a BSD-compat flag.
       # Adding the `sed 1q' prevents false positives on HP-UX, which says:        # Adding the `sed 1q' prevents false positives on HP-UX, which says:
       #   nm: unknown option "B" ignored        #   nm: unknown option "B" ignored
       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then        # Tru64's nm complains that /dev/null is an invalid object file
         ac_cv_path_NM="$ac_dir/nm -B"        if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
           lt_cv_path_NM="$tmp_nm -B"
         break          break
       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then        elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
         ac_cv_path_NM="$ac_dir/nm -p"          lt_cv_path_NM="$tmp_nm -p"
         break          break
       else        else
         ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but          lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
         continue # so that we can try to find one that supports BSD flags          continue # so that we can try to find one that supports BSD flags
       fi        fi
     fi      fi
   done    done
   IFS="$ac_save_ifs"    IFS="$lt_save_ifs"
   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm    test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
 fi])  fi])
 NM="$ac_cv_path_NM"  NM="$lt_cv_path_NM"
 AC_MSG_RESULT([$NM])  ])# AC_PROG_NM
 ])  
   
 # AC_CHECK_LIBM - check for math library  
 AC_DEFUN(AC_CHECK_LIBM,  # AC_CHECK_LIBM
   # -------------
   # check for math library
   AC_DEFUN([AC_CHECK_LIBM],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl  [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 LIBM=  LIBM=
 case "$lt_target" in  case $host in
 *-*-beos* | *-*-cygwin*)  *-*-beos* | *-*-cygwin* | *-*-pw32*)
   # These system don't have libm    # These system don't have libm
   ;;    ;;
 *-ncr-sysv4.3*)  *-ncr-sysv4.3*)
Line 1900  case "$lt_target" in
Line 4644  case "$lt_target" in
   AC_CHECK_LIB(m, main, LIBM="-lm")    AC_CHECK_LIB(m, main, LIBM="-lm")
   ;;    ;;
 esac  esac
 ])  ])# AC_CHECK_LIBM
   
 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for  
 # the libltdl convenience library, adds --enable-ltdl-convenience to  # AC_LIBLTDL_CONVENIENCE([DIRECTORY])
 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor  # -----------------------------------
 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed  # sets LIBLTDL to the link flags for the libltdl convenience library and
 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with  # LTDLINCL to the include flags for the libltdl header and adds
 # '${top_builddir}/' (note the single quotes!) if your package is not  # --enable-ltdl-convenience to the configure arguments.  Note that LIBLTDL
 # flat, and, if you're not using automake, define top_builddir as  # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
 # appropriate in the Makefiles.  # DIRECTORY is not provided, it is assumed to be `libltdl'.  LIBLTDL will
 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl  # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
   case "$enable_ltdl_convenience" in  # '${top_srcdir}/' (note the single quotes!).  If your package is not
   # flat and you're not using automake, define top_builddir and
   # top_srcdir appropriately in the Makefiles.
   AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
     case $enable_ltdl_convenience in
   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;    no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
   "") enable_ltdl_convenience=yes    "") enable_ltdl_convenience=yes
       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;        ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
   esac    esac
   LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
   INCLTDL=ifelse($#,1,-I$1,['-I${top_srcdir}/libltdl'])    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
 ])    # For backwards non-gettext consistent compatibility...
     INCLTDL="$LTDLINCL"
   ])# AC_LIBLTDL_CONVENIENCE
   
 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for  
 # the libltdl installable library, and adds --enable-ltdl-install to  # AC_LIBLTDL_INSTALLABLE([DIRECTORY])
 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor  # -----------------------------------
 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed  # sets LIBLTDL to the link flags for the libltdl installable library and
 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with  # LTDLINCL to the include flags for the libltdl header and adds
 # '${top_builddir}/' (note the single quotes!) if your package is not  # --enable-ltdl-install to the configure arguments.  Note that LIBLTDL
 # flat, and, if you're not using automake, define top_builddir as  # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
 # appropriate in the Makefiles.  # DIRECTORY is not provided and an installed libltdl is not found, it is
   # assumed to be `libltdl'.  LIBLTDL will be prefixed with '${top_builddir}/'
   # and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
   # quotes!).  If your package is not flat and you're not using automake,
   # define top_builddir and top_srcdir appropriately in the Makefiles.
 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.  # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl  AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
   [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   AC_CHECK_LIB(ltdl, main,    AC_CHECK_LIB(ltdl, main,
   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],    [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
   [if test x"$enable_ltdl_install" = xno; then    [if test x"$enable_ltdl_install" = xno; then
Line 1940  AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_L
Line 4696  AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_L
   ])    ])
   if test x"$enable_ltdl_install" = x"yes"; then    if test x"$enable_ltdl_install" = x"yes"; then
     ac_configure_args="$ac_configure_args --enable-ltdl-install"      ac_configure_args="$ac_configure_args --enable-ltdl-install"
     LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la      LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
     INCLTDL=ifelse($#,1,-I$1,['-I${top_srcdir}/libltdl'])      LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
   else    else
     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"      ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
     LIBLTDL="-lltdl"      LIBLTDL="-lltdl"
     INCLTDL=      LTDLINCL=
   fi    fi
     # For backwards non-gettext consistent compatibility...
     INCLTDL="$LTDLINCL"
   ])# AC_LIBLTDL_INSTALLABLE
   
   
   # If this macro is not defined by Autoconf, define it here.
   ifdef([AC_PROVIDE_IFELSE],
         [],
         [define([AC_PROVIDE_IFELSE],
                 [ifdef([AC_PROVIDE_$1],
                        [$2], [$3])])])
   
   
   # AC_LIBTOOL_CXX
   # --------------
   # enable support for C++ libraries
   AC_DEFUN([AC_LIBTOOL_CXX],
   [AC_REQUIRE([_LT_AC_LANG_CXX])
   ])# AC_LIBTOOL_CXX
   
   
   # _LT_AC_LANG_CXX
   # ---------------
   AC_DEFUN([_LT_AC_LANG_CXX],
   [AC_REQUIRE([AC_PROG_CXX])
   AC_REQUIRE([AC_PROG_CXXCPP])
   ])# _LT_AC_LANG_CXX
   
   
   # AC_LIBTOOL_GCJ
   # --------------
   # enable support for GCJ libraries
   AC_DEFUN([AC_LIBTOOL_GCJ],
   [AC_REQUIRE([_LT_AC_LANG_GCJ])
   ])# AC_LIBTOOL_GCJ
   
   
   # _LT_AC_LANG_GCJ
   # ---------------
   AC_DEFUN([_LT_AC_LANG_GCJ],
   [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
     [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
       [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
         [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
            [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
              [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
   ])# _LT_AC_LANG_GCJ
   
   
   # AC_LIBTOOL_RC
   # --------------
   # enable support for Windows resource files
   AC_DEFUN([AC_LIBTOOL_RC],
   [AC_REQUIRE([AC_PROG_RC])
   ])# AC_LIBTOOL_RC
   
   
   # AC_LIBTOOL_LANG_C_CONFIG
   # ------------------------
   # Ensure that the configuration vars for the C compiler are
   # suitably defined.  Those variables are subsequently used by
   # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
   AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
   AC_DEFUN([_LT_AC_LANG_C_CONFIG],
   [lt_save_CC="$CC"
   AC_LANG_PUSH(C)
   
   # Source file extension for C test sources.
   ac_ext=c
   
   # Object file extension for compiled C test sources.
   objext=o
   _LT_AC_TAGVAR(objext, $1)=$objext
   
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="int some_variable = 0;"
   
   # Code to be used in simple link tests
   lt_simple_link_test_code='main(){return(0);}'
   
   _LT_AC_SYS_COMPILER
   
   #
   # Check for any special shared library compilation flags.
   #
   _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
   if test "$GCC" = no; then
     case $host_os in
     sco3.2v5*)
       _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
       ;;
     esac
   fi
   if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
     AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
     if echo "$old_CC $old_CFLAGS " | egrep -e "[[         ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[      ]]" >/dev/null; then :
     else
       AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
       _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
     fi
   fi
   
   
   #
   # Check to make sure the static flag actually works.
   #
   AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
     _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
     $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
     [],
     [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
   
   
   AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
   AC_LIBTOOL_PROG_COMPILER_PIC($1)
   AC_LIBTOOL_PROG_CC_C_O($1)
   AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
   AC_LIBTOOL_PROG_LD_SHLIBS($1)
   AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
   AC_LIBTOOL_SYS_LIB_STRIP
   AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
   AC_LIBTOOL_DLOPEN_SELF($1)
   
   # Report which librarie types wil actually be built
   AC_MSG_CHECKING([if libtool supports shared libraries])
   AC_MSG_RESULT([$can_build_shared])
   
   AC_MSG_CHECKING([whether to build shared libraries])
   test "$can_build_shared" = "no" && enable_shared=no
   
   # On AIX, shared libraries and static libraries use the same namespace, and
   # are all built from PIC.
   case "$host_os" in
   aix3*)
     test "$enable_shared" = yes && enable_static=no
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
     fi
     ;;
   
   aix4*)
     if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
       test "$enable_shared" = yes && enable_static=no
     fi
     ;;
   esac
   AC_MSG_RESULT([$enable_shared])
   
   AC_MSG_CHECKING([whether to build static libraries])
   # Make sure either enable_shared or enable_static is yes.
   test "$enable_shared" = yes || enable_static=yes
   AC_MSG_RESULT([$enable_static])
   
   AC_LIBTOOL_CONFIG($1)
   
   AC_LANG_POP
   CC="$lt_save_CC"
   ])# AC_LIBTOOL_LANG_C_CONFIG
   
   
   # AC_LIBTOOL_LANG_CXX_CONFIG
   # --------------------------
   # Ensure that the configuration vars for the C compiler are
   # suitably defined.  Those variables are subsequently used by
   # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
   AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
   AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
   [AC_LANG_PUSH(C++)
   AC_REQUIRE([AC_PROG_CXX])
   AC_REQUIRE([AC_PROG_CXXCPP])
   
   _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
   _LT_AC_TAGVAR(allow_undefined_flag, $1)=
   _LT_AC_TAGVAR(always_export_symbols, $1)=no
   _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
   _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
   _LT_AC_TAGVAR(hardcode_direct, $1)=no
   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
   _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
   _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
   _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
   _LT_AC_TAGVAR(no_undefined_flag, $1)=
   _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
   
   # Dependencies to place before and after the object being linked:
   _LT_AC_TAGVAR(predep_objects, $1)=
   _LT_AC_TAGVAR(postdep_objects, $1)=
   _LT_AC_TAGVAR(predeps, $1)=
   _LT_AC_TAGVAR(postdeps, $1)=
   _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
   
   # Source file extension for C test sources.
   ac_ext=cc
   
   # Object file extension for compiled C test sources.
   objext=o
   _LT_AC_TAGVAR(objext, $1)=$objext
   
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="int some_variable = 0;"
   
   # Code to be used in simple link tests
   lt_simple_link_test_code='int main(int char *[]) { return(0); }'
   
   # ltmain only uses $CC for tagged configurations so make sure $CC is set.
   _LT_AC_SYS_COMPILER
   
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   CC=${CXX-"c++"}
   set dummy $CC
   compiler="[$]2"
   _LT_AC_TAGVAR(compiler, $1)=$CC
   cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
   
   # We don't want -fno-exception wen compiling C++ code, so set the
   # no_builtin_flag separately
   if test "$GXX" = yes; then
     _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
   else
     _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
   fi
   
   if test "$GXX" = yes; then
     # Set up default GNU C++ configuration
   
     # Check if GNU C++ uses GNU ld as the underlying linker, since the
     # archiving commands below assume that GNU ld is being used.
     if eval "`$CC -print-prog-name=ld` --version 2>&1" | \
         egrep 'GNU ld' > /dev/null; then
       with_gnu_ld=yes
   
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
   
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
   
       # If archive_cmds runs LD, not CC, wlarc should be empty
       # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
       #     investigate it a little bit more. (MM)
       wlarc='${wl}'
   
       # ancient GNU ld didn't support --whole-archive et. al.
       if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
           egrep 'no-whole-archive' > /dev/null; then
         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
       else
         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
       fi
     else
       with_gnu_ld=no
       wlarc=
   
       # A generic and very simple default shared library creation
       # command for GNU C++ for the case where it uses the native
       # linker, instead of GNU ld.  If possible, this setting should
       # overridden to take advantage of the native linker features on
       # the platform it is being used on.
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     fi
   
     # Commands to make compiler produce verbose output that lists
     # what "hidden" libraries, object files and flags are used when
     # linking a shared library.
     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
   
   else
     GXX=no
     with_gnu_ld=no
     wlarc=
   fi
   
   # PORTME: fill in a description of your system's C++ link characteristics
   AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
   _LT_AC_TAGVAR(ld_shlibs, $1)=yes
   case $host_os in
     aix3*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     aix4* | aix5*)
       if test "$host_cpu" = ia64; then
         # On IA64, the linker does run time linking by default, so we don't
         # have to do anything special.
         aix_use_runtimelinking=no
         exp_sym_flag='-Bexport'
         no_entry_flag=""
       else
         aix_use_runtimelinking=no
   
         # Test if we are trying to use run time linking or normal
         # AIX style linking. If -brtl is somewhere in LDFLAGS, we
         # need to do runtime linking.
         case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
           for ld_flag in $LDFLAGS; do
             if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
               aix_use_runtimelinking=yes
               break
             fi
           done
         esac
   
         exp_sym_flag='-bexport'
         no_entry_flag='-bnoentry'
       fi
   
       # When large executables or shared objects are built, AIX ld can
       # have problems creating the table of contents.  If linking a library
       # or program results in "error TOC overflow" add -mminimal-toc to
       # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
       # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
   
       _LT_AC_TAGVAR(archive_cmds, $1)=''
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
   
       if test "$GXX" = yes; then
         case $host_os in aix4.[012]|aix4.[012].*)
         # We only want to do this on AIX 4.2 and lower, the check
         # below for broken collect2 doesn't work under 4.3+
           collect2name=`${CC} -print-prog-name=collect2`
           if test -f "$collect2name" && \
              strings "$collect2name" | grep resolve_lib_name >/dev/null
           then
             # We have reworked collect2
             _LT_AC_TAGVAR(hardcode_direct, $1)=yes
           else
             # We have old collect2
             _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
             # It fails to find uninstalled libraries when the uninstalled
             # path is not listed in the libpath.  Setting hardcode_minus_L
             # to unsupported forces relinking
             _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
             _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
           fi
         esac
         shared_flag='-shared'
       else
         # not using gcc
         if test "$host_cpu" = ia64; then
           # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
           # chokes on -Wl,-G. The following line is correct:
           shared_flag='-G'
         else
           if test "$aix_use_runtimelinking" = yes; then
             shared_flag='${wl}-G'
           else
             shared_flag='${wl}-bM:SRE'
           fi
         fi
       fi
   
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       _LT_AC_TAGVAR(always_export_symbols, $1)=yes
       if test "$aix_use_runtimelinking" = yes; then
         # Warning - without using the other runtime loading flags (-brtl),
         # -berok will link without error, but may produce a broken library.
         _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
         # Determine the default libpath from the value encoded in an empty executable.
         _LT_AC_SYS_LIBPATH_AIX
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
   
         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
        else
         if test "$host_cpu" = ia64; then
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
           _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
         else
           # Determine the default libpath from the value encoded in an empty executable.
           _LT_AC_SYS_LIBPATH_AIX
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
           # Warning - without using the other run time loading flags,
           # -berok will link without error, but may produce a broken library.
           _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
           # -bexpall does not export symbols beginning with underscore (_)
           _LT_AC_TAGVAR(always_export_symbols, $1)=yes
           # Exported symbols can be pulled into shared objects from archives
           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
           # This is similar to how AIX traditionally builds it's shared libraries.
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
         fi
       fi
       ;;
     chorus*)
       case $cc_basename in
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     dgux*)
       case $cc_basename in
         ec++)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         ghcx)
           # Green Hills C++ Compiler
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     freebsd[12]*)
       # C++ shared libraries reported to be fairly broken before switch to ELF
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     freebsd-elf*)
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       ;;
     freebsd*)
       # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
       # conventions
       _LT_AC_TAGVAR(ld_shlibs, $1)=yes
       ;;
     gnu*)
       ;;
     hpux*)
       if test $with_gnu_ld = no; then
         if test "$host_cpu" = ia64; then
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         else
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
           _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         fi
       fi
       if test "$host_cpu" = ia64; then
         _LT_AC_TAGVAR(hardcode_direct, $1)=no
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       else
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       fi
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
                                               # but as the default
                                               # location of the library.
   
       case $cc_basename in
         CC)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         aCC)
           case $host_os in
           hpux9*)
             _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
             ;;
           *)
             if test "$host_cpu" = ia64; then
               _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
             else
               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
             fi
             ;;
           esac
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
           ;;
         *)
           if test "$GXX" = yes; then
             if test $with_gnu_ld = no; then
               case $host_os in
               hpux9*)
                 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
                 ;;
               *)
                 if test "$host_cpu" = ia64; then
                   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
                 else
                   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                 fi
                 ;;
               esac
             fi
           else
             # FIXME: insert proper C++ library support
             _LT_AC_TAGVAR(ld_shlibs, $1)=no
           fi
           ;;
       esac
       ;;
     irix5* | irix6*)
       case $cc_basename in
         CC)
           # SGI C++
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
   
           # Archives containing C++ object files must be created using
           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
           # necessary to make sure instantiated templates are included
           # in the archive.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
           ;;
         *)
           if test "$GXX" = yes; then
             if test "$with_gnu_ld" = no; then
               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
             else
               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
             fi
           fi
           _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
           ;;
       esac
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
       ;;
     linux*)
       case $cc_basename in
         KCC)
           # Kuck and Associates, Inc. (KAI) C++ Compiler
   
           # KCC will only create a shared library if the output file
           # ends with ".so" (or ".sl" for HP-UX), so rename the library
           # to its proper name (with version) after linking.
           _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
   
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
           _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
   
           # Archives containing C++ object files must be created using
           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
           ;;
         cxx)
           # Compaq C++
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
   
           runpath_var=LD_RUN_PATH
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
           ;;
       esac
       ;;
     lynxos*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     m88k*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     mvs*)
       case $cc_basename in
         cxx)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     netbsd*)
       # NetBSD uses g++ - do we need to do anything?
       ;;
     osf3*)
       case $cc_basename in
         KCC)
           # Kuck and Associates, Inc. (KAI) C++ Compiler
   
           # KCC will only create a shared library if the output file
           # ends with ".so" (or ".sl" for HP-UX), so rename the library
           # to its proper name (with version) after linking.
           _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
           # Archives containing C++ object files must be created using
           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
   
           ;;
         RCC)
           # Rational C++ 2.4.1
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         cxx)
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
           ;;
         *)
           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
             _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
   
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
             _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
             # Commands to make compiler produce verbose output that lists
             # what "hidden" libraries, object files and flags are used when
             # linking a shared library.
             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
   
           else
             # FIXME: insert proper C++ library support
             _LT_AC_TAGVAR(ld_shlibs, $1)=no
           fi
           ;;
       esac
       ;;
     osf4* | osf5*)
       case $cc_basename in
         KCC)
           # Kuck and Associates, Inc. (KAI) C++ Compiler
   
           # KCC will only create a shared library if the output file
           # ends with ".so" (or ".sl" for HP-UX), so rename the library
           # to its proper name (with version) after linking.
           _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
           # Archives containing C++ object files must be created using
           # the KAI C++ compiler.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
           ;;
         RCC)
           # Rational C++ 2.4.1
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         cxx)
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~
             echo "-hidden">> $lib.exp~
             $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
             $rm $lib.exp'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
           ;;
         *)
           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
             _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
   
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
             _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
   
             # Commands to make compiler produce verbose output that lists
             # what "hidden" libraries, object files and flags are used when
             # linking a shared library.
             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
   
           else
             # FIXME: insert proper C++ library support
             _LT_AC_TAGVAR(ld_shlibs, $1)=no
           fi
           ;;
       esac
       ;;
     psos*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     sco*)
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       case $cc_basename in
         CC)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     sunos4*)
       case $cc_basename in
         CC)
           # Sun C++ 4.x
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         lcc)
           # Lucid
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     solaris*)
       case $cc_basename in
         CC)
           # Sun C++ 4.2, 5.x and Centerline C++
           _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
           $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
   
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
           _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
           case $host_os in
             solaris2.[0-5] | solaris2.[0-5].*) ;;
             *)
               # The C++ compiler is used as linker so we must use $wl
               # flag to pass the commands to the underlying system
               # linker.
               # Supported since Solaris 2.6 (maybe 2.5.1?)
               _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
               ;;
           esac
           _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
   
           # Commands to make compiler produce verbose output that lists
           # what "hidden" libraries, object files and flags are used when
           # linking a shared library.
           #
           # There doesn't appear to be a way to prevent this compiler from
           # explicitly linking system object files so we need to strip them
           # from the output so that they don't get included in the library
           # dependencies.
           output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
   
           # Archives containing C++ object files must be created using
           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
           # necessary to make sure instantiated templates are included
           # in the archive.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
           ;;
         gcx)
           # Green Hills C++ Compiler
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
   
           # The C++ compiler must be used to create the archive.
           _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
           ;;
         *)
           # GNU C++ compiler with Solaris linker
           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
             _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
             if $CC --version | egrep -v '^2\.7' > /dev/null; then
               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
               _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
                   $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
   
               # Commands to make compiler produce verbose output that lists
               # what "hidden" libraries, object files and flags are used when
               # linking a shared library.
               output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
             else
               # g++ 2.7 appears to require `-G' NOT `-shared' on this
               # platform.
               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
               _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
                   $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
   
               # Commands to make compiler produce verbose output that lists
               # what "hidden" libraries, object files and flags are used when
               # linking a shared library.
               output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
             fi
   
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
           fi
           ;;
       esac
       ;;
     sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       ;;
     tandem*)
       case $cc_basename in
         NCC)
           # NonStop-UX NCC 3.20
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
         *)
           # FIXME: insert proper C++ library support
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           ;;
       esac
       ;;
     vxworks*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     *)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
   esac
   AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
   test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
   
   # Figure out "hidden" C++ library dependencies from verbose
   # compiler output whening linking a shared library.
   cat > conftest.$ac_ext <<EOF
   class Foo
   {
   public:
     Foo (void) { a = 0; }
   private:
     int a;
   };
   EOF
   
   
   if AC_TRY_EVAL(ac_compile); then
     # Parse the compiler output and extract the necessary
     # objects, libraries and library flags.
   
     # Sentinel used to keep track of whether or not we are before
     # the conftest object file.
     pre_test_object_deps_done=no
   
     # The `*' in the case matches for architectures that use `case' in
     # $output_verbose_cmd can trigger glob expansion during the loop
     # eval without this substitution.
     output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
   
     for p in `eval $output_verbose_link_cmd`; do
       case $p in
   
       -L* | -R* | -l*)
          # Some compilers place space between "-{L,R}" and the path.
          # Remove the space.
          if test $p = "-L" \
             || test $p = "-R"; then
            prev=$p
            continue
          else
            prev=
          fi
   
          if test "$pre_test_object_deps_done" = no; then
            case $p in
            -L* | -R*)
              # Internal compiler library paths should come after those
              # provided the user.  The postdeps already come after the
              # user supplied libs so there is no need to process them.
              if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
                _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
              else
                _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
              fi
              ;;
            # The "-l" case would never come before the object being
            # linked, so don't bother handling this case.
            esac
          else
            if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
              _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
            else
              _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
            fi
          fi
          ;;
   
       *.$objext)
          # This assumes that the test object file only shows up
          # once in the compiler output.
          if test "$p" = "conftest.$objext"; then
            pre_test_object_deps_done=yes
            continue
          fi
   
          if test "$pre_test_object_deps_done" = no; then
            if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
              _LT_AC_TAGVAR(predep_objects, $1)="$p"
            else
              _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
            fi
          else
            if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
              _LT_AC_TAGVAR(postdep_objects, $1)="$p"
            else
              _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
            fi
          fi
          ;;
   
       *) ;; # Ignore the rest.
   
       esac
     done
   
     # Clean up.
     rm -f a.out
   else
     echo "libtool.m4: error: problem compiling C++ test program"
   fi
   
   $rm -f confest.$objext
   
   case " $_LT_AC_TAGVAR(postdeps, $1) " in
   *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
   *) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;;
   esac
   
   _LT_AC_TAGVAR(GCC, $1)="$GXX"
   _LT_AC_TAGVAR(LD, $1)="$LD"
   
   AC_LIBTOOL_PROG_COMPILER_PIC($1)
   AC_LIBTOOL_PROG_CC_C_O($1)
   AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
   AC_LIBTOOL_PROG_LD_SHLIBS($1)
   AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
   AC_LIBTOOL_SYS_LIB_STRIP
   AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
   AC_LIBTOOL_DLOPEN_SELF($1)
   
   AC_LIBTOOL_CONFIG($1)
   
   AC_LANG_POP
   CC="$lt_save_CC"
   ])# AC_LIBTOOL_LANG_CXX_CONFIG
   
   
   # AC_LIBTOOL_LANG_GCJ_CONFIG
   # --------------------------
   # Ensure that the configuration vars for the C compiler are
   # suitably defined.  Those variables are subsequently used by
   # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
   AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
   AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
   [AC_LANG_SAVE
   
   # Source file extension for C test sources.
   ac_ext=java
   
   # Object file extension for compiled C test sources.
   objext=o
   _LT_AC_TAGVAR(objext, $1)=$objext
   
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="class foo {}"
   
   # Code to be used in simple link tests
   lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
   
   # ltmain only uses $CC for tagged configurations so make sure $CC is set.
   _LT_AC_SYS_COMPILER
   
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   CC=${GCJ-"gcj"}
   set dummy $CC
   compiler="[$]2"
   _LT_AC_TAGVAR(compiler, $1)=$CC
   
   # GCJ did not exist at the time GCC didn't implicitly link libc in.
   _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
   
   AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
   AC_LIBTOOL_PROG_COMPILER_PIC($1)
   AC_LIBTOOL_PROG_CC_C_O($1)
   AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
   AC_LIBTOOL_PROG_LD_SHLIBS($1)
   AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
   AC_LIBTOOL_SYS_LIB_STRIP
   AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
   AC_LIBTOOL_DLOPEN_SELF($1)
   
   AC_LIBTOOL_CONFIG($1)
   
   AC_LANG_RESTORE
   CC="$lt_save_CC"
   ])# AC_LIBTOOL_LANG_GCJ_CONFIG
   
   
   # AC_LIBTOOL_LANG_RC_CONFIG
   # --------------------------
   # Ensure that the configuration vars for the Windows resource compiler are
   # suitably defined.  Those variables are subsequently used by
   # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
   AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
   AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
   [AC_LANG_SAVE
   
   # Source file extension for RC test sources.
   ac_ext=rc
   
   # Object file extension for compiled RC test sources.
   objext=o
   _LT_AC_TAGVAR(objext, $1)=$objext
   
   # Code to be used in simple compile tests
   lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
   
   # Code to be used in simple link tests
   lt_simple_link_test_code="$lt_simple_compile_test_code"
   
   # ltmain only uses $CC for tagged configurations so make sure $CC is set.
   _LT_AC_SYS_COMPILER
   
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   CC=${RC-"windres"}
   set dummy $CC
   compiler="[$]2"
   _LT_AC_TAGVAR(compiler, $1)=$CC
   _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
   
   AC_LIBTOOL_CONFIG($1)
   
   AC_LANG_RESTORE
   CC="$lt_save_CC"
   ])# AC_LIBTOOL_LANG_RC_CONFIG
   
   
   # AC_LIBTOOL_CONFIG([TAGNAME])
   # ----------------------------
   # If TAGNAME is not passed, then create an initial libtool script
   # with a default configuration from the untagged config vars.  Otherwise
   # add code to config.status for appending the configuration named by
   # TAGNAME from the matching tagged config vars.
   AC_DEFUN([AC_LIBTOOL_CONFIG],
   [# The else clause should only fire when bootstrapping the
   # libtool distribution, otherwise you forgot to ship ltmain.sh
   # with your package, and you will get complaints that there are
   # no rules to generate ltmain.sh.
   if test -f "$ltmain"; then
     # Now quote all the things that may contain metacharacters while being
     # careful not to overquote the AC_SUBSTed values.  We take copies of the
     # variables and quote the copies for generation of the libtool script.
     for var in echo old_CC old_CFLAGS AR AR_FLAGS RANLIB LN_S LTCC NM SHELL \
       libname_spec library_names_spec soname_spec extract_expsyms_cmds \
       old_striplib striplib file_magic_cmd finish_cmds finish_eval \
       deplibs_check_method reload_flag reload_cmds need_locks \
       lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
       lt_cv_sys_global_symbol_to_c_name_address \
       sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
       old_postinstall_cmds old_postuninstall_cmds \
       HOST_CC \
       _LT_AC_TAGVAR(compiler, $1) \
       _LT_AC_TAGVAR(CC, $1) \
       _LT_AC_TAGVAR(LD, $1) \
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
       _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
       _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
       _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
       _LT_AC_TAGVAR(old_archive_cmds, $1) \
       _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
       _LT_AC_TAGVAR(predep_objects, $1) \
       _LT_AC_TAGVAR(postdep_objects, $1) \
       _LT_AC_TAGVAR(predeps, $1) \
       _LT_AC_TAGVAR(postdeps, $1) \
       _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
       _LT_AC_TAGVAR(archive_cmds, $1) \
       _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
       _LT_AC_TAGVAR(postinstall_cmds, $1) \
       _LT_AC_TAGVAR(postuninstall_cmds, $1) \
       _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
       _LT_AC_TAGVAR(allow_undefined_flag, $1) \
       _LT_AC_TAGVAR(no_undefined_flag, $1) \
       _LT_AC_TAGVAR(export_symbols_cmds, $1) \
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
       _LT_AC_TAGVAR(exclude_expsyms, $1) \
       _LT_AC_TAGVAR(include_expsyms, $1); do
   
       case $var in
       _LT_AC_TAGVAR(old_archive_cmds, $1) | \
       _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
       _LT_AC_TAGVAR(archive_cmds, $1) | \
       _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
       _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
       _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
       extract_expsyms_cmds | reload_cmds | finish_cmds | \
       postinstall_cmds | postuninstall_cmds | \
       old_postinstall_cmds | old_postuninstall_cmds | \
       sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
         # Double-quote double-evaled strings.
         eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
         ;;
       *)
         eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
         ;;
       esac
     done
   
     case $lt_echo in
     *'\[$]0 --fallback-echo"')
       lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
       ;;
     esac
   
   ifelse([$1], [],
     [cfgfile="${ofile}T"
     trap "$rm \"$cfgfile\"; exit 1" 1 2 15
     $rm -f "$cfgfile"
     AC_MSG_NOTICE([creating $ofile])],
     [cfgfile="$ofile"])
   
     cat <<__EOF__ >> "$cfgfile"
   ifelse([$1], [],
   [#! $SHELL
   
   # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
   # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
   # NOTE: Changes made to this file will be lost: look at ltmain.sh.
   #
   # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
   # Free Software Foundation, Inc.
   #
   # This file is part of GNU Libtool:
   # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
   #
   # This program is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # This program is distributed in the hope that it will be useful, but
   # WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   # General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with this program; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   #
   # As a special exception to the GNU General Public License, if you
   # distribute this file as part of a program that contains a
   # configuration script generated by Autoconf, you may include it under
   # the same distribution terms that you use for the rest of that program.
   
   # Sed that helps us avoid accidentally triggering echo(1) options like -n.
   Xsed="sed -e s/^X//"
   
   # The HP-UX ksh and POSIX shell print the target directory to stdout
   # if CDPATH is set.
   if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
   
   # The names of the tagged configurations supported by this script.
   available_tags=
   
   # ### BEGIN LIBTOOL CONFIG],
   [# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
   
   # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
   
   # Shell to use when invoking shell scripts.
   SHELL=$lt_SHELL
   
   # Whether or not to build shared libraries.
   build_libtool_libs=$enable_shared
   
   # Whether or not to build static libraries.
   build_old_libs=$enable_static
   
   # Whether or not to add -lc for building shared libraries.
   build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
   
   # Whether or not to optimize for fast installation.
   fast_install=$enable_fast_install
   
   # The host system.
   host_alias=$host_alias
   host=$host
   
   # An echo program that does not interpret backslashes.
   echo=$lt_echo
   
   # The archiver.
   AR=$lt_AR
   AR_FLAGS=$lt_AR_FLAGS
   
   # A C compiler.
   LTCC=$lt_LTCC
   
   # A C compiler for the build system.
   HOST_CC=$lt_HOST_CC
   
   # A language-specific compiler.
   CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
   
   # Is the compiler the GNU C compiler?
   with_gcc=$_LT_AC_TAGVAR(GCC, $1)
   
   # The linker used to build libraries.
   LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
   
   # Whether we need hard or soft links.
   LN_S=$lt_LN_S
   
   # A BSD-compatible nm program.
   NM=$lt_NM
   
   # A symbol stripping program
   STRIP=$STRIP
   
   # Used to examine libraries when file_magic_cmd begins "file"
   MAGIC_CMD=$MAGIC_CMD
   
   # Used on cygwin: DLL creation program.
   DLLTOOL="$DLLTOOL"
   
   # Used on cygwin: object dumper.
   OBJDUMP="$OBJDUMP"
   
   # Used on cygwin: assembler.
   AS="$AS"
   
   # The name of the directory that contains temporary libtool files.
   objdir=$objdir
   
   # How to create reloadable object files.
   reload_flag=$lt_reload_flag
   reload_cmds=$lt_reload_cmds
   
   # How to pass a linker flag through the compiler.
   wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
   
   # Object file suffix (normally "o").
   objext="$ac_objext"
   
   # Old archive suffix (normally "a").
   libext="$libext"
   
   # Executable file suffix (normally "").
   exeext="$exeext"
   
   # Additional compiler flags for building library objects.
   pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
   pic_mode=$pic_mode
   
   # What is the maximum length of a command?
   max_cmd_len=$lt_cv_sys_max_cmd_len
   
   # Does compiler simultaneously support -c and -o options?
   compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
   
   # Must we lock files when doing compilation ?
   need_locks=$lt_need_locks
   
   # Do we need the lib prefix for modules?
   need_lib_prefix=$need_lib_prefix
   
   # Do we need a version for libraries?
   need_version=$need_version
   
   # Whether dlopen is supported.
   dlopen_support=$enable_dlopen
   
   # Whether dlopen of programs is supported.
   dlopen_self=$enable_dlopen_self
   
   # Whether dlopen of statically linked programs is supported.
   dlopen_self_static=$enable_dlopen_self_static
   
   # Compiler flag to prevent dynamic linking.
   link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
   
   # Compiler flag to turn off builtin functions.
   no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
   
   # Compiler flag to allow reflexive dlopens.
   export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
   
   # Compiler flag to generate shared objects directly from archives.
   whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
   
   # Compiler flag to generate thread-safe objects.
   thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
   
   # Library versioning type.
   version_type=$version_type
   
   # Format of library name prefix.
   libname_spec=$lt_libname_spec
   
   # List of archive names.  First name is the real one, the rest are links.
   # The last name is the one that the linker finds with -lNAME.
   library_names_spec=$lt_library_names_spec
   
   # The coded name of the library, if different from the real name.
   soname_spec=$lt_soname_spec
   
   # Commands used to build and install an old-style archive.
   RANLIB=$lt_RANLIB
   old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
   old_postinstall_cmds=$lt_old_postinstall_cmds
   old_postuninstall_cmds=$lt_old_postuninstall_cmds
   
   # Create an old-style archive from a shared archive.
   old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
   
   # Create a temporary old-style archive to link instead of a shared archive.
   old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
   
   # Commands used to build and install a shared archive.
   archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
   archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
   postinstall_cmds=$lt_postinstall_cmds
   postuninstall_cmds=$lt_postuninstall_cmds
   
   # Commands to strip libraries.
   old_striplib=$lt_old_striplib
   striplib=$lt_striplib
   
   # Dependencies to place before the objects being linked to create a
   # shared library.
   predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
   
   # Dependencies to place after the objects being linked to create a
   # shared library.
   postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
   
   # Dependencies to place before the objects being linked to create a
   # shared library.
   predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
   
   # Dependencies to place after the objects being linked to create a
   # shared library.
   postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
   
   # The library search path used internally by the compiler when linking
   # a shared library.
   compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
   
   # Method to check whether dependent libraries are shared objects.
   deplibs_check_method=$lt_deplibs_check_method
   
   # Command to use when deplibs_check_method == file_magic.
   file_magic_cmd=$lt_file_magic_cmd
   
   # Flag that allows shared libraries with undefined symbols to be built.
   allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
   
   # Flag that forces no undefined symbols.
   no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
   
   # Commands used to finish a libtool library installation in a directory.
   finish_cmds=$lt_finish_cmds
   
   # Same as above, but a single script fragment to be evaled but not shown.
   finish_eval=$lt_finish_eval
   
   # Take the output of nm and produce a listing of raw symbols and C names.
   global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
   
   # Transform the output of nm in a proper C declaration
   global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
   
   # Transform the output of nm in a C name address pair
   global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
   
   # This is the shared library runtime path variable.
   runpath_var=$runpath_var
   
   # This is the shared library path variable.
   shlibpath_var=$shlibpath_var
   
   # Is shlibpath searched before the hard-coded library search path?
   shlibpath_overrides_runpath=$shlibpath_overrides_runpath
   
   # How to hardcode a shared library path into an executable.
   hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
   
   # Whether we should hardcode library paths into libraries.
   hardcode_into_libs=$hardcode_into_libs
   
   # Flag to hardcode \$libdir into a binary during linking.
   # This must work even if \$libdir does not exist.
   hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
   
   # Whether we need a single -rpath flag with a separated argument.
   hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
   
   # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
   # resulting binary.
   hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
   
   # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
   # resulting binary.
   hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
   
   # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
   # the resulting binary.
   hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
   
   # Variables whose values should be saved in libtool wrapper scripts and
   # restored at relink time.
   variables_saved_for_relink="$variables_saved_for_relink"
   
   # Whether libtool must link a program against all its dependency libraries.
   link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
   
   # Compile-time system search path for libraries
   sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
   
   # Run-time system search path for libraries
   sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
   
   # Fix the shell variable \$srcfile for the compiler.
   fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
   
   # Set to yes if exported symbols are required.
   always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
   
   # The commands to list exported symbols.
   export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
   
   # The commands to extract the exported symbol list from a shared archive.
   extract_expsyms_cmds=$lt_extract_expsyms_cmds
   
   # Symbols that should not be listed in the preloaded symbols.
   exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
   
   # Symbols that must always be exported.
   include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
   
   ifelse([$1],[],
   [# ### END LIBTOOL CONFIG],
   [# ### END LIBTOOL TAG CONFIG: $tagname])
   
   __EOF__
   
   ifelse([$1],[], [
     case $host_os in
     aix3*)
       cat <<\EOF >> "$cfgfile"
   
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
   if test "X${COLLECT_NAMES+set}" != Xset; then
     COLLECT_NAMES=
     export COLLECT_NAMES
   fi
   EOF
       ;;
   
     cygwin* | mingw* | pw32* | os2*)
       cat <<'EOF' >> "$cfgfile"
       # This is a source program that is used to create dlls on Windows
       # Don't remove nor modify the starting and closing comments
       _LT_AC_FILE_LTDLL_C
       # This is a source program that is used to create import libraries
       # on Windows for dlls which lack them. Don't remove nor modify the
       # starting and closing comments
       _LT_AC_FILE_IMPGEN_C
   EOF
       ;;
     esac
   
     # We use sed instead of cat because bash on DJGPP gets confused if
     # if finds mixed CR/LF and LF-only lines.  Since sed operates in
     # text mode, it properly converts lines to CR/LF.  This bash problem
     # is reportedly fixed, but why not run on old versions too?
     sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
   
     mv -f "$cfgfile" "$ofile" || \
       (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
     chmod +x "$ofile"
 ])  ])
   else
     # If there is no Makefile yet, we rely on a make rule to execute
     # `config.status --recheck' to rerun these tests and create the
     # libtool script then.
     test -f Makefile && make "$ltmain"
   fi
   ])# AC_LIBTOOL_CONFIG
   
 dnl old names  
 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl  
 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl  
 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl  
 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl  
 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl  
 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl  
 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl  
   
 dnl This is just to silence aclocal about the macro not being used  # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
 ifelse([AC_DISABLE_FAST_INSTALL])dnl  # -------------------------------------------
   AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
   [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
   
   _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
   
   if test "$GCC" = yes; then
     _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
   
     AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
       lt_cv_prog_compiler_rtti_exceptions,
       [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [],
       [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
   fi
   ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
   
   
   # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
   # ---------------------------------
   AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
   [AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([AC_PROG_NM])
   AC_REQUIRE([AC_OBJEXT])
   # Check for command to grab the raw symbol name followed by C symbol from nm.
   AC_MSG_CHECKING([command to parse $NM output from $compiler object])
   AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
   [
   # These are sane defaults that work on at least a few old systems.
   # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
   
   # Character class describing NM global symbol codes.
   symcode='[[BCDEGRST]]'
   
   # Regexp to match symbols that can be accessed directly from C.
   sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
   
   # Transform the above into a raw symbol and a C symbol.
   symxfrm='\1 \2\3 \3'
   
   # Transform an extracted symbol line into a proper C declaration
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
   
   # Transform an extracted symbol line into symbol name and symbol address
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   
   # Define system-specific variables.
   case $host_os in
   aix*)
     symcode='[[BCDT]]'
     ;;
   cygwin* | mingw* | pw32*)
     symcode='[[ABCDGISTW]]'
     ;;
   hpux*) # Its linker distinguishes data from code symbols
     if test "$host_cpu" = ia64; then
       symcode='[[ABCDEGRST]]'
     fi
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
     lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
     ;;
   irix*)
     symcode='[[BCDEGRST]]'
     ;;
   solaris* | sysv5*)
     symcode='[[BDT]]'
     ;;
   sysv4)
     symcode='[[DFNSTU]]'
     ;;
   esac
   
   # Handle CRLF in mingw tool chain
   opt_cr=
   case $host_os in
   mingw*)
     opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
     ;;
   esac
   
   # If we're using GNU nm, then use its standard symbol codes.
   if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
     symcode='[[ABCDGISTW]]'
   fi
   
   # Try without a prefix undercore, then with it.
   for ac_symprfx in "" "_"; do
   
     # Write the raw and C identifiers.
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[      ]]\($symcode$symcode*\)[[       ]][[    ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
   
     # Check to see that the pipe works correctly.
     pipe_works=no
   
     rm -f conftest*
     cat > conftest.$ac_ext <<EOF
   #ifdef __cplusplus
   extern "C" {
   #endif
   char nm_test_var;
   void nm_test_func(){}
   #ifdef __cplusplus
   }
   #endif
   int main(){nm_test_var='a';nm_test_func();return(0);}
   EOF
   
     if AC_TRY_EVAL(ac_compile); then
       # Now try to grab the symbols.
       nlist=conftest.nm
       if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
         # Try sorting and uniquifying the output.
         if sort "$nlist" | uniq > "$nlist"T; then
           mv -f "$nlist"T "$nlist"
         else
           rm -f "$nlist"T
         fi
   
         # Make sure that we snagged all the symbols we need.
         if egrep ' nm_test_var$' "$nlist" >/dev/null; then
           if egrep ' nm_test_func$' "$nlist" >/dev/null; then
             cat <<EOF > conftest.$ac_ext
   #ifdef __cplusplus
   extern "C" {
   #endif
   
   EOF
             # Now generate the symbol file.
             eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
   
             cat <<EOF >> conftest.$ac_ext
   #if defined (__STDC__) && __STDC__
   # define lt_ptr_t void *
   #else
   # define lt_ptr_t char *
   # define const
   #endif
   
   /* The mapping between symbol names and symbols. */
   const struct {
     const char *name;
     lt_ptr_t address;
   }
   lt_preloaded_symbols[[]] =
   {
   EOF
             sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
             cat <<\EOF >> conftest.$ac_ext
     {0, (lt_ptr_t) 0}
   };
   
   #ifdef __cplusplus
   }
   #endif
   EOF
             # Now try linking the two files.
             mv conftest.$ac_objext conftstm.$ac_objext
             lt_save_LIBS="$LIBS"
             lt_save_CFLAGS="$CFLAGS"
             LIBS="conftstm.$ac_objext"
             CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
             if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
               pipe_works=yes
             fi
             LIBS="$lt_save_LIBS"
             CFLAGS="$lt_save_CFLAGS"
           else
             echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
           fi
         else
           echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
         fi
       else
         echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
       fi
     else
       echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
       cat conftest.$ac_ext >&5
     fi
     rm -f conftest* conftst*
   
     # Do not use the global_symbol_pipe unless it works.
     if test "$pipe_works" = yes; then
       break
     else
       lt_cv_sys_global_symbol_pipe=
     fi
   done
   ])
   if test -z "$lt_cv_sys_global_symbol_pipe"; then
     lt_cv_sys_global_symbol_to_cdecl=
   fi
   if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
     AC_MSG_RESULT(failed)
   else
     AC_MSG_RESULT(ok)
   fi
   ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
   
   
   # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
   # ---------------------------------------
   AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
   [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
   _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
   _LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
   
   AC_MSG_CHECKING([for $compiler option to produce PIC])
    ifelse([$1],[CXX],[
     # C++ specific cases for pic, static, wl, etc.
     if test "$GXX" = yes; then
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
   
       case $host_os in
       aix*)
         # All AIX code is PIC.
         if test "$host_cpu" = ia64; then
           # AIX 5 now supports IA64 processor
           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         fi
         ;;
       amigaos*)
         # FIXME: we need at least 68020 code to build shared libraries, but
         # adding the `-m68020' flag to GCC prevents building anything better,
         # like `-m68040'.
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
       beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
         # PIC is the default for these OSes.
         ;;
       cygwin* | mingw* | os2*)
         # This hack is so that the source file can tell whether it is being
         # built for inclusion in a dll (and should export symbols for example).
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
         ;;
       darwin* | rhapsody*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
         ;;
       *djgpp*)
         # DJGPP does not support shared libraries at all
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
         ;;
       sysv4*MP*)
         if test -d /usr/nec; then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
         fi
         ;;
       hpux*)
         # PIC is the default for IA64 HP-UX, but not for PA HP-UX.
         if test "$host_cpu" != ia64; then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         fi
         ;;
       *)
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         ;;
       esac
     else
       case $host_os in
         aix4* | aix5*)
           # All AIX code is PIC.
           if test "$host_cpu" = ia64; then
             # AIX 5 now supports IA64 processor
             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
           else
             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
           fi
           ;;
         chorus*)
           case $cc_basename in
           cxch68)
             # Green Hills C++ Compiler
             # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
             ;;
           esac
           ;;
         dgux*)
           case $cc_basename in
             ec++)
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
               ;;
             ghcx)
               # Green Hills C++ Compiler
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
               ;;
             *)
               ;;
           esac
           ;;
         freebsd*)
           # FreeBSD uses GNU C++
           ;;
         hpux9* | hpux10* | hpux11*)
           case $cc_basename in
             CC)
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
               if test "$host_cpu" != ia64; then
                 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
               fi
               ;;
             aCC)
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
               if test "$host_cpu" != ia64; then
                 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
               fi
               ;;
             *)
               ;;
           esac
           ;;
         irix5* | irix6*)
           case $cc_basename in
             CC)
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
               # CC pic flag -KPIC is the default.
               ;;
             *)
               ;;
           esac
           ;;
         linux*)
           case $cc_basename in
             KCC)
               # KAI C++ Compiler
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
               ;;
             cxx)
               # Compaq C++
               # Make sure the PIC flag is empty.  It appears that all Alpha
               # Linux and Compaq Tru64 Unix objects are PIC.
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
               ;;
             *)
               ;;
           esac
           ;;
         lynxos*)
           ;;
         m88k*)
           ;;
         mvs*)
           case $cc_basename in
             cxx)
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
               ;;
             *)
               ;;
           esac
           ;;
         netbsd*)
           ;;
         osf3* | osf4* | osf5*)
           case $cc_basename in
             KCC)
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
               ;;
             RCC)
               # Rational C++ 2.4.1
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
               ;;
             cxx)
               # Digital/Compaq C++
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
               # Make sure the PIC flag is empty.  It appears that all Alpha
               # Linux and Compaq Tru64 Unix objects are PIC.
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
               ;;
             *)
               ;;
           esac
           ;;
         psos*)
           ;;
         sco*)
           case $cc_basename in
             CC)
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
               ;;
             *)
               ;;
           esac
           ;;
         solaris*)
           case $cc_basename in
             CC)
               # Sun C++ 4.2, 5.x and Centerline C++
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
               _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
               ;;
             gcx)
               # Green Hills C++ Compiler
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
               ;;
             *)
               ;;
           esac
           ;;
         sunos4*)
           case $cc_basename in
             CC)
               # Sun C++ 4.x
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
               _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
               ;;
             lcc)
               # Lucid
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
               ;;
             *)
               ;;
           esac
           ;;
         tandem*)
           case $cc_basename in
             NCC)
               # NonStop-UX NCC 3.20
               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
               ;;
             *)
               ;;
           esac
           ;;
         unixware*)
           ;;
         vxworks*)
           ;;
         *)
           _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
           ;;
       esac
     fi
   ],
   [
     if test "$GCC" = yes; then
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
   
       case $host_os in
         aix*)
         # All AIX code is PIC.
         if test "$host_cpu" = ia64; then
           # AIX 5 now supports IA64 processor
           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         fi
         ;;
   
       amigaos*)
         # FIXME: we need at least 68020 code to build shared libraries, but
         # adding the `-m68020' flag to GCC prevents building anything better,
         # like `-m68040'.
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
   
       beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
         # PIC is the default for these OSes.
         ;;
   
       cygwin* | mingw* | pw32* | os2*)
         # This hack is so that the source file can tell whether it is being
         # built for inclusion in a dll (and should export symbols for example).
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
         ;;
   
       darwin* | rhapsody*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
         ;;
   
       msdosdjgpp*)
         # Just because we use GCC doesn't mean we suddenly get shared libraries
         # on systems that don't support them.
         _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         enable_shared=no
         ;;
   
       sysv4*MP*)
         if test -d /usr/nec; then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
         fi
         ;;
   
       hpux*)
         # PIC is the default for IA64 HP-UX, but not for PA HP-UX.
         if test "$host_cpu" != ia64; then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         fi
         ;;
   
       *)
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         ;;
       esac
     else
       # PORTME Check for flag to pass linker flags through the system compiler.
       case $host_os in
       aix*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         if test "$host_cpu" = ia64; then
           # AIX 5 now supports IA64 processor
           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         else
           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
         fi
         ;;
   
       cygwin* | mingw* | pw32* | os2*)
         # This hack is so that the source file can tell whether it is being
         # built for inclusion in a dll (and should export symbols for example).
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
         ;;
   
       hpux9* | hpux10* | hpux11*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         if test "$host_cpu" != ia64; then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
         fi
         # Is there a better lt_prog_compiler_static that works with the bundled CC?
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
         ;;
   
       irix5* | irix6*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         # PIC (with -KPIC) is the default.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
   
       newsos6)
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
   
       osf3* | osf4* | osf5*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         # All OSF/1 code is PIC.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
   
       sco3.2v5*)
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
         ;;
   
       solaris*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
   
       sunos4*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
   
       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
         if test "x$host_vendor" = xsni; then
           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD'
         else
           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         fi
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
   
       sysv4*MP*)
         if test -d /usr/nec ;then
           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         fi
         ;;
   
       uts4*)
         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
   
       *)
         _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         ;;
       esac
     fi
   ])
   AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
   
   #
   # Check to make sure the PIC flag actually works.
   #
   if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
     AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
       _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
       [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [],
       [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
        "" | " "*) ;;
        *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
        esac],
       [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
        _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
   fi
   case "$host_os" in
     # For platforms which do not support PIC, -DPIC is meaningless:
     *djgpp*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
     *)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC"
       ;;
   esac
   ])
   
   
   # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
   # ------------------------------------
   # See if the linker supports building shared libraries.
   AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
   [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
   ifelse([$1],[CXX],[
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
     case $host_os in
     aix4* | aix5*)
       # If we're using GNU nm, then we don't want the "-C" option.
       # -C means demangle to AIX nm, but means don't demangle with GNU nm
       if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
         _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
       else
         _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
       fi
       ;;
     cygwin* | mingw* | pw32*)
       _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
     ;;
     *)
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
     esac
   ],[
     runpath_var=
     _LT_AC_TAGVAR(allow_undefined_flag, $1)=
   
     _LT_AC_TAGVAR(archive_cmds, $1)=
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=
     _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
     _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
     _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
     _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
     _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
     _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
     _LT_AC_TAGVAR(always_export_symbols, $1)=no
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
     # include_expsyms should be a list of space-separated symbols to be *always*
     # included in the symbol list
     _LT_AC_TAGVAR(include_expsyms, $1)=
     # exclude_expsyms can be an egrep regular expression of symbols to exclude
     # it will be wrapped by ` (' and `)$', so one must not match beginning or
     # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
     # as well as any symbol that contains `d'.
     _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
     # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
     # platforms (ab)use it in PIC code, but their linkers get confused if
     # the symbol is explicitly referenced.  Since portable code cannot
     # rely on this symbol name, it's probably fine to never include it in
     # preloaded symbol tables.
     extract_expsyms_cmds=
   
     case $host_os in
     cygwin* | mingw* | pw32*)
       # FIXME: the MSVC++ port hasn't been tested in a loooong time
       # When not using gcc, we currently assume that we are using
       # Microsoft Visual C++.
       if test "$GCC" != yes; then
         with_gnu_ld=no
       fi
       ;;
     openbsd*)
       with_gnu_ld=no
       ;;
     esac
   
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
     if test "$with_gnu_ld" = yes; then
       # If archive_cmds runs LD, not CC, wlarc should be empty
       wlarc='${wl}'
   
       # See if GNU ld supports shared libraries.
       case $host_os in
       aix3* | aix4* | aix5*)
         # On AIX/PPC, the GNU linker is very broken
         if test "$host_cpu" != ia64; then
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           cat <<EOF 1>&2
   
   *** Warning: the GNU linker, at least up to release 2.9.1, is reported
   *** to be unable to reliably create shared libraries on AIX.
   *** Therefore, libtool is disabling shared libraries support.  If you
   *** really care for shared libraries, you may want to modify your PATH
   *** so that a non-GNU linker is found, and then restart.
   
   EOF
         fi
         ;;
   
       amigaos*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
   
         # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
         # that the semantics of dynamic libraries on AmigaOS, at least up
         # to version 4, is to share data among multiple programs linked
         # with the same dynamic library.  Since this doesn't match the
         # behavior of shared libraries on other platforms, we can't use
         # them.
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
         ;;
   
       beos*)
         if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
           # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
           # support --undefined.  This deserves some investigation.  FIXME
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         else
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
         fi
         ;;
   
       cygwin* | mingw* | pw32*)
         # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is
         # no search path for DLLs.
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
         _LT_AC_TAGVAR(always_export_symbols, $1)=yes
   
         extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
           sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
           test -f $output_objdir/impgen.exe || (cd $output_objdir && \
           if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
           else $CC -o impgen impgen.c ; fi)~
           $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
   
         _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
   
         # cygwin and mingw dlls have different entry points and sets of symbols
         # to exclude.
         # FIXME: what about values for MSVC?
         dll_entry=__cygwin_dll_entry@12
         dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
         case $host_os in
         mingw*)
           # mingw values
           dll_entry=_DllMainCRTStartup@12
           dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
           ;;
         esac
   
         # mingw and cygwin differ, and it's simplest to just exclude the union
         # of the two symbol sets.
         dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
   
         # recent cygwin and mingw systems supply a stub DllMain which the user
         # can override, but on older systems we have to supply one (in ltdll.c)
         if test "x$lt_cv_need_dllmain" = "xyes"; then
           ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
           ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
           test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
         else
           ltdll_obj=
           ltdll_cmds=
         fi
   
         # Extract the symbol export list from an `--export-all' def file,
         # then regenerate the def file from the symbol export list, so that
         # the compiled dll only exports the symbol export list.
         # Be careful not to strip the DATA tag left by newer dlltools.
         _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"'
           $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
           sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
   
         # If the export-symbols file already is a .def file (1st line
         # is EXPORTS), use it as is.
         # If DATA tags from a recent dlltool are present, honour them!
         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then
             cp $export_symbols $output_objdir/$soname-def;
           else
             echo EXPORTS > $output_objdir/$soname-def;
             _lt_hint=1;
             cat $export_symbols | while read symbol; do
              set dummy \$symbol;
              case \[$]# in
                2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
                *) echo "   \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
              esac;
              _lt_hint=`expr 1 + \$_lt_hint`;
             done;
           fi~
           '"$ltdll_cmds"'
           $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
           $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
           $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
           $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
           $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
         ;;
   
       netbsd*)
         if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
           wlarc=
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         fi
         ;;
   
       solaris* | sysv5*)
         if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
           cat <<EOF 1>&2
   
   *** Warning: The releases 2.8.* of the GNU linker cannot reliably
   *** create shared libraries on Solaris systems.  Therefore, libtool
   *** is disabling shared libraries support.  We urge you to upgrade GNU
   *** binutils to release 2.9.1 or newer.  Another option is to modify
   *** your PATH or compiler configuration so that the native linker is
   *** used, and then restart.
   
   EOF
         elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         else
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
         fi
         ;;
   
       sunos4*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
         wlarc=
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       *)
         if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         else
           _LT_AC_TAGVAR(ld_shlibs, $1)=no
         fi
         ;;
       esac
   
       if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
         runpath_var=LD_RUN_PATH
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         case $host_os in
         cygwin* | mingw* | pw32*)
           # dlltool doesn't understand --whole-archive et. al.
           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
           ;;
         *)
           # ancient GNU ld didn't support --whole-archive et. al.
           if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
           else
           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
           fi
           ;;
         esac
       fi
     else
       # PORTME fill in a description of your system's linker (not GNU ld)
       case $host_os in
       aix3*)
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
         _LT_AC_TAGVAR(always_export_symbols, $1)=yes
         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
         # Note: this linker hardcodes the directories in LIBPATH if there
         # are no directories specified by -L.
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         if test "$GCC" = yes && test -z "$link_static_flag"; then
           # Neither direct hardcoding nor static linking is supported with a
           # broken collect2.
           _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
         fi
         ;;
   
       aix4* | aix5*)
         if test "$host_cpu" = ia64; then
           # On IA64, the linker does run time linking by default, so we don't
           # have to do anything special.
           aix_use_runtimelinking=no
           exp_sym_flag='-Bexport'
           no_entry_flag=""
         else
           # If we're using GNU nm, then we don't want the "-C" option.
           # -C means demangle to AIX nm, but means don't demangle with GNU nm
           if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
             _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
           else
             _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
           fi
           aix_use_runtimelinking=no
   
           # Test if we are trying to use run time linking or normal
           # AIX style linking. If -brtl is somewhere in LDFLAGS, we
           # need to do runtime linking.
           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
             for ld_flag in $LDFLAGS; do
             if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
               aix_use_runtimelinking=yes
               break
             fi
             done
           esac
   
           exp_sym_flag='-bexport'
           no_entry_flag='-bnoentry'
         fi
   
         # When large executables or shared objects are built, AIX ld can
         # have problems creating the table of contents.  If linking a library
         # or program results in "error TOC overflow" add -mminimal-toc to
         # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
         # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
   
         _LT_AC_TAGVAR(archive_cmds, $1)=''
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
         _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
   
         if test "$GCC" = yes; then
           case $host_os in aix4.[012]|aix4.[012].*)
           # We only want to do this on AIX 4.2 and lower, the check
           # below for broken collect2 doesn't work under 4.3+
             collect2name=`${CC} -print-prog-name=collect2`
             if test -f "$collect2name" && \
              strings "$collect2name" | grep resolve_lib_name >/dev/null
             then
             # We have reworked collect2
             _LT_AC_TAGVAR(hardcode_direct, $1)=yes
             else
             # We have old collect2
             _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
             # It fails to find uninstalled libraries when the uninstalled
             # path is not listed in the libpath.  Setting hardcode_minus_L
             # to unsupported forces relinking
             _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
             _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
             fi
           esac
           shared_flag='-shared'
         else
           # not using gcc
           if test "$host_cpu" = ia64; then
           # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
           # chokes on -Wl,-G. The following line is correct:
             shared_flag='-G'
           else
           if test "$aix_use_runtimelinking" = yes; then
               shared_flag='${wl}-G'
             else
               shared_flag='${wl}-bM:SRE'
           fi
           fi
         fi
   
         # It seems that -bexpall does not export symbols beginning with
         # underscore (_), so it is better to generate a list of symbols to export.
         _LT_AC_TAGVAR(always_export_symbols, $1)=yes
         if test "$aix_use_runtimelinking" = yes; then
           # Warning - without using the other runtime loading flags (-brtl),
           # -berok will link without error, but may produce a broken library.
           _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
          # Determine the default libpath from the value encoded in an empty executable.
          _LT_AC_SYS_LIBPATH_AIX
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
          else
           if test "$host_cpu" = ia64; then
             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
             _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
             _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
           else
            # Determine the default libpath from the value encoded in an empty executable.
            _LT_AC_SYS_LIBPATH_AIX
            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
             # Warning - without using the other run time loading flags,
             # -berok will link without error, but may produce a broken library.
             _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
             _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
             # -bexpall does not export symbols beginning with underscore (_)
             _LT_AC_TAGVAR(always_export_symbols, $1)=yes
             # Exported symbols can be pulled into shared objects from archives
             _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
             _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
             # This is similar to how AIX traditionally builds it's shared libraries.
             _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
           fi
         fi
         ;;
   
       amigaos*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         # see comment about different semantics on the GNU ld section
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
         ;;
   
       bsdi4*)
         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
         ;;
   
       cygwin* | mingw* | pw32*)
         # When not using gcc, we currently assume that we are using
         # Microsoft Visual C++.
         # hardcode_libdir_flag_spec is actually meaningless, as there is
         # no search path for DLLs.
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
         # Tell ltmain to make .lib files, not .a files.
         libext=lib
         # FIXME: Setting linknames here is a bad hack.
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
         # The linker will automatically build a .lib file if we build a DLL.
         _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
         # FIXME: Should let the user specify the lib program.
         _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
         fix_srcfile_path='`cygpath -w "$srcfile"`'
         ;;
   
       darwin* | rhapsody*)
         case "$host_os" in
         rhapsody* | darwin1.[[012]])
           _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
           ;;
         *) # Darwin 1.3 on
           _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
           ;;
         esac
   
         # FIXME: Relying on posixy $() will cause problems for
         #        cross-compilation, but unfortunately the echo tests do not
         #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
         #        `"' quotes if we put them in here... so don't!
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
         # We need to add '_' to the symbols in $export_symbols first
         #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
         ;;
   
       dgux*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       freebsd1*)
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
         ;;
   
       # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
       # support.  Future versions do this automatically, but an explicit c++rt0.o
       # does not break anything, and helps significantly (at the cost of a little
       # extra space).
       freebsd2.2*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       # Unfortunately, older versions of FreeBSD 2 do not have this feature.
       freebsd2*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
       freebsd*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       hpux9* | hpux10* | hpux11*)
         if test "$GCC" = yes; then
           case $host_os in
             hpux9*)
               _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
               ;;
             *)
               if test "$host_cpu" = ia64; then
                 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
               else
                 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
               fi
               ;;
           esac
         else
           case $host_os in
             hpux9*)
               _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
               ;;
             *)
               if test "$host_cpu" = ia64; then
                 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
               else
                 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
               fi
               ;;
           esac
         fi
         if test "$host_cpu" = ia64; then
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
           _LT_AC_TAGVAR(hardcode_direct, $1)=no
           _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         else
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
           _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         fi
         # hardcode_minus_L: Not really in the search PATH,
         # but as the default location of the library.
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
   
       irix5* | irix6*)
         if test "$GCC" = yes; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
         fi
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
         _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
         ;;
   
       netbsd*)
         if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
         fi
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       newsos6)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       openbsd*)
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
   
         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
           _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         else
          case $host_os in
            openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
              _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
              _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
              ;;
            *)
              _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
              _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
              ;;
          esac
         fi
         ;;
   
       os2*)
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
         _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
         _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
         ;;
   
       osf3*)
         if test "$GCC" = yes; then
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         else
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
         fi
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
         ;;
   
       osf4* | osf5*)      # as osf3* with the addition of -msym flag
         if test "$GCC" = yes; then
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         else
           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
           $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
   
           # Both c and cxx compiler support -rpath directly
           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
         fi
         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
         ;;
   
       sco3.2v5*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
         runpath_var=LD_RUN_PATH
         hardcode_runpath_var=yes
         ;;
   
       solaris*)
         _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
         if test "$GCC" = yes; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
             $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
           $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
         fi
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         case $host_os in
         solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
         *) # Supported since Solaris 2.6 (maybe 2.5.1?)
           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
         esac
         _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
         ;;
   
       sunos4*)
         if test "x$host_vendor" = xsequent; then
           # Use $CC to link under sequent, because it throws in some extra .o
           # files that make .init and .fini sections work.
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
         fi
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       sysv4)
         if test "x$host_vendor" = xsni; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
           _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
           _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
         fi
         runpath_var='LD_RUN_PATH'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       sysv4.3*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
         ;;
   
       sysv4*MP*)
         if test -d /usr/nec; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
           _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
           runpath_var=LD_RUN_PATH
           hardcode_runpath_var=yes
           _LT_AC_TAGVAR(ld_shlibs, $1)=yes
         fi
         ;;
   
       sysv4.2uw2*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
         _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         hardcode_runpath_var=yes
         runpath_var=LD_RUN_PATH
         ;;
   
      sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[[78]]* | unixware7*)
         _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
         if test "$GCC" = yes; then
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
         else
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
         fi
         runpath_var='LD_RUN_PATH'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       sysv5*)
         _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
         # $CC -shared without GNU ld will not create a library from C++
         # object files and a static libstdc++, better avoid it by now
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
                   $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         runpath_var='LD_RUN_PATH'
         ;;
   
       uts4*)
         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
         ;;
   
       *)
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
         ;;
       esac
     fi
   ])
   AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
   test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
   
   variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
   if test "$GCC" = yes; then
     variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
   fi
   
   #
   # Do we need to explicitly link libc?
   #
   _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
   if test "$enable_shared" = yes && test "$GCC" = yes; then
     case $_LT_AC_TAGVAR(archive_cmds, $1) in
     *'~'*)
       # FIXME: we may have to deal with multi-command sequences.
       ;;
     '$CC '*)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
       $rm conftest*
       echo 'static int dummy;' > conftest.$ac_ext
   
       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
         soname=conftest
         lib=conftest
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
         compiler_flags=-v
         linker_flags=-v
         verstring=
         output_objdir=.
         libname=conftest
         lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=
         if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
         then
           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
         else
           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
         fi
         _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
       else
         cat conftest.err 1>&5
       fi
       $rm conftest*
       AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
       ;;
     esac
   fi
   ])# AC_LIBTOOL_PROG_LD_SHLIBS
   
   
   # _LT_AC_FILE_LTDLL_C
   # -------------------
   # Be careful that the start marker always follows a newline.
   AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
   # /* ltdll.c starts here */
   # #define WIN32_LEAN_AND_MEAN
   # #include <windows.h>
   # #undef WIN32_LEAN_AND_MEAN
   # #include <stdio.h>
   #
   # #ifndef __CYGWIN__
   # #  ifdef __CYGWIN32__
   # #    define __CYGWIN__ __CYGWIN32__
   # #  endif
   # #endif
   #
   # #ifdef __cplusplus
   # extern "C" {
   # #endif
   # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
   # #ifdef __cplusplus
   # }
   # #endif
   #
   # #ifdef __CYGWIN__
   # #include <cygwin/cygwin_dll.h>
   # DECLARE_CYGWIN_DLL( DllMain );
   # #endif
   # HINSTANCE __hDllInstance_base;
   #
   # BOOL APIENTRY
   # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
   # {
   #   __hDllInstance_base = hInst;
   #   return TRUE;
   # }
   # /* ltdll.c ends here */
   ])# _LT_AC_FILE_LTDLL_C
   
   
   # _LT_AC_FILE_IMPGEN_C
   # --------------------
   # Be careful that the start marker always follows a newline.
   AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [
   # /* impgen.c starts here */
   # /*   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
   #
   #  This file is part of GNU libtool.
   #
   #  This program is free software; you can redistribute it and/or modify
   #  it under the terms of the GNU General Public License as published by
   #  the Free Software Foundation; either version 2 of the License, or
   #  (at your option) any later version.
   #
   #  This program is distributed in the hope that it will be useful,
   #  but WITHOUT ANY WARRANTY; without even the implied warranty of
   #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   #  GNU General Public License for more details.
   #
   #  You should have received a copy of the GNU General Public License
   #  along with this program; if not, write to the Free Software
   #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   #  */
   #
   # #include <stdio.h>            /* for printf() */
   # #include <unistd.h>           /* for open(), lseek(), read() */
   # #include <fcntl.h>            /* for O_RDONLY, O_BINARY */
   # #include <string.h>           /* for strdup() */
   #
   # /* O_BINARY isn't required (or even defined sometimes) under Unix */
   # #ifndef O_BINARY
   # #define O_BINARY 0
   # #endif
   #
   # static unsigned int
   # pe_get16 (fd, offset)
   #      int fd;
   #      int offset;
   # {
   #   unsigned char b[2];
   #   lseek (fd, offset, SEEK_SET);
   #   read (fd, b, 2);
   #   return b[0] + (b[1]<<8);
   # }
   #
   # static unsigned int
   # pe_get32 (fd, offset)
   #     int fd;
   #     int offset;
   # {
   #   unsigned char b[4];
   #   lseek (fd, offset, SEEK_SET);
   #   read (fd, b, 4);
   #   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
   # }
   #
   # static unsigned int
   # pe_as32 (ptr)
   #      void *ptr;
   # {
   #   unsigned char *b = ptr;
   #   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
   # }
   #
   # int
   # main (argc, argv)
   #     int argc;
   #     char *argv[];
   # {
   #     int dll;
   #     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
   #     unsigned long export_rva, export_size, nsections, secptr, expptr;
   #     unsigned long name_rvas, nexp;
   #     unsigned char *expdata, *erva;
   #     char *filename, *dll_name;
   #
   #     filename = argv[1];
   #
   #     dll = open(filename, O_RDONLY|O_BINARY);
   #     if (dll < 1)
   #       return 1;
   #
   #     dll_name = filename;
   #
   #     for (i=0; filename[i]; i++)
   #       if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
   #           dll_name = filename + i +1;
   #
   #     pe_header_offset = pe_get32 (dll, 0x3c);
   #     opthdr_ofs = pe_header_offset + 4 + 20;
   #     num_entries = pe_get32 (dll, opthdr_ofs + 92);
   #
   #     if (num_entries < 1) /* no exports */
   #       return 1;
   #
   #     export_rva = pe_get32 (dll, opthdr_ofs + 96);
   #     export_size = pe_get32 (dll, opthdr_ofs + 100);
   #     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
   #     secptr = (pe_header_offset + 4 + 20 +
   #             pe_get16 (dll, pe_header_offset + 4 + 16));
   #
   #     expptr = 0;
   #     for (i = 0; i < nsections; i++)
   #     {
   #       char sname[8];
   #       unsigned long secptr1 = secptr + 40 * i;
   #       unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
   #       unsigned long vsize = pe_get32 (dll, secptr1 + 16);
   #       unsigned long fptr = pe_get32 (dll, secptr1 + 20);
   #       lseek(dll, secptr1, SEEK_SET);
   #       read(dll, sname, 8);
   #       if (vaddr <= export_rva && vaddr+vsize > export_rva)
   #       {
   #           expptr = fptr + (export_rva - vaddr);
   #           if (export_rva + export_size > vaddr + vsize)
   #               export_size = vsize - (export_rva - vaddr);
   #           break;
   #       }
   #     }
   #
   #     expdata = (unsigned char*)malloc(export_size);
   #     lseek (dll, expptr, SEEK_SET);
   #     read (dll, expdata, export_size);
   #     erva = expdata - export_rva;
   #
   #     nexp = pe_as32 (expdata+24);
   #     name_rvas = pe_as32 (expdata+32);
   #
   #     printf ("EXPORTS\n");
   #     for (i = 0; i<nexp; i++)
   #     {
   #       unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
   #       printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
   #     }
   #
   #     return 0;
   # }
   # /* impgen.c ends here */
   ])# _LT_AC_FILE_IMPGEN_C
   
   # _LT_AC_TAGVAR(VARNAME, [TAGNAME])
   # ---------------------------------
   AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
   
   
   # old names
   AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
   AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
   AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
   AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
   AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
   AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
   AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
   
   # This is just to silence aclocal about the macro not being used
   ifelse([AC_DISABLE_FAST_INSTALL])
   
   AC_DEFUN([LT_AC_PROG_GCJ],
   [AC_CHECK_TOOL(GCJ, gcj, no)
     test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
     AC_SUBST(GCJFLAGS)
   ])
   
   AC_DEFUN([LT_AC_PROG_RC],
   [AC_CHECK_TOOL(RC, windres, no)
   ])
   
   
   AC_DEFUN(AC_MY_LIBS,
   [
   if ` test "$1" `
   then
     AC_MSG_CHECKING(gmp library)
           if  test -r "$1/lib$2.a"
           then
             LDADD="$LDADD $1/lib$2.a"
           else
              AC_MSG_ERROR($2 not found)
           fi
     AC_MSG_RESULT(yes)
   else
     AC_CHECK_LIB($2, main, , AC_MSG_ERROR($2 not found))
   fi
   ]
   )
   
   AC_DEFUN(AC_MY_HEADERS,
   [
   if  test "$1"
   then
     AC_CHECK_HEADER($1/$2, INCLUDES="$INCLUDES -I$1",AC_MSG_ERROR(echo $2 not found in $1))
   else
     AC_CHECK_HEADER($2,,    AC_MSG_ERROR($2 not found))
   fi
   ])
   
   AC_DEFUN(AC_CHECK_OS,
   [
   AC_CACHE_CHECK([OS type], mpfr_cv_os_type, [
     mpfr_cv_os_type=`uname -s`
   ])
   OS_TYPE=$mpfr_cv_os_type
   ])
   
   AC_DEFUN(AC_CHECK_MACHTYPE,
   [
   AC_CACHE_CHECK([Mach type], mpfr_cv_mach_type, [
     mpfr_cv_mach_type=`uname -m`
   ])
   MACHTYPE=$mpfr_cv_mach_type
   ])
   
   dnl ------------------------------------------------------------
   
   AC_DEFUN(MPFR_CONFIGS,
   [
   case $host in
           *-*-solaris*)
                   LM9X="-lm9x"
                   ;;
   esac
   
   AC_REPLACE_FUNCS(strcasecmp)
   
   dnl Check for IEEE-754 switches on Alpha
   case $host in
   alpha*-*-*)
     saved_CFLAGS="$CFLAGS"
     AC_CACHE_CHECK([for IEEE-754 switches], mpfr_cv_ieee_switches, [
     if test -n "$GCC"; then
       mpfr_cv_ieee_switches="-mfp-rounding-mode=d -mieee-with-inexact"
     else
       mpfr_cv_ieee_switches="-fprm d -ieee_with_inexact"
     fi
     CFLAGS="$CFLAGS $mpfr_cv_ieee_switches"
     AC_TRY_COMPILE(,,, mpfr_cv_ieee_switches="none")
     ])
     if test "$mpfr_cv_ieee_switches" = "none"; then
       CFLAGS="$saved_CFLAGS"
     else
       CFLAGS="$saved_CFLAGS $mpfr_cv_ieee_switches"
     fi
   esac
   
   AC_CHECK_HEADERS(fpu_control.h)
   
   dnl Check for fesetround
   AC_CACHE_CHECK([for fesetround], mpfr_cv_have_fesetround, [
   saved_LIBS="$LIBS"
   LIBS="$LIBS $LM9X"
   AC_TRY_LINK([#include <fenv.h>], [fesetround(FE_TONEAREST);],
     mpfr_cv_have_fesetround=yes, mpfr_cv_have_fesetround=no)
   LIBS="$saved_LIBS"
   ])
   if test "$mpfr_cv_have_fesetround" = "yes"; then
     LIBS="$LIBS $LM9X"
     AC_DEFINE(MPFR_HAVE_FESETROUND,1,[Define if you have the `fesetround' function via the <fenv.h> header file.])
   fi
   
   dnl Check random functions
   AC_CHECK_FUNCS(lrand48)
   
   dnl Check whether 0/0, 1/0, -1/0, sqrt(-1) are valid expressions
   AC_CACHE_CHECK([for valid NaN], mpfr_cv_valid_nan, [
   AC_TRY_RUN([
   #include <math.h>
   int main()
   {
     double x = (0.0/0.0) + sqrt(-1.0);
     return x == 1.0/0.0;
   }
   ], mpfr_cv_valid_nan=yes, mpfr_cv_valid_nan=no, mpfr_cv_valid_nan=no)
   ])
   if test "$mpfr_cv_valid_nan" = "yes"; then
      AC_DEFINE(HAVE_INFS,1,[Define if 0/0, 1/0, -1/0 and sqrt(-1) work to generate NaN/infinities.])
   fi
   
   dnl Check for gcc float-conversion bug; if need be, -ffloat-store is used to
   dnl force the conversion to the destination type when a value is stored to
   dnl a variable (see ISO C99 standard 5.1.2.3#13, 6.3.1.5#2, 6.3.1.8#2). This
   dnl is important concerning the exponent range. Note that this doesn't solve
   dnl the double-rounding problem (x86 processors still have to be set to the
   dnl IEEE-754 compatible rounding mode).
   if test -n "$GCC"; then
     AC_CACHE_CHECK([for gcc float-conversion bug], mpfr_cv_gcc_floatconv_bug, [
     AC_TRY_RUN([
   #include <float.h>
   #ifdef MPFR_HAVE_FESETROUND
   #include <fenv.h>
   #endif
   int main()
   {
     double x = 0.5;
     int i;
     for (i = 1; i <= 11; i++)
       x *= x;
     if (x != 0)
       return 1;
   #ifdef MPFR_HAVE_FESETROUND
     /* Useful test for the G4 PowerPC */
     fesetround(FE_TOWARDZERO);
     x = DBL_MAX;
     x *= 2.0;
     if (x != DBL_MAX)
       return 1;
   #endif
     return 0;
   }
     ], [mpfr_cv_gcc_floatconv_bug="no"],
        [mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store"],
        [mpfr_cv_gcc_floatconv_bug="cannot test, use -ffloat-store"])
     ])
     if test "$mpfr_cv_gcc_floatconv_bug" != "no"; then
       CFLAGS="$CFLAGS -ffloat-store"
     fi
   fi
   
   dnl Check if denormalized numbers are supported
   AC_CACHE_CHECK([for denormalized numbers], mpfr_cv_have_denorms, [
   AC_TRY_RUN([
   #include <math.h>
   #include <stdio.h>
   int main()
   {
     double x = 2.22507385850720138309e-308;
     fprintf (stderr, "%e\n", x / 2.0);
     return 2.0 * (x / 2.0) != x;
   }
   ], mpfr_cv_have_denorms=yes, mpfr_cv_have_denorms=no, mpfr_cv_have_denorms=no)
   ])
   if test "$mpfr_cv_have_denorms" = "yes"; then
     AC_DEFINE(HAVE_DENORMS,1,[Define if denormalized floats work.])
   fi
   
   ])
   
   # Do all the work for Automake.  This macro actually does too much --
   # some checks are only needed if your package does certain things.
   # But this isn't really a big deal.
   
   # serial 5
   
   # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
   # written in clear, in which case automake, when reading aclocal.m4,
   # will think it sees a *use*, and therefore will trigger all it's
   # C support machinery.  Also note that it means that autoscan, seeing
   # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
   
   
   # We require 2.13 because we rely on SHELL being computed by configure.
   AC_PREREQ([2.13])
   
   # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
   # -----------------------------------------------------------
   # If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
   # The purpose of this macro is to provide the user with a means to
   # check macros which are provided without letting her know how the
   # information is coded.
   # If this macro is not defined by Autoconf, define it here.
   ifdef([AC_PROVIDE_IFELSE],
         [],
         [define([AC_PROVIDE_IFELSE],
                 [ifdef([AC_PROVIDE_$1],
                        [$2], [$3])])])
   
   
   # AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
   # ----------------------------------------------
   AC_DEFUN([AM_INIT_AUTOMAKE],
   [AC_REQUIRE([AC_PROG_INSTALL])dnl
   # test to see if srcdir already configured
   if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
      test -f $srcdir/config.status; then
     AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
   fi
   
   # Define the identity of the package.
   PACKAGE=$1
   AC_SUBST(PACKAGE)dnl
   VERSION=$2
   AC_SUBST(VERSION)dnl
   ifelse([$3],,
   [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
   AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
   
   # Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
   # the ones we care about.
   ifdef([m4_pattern_allow],
         [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
   
   # Autoconf 2.50 always computes EXEEXT.  However we need to be
   # compatible with 2.13, for now.  So we always define EXEEXT, but we
   # don't compute it.
   AC_SUBST(EXEEXT)
   # Similar for OBJEXT -- only we only use OBJEXT if the user actually
   # requests that it be used.  This is a bit dumb.
   : ${OBJEXT=o}
   AC_SUBST(OBJEXT)
   
   # Some tools Automake needs.
   AC_REQUIRE([AM_SANITY_CHECK])dnl
   AC_REQUIRE([AC_ARG_PROGRAM])dnl
   AM_MISSING_PROG(ACLOCAL, aclocal)
   AM_MISSING_PROG(AUTOCONF, autoconf)
   AM_MISSING_PROG(AUTOMAKE, automake)
   AM_MISSING_PROG(AUTOHEADER, autoheader)
   AM_MISSING_PROG(MAKEINFO, makeinfo)
   AM_MISSING_PROG(AMTAR, tar)
   AM_PROG_INSTALL_SH
   AM_PROG_INSTALL_STRIP
   # We need awk for the "check" target.  The system "awk" is bad on
   # some platforms.
   AC_REQUIRE([AC_PROG_AWK])dnl
   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
   AC_REQUIRE([AM_DEP_TRACK])dnl
   AC_REQUIRE([AM_SET_DEPDIR])dnl
   AC_PROVIDE_IFELSE([AC_PROG_][CC],
                     [_AM_DEPENDENCIES(CC)],
                     [define([AC_PROG_][CC],
                             defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
   AC_PROVIDE_IFELSE([AC_PROG_][CXX],
                     [_AM_DEPENDENCIES(CXX)],
                     [define([AC_PROG_][CXX],
                             defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
   ])
   
   #
   # Check to make sure that the build environment is sane.
   #
   
   # serial 3
   
   # AM_SANITY_CHECK
   # ---------------
   AC_DEFUN([AM_SANITY_CHECK],
   [AC_MSG_CHECKING([whether build environment is sane])
   # Just in case
   sleep 1
   echo timestamp > conftest.file
   # Do `set' in a subshell so we don't clobber the current shell's
   # arguments.  Must try -L first in case configure is actually a
   # symlink; some systems play weird games with the mod time of symlinks
   # (eg FreeBSD returns the mod time of the symlink's containing
   # directory).
   if (
      set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
      if test "$[*]" = "X"; then
         # -L didn't work.
         set X `ls -t $srcdir/configure conftest.file`
      fi
      rm -f conftest.file
      if test "$[*]" != "X $srcdir/configure conftest.file" \
         && test "$[*]" != "X conftest.file $srcdir/configure"; then
   
         # If neither matched, then we have a broken ls.  This can happen
         # if, for instance, CONFIG_SHELL is bash and it inherits a
         # broken ls alias from the environment.  This has actually
         # happened.  Such a system could not be considered "sane".
         AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
   alias in your environment])
      fi
   
      test "$[2]" = conftest.file
      )
   then
      # Ok.
      :
   else
      AC_MSG_ERROR([newly created file is older than distributed files!
   Check your system clock])
   fi
   AC_MSG_RESULT(yes)])
   
   
   # serial 2
   
   # AM_MISSING_PROG(NAME, PROGRAM)
   # ------------------------------
   AC_DEFUN([AM_MISSING_PROG],
   [AC_REQUIRE([AM_MISSING_HAS_RUN])
   $1=${$1-"${am_missing_run}$2"}
   AC_SUBST($1)])
   
   
   # AM_MISSING_HAS_RUN
   # ------------------
   # Define MISSING if not defined so far and test if it supports --run.
   # If it does, set am_missing_run to use it, otherwise, to nothing.
   AC_DEFUN([AM_MISSING_HAS_RUN],
   [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
   test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
   # Use eval to expand $SHELL
   if eval "$MISSING --run true"; then
     am_missing_run="$MISSING --run "
   else
     am_missing_run=
     am_backtick='`'
     AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
   fi
   ])
   
   # AM_AUX_DIR_EXPAND
   
   # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
   # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
   # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
   #
   # Of course, Automake must honor this variable whenever it calls a
   # tool from the auxiliary directory.  The problem is that $srcdir (and
   # therefore $ac_aux_dir as well) can be either absolute or relative,
   # depending on how configure is run.  This is pretty annoying, since
   # it makes $ac_aux_dir quite unusable in subdirectories: in the top
   # source directory, any form will work fine, but in subdirectories a
   # relative path needs to be adjusted first.
   #
   # $ac_aux_dir/missing
   #    fails when called from a subdirectory if $ac_aux_dir is relative
   # $top_srcdir/$ac_aux_dir/missing
   #    fails if $ac_aux_dir is absolute,
   #    fails when called from a subdirectory in a VPATH build with
   #          a relative $ac_aux_dir
   #
   # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
   # are both prefixed by $srcdir.  In an in-source build this is usually
   # harmless because $srcdir is `.', but things will broke when you
   # start a VPATH build or use an absolute $srcdir.
   #
   # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
   # iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
   #   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
   # and then we would define $MISSING as
   #   MISSING="\${SHELL} $am_aux_dir/missing"
   # This will work as long as MISSING is not called from configure, because
   # unfortunately $(top_srcdir) has no meaning in configure.
   # However there are other variables, like CC, which are often used in
   # configure, and could therefore not use this "fixed" $ac_aux_dir.
   #
   # Another solution, used here, is to always expand $ac_aux_dir to an
   # absolute PATH.  The drawback is that using absolute paths prevent a
   # configured tree to be moved without reconfiguration.
   
   AC_DEFUN([AM_AUX_DIR_EXPAND], [
   # expand $ac_aux_dir to an absolute path
   am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
   ])
   
   # AM_PROG_INSTALL_SH
   # ------------------
   # Define $install_sh.
   AC_DEFUN([AM_PROG_INSTALL_SH],
   [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
   install_sh=${install_sh-"$am_aux_dir/install-sh"}
   AC_SUBST(install_sh)])
   
   # One issue with vendor `install' (even GNU) is that you can't
   # specify the program used to strip binaries.  This is especially
   # annoying in cross-compiling environments, where the build's strip
   # is unlikely to handle the host's binaries.
   # Fortunately install-sh will honor a STRIPPROG variable, so we
   # always use install-sh in `make install-strip', and initialize
   # STRIPPROG with the value of the STRIP variable (set by the user).
   AC_DEFUN([AM_PROG_INSTALL_STRIP],
   [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
   INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
   AC_SUBST([INSTALL_STRIP_PROGRAM])])
   
   # serial 4                                              -*- Autoconf -*-
   
   
   
   # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
   # written in clear, in which case automake, when reading aclocal.m4,
   # will think it sees a *use*, and therefore will trigger all it's
   # C support machinery.  Also note that it means that autoscan, seeing
   # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
   
   
   
   # _AM_DEPENDENCIES(NAME)
   # ---------------------
   # See how the compiler implements dependency checking.
   # NAME is "CC", "CXX" or "OBJC".
   # We try a few techniques and use that to set a single cache variable.
   #
   # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
   # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
   # dependency, and given that the user is not expected to run this macro,
   # just rely on AC_PROG_CC.
   AC_DEFUN([_AM_DEPENDENCIES],
   [AC_REQUIRE([AM_SET_DEPDIR])dnl
   AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
   AC_REQUIRE([AM_MAKE_INCLUDE])dnl
   AC_REQUIRE([AM_DEP_TRACK])dnl
   
   ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
          [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
          [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
          [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                      [depcc="$$1"   am_compiler_list=])
   
   AC_CACHE_CHECK([dependency style of $depcc],
                  [am_cv_$1_dependencies_compiler_type],
   [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
     # We make a subdir and do the tests there.  Otherwise we can end up
     # making bogus files that we don't know about and never remove.  For
     # instance it was reported that on HP-UX the gcc test will end up
     # making a dummy file named `D' -- because `-MD' means `put the output
     # in D'.
     mkdir conftest.dir
     # Copy depcomp to subdir because otherwise we won't find it if we're
     # using a relative directory.
     cp "$am_depcomp" conftest.dir
     cd conftest.dir
   
     am_cv_$1_dependencies_compiler_type=none
     if test "$am_compiler_list" = ""; then
        am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
     fi
     for depmode in $am_compiler_list; do
       # We need to recreate these files for each test, as the compiler may
       # overwrite some of them when testing with obscure command lines.
       # This happens at least with the AIX C compiler.
       echo '#include "conftest.h"' > conftest.c
       echo 'int i;' > conftest.h
       echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
   
       case $depmode in
       nosideeffect)
         # after this tag, mechanisms are not by side-effect, so they'll
         # only be used when explicitly requested
         if test "x$enable_dependency_tracking" = xyes; then
           continue
         else
           break
         fi
         ;;
       none) break ;;
       esac
       # We check with `-c' and `-o' for the sake of the "dashmstdout"
       # mode.  It turns out that the SunPro C++ compiler does not properly
       # handle `-M -o', and we need to detect this.
       if depmode=$depmode \
          source=conftest.c object=conftest.o \
          depfile=conftest.Po tmpdepfile=conftest.TPo \
          $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
          grep conftest.h conftest.Po > /dev/null 2>&1 &&
          ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
         am_cv_$1_dependencies_compiler_type=$depmode
         break
       fi
     done
   
     cd ..
     rm -rf conftest.dir
   else
     am_cv_$1_dependencies_compiler_type=none
   fi
   ])
   $1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
   AC_SUBST([$1DEPMODE])
   ])
   
   
   # AM_SET_DEPDIR
   # -------------
   # Choose a directory name for dependency files.
   # This macro is AC_REQUIREd in _AM_DEPENDENCIES
   AC_DEFUN([AM_SET_DEPDIR],
   [rm -f .deps 2>/dev/null
   mkdir .deps 2>/dev/null
   if test -d .deps; then
     DEPDIR=.deps
   else
     # MS-DOS does not allow filenames that begin with a dot.
     DEPDIR=_deps
   fi
   rmdir .deps 2>/dev/null
   AC_SUBST(DEPDIR)
   ])
   
   
   # AM_DEP_TRACK
   # ------------
   AC_DEFUN([AM_DEP_TRACK],
   [AC_ARG_ENABLE(dependency-tracking,
   [  --disable-dependency-tracking Speeds up one-time builds
     --enable-dependency-tracking  Do not reject slow dependency extractors])
   if test "x$enable_dependency_tracking" != xno; then
     am_depcomp="$ac_aux_dir/depcomp"
     AMDEPBACKSLASH='\'
   fi
   AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
   pushdef([subst], defn([AC_SUBST]))
   subst(AMDEPBACKSLASH)
   popdef([subst])
   ])
   
   # Generate code to set up dependency tracking.
   # This macro should only be invoked once -- use via AC_REQUIRE.
   # Usage:
   # AM_OUTPUT_DEPENDENCY_COMMANDS
   
   #
   # This code is only required when automatic dependency tracking
   # is enabled.  FIXME.  This creates each `.P' file that we will
   # need in order to bootstrap the dependency handling code.
   AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
   AC_OUTPUT_COMMANDS([
   test x"$AMDEP_TRUE" != x"" ||
   for mf in $CONFIG_FILES; do
     case "$mf" in
     Makefile) dirpart=.;;
     */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
     *) continue;;
     esac
     grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
     # Extract the definition of DEP_FILES from the Makefile without
     # running `make'.
     DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
     test -z "$DEPDIR" && continue
     # When using ansi2knr, U may be empty or an underscore; expand it
     U=`sed -n -e '/^U = / s///p' < "$mf"`
     test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
     # We invoke sed twice because it is the simplest approach to
     # changing $(DEPDIR) to its actual value in the expansion.
     for file in `sed -n -e '
       /^DEP_FILES = .*\\\\$/ {
         s/^DEP_FILES = //
         :loop
           s/\\\\$//
           p
           n
           /\\\\$/ b loop
         p
       }
       /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
          sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
       $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
       # echo "creating $dirpart/$file"
       echo '# dummy' > "$dirpart/$file"
     done
   done
   ], [AMDEP_TRUE="$AMDEP_TRUE"
   ac_aux_dir="$ac_aux_dir"])])
   
   # AM_MAKE_INCLUDE()
   # -----------------
   # Check to see how make treats includes.
   AC_DEFUN([AM_MAKE_INCLUDE],
   [am_make=${MAKE-make}
   cat > confinc << 'END'
   doit:
           @echo done
   END
   # If we don't find an include directive, just comment out the code.
   AC_MSG_CHECKING([for style of include used by $am_make])
   am__include='#'
   am__quote=
   _am_result=none
   # First try GNU make style include.
   echo "include confinc" > confmf
   # We grep out `Entering directory' and `Leaving directory'
   # messages which can occur if `w' ends up in MAKEFLAGS.
   # In particular we don't look at `^make:' because GNU make might
   # be invoked under some other name (usually "gmake"), in which
   # case it prints its new name instead of `make'.
   if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
      am__include=include
      am__quote=
      _am_result=GNU
   fi
   # Now try BSD make style include.
   if test "$am__include" = "#"; then
      echo '.include "confinc"' > confmf
      if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
         am__include=.include
         am__quote='"'
         _am_result=BSD
      fi
   fi
   AC_SUBST(am__include)
   AC_SUBST(am__quote)
   AC_MSG_RESULT($_am_result)
   rm -f confinc confmf
   ])
   
   # serial 3
   
   # AM_CONDITIONAL(NAME, SHELL-CONDITION)
   # -------------------------------------
   # Define a conditional.
   #
   # FIXME: Once using 2.50, use this:
   # m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
   AC_DEFUN([AM_CONDITIONAL],
   [ifelse([$1], [TRUE],
           [errprint(__file__:__line__: [$0: invalid condition: $1
   ])dnl
   m4exit(1)])dnl
   ifelse([$1], [FALSE],
          [errprint(__file__:__line__: [$0: invalid condition: $1
   ])dnl
   m4exit(1)])dnl
   AC_SUBST([$1_TRUE])
   AC_SUBST([$1_FALSE])
   if $2; then
     $1_TRUE=
     $1_FALSE='#'
   else
     $1_TRUE='#'
     $1_FALSE=
   fi])
   
   # Like AC_CONFIG_HEADER, but automatically create stamp file.
   
   # serial 3
   
   # When config.status generates a header, we must update the stamp-h file.
   # This file resides in the same directory as the config header
   # that is generated.  We must strip everything past the first ":",
   # and everything past the last "/".
   
   AC_PREREQ([2.12])
   
   AC_DEFUN([AM_CONFIG_HEADER],
   [ifdef([AC_FOREACH],dnl
            [dnl init our file count if it isn't already
            m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
            dnl prepare to store our destination file list for use in config.status
            AC_FOREACH([_AM_File], [$1],
                       [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
                       m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
                       dnl and add it to the list of files AC keeps track of, along
                       dnl with our hook
                       AC_CONFIG_HEADERS(_AM_File,
   dnl COMMANDS, [, INIT-CMDS]
   [# update the timestamp
   echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
   ][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
                       m4_popdef([_AM_Dest])])],dnl
   [AC_CONFIG_HEADER([$1])
     AC_OUTPUT_COMMANDS(
      ifelse(patsubst([$1], [[^ ]], []),
             [],
             [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
              patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
   [am_indx=1
   for am_file in $1; do
     case " \$CONFIG_HEADERS " in
     *" \$am_file "*)
       am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
       if test -n "\$am_dir"; then
         am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
         for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
           am_tmpdir=\$am_tmpdir\$am_subdir/
           if test ! -d \$am_tmpdir; then
             mkdir \$am_tmpdir
           fi
         done
       fi
       echo timestamp > "\$am_dir"stamp-h\$am_indx
       ;;
     esac
     am_indx=\`expr \$am_indx + 1\`
   done])
   ])]) # AM_CONFIG_HEADER
   
   # _AM_DIRNAME(PATH)
   # -----------------
   # Like AS_DIRNAME, only do it during macro expansion
   AC_DEFUN([_AM_DIRNAME],
          [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
                 m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
                       m4_if(m4_regexp([$1], [^/.*]), -1,
                             [.],
                             m4_patsubst([$1], [^\(/\).*], [\1])),
                       m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
                 m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
   ]) # _AM_DIRNAME
   
   # Add --enable-maintainer-mode option to configure.
   # From Jim Meyering
   
   # serial 1
   
   AC_DEFUN([AM_MAINTAINER_MODE],
   [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
     dnl maintainer-mode is disabled by default
     AC_ARG_ENABLE(maintainer-mode,
   [  --enable-maintainer-mode enable make rules and dependencies not useful
                             (and sometimes confusing) to the casual installer],
         USE_MAINTAINER_MODE=$enableval,
         USE_MAINTAINER_MODE=no)
     AC_MSG_RESULT([$USE_MAINTAINER_MODE])
     AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
     MAINT=$MAINTAINER_MODE_TRUE
     AC_SUBST(MAINT)dnl
   ]
   )
   
   
   # serial 1
   
   AC_DEFUN([AM_C_PROTOTYPES],
   [AC_REQUIRE([AM_PROG_CC_STDC])
   AC_REQUIRE([AC_PROG_CPP])
   AC_MSG_CHECKING([for function prototypes])
   if test "$am_cv_prog_cc_stdc" != no; then
     AC_MSG_RESULT(yes)
     AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
     U= ANSI2KNR=
   else
     AC_MSG_RESULT(no)
     U=_ ANSI2KNR=./ansi2knr
   fi
   # Ensure some checks needed by ansi2knr itself.
   AC_HEADER_STDC
   AC_CHECK_HEADERS(string.h)
   AC_SUBST(U)dnl
   AC_SUBST(ANSI2KNR)dnl
   ])
   
   
   # serial 1
   
   # @defmac AC_PROG_CC_STDC
   # @maindex PROG_CC_STDC
   # @ovindex CC
   # If the C compiler in not in ANSI C mode by default, try to add an option
   # to output variable @code{CC} to make it so.  This macro tries various
   # options that select ANSI C on some system or another.  It considers the
   # compiler to be in ANSI C mode if it handles function prototypes correctly.
   #
   # If you use this macro, you should check after calling it whether the C
   # compiler has been set to accept ANSI C; if not, the shell variable
   # @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
   # code in ANSI C, you can make an un-ANSIfied copy of it by using the
   # program @code{ansi2knr}, which comes with Ghostscript.
   # @end defmac
   
   AC_DEFUN([AM_PROG_CC_STDC],
   [AC_REQUIRE([AC_PROG_CC])
   AC_BEFORE([$0], [AC_C_INLINE])
   AC_BEFORE([$0], [AC_C_CONST])
   dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
   dnl a magic option to avoid problems with ANSI preprocessor commands
   dnl like #elif.
   dnl FIXME: can't do this because then AC_AIX won't work due to a
   dnl circular dependency.
   dnl AC_BEFORE([$0], [AC_PROG_CPP])
   AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
   AC_CACHE_VAL(am_cv_prog_cc_stdc,
   [am_cv_prog_cc_stdc=no
   ac_save_CC="$CC"
   # Don't try gcc -ansi; that turns off useful extensions and
   # breaks some systems' header files.
   # AIX                   -qlanglvl=ansi
   # Ultrix and OSF/1      -std1
   # HP-UX 10.20 and later -Ae
   # HP-UX older versions  -Aa -D_HPUX_SOURCE
   # SVR4                  -Xc -D__EXTENSIONS__
   for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
   do
     CC="$ac_save_CC $ac_arg"
     AC_TRY_COMPILE(
   [#include <stdarg.h>
   #include <stdio.h>
   #include <sys/types.h>
   #include <sys/stat.h>
   /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
   struct buf { int x; };
   FILE * (*rcsopen) (struct buf *, struct stat *, int);
   static char *e (p, i)
        char **p;
        int i;
   {
     return p[i];
   }
   static char *f (char * (*g) (char **, int), char **p, ...)
   {
     char *s;
     va_list v;
     va_start (v,p);
     s = g (p, va_arg (v,int));
     va_end (v);
     return s;
   }
   int test (int i, double x);
   struct s1 {int (*f) (int a);};
   struct s2 {int (*f) (double a);};
   int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
   int argc;
   char **argv;
   ], [
   return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   ],
   [am_cv_prog_cc_stdc="$ac_arg"; break])
   done
   CC="$ac_save_CC"
   ])
   if test -z "$am_cv_prog_cc_stdc"; then
     AC_MSG_RESULT([none needed])
   else
     AC_MSG_RESULT([$am_cv_prog_cc_stdc])
   fi
   case "x$am_cv_prog_cc_stdc" in
     x|xno) ;;
     *) CC="$CC $am_cv_prog_cc_stdc" ;;
   esac
   ])
   

Legend:
Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>