source: stable/0.2/Couenne/acinclude.m4 @ 164

Last change on this file since 164 was 164, checked in by pbelotti, 12 years ago

updated Makefile.am

File size: 338.1 KB
Line 
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
3## Free Software Foundation, Inc.
4## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5##
6## This file is free software; the Free Software Foundation gives
7## unlimited permission to copy and/or distribute it, with or without
8## modifications, as long as this notice is preserved.
9
10# serial 48 AC_PROG_LIBTOOL
11
12
13# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
14# -----------------------------------------------------------
15# If this macro is not defined by Autoconf, define it here.
16m4_ifdef([AC_PROVIDE_IFELSE],
17         [],
18         [m4_define([AC_PROVIDE_IFELSE],
19                 [m4_ifdef([AC_PROVIDE_$1],
20                           [$2], [$3])])])
21
22
23# AC_PROG_LIBTOOL
24# ---------------
25AC_DEFUN([AC_PROG_LIBTOOL],
26[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
27dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
28dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
29  AC_PROVIDE_IFELSE([AC_PROG_CXX],
30    [AC_LIBTOOL_CXX],
31    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
32  ])])
33dnl And a similar setup for Fortran 77 support
34  AC_PROVIDE_IFELSE([AC_PROG_F77],
35    [AC_LIBTOOL_F77],
36    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
37])])
38
39dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
40dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
41dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
42  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
43    [AC_LIBTOOL_GCJ],
44    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
45      [AC_LIBTOOL_GCJ],
46      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
47        [AC_LIBTOOL_GCJ],
48      [ifdef([AC_PROG_GCJ],
49             [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
50       ifdef([A][M_PROG_GCJ],
51             [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
52       ifdef([LT_AC_PROG_GCJ],
53             [define([LT_AC_PROG_GCJ],
54                defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
55])])# AC_PROG_LIBTOOL
56
57
58# _AC_PROG_LIBTOOL
59# ----------------
60AC_DEFUN([_AC_PROG_LIBTOOL],
61[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
62AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
63AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
64AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
65
66# This can be used to rebuild libtool when needed
67LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
68
69# Always use our own libtool.
70LIBTOOL='$(SHELL) $(top_builddir)/libtool'
71AC_SUBST(LIBTOOL)dnl
72
73# Prevent multiple expansion
74define([AC_PROG_LIBTOOL], [])
75])# _AC_PROG_LIBTOOL
76
77
78# AC_LIBTOOL_SETUP
79# ----------------
80AC_DEFUN([AC_LIBTOOL_SETUP],
81[AC_PREREQ(2.50)dnl
82AC_REQUIRE([AC_ENABLE_SHARED])dnl
83AC_REQUIRE([AC_ENABLE_STATIC])dnl
84AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
85AC_REQUIRE([AC_CANONICAL_HOST])dnl
86AC_REQUIRE([AC_CANONICAL_BUILD])dnl
87AC_REQUIRE([AC_PROG_CC])dnl
88AC_REQUIRE([AC_PROG_LD])dnl
89AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
90AC_REQUIRE([AC_PROG_NM])dnl
91
92AC_REQUIRE([AC_PROG_LN_S])dnl
93AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
94# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
95AC_REQUIRE([AC_OBJEXT])dnl
96AC_REQUIRE([AC_EXEEXT])dnl
97dnl
98
99AC_LIBTOOL_SYS_MAX_CMD_LEN
100AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
101AC_LIBTOOL_OBJDIR
102
103AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
104_LT_AC_PROG_ECHO_BACKSLASH
105
106case $host_os in
107aix3*)
108  # AIX sometimes has problems with the GCC collect2 program.  For some
109  # reason, if we set the COLLECT_NAMES environment variable, the problems
110  # vanish in a puff of smoke.
111  if test "X${COLLECT_NAMES+set}" != Xset; then
112    COLLECT_NAMES=
113    export COLLECT_NAMES
114  fi
115  ;;
116esac
117
118# Sed substitution that helps us do robust quoting.  It backslashifies
119# metacharacters that are still active within double-quoted strings.
120Xsed='sed -e 1s/^X//'
121[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
122
123# Same as above, but do not quote variable references.
124[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
125
126# Sed substitution to delay expansion of an escaped shell variable in a
127# double_quote_subst'ed string.
128delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
129
130# Sed substitution to avoid accidental globbing in evaled expressions
131no_glob_subst='s/\*/\\\*/g'
132
133# Constants:
134rm="rm -f"
135
136# Global variables:
137default_ofile=libtool
138can_build_shared=yes
139
140# All known linkers require a `.a' archive for static linking (except MSVC,
141# which needs '.lib').
142libext=a
143ltmain="$ac_aux_dir/ltmain.sh"
144ofile="$default_ofile"
145with_gnu_ld="$lt_cv_prog_gnu_ld"
146
147AC_CHECK_TOOL(AR, ar, false)
148AC_CHECK_TOOL(RANLIB, ranlib, :)
149AC_CHECK_TOOL(STRIP, strip, :)
150
151old_CC="$CC"
152old_CFLAGS="$CFLAGS"
153
154# Set sane defaults for various variables
155test -z "$AR" && AR=ar
156test -z "$AR_FLAGS" && AR_FLAGS=cru
157test -z "$AS" && AS=as
158test -z "$CC" && CC=cc
159test -z "$LTCC" && LTCC=$CC
160test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
161test -z "$DLLTOOL" && DLLTOOL=dlltool
162test -z "$LD" && LD=ld
163test -z "$LN_S" && LN_S="ln -s"
164test -z "$MAGIC_CMD" && MAGIC_CMD=file
165test -z "$NM" && NM=nm
166test -z "$SED" && SED=sed
167test -z "$OBJDUMP" && OBJDUMP=objdump
168test -z "$RANLIB" && RANLIB=:
169test -z "$STRIP" && STRIP=:
170test -z "$ac_objext" && ac_objext=o
171
172# Determine commands to create old-style static archives.
173old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
174old_postinstall_cmds='chmod 644 $oldlib'
175old_postuninstall_cmds=
176
177if test -n "$RANLIB"; then
178  case $host_os in
179  openbsd*)
180    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
181    ;;
182  *)
183    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
184    ;;
185  esac
186  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
187fi
188
189_LT_CC_BASENAME([$compiler])
190
191# Only perform the check for file, if the check method requires it
192case $deplibs_check_method in
193file_magic*)
194  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
195    AC_PATH_MAGIC
196  fi
197  ;;
198esac
199
200AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
201AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
202enable_win32_dll=yes, enable_win32_dll=no)
203
204AC_ARG_ENABLE([libtool-lock],
205    [AC_HELP_STRING([--disable-libtool-lock],
206        [avoid locking (might break parallel builds)])])
207test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
208
209AC_ARG_WITH([pic],
210    [AC_HELP_STRING([--with-pic],
211        [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
212    [pic_mode="$withval"],
213    [pic_mode=default])
214test -z "$pic_mode" && pic_mode=default
215
216# Use C for the default configuration in the libtool script
217tagname=
218AC_LIBTOOL_LANG_C_CONFIG
219_LT_AC_TAGCONFIG
220])# AC_LIBTOOL_SETUP
221
222
223# _LT_AC_SYS_COMPILER
224# -------------------
225AC_DEFUN([_LT_AC_SYS_COMPILER],
226[AC_REQUIRE([AC_PROG_CC])dnl
227
228# If no C compiler was specified, use CC.
229LTCC=${LTCC-"$CC"}
230
231# If no C compiler flags were specified, use CFLAGS.
232LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
233
234# Allow CC to be a program name with arguments.
235compiler=$CC
236])# _LT_AC_SYS_COMPILER
237
238
239# _LT_CC_BASENAME(CC)
240# -------------------
241# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
242AC_DEFUN([_LT_CC_BASENAME],
243[for cc_temp in $1""; do
244  case $cc_temp in
245    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
246    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
247    \-*) ;;
248    *) break;;
249  esac
250done
251cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
252])
253
254
255# _LT_COMPILER_BOILERPLATE
256# ------------------------
257# Check for compiler boilerplate output or warnings with
258# the simple compiler test code.
259AC_DEFUN([_LT_COMPILER_BOILERPLATE],
260[ac_outfile=conftest.$ac_objext
261printf "$lt_simple_compile_test_code" >conftest.$ac_ext
262eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
263_lt_compiler_boilerplate=`cat conftest.err`
264$rm conftest*
265])# _LT_COMPILER_BOILERPLATE
266
267
268# _LT_LINKER_BOILERPLATE
269# ----------------------
270# Check for linker boilerplate output or warnings with
271# the simple link test code.
272AC_DEFUN([_LT_LINKER_BOILERPLATE],
273[ac_outfile=conftest.$ac_objext
274printf "$lt_simple_link_test_code" >conftest.$ac_ext
275eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
276_lt_linker_boilerplate=`cat conftest.err`
277$rm conftest*
278])# _LT_LINKER_BOILERPLATE
279
280
281# _LT_AC_SYS_LIBPATH_AIX
282# ----------------------
283# Links a minimal program and checks the executable
284# for the system default hardcoded library path. In most cases,
285# this is /usr/lib:/lib, but when the MPI compilers are used
286# the location of the communication and MPI libs are included too.
287# If we don't find anything, use the default library path according
288# to the aix ld manual.
289AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
290[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
291aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
292}'`
293# Check for a 64-bit object if we didn't find anything.
294if 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; }
295}'`; fi],[])
296if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
297])# _LT_AC_SYS_LIBPATH_AIX
298
299
300# _LT_AC_SHELL_INIT(ARG)
301# ----------------------
302AC_DEFUN([_LT_AC_SHELL_INIT],
303[ifdef([AC_DIVERSION_NOTICE],
304             [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
305         [AC_DIVERT_PUSH(NOTICE)])
306$1
307AC_DIVERT_POP
308])# _LT_AC_SHELL_INIT
309
310
311# _LT_AC_PROG_ECHO_BACKSLASH
312# --------------------------
313# Add some code to the start of the generated configure script which
314# will find an echo command which doesn't interpret backslashes.
315AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
316[_LT_AC_SHELL_INIT([
317# Check that we are running under the correct shell.
318SHELL=${CONFIG_SHELL-/bin/sh}
319
320case X$ECHO in
321X*--fallback-echo)
322  # Remove one level of quotation (which was required for Make).
323  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
324  ;;
325esac
326
327echo=${ECHO-echo}
328if test "X[$]1" = X--no-reexec; then
329  # Discard the --no-reexec flag, and continue.
330  shift
331elif test "X[$]1" = X--fallback-echo; then
332  # Avoid inline document here, it may be left over
333  :
334elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
335  # Yippee, $echo works!
336  :
337else
338  # Restart under the correct shell.
339  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
340fi
341
342if test "X[$]1" = X--fallback-echo; then
343  # used as fallback echo
344  shift
345  cat <<EOF
346[$]*
347EOF
348  exit 0
349fi
350
351# The HP-UX ksh and POSIX shell print the target directory to stdout
352# if CDPATH is set.
353(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
354
355if test -z "$ECHO"; then
356if test "X${echo_test_string+set}" != Xset; then
357# find a string as large as possible, as long as the shell can cope with it
358  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
359    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
360    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
361       echo_test_string=`eval $cmd` &&
362       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
363    then
364      break
365    fi
366  done
367fi
368
369if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
370   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
371   test "X$echo_testing_string" = "X$echo_test_string"; then
372  :
373else
374  # The Solaris, AIX, and Digital Unix default echo programs unquote
375  # backslashes.  This makes it impossible to quote backslashes using
376  #   echo "$something" | sed 's/\\/\\\\/g'
377  #
378  # So, first we look for a working echo in the user's PATH.
379
380  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
381  for dir in $PATH /usr/ucb; do
382    IFS="$lt_save_ifs"
383    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
384       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
385       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
386       test "X$echo_testing_string" = "X$echo_test_string"; then
387      echo="$dir/echo"
388      break
389    fi
390  done
391  IFS="$lt_save_ifs"
392
393  if test "X$echo" = Xecho; then
394    # We didn't find a better echo, so look for alternatives.
395    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
396       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
397       test "X$echo_testing_string" = "X$echo_test_string"; then
398      # This shell has a builtin print -r that does the trick.
399      echo='print -r'
400    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
401         test "X$CONFIG_SHELL" != X/bin/ksh; then
402      # If we have ksh, try running configure again with it.
403      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
404      export ORIGINAL_CONFIG_SHELL
405      CONFIG_SHELL=/bin/ksh
406      export CONFIG_SHELL
407      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
408    else
409      # Try using printf.
410      echo='printf %s\n'
411      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
412         echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
413         test "X$echo_testing_string" = "X$echo_test_string"; then
414        # Cool, printf works
415        :
416      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
417           test "X$echo_testing_string" = 'X\t' &&
418           echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
419           test "X$echo_testing_string" = "X$echo_test_string"; then
420        CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
421        export CONFIG_SHELL
422        SHELL="$CONFIG_SHELL"
423        export SHELL
424        echo="$CONFIG_SHELL [$]0 --fallback-echo"
425      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
426           test "X$echo_testing_string" = 'X\t' &&
427           echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
428           test "X$echo_testing_string" = "X$echo_test_string"; then
429        echo="$CONFIG_SHELL [$]0 --fallback-echo"
430      else
431        # maybe with a smaller string...
432        prev=:
433
434        for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
435          if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
436          then
437            break
438          fi
439          prev="$cmd"
440        done
441
442        if test "$prev" != 'sed 50q "[$]0"'; then
443          echo_test_string=`eval $prev`
444          export echo_test_string
445          exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
446        else
447          # Oops.  We lost completely, so just stick with echo.
448          echo=echo
449        fi
450      fi
451    fi
452  fi
453fi
454fi
455
456# Copy echo and quote the copy suitably for passing to libtool from
457# the Makefile, instead of quoting the original, which is used later.
458ECHO=$echo
459if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
460   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
461fi
462
463AC_SUBST(ECHO)
464])])# _LT_AC_PROG_ECHO_BACKSLASH
465
466
467# _LT_AC_LOCK
468# -----------
469AC_DEFUN([_LT_AC_LOCK],
470[AC_ARG_ENABLE([libtool-lock],
471    [AC_HELP_STRING([--disable-libtool-lock],
472        [avoid locking (might break parallel builds)])])
473test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
474
475# Some flags need to be propagated to the compiler or linker for good
476# libtool support.
477case $host in
478ia64-*-hpux*)
479  # Find out which ABI we are using.
480  echo 'int i;' > conftest.$ac_ext
481  if AC_TRY_EVAL(ac_compile); then
482    case `/usr/bin/file conftest.$ac_objext` in
483    *ELF-32*)
484      HPUX_IA64_MODE="32"
485      ;;
486    *ELF-64*)
487      HPUX_IA64_MODE="64"
488      ;;
489    esac
490  fi
491  rm -rf conftest*
492  ;;
493*-*-irix6*)
494  # Find out which ABI we are using.
495  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
496  if AC_TRY_EVAL(ac_compile); then
497   if test "$lt_cv_prog_gnu_ld" = yes; then
498    case `/usr/bin/file conftest.$ac_objext` in
499    *32-bit*)
500      LD="${LD-ld} -melf32bsmip"
501      ;;
502    *N32*)
503      LD="${LD-ld} -melf32bmipn32"
504      ;;
505    *64-bit*)
506      LD="${LD-ld} -melf64bmip"
507      ;;
508    esac
509   else
510    case `/usr/bin/file conftest.$ac_objext` in
511    *32-bit*)
512      LD="${LD-ld} -32"
513      ;;
514    *N32*)
515      LD="${LD-ld} -n32"
516      ;;
517    *64-bit*)
518      LD="${LD-ld} -64"
519      ;;
520    esac
521   fi
522  fi
523  rm -rf conftest*
524  ;;
525
526x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
527  # Find out which ABI we are using.
528  echo 'int i;' > conftest.$ac_ext
529  if AC_TRY_EVAL(ac_compile); then
530    case `/usr/bin/file conftest.o` in
531    *32-bit*)
532      case $host in
533        x86_64-*linux*)
534          LD="${LD-ld} -m elf_i386"
535          ;;
536        ppc64-*linux*|powerpc64-*linux*)
537          LD="${LD-ld} -m elf32ppclinux"
538          ;;
539        s390x-*linux*)
540          LD="${LD-ld} -m elf_s390"
541          ;;
542        sparc64-*linux*)
543          LD="${LD-ld} -m elf32_sparc"
544          ;;
545      esac
546      ;;
547    *64-bit*)
548      case $host in
549        x86_64-*linux*)
550          LD="${LD-ld} -m elf_x86_64"
551          ;;
552        ppc*-*linux*|powerpc*-*linux*)
553          LD="${LD-ld} -m elf64ppc"
554          ;;
555        s390*-*linux*)
556          LD="${LD-ld} -m elf64_s390"
557          ;;
558        sparc*-*linux*)
559          LD="${LD-ld} -m elf64_sparc"
560          ;;
561      esac
562      ;;
563    esac
564  fi
565  rm -rf conftest*
566  ;;
567
568*-*-sco3.2v5*)
569  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
570  SAVE_CFLAGS="$CFLAGS"
571  CFLAGS="$CFLAGS -belf"
572  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
573    [AC_LANG_PUSH(C)
574     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
575     AC_LANG_POP])
576  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
577    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
578    CFLAGS="$SAVE_CFLAGS"
579  fi
580  ;;
581sparc*-*solaris*)
582  # Find out which ABI we are using.
583  echo 'int i;' > conftest.$ac_ext
584  if AC_TRY_EVAL(ac_compile); then
585    case `/usr/bin/file conftest.o` in
586    *64-bit*)
587      case $lt_cv_prog_gnu_ld in
588      yes*) LD="${LD-ld} -m elf64_sparc" ;;
589      *)    LD="${LD-ld} -64" ;;
590      esac
591      ;;
592    esac
593  fi
594  rm -rf conftest*
595  ;;
596
597AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
598[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
599  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
600  AC_CHECK_TOOL(AS, as, false)
601  AC_CHECK_TOOL(OBJDUMP, objdump, false)
602  ;;
603  ])
604esac
605
606need_locks="$enable_libtool_lock"
607
608])# _LT_AC_LOCK
609
610
611# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
612#               [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
613# ----------------------------------------------------------------
614# Check whether the given compiler option works
615AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
616[AC_REQUIRE([LT_AC_PROG_SED])
617AC_CACHE_CHECK([$1], [$2],
618  [$2=no
619  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
620   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
621   lt_compiler_flag="$3"
622   # Insert the option either (1) after the last *FLAGS variable, or
623   # (2) before a word containing "conftest.", or (3) at the end.
624   # Note that $ac_compile itself does not contain backslashes and begins
625   # with a dollar sign (not a hyphen), so the echo should work correctly.
626   # The option is referenced via a variable to avoid confusing sed.
627   lt_compile=`echo "$ac_compile" | $SED \
628   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
629   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
630   -e 's:$: $lt_compiler_flag:'`
631   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
632   (eval "$lt_compile" 2>conftest.err)
633   ac_status=$?
634   cat conftest.err >&AS_MESSAGE_LOG_FD
635   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
636   if (exit $ac_status) && test -s "$ac_outfile"; then
637     # The compiler can only warn and ignore the option if not recognized
638     # So say no if there are warnings other than the usual output.
639     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
640     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
641     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
642       $2=yes
643     fi
644   fi
645   $rm conftest*
646])
647
648if test x"[$]$2" = xyes; then
649    ifelse([$5], , :, [$5])
650else
651    ifelse([$6], , :, [$6])
652fi
653])# AC_LIBTOOL_COMPILER_OPTION
654
655
656# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
657#                          [ACTION-SUCCESS], [ACTION-FAILURE])
658# ------------------------------------------------------------
659# Check whether the given compiler option works
660AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
661[AC_CACHE_CHECK([$1], [$2],
662  [$2=no
663   save_LDFLAGS="$LDFLAGS"
664   LDFLAGS="$LDFLAGS $3"
665   printf "$lt_simple_link_test_code" > conftest.$ac_ext
666   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
667     # The linker can only warn and ignore the option if not recognized
668     # So say no if there are warnings
669     if test -s conftest.err; then
670       # Append any errors to the config.log.
671       cat conftest.err 1>&AS_MESSAGE_LOG_FD
672       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
673       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
674       if diff conftest.exp conftest.er2 >/dev/null; then
675         $2=yes
676       fi
677     else
678       $2=yes
679     fi
680   fi
681   $rm conftest*
682   LDFLAGS="$save_LDFLAGS"
683])
684
685if test x"[$]$2" = xyes; then
686    ifelse([$4], , :, [$4])
687else
688    ifelse([$5], , :, [$5])
689fi
690])# AC_LIBTOOL_LINKER_OPTION
691
692
693# AC_LIBTOOL_SYS_MAX_CMD_LEN
694# --------------------------
695AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
696[# find the maximum length of command line arguments
697AC_MSG_CHECKING([the maximum length of command line arguments])
698AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
699  i=0
700  teststring="ABCD"
701
702  case $build_os in
703  msdosdjgpp*)
704    # On DJGPP, this test can blow up pretty badly due to problems in libc
705    # (any single argument exceeding 2000 bytes causes a buffer overrun
706    # during glob expansion).  Even if it were fixed, the result of this
707    # check would be larger than it should be.
708    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
709    ;;
710
711  gnu*)
712    # Under GNU Hurd, this test is not required because there is
713    # no limit to the length of command line arguments.
714    # Libtool will interpret -1 as no limit whatsoever
715    lt_cv_sys_max_cmd_len=-1;
716    ;;
717
718  cygwin* | mingw*)
719    # On Win9x/ME, this test blows up -- it succeeds, but takes
720    # about 5 minutes as the teststring grows exponentially.
721    # Worse, since 9x/ME are not pre-emptively multitasking,
722    # you end up with a "frozen" computer, even though with patience
723    # the test eventually succeeds (with a max line length of 256k).
724    # Instead, let's just punt: use the minimum linelength reported by
725    # all of the supported platforms: 8192 (on NT/2K/XP).
726    lt_cv_sys_max_cmd_len=8192;
727    ;;
728
729  amigaos*)
730    # On AmigaOS with pdksh, this test takes hours, literally.
731    # So we just punt and use a minimum line length of 8192.
732    lt_cv_sys_max_cmd_len=8192;
733    ;;
734
735  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
736    # This has been around since 386BSD, at least.  Likely further.
737    if test -x /sbin/sysctl; then
738      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
739    elif test -x /usr/sbin/sysctl; then
740      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
741    else
742      lt_cv_sys_max_cmd_len=65536       # usable default for all BSDs
743    fi
744    # And add a safety zone
745    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
746    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
747    ;;
748
749  interix*)
750    # We know the value 262144 and hardcode it with a safety zone (like BSD)
751    lt_cv_sys_max_cmd_len=196608
752    ;;
753
754  osf*)
755    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
756    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
757    # nice to cause kernel panics so lets avoid the loop below.
758    # First set a reasonable default.
759    lt_cv_sys_max_cmd_len=16384
760    #
761    if test -x /sbin/sysconfig; then
762      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
763        *1*) lt_cv_sys_max_cmd_len=-1 ;;
764      esac
765    fi
766    ;;
767  sco3.2v5*)
768    lt_cv_sys_max_cmd_len=102400
769    ;;
770  sysv5* | sco5v6* | sysv4.2uw2*)
771    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
772    if test -n "$kargmax"; then
773      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
774    else
775      lt_cv_sys_max_cmd_len=32768
776    fi
777    ;;
778  *)
779    # If test is not a shell built-in, we'll probably end up computing a
780    # maximum length that is only half of the actual maximum length, but
781    # we can't tell.
782    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
783    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
784               = "XX$teststring") >/dev/null 2>&1 &&
785            new_result=`expr "X$teststring" : ".*" 2>&1` &&
786            lt_cv_sys_max_cmd_len=$new_result &&
787            test $i != 17 # 1/2 MB should be enough
788    do
789      i=`expr $i + 1`
790      teststring=$teststring$teststring
791    done
792    teststring=
793    # Add a significant safety factor because C++ compilers can tack on massive
794    # amounts of additional arguments before passing them to the linker.
795    # It appears as though 1/2 is a usable value.
796    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
797    ;;
798  esac
799])
800if test -n $lt_cv_sys_max_cmd_len ; then
801  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
802else
803  AC_MSG_RESULT(none)
804fi
805])# AC_LIBTOOL_SYS_MAX_CMD_LEN
806
807
808# _LT_AC_CHECK_DLFCN
809# ------------------
810AC_DEFUN([_LT_AC_CHECK_DLFCN],
811[AC_CHECK_HEADERS(dlfcn.h)dnl
812])# _LT_AC_CHECK_DLFCN
813
814
815# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
816#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
817# ---------------------------------------------------------------------
818AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
819[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
820if test "$cross_compiling" = yes; then :
821  [$4]
822else
823  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
824  lt_status=$lt_dlunknown
825  cat > conftest.$ac_ext <<EOF
826[#line __oline__ "configure"
827#include "confdefs.h"
828
829#if HAVE_DLFCN_H
830#include <dlfcn.h>
831#endif
832
833#include <stdio.h>
834
835#ifdef RTLD_GLOBAL
836#  define LT_DLGLOBAL           RTLD_GLOBAL
837#else
838#  ifdef DL_GLOBAL
839#    define LT_DLGLOBAL         DL_GLOBAL
840#  else
841#    define LT_DLGLOBAL         0
842#  endif
843#endif
844
845/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
846   find out it does not work in some platform. */
847#ifndef LT_DLLAZY_OR_NOW
848#  ifdef RTLD_LAZY
849#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
850#  else
851#    ifdef DL_LAZY
852#      define LT_DLLAZY_OR_NOW          DL_LAZY
853#    else
854#      ifdef RTLD_NOW
855#        define LT_DLLAZY_OR_NOW        RTLD_NOW
856#      else
857#        ifdef DL_NOW
858#          define LT_DLLAZY_OR_NOW      DL_NOW
859#        else
860#          define LT_DLLAZY_OR_NOW      0
861#        endif
862#      endif
863#    endif
864#  endif
865#endif
866
867#ifdef __cplusplus
868extern "C" void exit (int);
869#endif
870
871void fnord() { int i=42;}
872int main ()
873{
874  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
875  int status = $lt_dlunknown;
876
877  if (self)
878    {
879      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
880      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
881      /* dlclose (self); */
882    }
883  else
884    puts (dlerror ());
885
886    exit (status);
887}]
888EOF
889  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
890    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
891    lt_status=$?
892    case x$lt_status in
893      x$lt_dlno_uscore) $1 ;;
894      x$lt_dlneed_uscore) $2 ;;
895      x$lt_dlunknown|x*) $3 ;;
896    esac
897  else :
898    # compilation failed
899    $3
900  fi
901fi
902rm -fr conftest*
903])# _LT_AC_TRY_DLOPEN_SELF
904
905
906# AC_LIBTOOL_DLOPEN_SELF
907# ----------------------
908AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
909[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
910if test "x$enable_dlopen" != xyes; then
911  enable_dlopen=unknown
912  enable_dlopen_self=unknown
913  enable_dlopen_self_static=unknown
914else
915  lt_cv_dlopen=no
916  lt_cv_dlopen_libs=
917
918  case $host_os in
919  beos*)
920    lt_cv_dlopen="load_add_on"
921    lt_cv_dlopen_libs=
922    lt_cv_dlopen_self=yes
923    ;;
924
925  mingw* | pw32*)
926    lt_cv_dlopen="LoadLibrary"
927    lt_cv_dlopen_libs=
928   ;;
929
930  cygwin*)
931    lt_cv_dlopen="dlopen"
932    lt_cv_dlopen_libs=
933   ;;
934
935  darwin*)
936  # if libdl is installed we need to link against it
937    AC_CHECK_LIB([dl], [dlopen],
938                [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
939    lt_cv_dlopen="dyld"
940    lt_cv_dlopen_libs=
941    lt_cv_dlopen_self=yes
942    ])
943   ;;
944
945  *)
946    AC_CHECK_FUNC([shl_load],
947          [lt_cv_dlopen="shl_load"],
948      [AC_CHECK_LIB([dld], [shl_load],
949            [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
950        [AC_CHECK_FUNC([dlopen],
951              [lt_cv_dlopen="dlopen"],
952          [AC_CHECK_LIB([dl], [dlopen],
953                [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
954            [AC_CHECK_LIB([svld], [dlopen],
955                  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
956              [AC_CHECK_LIB([dld], [dld_link],
957                    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
958              ])
959            ])
960          ])
961        ])
962      ])
963    ;;
964  esac
965
966  if test "x$lt_cv_dlopen" != xno; then
967    enable_dlopen=yes
968  else
969    enable_dlopen=no
970  fi
971
972  case $lt_cv_dlopen in
973  dlopen)
974    save_CPPFLAGS="$CPPFLAGS"
975    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
976
977    save_LDFLAGS="$LDFLAGS"
978    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
979
980    save_LIBS="$LIBS"
981    LIBS="$lt_cv_dlopen_libs $LIBS"
982
983    AC_CACHE_CHECK([whether a program can dlopen itself],
984          lt_cv_dlopen_self, [dnl
985          _LT_AC_TRY_DLOPEN_SELF(
986            lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
987            lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
988    ])
989
990    if test "x$lt_cv_dlopen_self" = xyes; then
991      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
992      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
993          lt_cv_dlopen_self_static, [dnl
994          _LT_AC_TRY_DLOPEN_SELF(
995            lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
996            lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
997      ])
998    fi
999
1000    CPPFLAGS="$save_CPPFLAGS"
1001    LDFLAGS="$save_LDFLAGS"
1002    LIBS="$save_LIBS"
1003    ;;
1004  esac
1005
1006  case $lt_cv_dlopen_self in
1007  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1008  *) enable_dlopen_self=unknown ;;
1009  esac
1010
1011  case $lt_cv_dlopen_self_static in
1012  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1013  *) enable_dlopen_self_static=unknown ;;
1014  esac
1015fi
1016])# AC_LIBTOOL_DLOPEN_SELF
1017
1018
1019# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
1020# ---------------------------------
1021# Check to see if options -c and -o are simultaneously supported by compiler
1022AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
1023[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
1024AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1025  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1026  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1027   $rm -r conftest 2>/dev/null
1028   mkdir conftest
1029   cd conftest
1030   mkdir out
1031   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
1032
1033   lt_compiler_flag="-o out/conftest2.$ac_objext"
1034   # Insert the option either (1) after the last *FLAGS variable, or
1035   # (2) before a word containing "conftest.", or (3) at the end.
1036   # Note that $ac_compile itself does not contain backslashes and begins
1037   # with a dollar sign (not a hyphen), so the echo should work correctly.
1038   lt_compile=`echo "$ac_compile" | $SED \
1039   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1040   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1041   -e 's:$: $lt_compiler_flag:'`
1042   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1043   (eval "$lt_compile" 2>out/conftest.err)
1044   ac_status=$?
1045   cat out/conftest.err >&AS_MESSAGE_LOG_FD
1046   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1047   if (exit $ac_status) && test -s out/conftest2.$ac_objext
1048   then
1049     # The compiler can only warn and ignore the option if not recognized
1050     # So say no if there are warnings
1051     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1052     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1053     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1054       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1055     fi
1056   fi
1057   chmod u+w . 2>&AS_MESSAGE_LOG_FD
1058   $rm conftest*
1059   # SGI C++ compiler will create directory out/ii_files/ for
1060   # template instantiation
1061   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
1062   $rm out/* && rmdir out
1063   cd ..
1064   rmdir conftest
1065   $rm conftest*
1066])
1067])# AC_LIBTOOL_PROG_CC_C_O
1068
1069
1070# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
1071# -----------------------------------------
1072# Check to see if we can do hard links to lock some files if needed
1073AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
1074[AC_REQUIRE([_LT_AC_LOCK])dnl
1075
1076hard_links="nottested"
1077if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1078  # do not overwrite the value of need_locks provided by the user
1079  AC_MSG_CHECKING([if we can lock with hard links])
1080  hard_links=yes
1081  $rm conftest*
1082  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1083  touch conftest.a
1084  ln conftest.a conftest.b 2>&5 || hard_links=no
1085  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1086  AC_MSG_RESULT([$hard_links])
1087  if test "$hard_links" = no; then
1088    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1089    need_locks=warn
1090  fi
1091else
1092  need_locks=no
1093fi
1094])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
1095
1096
1097# AC_LIBTOOL_OBJDIR
1098# -----------------
1099AC_DEFUN([AC_LIBTOOL_OBJDIR],
1100[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1101[rm -f .libs 2>/dev/null
1102mkdir .libs 2>/dev/null
1103if test -d .libs; then
1104  lt_cv_objdir=.libs
1105else
1106  # MS-DOS does not allow filenames that begin with a dot.
1107  lt_cv_objdir=_libs
1108fi
1109rmdir .libs 2>/dev/null])
1110objdir=$lt_cv_objdir
1111])# AC_LIBTOOL_OBJDIR
1112
1113
1114# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
1115# ----------------------------------------------
1116# Check hardcoding attributes.
1117AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
1118[AC_MSG_CHECKING([how to hardcode library paths into programs])
1119_LT_AC_TAGVAR(hardcode_action, $1)=
1120if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
1121   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
1122   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1123
1124  # We can hardcode non-existant directories.
1125  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
1126     # If the only mechanism to avoid hardcoding is shlibpath_var, we
1127     # have to relink, otherwise we might link with an installed library
1128     # when we should be linking with a yet-to-be-installed one
1129     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1130     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
1131    # Linking always hardcodes the temporary library directory.
1132    _LT_AC_TAGVAR(hardcode_action, $1)=relink
1133  else
1134    # We can link without hardcoding, and we can hardcode nonexisting dirs.
1135    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
1136  fi
1137else
1138  # We cannot hardcode anything, or else we can only hardcode existing
1139  # directories.
1140  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
1141fi
1142AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
1143
1144if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
1145  # Fast installation is not supported
1146  enable_fast_install=no
1147elif test "$shlibpath_overrides_runpath" = yes ||
1148     test "$enable_shared" = no; then
1149  # Fast installation is not necessary
1150  enable_fast_install=needless
1151fi
1152])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
1153
1154
1155# AC_LIBTOOL_SYS_LIB_STRIP
1156# ------------------------
1157AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
1158[striplib=
1159old_striplib=
1160AC_MSG_CHECKING([whether stripping libraries is possible])
1161if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
1162  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
1163  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
1164  AC_MSG_RESULT([yes])
1165else
1166# FIXME - insert some real tests, host_os isn't really good enough
1167  case $host_os in
1168   darwin*)
1169       if test -n "$STRIP" ; then
1170         striplib="$STRIP -x"
1171         AC_MSG_RESULT([yes])
1172       else
1173  AC_MSG_RESULT([no])
1174fi
1175       ;;
1176   *)
1177  AC_MSG_RESULT([no])
1178    ;;
1179  esac
1180fi
1181])# AC_LIBTOOL_SYS_LIB_STRIP
1182
1183
1184# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1185# -----------------------------
1186# PORTME Fill in your ld.so characteristics
1187AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
1188[AC_MSG_CHECKING([dynamic linker characteristics])
1189library_names_spec=
1190libname_spec='lib$name'
1191soname_spec=
1192shrext_cmds=".so"
1193postinstall_cmds=
1194postuninstall_cmds=
1195finish_cmds=
1196finish_eval=
1197shlibpath_var=
1198shlibpath_overrides_runpath=unknown
1199version_type=none
1200dynamic_linker="$host_os ld.so"
1201sys_lib_dlsearch_path_spec="/lib /usr/lib"
1202if test "$GCC" = yes; then
1203  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
1204  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
1205    # if the path contains ";" then we assume it to be the separator
1206    # otherwise default to the standard path separator (i.e. ":") - it is
1207    # assumed that no part of a normal pathname contains ";" but that should
1208    # okay in the real world where ";" in dirpaths is itself problematic.
1209    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
1210  else
1211    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
1212  fi
1213else
1214  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1215fi
1216need_lib_prefix=unknown
1217hardcode_into_libs=no
1218
1219# when you set need_version to no, make sure it does not cause -set_version
1220# flags to be left without arguments
1221need_version=unknown
1222
1223case $host_os in
1224aix3*)
1225  version_type=linux
1226  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
1227  shlibpath_var=LIBPATH
1228
1229  # AIX 3 has no versioning support, so we append a major version to the name.
1230  soname_spec='${libname}${release}${shared_ext}$major'
1231  ;;
1232
1233aix4* | aix5*)
1234  version_type=linux
1235  need_lib_prefix=no
1236  need_version=no
1237  hardcode_into_libs=yes
1238  if test "$host_cpu" = ia64; then
1239    # AIX 5 supports IA64
1240    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
1241    shlibpath_var=LD_LIBRARY_PATH
1242  else
1243    # With GCC up to 2.95.x, collect2 would create an import file
1244    # for dependence libraries.  The import file would start with
1245    # the line `#! .'.  This would cause the generated library to
1246    # depend on `.', always an invalid library.  This was fixed in
1247    # development snapshots of GCC prior to 3.0.
1248    case $host_os in
1249      aix4 | aix4.[[01]] | aix4.[[01]].*)
1250      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1251           echo ' yes '
1252           echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1253        :
1254      else
1255        can_build_shared=no
1256      fi
1257      ;;
1258    esac
1259    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
1260    # soname into executable. Probably we can add versioning support to
1261    # collect2, so additional links can be useful in future.
1262    if test "$aix_use_runtimelinking" = yes; then
1263      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
1264      # instead of lib<name>.a to let people know that these are not
1265      # typical AIX shared libraries.
1266      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1267    else
1268      # We preserve .a as extension for shared libraries through AIX4.2
1269      # and later when we are not doing run time linking.
1270      library_names_spec='${libname}${release}.a $libname.a'
1271      soname_spec='${libname}${release}${shared_ext}$major'
1272    fi
1273    shlibpath_var=LIBPATH
1274  fi
1275  ;;
1276
1277amigaos*)
1278  library_names_spec='$libname.ixlibrary $libname.a'
1279  # Create ${libname}_ixlibrary.a entries in /sys/libs.
1280  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'
1281  ;;
1282
1283beos*)
1284  library_names_spec='${libname}${shared_ext}'
1285  dynamic_linker="$host_os ld.so"
1286  shlibpath_var=LIBRARY_PATH
1287  ;;
1288
1289bsdi[[45]]*)
1290  version_type=linux
1291  need_version=no
1292  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1293  soname_spec='${libname}${release}${shared_ext}$major'
1294  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
1295  shlibpath_var=LD_LIBRARY_PATH
1296  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1297  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
1298  # the default ld.so.conf also contains /usr/contrib/lib and
1299  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1300  # libtool to hard-code these into programs
1301  ;;
1302
1303cygwin* | mingw* | pw32*)
1304  version_type=windows
1305  shrext_cmds=".dll"
1306  need_version=no
1307  need_lib_prefix=no
1308
1309  case $GCC,$host_os in
1310  yes,cygwin* | yes,mingw* | yes,pw32*)
1311    library_names_spec='$libname.dll.a'
1312    # DLL is installed to $(libdir)/../bin by postinstall_cmds
1313    postinstall_cmds='base_file=`basename \${file}`~
1314      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
1315      dldir=$destdir/`dirname \$dlpath`~
1316      test -d \$dldir || mkdir -p \$dldir~
1317      $install_prog $dir/$dlname \$dldir/$dlname~
1318      chmod a+x \$dldir/$dlname'
1319    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
1320      dlpath=$dir/\$dldll~
1321       $rm \$dlpath'
1322    shlibpath_overrides_runpath=yes
1323
1324    case $host_os in
1325    cygwin*)
1326      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
1327      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1328      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
1329      ;;
1330    mingw*)
1331      # MinGW DLLs use traditional 'lib' prefix
1332      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1333      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
1334      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
1335        # It is most probably a Windows format PATH printed by
1336        # mingw gcc, but we are running on Cygwin. Gcc prints its search
1337        # path with ; separators, and with drive letters. We can handle the
1338        # drive letters (cygwin fileutils understands them), so leave them,
1339        # especially as we might pass files found there to a mingw objdump,
1340        # which wouldn't understand a cygwinified path. Ahh.
1341        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
1342      else
1343        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
1344      fi
1345      ;;
1346    pw32*)
1347      # pw32 DLLs use 'pw' prefix rather than 'lib'
1348      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1349      ;;
1350    esac
1351    ;;
1352
1353  *)
1354    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
1355    ;;
1356  esac
1357  dynamic_linker='Win32 ld.exe'
1358  # FIXME: first we should search . and the directory the executable is in
1359  shlibpath_var=PATH
1360  ;;
1361
1362darwin* | rhapsody*)
1363  dynamic_linker="$host_os dyld"
1364  version_type=darwin
1365  need_lib_prefix=no
1366  need_version=no
1367  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
1368  soname_spec='${libname}${release}${major}$shared_ext'
1369  shlibpath_overrides_runpath=yes
1370  shlibpath_var=DYLD_LIBRARY_PATH
1371  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
1372  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
1373  if test "$GCC" = yes; then
1374    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
1375  else
1376    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
1377  fi
1378  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
1379  ;;
1380
1381dgux*)
1382  version_type=linux
1383  need_lib_prefix=no
1384  need_version=no
1385  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
1386  soname_spec='${libname}${release}${shared_ext}$major'
1387  shlibpath_var=LD_LIBRARY_PATH
1388  ;;
1389
1390freebsd1*)
1391  dynamic_linker=no
1392  ;;
1393
1394kfreebsd*-gnu)
1395  version_type=linux
1396  need_lib_prefix=no
1397  need_version=no
1398  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1399  soname_spec='${libname}${release}${shared_ext}$major'
1400  shlibpath_var=LD_LIBRARY_PATH
1401  shlibpath_overrides_runpath=no
1402  hardcode_into_libs=yes
1403  dynamic_linker='GNU ld.so'
1404  ;;
1405
1406freebsd* | dragonfly*)
1407  # DragonFly does not have aout.  When/if they implement a new
1408  # versioning mechanism, adjust this.
1409  if test -x /usr/bin/objformat; then
1410    objformat=`/usr/bin/objformat`
1411  else
1412    case $host_os in
1413    freebsd[[123]]*) objformat=aout ;;
1414    *) objformat=elf ;;
1415    esac
1416  fi
1417  version_type=freebsd-$objformat
1418  case $version_type in
1419    freebsd-elf*)
1420      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
1421      need_version=no
1422      need_lib_prefix=no
1423      ;;
1424    freebsd-*)
1425      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
1426      need_version=yes
1427      ;;
1428  esac
1429  shlibpath_var=LD_LIBRARY_PATH
1430  case $host_os in
1431  freebsd2*)
1432    shlibpath_overrides_runpath=yes
1433    ;;
1434  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
1435    shlibpath_overrides_runpath=yes
1436    hardcode_into_libs=yes
1437    ;;
1438  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
1439  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
1440    shlibpath_overrides_runpath=no
1441    hardcode_into_libs=yes
1442    ;;
1443  freebsd*) # from 4.6 on
1444    shlibpath_overrides_runpath=yes
1445    hardcode_into_libs=yes
1446    ;;
1447  esac
1448  ;;
1449
1450gnu*)
1451  version_type=linux
1452  need_lib_prefix=no
1453  need_version=no
1454  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
1455  soname_spec='${libname}${release}${shared_ext}$major'
1456  shlibpath_var=LD_LIBRARY_PATH
1457  hardcode_into_libs=yes
1458  ;;
1459
1460hpux9* | hpux10* | hpux11*)
1461  # Give a soname corresponding to the major version so that dld.sl refuses to
1462  # link against other versions.
1463  version_type=sunos
1464  need_lib_prefix=no
1465  need_version=no
1466  case $host_cpu in
1467  ia64*)
1468    shrext_cmds='.so'
1469    hardcode_into_libs=yes
1470    dynamic_linker="$host_os dld.so"
1471    shlibpath_var=LD_LIBRARY_PATH
1472    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1473    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1474    soname_spec='${libname}${release}${shared_ext}$major'
1475    if test "X$HPUX_IA64_MODE" = X32; then
1476      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
1477    else
1478      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
1479    fi
1480    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1481    ;;
1482   hppa*64*)
1483     shrext_cmds='.sl'
1484     hardcode_into_libs=yes
1485     dynamic_linker="$host_os dld.sl"
1486     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
1487     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1488     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1489     soname_spec='${libname}${release}${shared_ext}$major'
1490     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
1491     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1492     ;;
1493   *)
1494    shrext_cmds='.sl'
1495    dynamic_linker="$host_os dld.sl"
1496    shlibpath_var=SHLIB_PATH
1497    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
1498    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1499    soname_spec='${libname}${release}${shared_ext}$major'
1500    ;;
1501  esac
1502  # HP-UX runs *really* slowly unless shared libraries are mode 555.
1503  postinstall_cmds='chmod 555 $lib'
1504  ;;
1505
1506interix3*)
1507  version_type=linux
1508  need_lib_prefix=no
1509  need_version=no
1510  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1511  soname_spec='${libname}${release}${shared_ext}$major'
1512  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
1513  shlibpath_var=LD_LIBRARY_PATH
1514  shlibpath_overrides_runpath=no
1515  hardcode_into_libs=yes
1516  ;;
1517
1518irix5* | irix6* | nonstopux*)
1519  case $host_os in
1520    nonstopux*) version_type=nonstopux ;;
1521    *)
1522        if test "$lt_cv_prog_gnu_ld" = yes; then
1523                version_type=linux
1524        else
1525                version_type=irix
1526        fi ;;
1527  esac
1528  need_lib_prefix=no
1529  need_version=no
1530  soname_spec='${libname}${release}${shared_ext}$major'
1531  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
1532  case $host_os in
1533  irix5* | nonstopux*)
1534    libsuff= shlibsuff=
1535    ;;
1536  *)
1537    case $LD in # libtool.m4 will add one of these switches to LD
1538    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
1539      libsuff= shlibsuff= libmagic=32-bit;;
1540    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
1541      libsuff=32 shlibsuff=N32 libmagic=N32;;
1542    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
1543      libsuff=64 shlibsuff=64 libmagic=64-bit;;
1544    *) libsuff= shlibsuff= libmagic=never-match;;
1545    esac
1546    ;;
1547  esac
1548  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1549  shlibpath_overrides_runpath=no
1550  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1551  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
1552  hardcode_into_libs=yes
1553  ;;
1554
1555# No shared lib support for Linux oldld, aout, or coff.
1556linux*oldld* | linux*aout* | linux*coff*)
1557  dynamic_linker=no
1558  ;;
1559
1560# This must be Linux ELF.
1561linux*)
1562  version_type=linux
1563  need_lib_prefix=no
1564  need_version=no
1565  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1566  soname_spec='${libname}${release}${shared_ext}$major'
1567  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1568  shlibpath_var=LD_LIBRARY_PATH
1569  shlibpath_overrides_runpath=no
1570  # This implies no fast_install, which is unacceptable.
1571  # Some rework will be needed to allow for fast_install
1572  # before this can be enabled.
1573  hardcode_into_libs=yes
1574
1575  # Append ld.so.conf contents to the search path
1576  if test -f /etc/ld.so.conf; then
1577    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,    ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
1578    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
1579  fi
1580
1581  # We used to test for /lib/ld.so.1 and disable shared libraries on
1582  # powerpc, because MkLinux only supported shared libraries with the
1583  # GNU dynamic linker.  Since this was broken with cross compilers,
1584  # most powerpc-linux boxes support dynamic linking these days and
1585  # people can always --disable-shared, the test was removed, and we
1586  # assume the GNU/Linux dynamic linker is in use.
1587  dynamic_linker='GNU/Linux ld.so'
1588  ;;
1589
1590knetbsd*-gnu)
1591  version_type=linux
1592  need_lib_prefix=no
1593  need_version=no
1594  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1595  soname_spec='${libname}${release}${shared_ext}$major'
1596  shlibpath_var=LD_LIBRARY_PATH
1597  shlibpath_overrides_runpath=no
1598  hardcode_into_libs=yes
1599  dynamic_linker='GNU ld.so'
1600  ;;
1601
1602netbsd*)
1603  version_type=sunos
1604  need_lib_prefix=no
1605  need_version=no
1606  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1607    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1608    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1609    dynamic_linker='NetBSD (a.out) ld.so'
1610  else
1611    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1612    soname_spec='${libname}${release}${shared_ext}$major'
1613    dynamic_linker='NetBSD ld.elf_so'
1614  fi
1615  shlibpath_var=LD_LIBRARY_PATH
1616  shlibpath_overrides_runpath=yes
1617  hardcode_into_libs=yes
1618  ;;
1619
1620newsos6)
1621  version_type=linux
1622  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1623  shlibpath_var=LD_LIBRARY_PATH
1624  shlibpath_overrides_runpath=yes
1625  ;;
1626
1627nto-qnx*)
1628  version_type=linux
1629  need_lib_prefix=no
1630  need_version=no
1631  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1632  soname_spec='${libname}${release}${shared_ext}$major'
1633  shlibpath_var=LD_LIBRARY_PATH
1634  shlibpath_overrides_runpath=yes
1635  ;;
1636
1637openbsd*)
1638  version_type=sunos
1639  sys_lib_dlsearch_path_spec="/usr/lib"
1640  need_lib_prefix=no
1641  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
1642  case $host_os in
1643    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
1644    *)                         need_version=no  ;;
1645  esac
1646  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1647  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1648  shlibpath_var=LD_LIBRARY_PATH
1649  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1650    case $host_os in
1651      openbsd2.[[89]] | openbsd2.[[89]].*)
1652        shlibpath_overrides_runpath=no
1653        ;;
1654      *)
1655        shlibpath_overrides_runpath=yes
1656        ;;
1657      esac
1658  else
1659    shlibpath_overrides_runpath=yes
1660  fi
1661  ;;
1662
1663os2*)
1664  libname_spec='$name'
1665  shrext_cmds=".dll"
1666  need_lib_prefix=no
1667  library_names_spec='$libname${shared_ext} $libname.a'
1668  dynamic_linker='OS/2 ld.exe'
1669  shlibpath_var=LIBPATH
1670  ;;
1671
1672osf3* | osf4* | osf5*)
1673  version_type=osf
1674  need_lib_prefix=no
1675  need_version=no
1676  soname_spec='${libname}${release}${shared_ext}$major'
1677  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1678  shlibpath_var=LD_LIBRARY_PATH
1679  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1680  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
1681  ;;
1682
1683solaris*)
1684  version_type=linux
1685  need_lib_prefix=no
1686  need_version=no
1687  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1688  soname_spec='${libname}${release}${shared_ext}$major'
1689  shlibpath_var=LD_LIBRARY_PATH
1690  shlibpath_overrides_runpath=yes
1691  hardcode_into_libs=yes
1692  # ldd complains unless libraries are executable
1693  postinstall_cmds='chmod +x $lib'
1694  ;;
1695
1696sunos4*)
1697  version_type=sunos
1698  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1699  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1700  shlibpath_var=LD_LIBRARY_PATH
1701  shlibpath_overrides_runpath=yes
1702  if test "$with_gnu_ld" = yes; then
1703    need_lib_prefix=no
1704  fi
1705  need_version=yes
1706  ;;
1707
1708sysv4 | sysv4.3*)
1709  version_type=linux
1710  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1711  soname_spec='${libname}${release}${shared_ext}$major'
1712  shlibpath_var=LD_LIBRARY_PATH
1713  case $host_vendor in
1714    sni)
1715      shlibpath_overrides_runpath=no
1716      need_lib_prefix=no
1717      export_dynamic_flag_spec='${wl}-Blargedynsym'
1718      runpath_var=LD_RUN_PATH
1719      ;;
1720    siemens)
1721      need_lib_prefix=no
1722      ;;
1723    motorola)
1724      need_lib_prefix=no
1725      need_version=no
1726      shlibpath_overrides_runpath=no
1727      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
1728      ;;
1729  esac
1730  ;;
1731
1732sysv4*MP*)
1733  if test -d /usr/nec ;then
1734    version_type=linux
1735    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
1736    soname_spec='$libname${shared_ext}.$major'
1737    shlibpath_var=LD_LIBRARY_PATH
1738  fi
1739  ;;
1740
1741sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
1742  version_type=freebsd-elf
1743  need_lib_prefix=no
1744  need_version=no
1745  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
1746  soname_spec='${libname}${release}${shared_ext}$major'
1747  shlibpath_var=LD_LIBRARY_PATH
1748  hardcode_into_libs=yes
1749  if test "$with_gnu_ld" = yes; then
1750    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
1751    shlibpath_overrides_runpath=no
1752  else
1753    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
1754    shlibpath_overrides_runpath=yes
1755    case $host_os in
1756      sco3.2v5*)
1757        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
1758        ;;
1759    esac
1760  fi
1761  sys_lib_dlsearch_path_spec='/usr/lib'
1762  ;;
1763
1764uts4*)
1765  version_type=linux
1766  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1767  soname_spec='${libname}${release}${shared_ext}$major'
1768  shlibpath_var=LD_LIBRARY_PATH
1769  ;;
1770
1771*)
1772  dynamic_linker=no
1773  ;;
1774esac
1775AC_MSG_RESULT([$dynamic_linker])
1776test "$dynamic_linker" = no && can_build_shared=no
1777
1778variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
1779if test "$GCC" = yes; then
1780  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
1781fi
1782])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1783
1784
1785# _LT_AC_TAGCONFIG
1786# ----------------
1787AC_DEFUN([_LT_AC_TAGCONFIG],
1788[AC_ARG_WITH([tags],
1789    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
1790        [include additional configurations @<:@automatic@:>@])],
1791    [tagnames="$withval"])
1792
1793if test -f "$ltmain" && test -n "$tagnames"; then
1794  if test ! -f "${ofile}"; then
1795    AC_MSG_WARN([output file `$ofile' does not exist])
1796  fi
1797
1798  if test -z "$LTCC"; then
1799    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
1800    if test -z "$LTCC"; then
1801      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
1802    else
1803      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
1804    fi
1805  fi
1806  if test -z "$LTCFLAGS"; then
1807    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
1808  fi
1809
1810  # Extract list of available tagged configurations in $ofile.
1811  # Note that this assumes the entire list is on one line.
1812  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
1813
1814  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1815  for tagname in $tagnames; do
1816    IFS="$lt_save_ifs"
1817    # Check whether tagname contains only valid characters
1818    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
1819    "") ;;
1820    *)  AC_MSG_ERROR([invalid tag name: $tagname])
1821        ;;
1822    esac
1823
1824    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
1825    then
1826      AC_MSG_ERROR([tag name \"$tagname\" already exists])
1827    fi
1828
1829    # Update the list of available tags.
1830    if test -n "$tagname"; then
1831      echo appending configuration tag \"$tagname\" to $ofile
1832
1833      case $tagname in
1834      CXX)
1835        if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
1836            ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
1837            (test "X$CXX" != "Xg++"))) ; then
1838          AC_LIBTOOL_LANG_CXX_CONFIG
1839        else
1840          tagname=""
1841        fi
1842        ;;
1843
1844      F77)
1845        if test -n "$F77" && test "X$F77" != "Xno"; then
1846          AC_LIBTOOL_LANG_F77_CONFIG
1847        else
1848          tagname=""
1849        fi
1850        ;;
1851
1852      GCJ)
1853        if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
1854          AC_LIBTOOL_LANG_GCJ_CONFIG
1855        else
1856          tagname=""
1857        fi
1858        ;;
1859
1860      RC)
1861        AC_LIBTOOL_LANG_RC_CONFIG
1862        ;;
1863
1864      *)
1865        AC_MSG_ERROR([Unsupported tag name: $tagname])
1866        ;;
1867      esac
1868
1869      # Append the new tag name to the list of available tags.
1870      if test -n "$tagname" ; then
1871      available_tags="$available_tags $tagname"
1872    fi
1873    fi
1874  done
1875  IFS="$lt_save_ifs"
1876
1877  # Now substitute the updated list of available tags.
1878  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
1879    mv "${ofile}T" "$ofile"
1880    chmod +x "$ofile"
1881  else
1882    rm -f "${ofile}T"
1883    AC_MSG_ERROR([unable to update list of available tagged configurations.])
1884  fi
1885fi
1886])# _LT_AC_TAGCONFIG
1887
1888
1889# AC_LIBTOOL_DLOPEN
1890# -----------------
1891# enable checks for dlopen support
1892AC_DEFUN([AC_LIBTOOL_DLOPEN],
1893 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
1894])# AC_LIBTOOL_DLOPEN
1895
1896
1897# AC_LIBTOOL_WIN32_DLL
1898# --------------------
1899# declare package support for building win32 DLLs
1900AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
1901[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
1902])# AC_LIBTOOL_WIN32_DLL
1903
1904
1905# AC_ENABLE_SHARED([DEFAULT])
1906# ---------------------------
1907# implement the --enable-shared flag
1908# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1909AC_DEFUN([AC_ENABLE_SHARED],
1910[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
1911AC_ARG_ENABLE([shared],
1912    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1913        [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
1914    [p=${PACKAGE-default}
1915    case $enableval in
1916    yes) enable_shared=yes ;;
1917    no) enable_shared=no ;;
1918    *)
1919      enable_shared=no
1920      # Look at the argument we got.  We use all the common list separators.
1921      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1922      for pkg in $enableval; do
1923        IFS="$lt_save_ifs"
1924        if test "X$pkg" = "X$p"; then
1925          enable_shared=yes
1926        fi
1927      done
1928      IFS="$lt_save_ifs"
1929      ;;
1930    esac],
1931    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
1932])# AC_ENABLE_SHARED
1933
1934
1935# AC_DISABLE_SHARED
1936# -----------------
1937# set the default shared flag to --disable-shared
1938AC_DEFUN([AC_DISABLE_SHARED],
1939[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1940AC_ENABLE_SHARED(no)
1941])# AC_DISABLE_SHARED
1942
1943
1944# AC_ENABLE_STATIC([DEFAULT])
1945# ---------------------------
1946# implement the --enable-static flag
1947# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1948AC_DEFUN([AC_ENABLE_STATIC],
1949[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
1950AC_ARG_ENABLE([static],
1951    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
1952        [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
1953    [p=${PACKAGE-default}
1954    case $enableval in
1955    yes) enable_static=yes ;;
1956    no) enable_static=no ;;
1957    *)
1958     enable_static=no
1959      # Look at the argument we got.  We use all the common list separators.
1960      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1961      for pkg in $enableval; do
1962        IFS="$lt_save_ifs"
1963        if test "X$pkg" = "X$p"; then
1964          enable_static=yes
1965        fi
1966      done
1967      IFS="$lt_save_ifs"
1968      ;;
1969    esac],
1970    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
1971])# AC_ENABLE_STATIC
1972
1973
1974# AC_DISABLE_STATIC
1975# -----------------
1976# set the default static flag to --disable-static
1977AC_DEFUN([AC_DISABLE_STATIC],
1978[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1979AC_ENABLE_STATIC(no)
1980])# AC_DISABLE_STATIC
1981
1982
1983# AC_ENABLE_FAST_INSTALL([DEFAULT])
1984# ---------------------------------
1985# implement the --enable-fast-install flag
1986# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1987AC_DEFUN([AC_ENABLE_FAST_INSTALL],
1988[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1989AC_ARG_ENABLE([fast-install],
1990    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
1991    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
1992    [p=${PACKAGE-default}
1993    case $enableval in
1994    yes) enable_fast_install=yes ;;
1995    no) enable_fast_install=no ;;
1996    *)
1997      enable_fast_install=no
1998      # Look at the argument we got.  We use all the common list separators.
1999      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2000      for pkg in $enableval; do
2001        IFS="$lt_save_ifs"
2002        if test "X$pkg" = "X$p"; then
2003          enable_fast_install=yes
2004        fi
2005      done
2006      IFS="$lt_save_ifs"
2007      ;;
2008    esac],
2009    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
2010])# AC_ENABLE_FAST_INSTALL
2011
2012
2013# AC_DISABLE_FAST_INSTALL
2014# -----------------------
2015# set the default to --disable-fast-install
2016AC_DEFUN([AC_DISABLE_FAST_INSTALL],
2017[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2018AC_ENABLE_FAST_INSTALL(no)
2019])# AC_DISABLE_FAST_INSTALL
2020
2021
2022# AC_LIBTOOL_PICMODE([MODE])
2023# --------------------------
2024# implement the --with-pic flag
2025# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
2026AC_DEFUN([AC_LIBTOOL_PICMODE],
2027[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2028pic_mode=ifelse($#,1,$1,default)
2029])# AC_LIBTOOL_PICMODE
2030
2031
2032# AC_PROG_EGREP
2033# -------------
2034# This is predefined starting with Autoconf 2.54, so this conditional
2035# definition can be removed once we require Autoconf 2.54 or later.
2036m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
2037[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2038   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2039    then ac_cv_prog_egrep='grep -E'
2040    else ac_cv_prog_egrep='egrep'
2041    fi])
2042 EGREP=$ac_cv_prog_egrep
2043 AC_SUBST([EGREP])
2044])])
2045
2046
2047# AC_PATH_TOOL_PREFIX
2048# -------------------
2049# find a file program which can recognise shared library
2050AC_DEFUN([AC_PATH_TOOL_PREFIX],
2051[AC_REQUIRE([AC_PROG_EGREP])dnl
2052AC_MSG_CHECKING([for $1])
2053AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2054[case $MAGIC_CMD in
2055[[\\/*] |  ?:[\\/]*])
2056  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2057  ;;
2058*)
2059  lt_save_MAGIC_CMD="$MAGIC_CMD"
2060  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2061dnl $ac_dummy forces splitting on constant user-supplied paths.
2062dnl POSIX.2 word splitting is done only on the output of word expansions,
2063dnl not every word.  This closes a longstanding sh security hole.
2064  ac_dummy="ifelse([$2], , $PATH, [$2])"
2065  for ac_dir in $ac_dummy; do
2066    IFS="$lt_save_ifs"
2067    test -z "$ac_dir" && ac_dir=.
2068    if test -f $ac_dir/$1; then
2069      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2070      if test -n "$file_magic_test_file"; then
2071        case $deplibs_check_method in
2072        "file_magic "*)
2073          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2074          MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2075          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2076            $EGREP "$file_magic_regex" > /dev/null; then
2077            :
2078          else
2079            cat <<EOF 1>&2
2080
2081*** Warning: the command libtool uses to detect shared libraries,
2082*** $file_magic_cmd, produces output that libtool cannot recognize.
2083*** The result is that libtool may fail to recognize shared libraries
2084*** as such.  This will affect the creation of libtool libraries that
2085*** depend on shared libraries, but programs linked with such libtool
2086*** libraries will work regardless of this problem.  Nevertheless, you
2087*** may want to report the problem to your system manager and/or to
2088*** bug-libtool@gnu.org
2089
2090EOF
2091          fi ;;
2092        esac
2093      fi
2094      break
2095    fi
2096  done
2097  IFS="$lt_save_ifs"
2098  MAGIC_CMD="$lt_save_MAGIC_CMD"
2099  ;;
2100esac])
2101MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2102if test -n "$MAGIC_CMD"; then
2103  AC_MSG_RESULT($MAGIC_CMD)
2104else
2105  AC_MSG_RESULT(no)
2106fi
2107])# AC_PATH_TOOL_PREFIX
2108
2109
2110# AC_PATH_MAGIC
2111# -------------
2112# find a file program which can recognise a shared library
2113AC_DEFUN([AC_PATH_MAGIC],
2114[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2115if test -z "$lt_cv_path_MAGIC_CMD"; then
2116  if test -n "$ac_tool_prefix"; then
2117    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2118  else
2119    MAGIC_CMD=:
2120  fi
2121fi
2122])# AC_PATH_MAGIC
2123
2124
2125# AC_PROG_LD
2126# ----------
2127# find the pathname to the GNU or non-GNU linker
2128AC_DEFUN([AC_PROG_LD],
2129[AC_ARG_WITH([gnu-ld],
2130    [AC_HELP_STRING([--with-gnu-ld],
2131        [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2132    [test "$withval" = no || with_gnu_ld=yes],
2133    [with_gnu_ld=no])
2134AC_REQUIRE([LT_AC_PROG_SED])dnl
2135AC_REQUIRE([AC_PROG_CC])dnl
2136AC_REQUIRE([AC_CANONICAL_HOST])dnl
2137AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2138ac_prog=ld
2139if test "$GCC" = yes; then
2140  # Check if gcc -print-prog-name=ld gives a path.
2141  AC_MSG_CHECKING([for ld used by $CC])
2142  case $host in
2143  *-*-mingw*)
2144    # gcc leaves a trailing carriage return which upsets mingw
2145    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2146  *)
2147    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2148  esac
2149  case $ac_prog in
2150    # Accept absolute paths.
2151    [[\\/]]* | ?:[[\\/]]*)
2152      re_direlt='/[[^/]][[^/]]*/\.\./'
2153      # Canonicalize the pathname of ld
2154      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
2155      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
2156        ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
2157      done
2158      test -z "$LD" && LD="$ac_prog"
2159      ;;
2160  "")
2161    # If it fails, then pretend we aren't using GCC.
2162    ac_prog=ld
2163    ;;
2164  *)
2165    # If it is relative, then search for the first ld in PATH.
2166    with_gnu_ld=unknown
2167    ;;
2168  esac
2169elif test "$with_gnu_ld" = yes; then
2170  AC_MSG_CHECKING([for GNU ld])
2171else
2172  AC_MSG_CHECKING([for non-GNU ld])
2173fi
2174AC_CACHE_VAL(lt_cv_path_LD,
2175[if test -z "$LD"; then
2176  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2177  for ac_dir in $PATH; do
2178    IFS="$lt_save_ifs"
2179    test -z "$ac_dir" && ac_dir=.
2180    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2181      lt_cv_path_LD="$ac_dir/$ac_prog"
2182      # Check to see if the program is GNU ld.  I'd rather use --version,
2183      # but apparently some variants of GNU ld only accept -v.
2184      # Break only if it was the GNU/non-GNU ld that we prefer.
2185      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2186      *GNU* | *'with BFD'*)
2187        test "$with_gnu_ld" != no && break
2188        ;;
2189      *)
2190        test "$with_gnu_ld" != yes && break
2191        ;;
2192      esac
2193    fi
2194  done
2195  IFS="$lt_save_ifs"
2196else
2197  lt_cv_path_LD="$LD" # Let the user override the test with a path.
2198fi])
2199LD="$lt_cv_path_LD"
2200if test -n "$LD"; then
2201  AC_MSG_RESULT($LD)
2202else
2203  AC_MSG_RESULT(no)
2204fi
2205test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2206AC_PROG_LD_GNU
2207])# AC_PROG_LD
2208
2209
2210# AC_PROG_LD_GNU
2211# --------------
2212AC_DEFUN([AC_PROG_LD_GNU],
2213[AC_REQUIRE([AC_PROG_EGREP])dnl
2214AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2215[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2216case `$LD -v 2>&1 </dev/null` in
2217*GNU* | *'with BFD'*)
2218  lt_cv_prog_gnu_ld=yes
2219  ;;
2220*)
2221  lt_cv_prog_gnu_ld=no
2222  ;;
2223esac])
2224with_gnu_ld=$lt_cv_prog_gnu_ld
2225])# AC_PROG_LD_GNU
2226
2227
2228# AC_PROG_LD_RELOAD_FLAG
2229# ----------------------
2230# find reload flag for linker
2231#   -- PORTME Some linkers may need a different reload flag.
2232AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
2233[AC_CACHE_CHECK([for $LD option to reload object files],
2234  lt_cv_ld_reload_flag,
2235  [lt_cv_ld_reload_flag='-r'])
2236reload_flag=$lt_cv_ld_reload_flag
2237case $reload_flag in
2238"" | " "*) ;;
2239*) reload_flag=" $reload_flag" ;;
2240esac
2241reload_cmds='$LD$reload_flag -o $output$reload_objs'
2242case $host_os in
2243  darwin*)
2244    if test "$GCC" = yes; then
2245      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2246    else
2247      reload_cmds='$LD$reload_flag -o $output$reload_objs'
2248    fi
2249    ;;
2250esac
2251])# AC_PROG_LD_RELOAD_FLAG
2252
2253
2254# AC_DEPLIBS_CHECK_METHOD
2255# -----------------------
2256# how to check for library dependencies
2257#  -- PORTME fill in with the dynamic library characteristics
2258AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
2259[AC_CACHE_CHECK([how to recognise dependent libraries],
2260lt_cv_deplibs_check_method,
2261[lt_cv_file_magic_cmd='$MAGIC_CMD'
2262lt_cv_file_magic_test_file=
2263lt_cv_deplibs_check_method='unknown'
2264# Need to set the preceding variable on all platforms that support
2265# interlibrary dependencies.
2266# 'none' -- dependencies not supported.
2267# `unknown' -- same as none, but documents that we really don't know.
2268# 'pass_all' -- all dependencies passed with no checks.
2269# 'test_compile' -- check by making test program.
2270# 'file_magic [[regex]]' -- check by looking for files in library path
2271# which responds to the $file_magic_cmd with a given extended regex.
2272# If you have `file' or equivalent on your system and you're not sure
2273# whether `pass_all' will *always* work, you probably want this one.
2274
2275case $host_os in
2276aix4* | aix5*)
2277  lt_cv_deplibs_check_method=pass_all
2278  ;;
2279
2280beos*)
2281  lt_cv_deplibs_check_method=pass_all
2282  ;;
2283
2284bsdi[[45]]*)
2285  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
2286  lt_cv_file_magic_cmd='/usr/bin/file -L'
2287  lt_cv_file_magic_test_file=/shlib/libc.so
2288  ;;
2289
2290cygwin*)
2291  # func_win32_libid is a shell function defined in ltmain.sh
2292  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
2293  lt_cv_file_magic_cmd='func_win32_libid'
2294  ;;
2295
2296mingw* | pw32*)
2297  # Base MSYS/MinGW do not provide the 'file' command needed by
2298  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
2299  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
2300  lt_cv_file_magic_cmd='$OBJDUMP -f'
2301  ;;
2302
2303darwin* | rhapsody*)
2304  lt_cv_deplibs_check_method=pass_all
2305  ;;
2306
2307freebsd* | kfreebsd*-gnu | dragonfly*)
2308  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2309    case $host_cpu in
2310    i*86 )
2311      # Not sure whether the presence of OpenBSD here was a mistake.
2312      # Let's accept both of them until this is cleared up.
2313      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
2314      lt_cv_file_magic_cmd=/usr/bin/file
2315      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
2316      ;;
2317    esac
2318  else
2319    lt_cv_deplibs_check_method=pass_all
2320  fi
2321  ;;
2322
2323gnu*)
2324  lt_cv_deplibs_check_method=pass_all
2325  ;;
2326
2327hpux10.20* | hpux11*)
2328  lt_cv_file_magic_cmd=/usr/bin/file
2329  case $host_cpu in
2330  ia64*)
2331    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
2332    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
2333    ;;
2334  hppa*64*)
2335    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
2336    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
2337    ;;
2338  *)
2339    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
2340    lt_cv_file_magic_test_file=/usr/lib/libc.sl
2341    ;;
2342  esac
2343  ;;
2344
2345interix3*)
2346  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
2347  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
2348  ;;
2349
2350irix5* | irix6* | nonstopux*)
2351  case $LD in
2352  *-32|*"-32 ") libmagic=32-bit;;
2353  *-n32|*"-n32 ") libmagic=N32;;
2354  *-64|*"-64 ") libmagic=64-bit;;
2355  *) libmagic=never-match;;
2356  esac
2357  lt_cv_deplibs_check_method=pass_all
2358  ;;
2359
2360# This must be Linux ELF.
2361linux*)
2362  lt_cv_deplibs_check_method=pass_all
2363  ;;
2364
2365netbsd*)
2366  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2367    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2368  else
2369    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
2370  fi
2371  ;;
2372
2373newos6*)
2374  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
2375  lt_cv_file_magic_cmd=/usr/bin/file
2376  lt_cv_file_magic_test_file=/usr/lib/libnls.so
2377  ;;
2378
2379nto-qnx*)
2380  lt_cv_deplibs_check_method=unknown
2381  ;;
2382
2383openbsd*)
2384  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2385    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
2386  else
2387    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2388  fi
2389  ;;
2390
2391osf3* | osf4* | osf5*)
2392  lt_cv_deplibs_check_method=pass_all
2393  ;;
2394
2395solaris*)
2396  lt_cv_deplibs_check_method=pass_all
2397  ;;
2398
2399sysv4 | sysv4.3*)
2400  case $host_vendor in
2401  motorola)
2402    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]]'
2403    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
2404    ;;
2405  ncr)
2406    lt_cv_deplibs_check_method=pass_all
2407    ;;
2408  sequent)
2409    lt_cv_file_magic_cmd='/bin/file'
2410    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
2411    ;;
2412  sni)
2413    lt_cv_file_magic_cmd='/bin/file'
2414    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
2415    lt_cv_file_magic_test_file=/lib/libc.so
2416    ;;
2417  siemens)
2418    lt_cv_deplibs_check_method=pass_all
2419    ;;
2420  pc)
2421    lt_cv_deplibs_check_method=pass_all
2422    ;;
2423  esac
2424  ;;
2425
2426sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2427  lt_cv_deplibs_check_method=pass_all
2428  ;;
2429esac
2430])
2431file_magic_cmd=$lt_cv_file_magic_cmd
2432deplibs_check_method=$lt_cv_deplibs_check_method
2433test -z "$deplibs_check_method" && deplibs_check_method=unknown
2434])# AC_DEPLIBS_CHECK_METHOD
2435
2436
2437# AC_PROG_NM
2438# ----------
2439# find the pathname to a BSD-compatible name lister
2440AC_DEFUN([AC_PROG_NM],
2441[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
2442[if test -n "$NM"; then
2443  # Let the user override the test.
2444  lt_cv_path_NM="$NM"
2445else
2446  lt_nm_to_check="${ac_tool_prefix}nm"
2447  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
2448    lt_nm_to_check="$lt_nm_to_check nm"
2449  fi
2450  for lt_tmp_nm in $lt_nm_to_check; do
2451    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2452    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
2453      IFS="$lt_save_ifs"
2454      test -z "$ac_dir" && ac_dir=.
2455      tmp_nm="$ac_dir/$lt_tmp_nm"
2456      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
2457        # Check to see if the nm accepts a BSD-compat flag.
2458        # Adding the `sed 1q' prevents false positives on HP-UX, which says:
2459        #   nm: unknown option "B" ignored
2460        # Tru64's nm complains that /dev/null is an invalid object file
2461        case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
2462        */dev/null* | *'Invalid file or object type'*)
2463          lt_cv_path_NM="$tmp_nm -B"
2464          break
2465          ;;
2466        *)
2467          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
2468          */dev/null*)
2469            lt_cv_path_NM="$tmp_nm -p"
2470            break
2471            ;;
2472          *)
2473            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
2474            continue # so that we can try to find one that supports BSD flags
2475            ;;
2476          esac
2477          ;;
2478        esac
2479      fi
2480    done
2481    IFS="$lt_save_ifs"
2482  done
2483  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
2484fi])
2485NM="$lt_cv_path_NM"
2486])# AC_PROG_NM
2487
2488
2489# AC_CHECK_LIBM
2490# -------------
2491# check for math library
2492AC_DEFUN([AC_CHECK_LIBM],
2493[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2494LIBM=
2495case $host in
2496*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
2497  # These system don't have libm, or don't need it
2498  ;;
2499*-ncr-sysv4.3*)
2500  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
2501  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
2502  ;;
2503*)
2504  AC_CHECK_LIB(m, cos, LIBM="-lm")
2505  ;;
2506esac
2507])# AC_CHECK_LIBM
2508
2509
2510# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
2511# -----------------------------------
2512# sets LIBLTDL to the link flags for the libltdl convenience library and
2513# LTDLINCL to the include flags for the libltdl header and adds
2514# --enable-ltdl-convenience to the configure arguments.  Note that
2515# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
2516# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
2517# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
2518# (note the single quotes!).  If your package is not flat and you're not
2519# using automake, define top_builddir and top_srcdir appropriately in
2520# the Makefiles.
2521AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
2522[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2523  case $enable_ltdl_convenience in
2524  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
2525  "") enable_ltdl_convenience=yes
2526      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
2527  esac
2528  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
2529  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2530  # For backwards non-gettext consistent compatibility...
2531  INCLTDL="$LTDLINCL"
2532])# AC_LIBLTDL_CONVENIENCE
2533
2534
2535# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
2536# -----------------------------------
2537# sets LIBLTDL to the link flags for the libltdl installable library and
2538# LTDLINCL to the include flags for the libltdl header and adds
2539# --enable-ltdl-install to the configure arguments.  Note that
2540# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
2541# and an installed libltdl is not found, it is assumed to be `libltdl'.
2542# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
2543# '${top_srcdir}/' (note the single quotes!).  If your package is not
2544# flat and you're not using automake, define top_builddir and top_srcdir
2545# appropriately in the Makefiles.
2546# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
2547AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
2548[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2549  AC_CHECK_LIB(ltdl, lt_dlinit,
2550  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
2551  [if test x"$enable_ltdl_install" = xno; then
2552     AC_MSG_WARN([libltdl not installed, but installation disabled])
2553   else
2554     enable_ltdl_install=yes
2555   fi
2556  ])
2557  if test x"$enable_ltdl_install" = x"yes"; then
2558    ac_configure_args="$ac_configure_args --enable-ltdl-install"
2559    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
2560    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2561  else
2562    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
2563    LIBLTDL="-lltdl"
2564    LTDLINCL=
2565  fi
2566  # For backwards non-gettext consistent compatibility...
2567  INCLTDL="$LTDLINCL"
2568])# AC_LIBLTDL_INSTALLABLE
2569
2570
2571# AC_LIBTOOL_CXX
2572# --------------
2573# enable support for C++ libraries
2574AC_DEFUN([AC_LIBTOOL_CXX],
2575[AC_REQUIRE([_LT_AC_LANG_CXX])
2576])# AC_LIBTOOL_CXX
2577
2578
2579# _LT_AC_LANG_CXX
2580# ---------------
2581AC_DEFUN([_LT_AC_LANG_CXX],
2582[AC_REQUIRE([AC_PROG_CXX])
2583AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2584_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
2585])# _LT_AC_LANG_CXX
2586
2587# _LT_AC_PROG_CXXCPP
2588# ------------------
2589AC_DEFUN([_LT_AC_PROG_CXXCPP],
2590[
2591AC_REQUIRE([AC_PROG_CXX])
2592if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2593    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2594    (test "X$CXX" != "Xg++"))) ; then
2595  AC_PROG_CXXCPP
2596fi
2597])# _LT_AC_PROG_CXXCPP
2598
2599# AC_LIBTOOL_F77
2600# --------------
2601# enable support for Fortran 77 libraries
2602AC_DEFUN([AC_LIBTOOL_F77],
2603[AC_REQUIRE([_LT_AC_LANG_F77])
2604])# AC_LIBTOOL_F77
2605
2606
2607# _LT_AC_LANG_F77
2608# ---------------
2609AC_DEFUN([_LT_AC_LANG_F77],
2610[AC_REQUIRE([AC_PROG_F77])
2611_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
2612])# _LT_AC_LANG_F77
2613
2614
2615# AC_LIBTOOL_GCJ
2616# --------------
2617# enable support for GCJ libraries
2618AC_DEFUN([AC_LIBTOOL_GCJ],
2619[AC_REQUIRE([_LT_AC_LANG_GCJ])
2620])# AC_LIBTOOL_GCJ
2621
2622
2623# _LT_AC_LANG_GCJ
2624# ---------------
2625AC_DEFUN([_LT_AC_LANG_GCJ],
2626[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
2627  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
2628    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
2629      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
2630         [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
2631           [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
2632_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
2633])# _LT_AC_LANG_GCJ
2634
2635
2636# AC_LIBTOOL_RC
2637# -------------
2638# enable support for Windows resource files
2639AC_DEFUN([AC_LIBTOOL_RC],
2640[AC_REQUIRE([LT_AC_PROG_RC])
2641_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
2642])# AC_LIBTOOL_RC
2643
2644
2645# AC_LIBTOOL_LANG_C_CONFIG
2646# ------------------------
2647# Ensure that the configuration vars for the C compiler are
2648# suitably defined.  Those variables are subsequently used by
2649# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2650AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
2651AC_DEFUN([_LT_AC_LANG_C_CONFIG],
2652[lt_save_CC="$CC"
2653AC_LANG_PUSH(C)
2654
2655# Source file extension for C test sources.
2656ac_ext=c
2657
2658# Object file extension for compiled C test sources.
2659objext=o
2660_LT_AC_TAGVAR(objext, $1)=$objext
2661
2662# Code to be used in simple compile tests
2663lt_simple_compile_test_code="int some_variable = 0;\n"
2664
2665# Code to be used in simple link tests
2666lt_simple_link_test_code='int main(){return(0);}\n'
2667
2668_LT_AC_SYS_COMPILER
2669
2670# save warnings/boilerplate of simple test code
2671_LT_COMPILER_BOILERPLATE
2672_LT_LINKER_BOILERPLATE
2673
2674## CAVEAT EMPTOR:
2675## There is no encapsulation within the following macros, do not change
2676## the running order or otherwise move them around unless you know exactly
2677## what you are doing...
2678AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
2679AC_LIBTOOL_PROG_COMPILER_PIC($1)
2680AC_LIBTOOL_PROG_CC_C_O($1)
2681AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
2682AC_LIBTOOL_PROG_LD_SHLIBS($1)
2683AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
2684AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
2685AC_LIBTOOL_SYS_LIB_STRIP
2686AC_LIBTOOL_DLOPEN_SELF
2687
2688# Report which library types will actually be built
2689AC_MSG_CHECKING([if libtool supports shared libraries])
2690AC_MSG_RESULT([$can_build_shared])
2691
2692AC_MSG_CHECKING([whether to build shared libraries])
2693test "$can_build_shared" = "no" && enable_shared=no
2694
2695# On AIX, shared libraries and static libraries use the same namespace, and
2696# are all built from PIC.
2697case $host_os in
2698aix3*)
2699  test "$enable_shared" = yes && enable_static=no
2700  if test -n "$RANLIB"; then
2701    archive_cmds="$archive_cmds~\$RANLIB \$lib"
2702    postinstall_cmds='$RANLIB $lib'
2703  fi
2704  ;;
2705
2706aix4* | aix5*)
2707  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2708    test "$enable_shared" = yes && enable_static=no
2709  fi
2710    ;;
2711esac
2712AC_MSG_RESULT([$enable_shared])
2713
2714AC_MSG_CHECKING([whether to build static libraries])
2715# Make sure either enable_shared or enable_static is yes.
2716test "$enable_shared" = yes || enable_static=yes
2717AC_MSG_RESULT([$enable_static])
2718
2719AC_LIBTOOL_CONFIG($1)
2720
2721AC_LANG_POP
2722CC="$lt_save_CC"
2723])# AC_LIBTOOL_LANG_C_CONFIG
2724
2725
2726# AC_LIBTOOL_LANG_CXX_CONFIG
2727# --------------------------
2728# Ensure that the configuration vars for the C compiler are
2729# suitably defined.  Those variables are subsequently used by
2730# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2731AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
2732AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
2733[AC_LANG_PUSH(C++)
2734AC_REQUIRE([AC_PROG_CXX])
2735AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2736
2737_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2738_LT_AC_TAGVAR(allow_undefined_flag, $1)=
2739_LT_AC_TAGVAR(always_export_symbols, $1)=no
2740_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
2741_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
2742_LT_AC_TAGVAR(hardcode_direct, $1)=no
2743_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
2744_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
2745_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2746_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
2747_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
2748_LT_AC_TAGVAR(hardcode_automatic, $1)=no
2749_LT_AC_TAGVAR(module_cmds, $1)=
2750_LT_AC_TAGVAR(module_expsym_cmds, $1)=
2751_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
2752_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
2753_LT_AC_TAGVAR(no_undefined_flag, $1)=
2754_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2755_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
2756
2757# Dependencies to place before and after the object being linked:
2758_LT_AC_TAGVAR(predep_objects, $1)=
2759_LT_AC_TAGVAR(postdep_objects, $1)=
2760_LT_AC_TAGVAR(predeps, $1)=
2761_LT_AC_TAGVAR(postdeps, $1)=
2762_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2763
2764# Source file extension for C++ test sources.
2765ac_ext=cpp
2766
2767# Object file extension for compiled C++ test sources.
2768objext=o
2769_LT_AC_TAGVAR(objext, $1)=$objext
2770
2771# Code to be used in simple compile tests
2772lt_simple_compile_test_code="int some_variable = 0;\n"
2773
2774# Code to be used in simple link tests
2775lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
2776
2777# ltmain only uses $CC for tagged configurations so make sure $CC is set.
2778_LT_AC_SYS_COMPILER
2779
2780# save warnings/boilerplate of simple test code
2781_LT_COMPILER_BOILERPLATE
2782_LT_LINKER_BOILERPLATE
2783
2784# Allow CC to be a program name with arguments.
2785lt_save_CC=$CC
2786lt_save_LD=$LD
2787lt_save_GCC=$GCC
2788GCC=$GXX
2789lt_save_with_gnu_ld=$with_gnu_ld
2790lt_save_path_LD=$lt_cv_path_LD
2791if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
2792  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
2793else
2794  $as_unset lt_cv_prog_gnu_ld
2795fi
2796if test -n "${lt_cv_path_LDCXX+set}"; then
2797  lt_cv_path_LD=$lt_cv_path_LDCXX
2798else
2799  $as_unset lt_cv_path_LD
2800fi
2801test -z "${LDCXX+set}" || LD=$LDCXX
2802CC=${CXX-"c++"}
2803compiler=$CC
2804_LT_AC_TAGVAR(compiler, $1)=$CC
2805_LT_CC_BASENAME([$compiler])
2806
2807# We don't want -fno-exception wen compiling C++ code, so set the
2808# no_builtin_flag separately
2809if test "$GXX" = yes; then
2810  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
2811else
2812  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
2813fi
2814
2815if test "$GXX" = yes; then
2816  # Set up default GNU C++ configuration
2817
2818  AC_PROG_LD
2819
2820  # Check if GNU C++ uses GNU ld as the underlying linker, since the
2821  # archiving commands below assume that GNU ld is being used.
2822  if test "$with_gnu_ld" = yes; then
2823    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2824    _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'
2825
2826    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
2827    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2828
2829    # If archive_cmds runs LD, not CC, wlarc should be empty
2830    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
2831    #     investigate it a little bit more. (MM)
2832    wlarc='${wl}'
2833
2834    # ancient GNU ld didn't support --whole-archive et. al.
2835    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
2836        grep 'no-whole-archive' > /dev/null; then
2837      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
2838    else
2839      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2840    fi
2841  else
2842    with_gnu_ld=no
2843    wlarc=
2844
2845    # A generic and very simple default shared library creation
2846    # command for GNU C++ for the case where it uses the native
2847    # linker, instead of GNU ld.  If possible, this setting should
2848    # overridden to take advantage of the native linker features on
2849    # the platform it is being used on.
2850    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
2851  fi
2852
2853  # Commands to make compiler produce verbose output that lists
2854  # what "hidden" libraries, object files and flags are used when
2855  # linking a shared library.
2856  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
2857
2858else
2859  GXX=no
2860  with_gnu_ld=no
2861  wlarc=
2862fi
2863
2864# PORTME: fill in a description of your system's C++ link characteristics
2865AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
2866_LT_AC_TAGVAR(ld_shlibs, $1)=yes
2867case $host_os in
2868  aix3*)
2869    # FIXME: insert proper C++ library support
2870    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2871    ;;
2872  aix4* | aix5*)
2873    if test "$host_cpu" = ia64; then
2874      # On IA64, the linker does run time linking by default, so we don't
2875      # have to do anything special.
2876      aix_use_runtimelinking=no
2877      exp_sym_flag='-Bexport'
2878      no_entry_flag=""
2879    else
2880      aix_use_runtimelinking=no
2881
2882      # Test if we are trying to use run time linking or normal
2883      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
2884      # need to do runtime linking.
2885      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
2886        for ld_flag in $LDFLAGS; do
2887          case $ld_flag in
2888          *-brtl*)
2889            aix_use_runtimelinking=yes
2890            break
2891            ;;
2892          esac
2893        done
2894        ;;
2895      esac
2896
2897      exp_sym_flag='-bexport'
2898      no_entry_flag='-bnoentry'
2899    fi
2900
2901    # When large executables or shared objects are built, AIX ld can
2902    # have problems creating the table of contents.  If linking a library
2903    # or program results in "error TOC overflow" add -mminimal-toc to
2904    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
2905    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
2906
2907    _LT_AC_TAGVAR(archive_cmds, $1)=''
2908    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2909    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
2910    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2911
2912    if test "$GXX" = yes; then
2913      case $host_os in aix4.[[012]]|aix4.[[012]].*)
2914      # We only want to do this on AIX 4.2 and lower, the check
2915      # below for broken collect2 doesn't work under 4.3+
2916        collect2name=`${CC} -print-prog-name=collect2`
2917        if test -f "$collect2name" && \
2918           strings "$collect2name" | grep resolve_lib_name >/dev/null
2919        then
2920          # We have reworked collect2
2921          _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2922        else
2923          # We have old collect2
2924          _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
2925          # It fails to find uninstalled libraries when the uninstalled
2926          # path is not listed in the libpath.  Setting hardcode_minus_L
2927          # to unsupported forces relinking
2928          _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
2929          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2930          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2931        fi
2932        ;;
2933      esac
2934      shared_flag='-shared'
2935      if test "$aix_use_runtimelinking" = yes; then
2936        shared_flag="$shared_flag "'${wl}-G'
2937      fi
2938    else
2939      # not using gcc
2940      if test "$host_cpu" = ia64; then
2941        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
2942        # chokes on -Wl,-G. The following line is correct:
2943        shared_flag='-G'
2944      else
2945        if test "$aix_use_runtimelinking" = yes; then
2946          shared_flag='${wl}-G'
2947        else
2948          shared_flag='${wl}-bM:SRE'
2949        fi
2950      fi
2951    fi
2952
2953    # It seems that -bexpall does not export symbols beginning with
2954    # underscore (_), so it is better to generate a list of symbols to export.
2955    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
2956    if test "$aix_use_runtimelinking" = yes; then
2957      # Warning - without using the other runtime loading flags (-brtl),
2958      # -berok will link without error, but may produce a broken library.
2959      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
2960      # Determine the default libpath from the value encoded in an empty executable.
2961      _LT_AC_SYS_LIBPATH_AIX
2962      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2963
2964      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
2965     else
2966      if test "$host_cpu" = ia64; then
2967        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
2968        _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
2969        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
2970      else
2971        # Determine the default libpath from the value encoded in an empty executable.
2972        _LT_AC_SYS_LIBPATH_AIX
2973        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2974        # Warning - without using the other run time loading flags,
2975        # -berok will link without error, but may produce a broken library.
2976        _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
2977        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
2978        # Exported symbols can be pulled into shared objects from archives
2979        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
2980        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
2981        # This is similar to how AIX traditionally builds its shared libraries.
2982        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
2983      fi
2984    fi
2985    ;;
2986
2987  beos*)
2988    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
2989      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
2990      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
2991      # support --undefined.  This deserves some investigation.  FIXME
2992      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
2993    else
2994      _LT_AC_TAGVAR(ld_shlibs, $1)=no
2995    fi
2996    ;;
2997
2998  chorus*)
2999    case $cc_basename in
3000      *)
3001        # FIXME: insert proper C++ library support
3002        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3003        ;;
3004    esac
3005    ;;
3006
3007  cygwin* | mingw* | pw32*)
3008    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
3009    # as there is no search path for DLLs.
3010    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
3011    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
3012    _LT_AC_TAGVAR(always_export_symbols, $1)=no
3013    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
3014
3015    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
3016      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
3017      # If the export-symbols file already is a .def file (1st line
3018      # is EXPORTS), use it as is; otherwise, prepend...
3019      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
3020        cp $export_symbols $output_objdir/$soname.def;
3021      else
3022        echo EXPORTS > $output_objdir/$soname.def;
3023        cat $export_symbols >> $output_objdir/$soname.def;
3024      fi~
3025      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
3026    else
3027      _LT_AC_TAGVAR(ld_shlibs, $1)=no
3028    fi
3029  ;;
3030      darwin* | rhapsody*)
3031        case $host_os in
3032        rhapsody* | darwin1.[[012]])
3033         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
3034         ;;
3035       *) # Darwin 1.3 on
3036         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
3037           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3038         else
3039           case ${MACOSX_DEPLOYMENT_TARGET} in
3040             10.[[012]])
3041               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3042               ;;
3043             10.*)
3044               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
3045               ;;
3046           esac
3047         fi
3048         ;;
3049        esac
3050      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3051      _LT_AC_TAGVAR(hardcode_direct, $1)=no
3052      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3053      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3054      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
3055      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3056
3057    if test "$GXX" = yes ; then
3058      lt_int_apple_cc_single_mod=no
3059      output_verbose_link_cmd='echo'
3060      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
3061       lt_int_apple_cc_single_mod=yes
3062      fi
3063      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3064       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3065      else
3066          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3067        fi
3068        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3069        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3070          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3071            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3072          else
3073            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3074          fi
3075            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3076      else
3077      case $cc_basename in
3078        xlc*)
3079         output_verbose_link_cmd='echo'
3080          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
3081          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3082          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3083          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3084          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3085          ;;
3086       *)
3087         _LT_AC_TAGVAR(ld_shlibs, $1)=no
3088          ;;
3089      esac
3090      fi
3091        ;;
3092
3093  dgux*)
3094    case $cc_basename in
3095      ec++*)
3096        # FIXME: insert proper C++ library support
3097        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3098        ;;
3099      ghcx*)
3100        # Green Hills C++ Compiler
3101        # FIXME: insert proper C++ library support
3102        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3103        ;;
3104      *)
3105        # FIXME: insert proper C++ library support
3106        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3107        ;;
3108    esac
3109    ;;
3110  freebsd[[12]]*)
3111    # C++ shared libraries reported to be fairly broken before switch to ELF
3112    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3113    ;;
3114  freebsd-elf*)
3115    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3116    ;;
3117  freebsd* | kfreebsd*-gnu | dragonfly*)
3118    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
3119    # conventions
3120    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
3121    ;;
3122  gnu*)
3123    ;;
3124  hpux9*)
3125    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3126    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3127    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3128    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3129    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
3130                                # but as the default
3131                                # location of the library.
3132
3133    case $cc_basename in
3134    CC*)
3135      # FIXME: insert proper C++ library support
3136      _LT_AC_TAGVAR(ld_shlibs, $1)=no
3137      ;;
3138    aCC*)
3139      _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'
3140      # Commands to make compiler produce verbose output that lists
3141      # what "hidden" libraries, object files and flags are used when
3142      # linking a shared library.
3143      #
3144      # There doesn't appear to be a way to prevent this compiler from
3145      # explicitly linking system object files so we need to strip them
3146      # from the output so that they don't get included in the library
3147      # dependencies.
3148      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3149      ;;
3150    *)
3151      if test "$GXX" = yes; then
3152        _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'
3153      else
3154        # FIXME: insert proper C++ library support
3155        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3156      fi
3157      ;;
3158    esac
3159    ;;
3160  hpux10*|hpux11*)
3161    if test $with_gnu_ld = no; then
3162      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3163      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3164
3165      case $host_cpu in
3166      hppa*64*|ia64*)
3167        _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
3168        ;;
3169      *)
3170        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3171        ;;
3172      esac
3173    fi
3174    case $host_cpu in
3175    hppa*64*|ia64*)
3176      _LT_AC_TAGVAR(hardcode_direct, $1)=no
3177      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3178      ;;
3179    *)
3180      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3181      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
3182                                              # but as the default
3183                                              # location of the library.
3184      ;;
3185    esac
3186
3187    case $cc_basename in
3188      CC*)
3189        # FIXME: insert proper C++ library support
3190        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3191        ;;
3192      aCC*)
3193        case $host_cpu in
3194        hppa*64*)
3195          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3196          ;;
3197        ia64*)
3198          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3199          ;;
3200        *)
3201          _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'
3202          ;;
3203        esac
3204        # Commands to make compiler produce verbose output that lists
3205        # what "hidden" libraries, object files and flags are used when
3206        # linking a shared library.
3207        #
3208        # There doesn't appear to be a way to prevent this compiler from
3209        # explicitly linking system object files so we need to strip them
3210        # from the output so that they don't get included in the library
3211        # dependencies.
3212        output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3213        ;;
3214      *)
3215        if test "$GXX" = yes; then
3216          if test $with_gnu_ld = no; then
3217            case $host_cpu in
3218            hppa*64*)
3219              _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3220              ;;
3221            ia64*)
3222              _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3223              ;;
3224            *)
3225              _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'
3226              ;;
3227            esac
3228          fi
3229        else
3230          # FIXME: insert proper C++ library support
3231          _LT_AC_TAGVAR(ld_shlibs, $1)=no
3232        fi
3233        ;;
3234    esac
3235    ;;
3236  interix3*)
3237    _LT_AC_TAGVAR(hardcode_direct, $1)=no
3238    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3239    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3240    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3241    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
3242    # Instead, shared libraries are loaded at an image base (0x10000000 by
3243    # default) and relocated if they conflict, which is a slow very memory
3244    # consuming and fragmenting process.  To avoid this, we pick a random,
3245    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
3246    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
3247    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
3248    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
3249    ;;
3250  irix5* | irix6*)
3251    case $cc_basename in
3252      CC*)
3253        # SGI C++
3254        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3255
3256        # Archives containing C++ object files must be created using
3257        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
3258        # necessary to make sure instantiated templates are included
3259        # in the archive.
3260        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
3261        ;;
3262      *)
3263        if test "$GXX" = yes; then
3264          if test "$with_gnu_ld" = no; then
3265            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3266          else
3267            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
3268          fi
3269        fi
3270        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3271        ;;
3272    esac
3273    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3274    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3275    ;;
3276  linux*)
3277    case $cc_basename in
3278      KCC*)
3279        # Kuck and Associates, Inc. (KAI) C++ Compiler
3280
3281        # KCC will only create a shared library if the output file
3282        # ends with ".so" (or ".sl" for HP-UX), so rename the library
3283        # to its proper name (with version) after linking.
3284        _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3285        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
3286        # Commands to make compiler produce verbose output that lists
3287        # what "hidden" libraries, object files and flags are used when
3288        # linking a shared library.
3289        #
3290        # There doesn't appear to be a way to prevent this compiler from
3291        # explicitly linking system object files so we need to strip them
3292        # from the output so that they don't get included in the library
3293        # dependencies.
3294        output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3295
3296        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
3297        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3298
3299        # Archives containing C++ object files must be created using
3300        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
3301        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3302        ;;
3303      icpc*)
3304        # Intel C++
3305        with_gnu_ld=yes
3306        # version 8.0 and above of icpc choke on multiply defined symbols
3307        # if we add $predep_objects and $postdep_objects, however 7.1 and
3308        # earlier do not add the objects themselves.
3309        case `$CC -V 2>&1` in
3310        *"Version 7."*)
3311          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3312          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3313          ;;
3314        *)  # Version 8.0 or newer
3315          tmp_idyn=
3316          case $host_cpu in
3317            ia64*) tmp_idyn=' -i_dynamic';;
3318          esac
3319          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
3320          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3321          ;;
3322        esac
3323        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3324        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3325        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3326        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
3327        ;;
3328      pgCC*)
3329        # Portland Group C++ compiler
3330        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
3331        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
3332
3333        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3334        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3335        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
3336        ;;
3337      cxx*)
3338        # Compaq C++
3339        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3340        _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'
3341
3342        runpath_var=LD_RUN_PATH
3343        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3344        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3345
3346        # Commands to make compiler produce verbose output that lists
3347        # what "hidden" libraries, object files and flags are used when
3348        # linking a shared library.
3349        #
3350        # There doesn't appear to be a way to prevent this compiler from
3351        # explicitly linking system object files so we need to strip them
3352        # from the output so that they don't get included in the library
3353        # dependencies.
3354        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'
3355        ;;
3356    esac
3357    ;;
3358  lynxos*)
3359    # FIXME: insert proper C++ library support
3360    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3361    ;;
3362  m88k*)
3363    # FIXME: insert proper C++ library support
3364    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3365    ;;
3366  mvs*)
3367    case $cc_basename in
3368      cxx*)
3369        # FIXME: insert proper C++ library support
3370        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3371        ;;
3372      *)
3373        # FIXME: insert proper C++ library support
3374        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3375        ;;
3376    esac
3377    ;;
3378  netbsd*)
3379    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
3380      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
3381      wlarc=
3382      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3383      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3384      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3385    fi
3386    # Workaround some broken pre-1.5 toolchains
3387    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
3388    ;;
3389  openbsd2*)
3390    # C++ shared libraries are fairly broken
3391    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3392    ;;
3393  openbsd*)
3394    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3395    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3396    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3397    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3398    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3399      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
3400      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3401      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3402    fi
3403    output_verbose_link_cmd='echo'
3404    ;;
3405  osf3*)
3406    case $cc_basename in
3407      KCC*)
3408        # Kuck and Associates, Inc. (KAI) C++ Compiler
3409
3410        # KCC will only create a shared library if the output file
3411        # ends with ".so" (or ".sl" for HP-UX), so rename the library
3412        # to its proper name (with version) after linking.
3413        _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3414
3415        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3416        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3417
3418        # Archives containing C++ object files must be created using
3419        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
3420        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3421
3422        ;;
3423      RCC*)
3424        # Rational C++ 2.4.1
3425        # FIXME: insert proper C++ library support
3426        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3427        ;;
3428      cxx*)
3429        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3430        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3431
3432        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3433        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3434
3435        # Commands to make compiler produce verbose output that lists
3436        # what "hidden" libraries, object files and flags are used when
3437        # linking a shared library.
3438        #
3439        # There doesn't appear to be a way to prevent this compiler from
3440        # explicitly linking system object files so we need to strip them
3441        # from the output so that they don't get included in the library
3442        # dependencies.
3443        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'
3444        ;;
3445      *)
3446        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3447          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3448          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3449
3450          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3451          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3452
3453          # Commands to make compiler produce verbose output that lists
3454          # what "hidden" libraries, object files and flags are used when
3455          # linking a shared library.
3456          output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3457
3458        else
3459          # FIXME: insert proper C++ library support
3460          _LT_AC_TAGVAR(ld_shlibs, $1)=no
3461        fi
3462        ;;
3463    esac
3464    ;;
3465  osf4* | osf5*)
3466    case $cc_basename in
3467      KCC*)
3468        # Kuck and Associates, Inc. (KAI) C++ Compiler
3469
3470        # KCC will only create a shared library if the output file
3471        # ends with ".so" (or ".sl" for HP-UX), so rename the library
3472        # to its proper name (with version) after linking.
3473        _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3474
3475        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3476        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3477
3478        # Archives containing C++ object files must be created using
3479        # the KAI C++ compiler.
3480        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
3481        ;;
3482      RCC*)
3483        # Rational C++ 2.4.1
3484        # FIXME: insert proper C++ library support
3485        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3486        ;;
3487      cxx*)
3488        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
3489        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3490        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
3491          echo "-hidden">> $lib.exp~
3492          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
3493          $rm $lib.exp'
3494
3495        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3496        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3497
3498        # Commands to make compiler produce verbose output that lists
3499        # what "hidden" libraries, object files and flags are used when
3500        # linking a shared library.
3501        #
3502        # There doesn't appear to be a way to prevent this compiler from
3503        # explicitly linking system object files so we need to strip them
3504        # from the output so that they don't get included in the library
3505        # dependencies.
3506        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'
3507        ;;
3508      *)
3509        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3510          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3511         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3512
3513          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3514          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3515
3516          # Commands to make compiler produce verbose output that lists
3517          # what "hidden" libraries, object files and flags are used when
3518          # linking a shared library.
3519          output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3520
3521        else
3522          # FIXME: insert proper C++ library support
3523          _LT_AC_TAGVAR(ld_shlibs, $1)=no
3524        fi
3525        ;;
3526    esac
3527    ;;
3528  psos*)
3529    # FIXME: insert proper C++ library support
3530    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3531    ;;
3532  sunos4*)
3533    case $cc_basename in
3534      CC*)
3535        # Sun C++ 4.x
3536        # FIXME: insert proper C++ library support
3537        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3538        ;;
3539      lcc*)
3540        # Lucid
3541        # FIXME: insert proper C++ library support
3542        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3543        ;;
3544      *)
3545        # FIXME: insert proper C++ library support
3546        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3547        ;;
3548    esac
3549    ;;
3550  solaris*)
3551    case $cc_basename in
3552      CC*)
3553        # Sun C++ 4.2, 5.x and Centerline C++
3554        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
3555        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
3556        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3557        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3558        $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3559
3560        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3561        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3562        case $host_os in
3563          solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
3564          *)
3565            # The C++ compiler is used as linker so we must use $wl
3566            # flag to pass the commands to the underlying system
3567            # linker. We must also pass each convience library through
3568            # to the system linker between allextract/defaultextract.
3569            # The C++ compiler will combine linker options so we
3570            # cannot just pass the convience library names through
3571            # without $wl.
3572            # Supported since Solaris 2.6 (maybe 2.5.1?)
3573            _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
3574            ;;
3575        esac
3576        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3577
3578        output_verbose_link_cmd='echo'
3579
3580        # Archives containing C++ object files must be created using
3581        # "CC -xar", where "CC" is the Sun C++ compiler.  This is
3582        # necessary to make sure instantiated templates are included
3583        # in the archive.
3584        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
3585        ;;
3586      gcx*)
3587        # Green Hills C++ Compiler
3588        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3589
3590        # The C++ compiler must be used to create the archive.
3591        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
3592        ;;
3593      *)
3594        # GNU C++ compiler with Solaris linker
3595        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3596          _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
3597          if $CC --version | grep -v '^2\.7' > /dev/null; then
3598            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3599            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3600                $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3601
3602            # Commands to make compiler produce verbose output that lists
3603            # what "hidden" libraries, object files and flags are used when
3604            # linking a shared library.
3605            output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3606          else
3607            # g++ 2.7 appears to require `-G' NOT `-shared' on this
3608            # platform.
3609            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3610            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3611                $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3612
3613            # Commands to make compiler produce verbose output that lists
3614            # what "hidden" libraries, object files and flags are used when
3615            # linking a shared library.
3616            output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3617          fi
3618
3619          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
3620        fi
3621        ;;
3622    esac
3623    ;;
3624  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
3625    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3626    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3627    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3628    runpath_var='LD_RUN_PATH'
3629
3630    case $cc_basename in
3631      CC*)
3632        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3633        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3634        ;;
3635      *)
3636        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3637        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3638        ;;
3639    esac
3640    ;;
3641  sysv5* | sco3.2v5* | sco5v6*)
3642    # Note: We can NOT use -z defs as we might desire, because we do not
3643    # link with -lc, and that would cause any symbols used from libc to
3644    # always be unresolved, which means just about no library would
3645    # ever link correctly.  If we're not using GNU ld we use -z text
3646    # though, which does catch some bad symbols but isn't as heavy-handed
3647    # as -z defs.
3648    # For security reasons, it is highly recommended that you always
3649    # use absolute paths for naming shared libraries, and exclude the
3650    # DT_RUNPATH tag from executables and libraries.  But doing so
3651    # requires that you compile everything twice, which is a pain.
3652    # So that behaviour is only enabled if SCOABSPATH is set to a
3653    # non-empty value in the environment.  Most likely only useful for
3654    # creating official distributions of packages.
3655    # This is a hack until libtool officially supports absolute path
3656    # names for shared libraries.
3657    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3658    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
3659    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3660    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3661    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
3662    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3663    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3664    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
3665    runpath_var='LD_RUN_PATH'
3666
3667    case $cc_basename in
3668      CC*)
3669        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3670        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3671        ;;
3672      *)
3673        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3674        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3675        ;;
3676    esac
3677    ;;
3678  tandem*)
3679    case $cc_basename in
3680      NCC*)
3681        # NonStop-UX NCC 3.20
3682        # FIXME: insert proper C++ library support
3683        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3684        ;;
3685      *)
3686        # FIXME: insert proper C++ library support
3687        _LT_AC_TAGVAR(ld_shlibs, $1)=no
3688        ;;
3689    esac
3690    ;;
3691  vxworks*)
3692    # FIXME: insert proper C++ library support
3693    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3694    ;;
3695  *)
3696    # FIXME: insert proper C++ library support
3697    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3698    ;;
3699esac
3700AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
3701test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
3702
3703_LT_AC_TAGVAR(GCC, $1)="$GXX"
3704_LT_AC_TAGVAR(LD, $1)="$LD"
3705
3706## CAVEAT EMPTOR:
3707## There is no encapsulation within the following macros, do not change
3708## the running order or otherwise move them around unless you know exactly
3709## what you are doing...
3710AC_LIBTOOL_POSTDEP_PREDEP($1)
3711AC_LIBTOOL_PROG_COMPILER_PIC($1)
3712AC_LIBTOOL_PROG_CC_C_O($1)
3713AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3714AC_LIBTOOL_PROG_LD_SHLIBS($1)
3715AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3716AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3717
3718AC_LIBTOOL_CONFIG($1)
3719
3720AC_LANG_POP
3721CC=$lt_save_CC
3722LDCXX=$LD
3723LD=$lt_save_LD
3724GCC=$lt_save_GCC
3725with_gnu_ldcxx=$with_gnu_ld
3726with_gnu_ld=$lt_save_with_gnu_ld
3727lt_cv_path_LDCXX=$lt_cv_path_LD
3728lt_cv_path_LD=$lt_save_path_LD
3729lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
3730lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
3731])# AC_LIBTOOL_LANG_CXX_CONFIG
3732
3733# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
3734# ------------------------------------
3735# Figure out "hidden" library dependencies from verbose
3736# compiler output when linking a shared library.
3737# Parse the compiler output and extract the necessary
3738# objects, libraries and library flags.
3739AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
3740dnl we can't use the lt_simple_compile_test_code here,
3741dnl because it contains code intended for an executable,
3742dnl not a library.  It's possible we should let each
3743dnl tag define a new lt_????_link_test_code variable,
3744dnl but it's only used here...
3745ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
3746int a;
3747void foo (void) { a = 0; }
3748EOF
3749],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
3750class Foo
3751{
3752public:
3753  Foo (void) { a = 0; }
3754private:
3755  int a;
3756};
3757EOF
3758],[$1],[F77],[cat > conftest.$ac_ext <<EOF
3759      subroutine foo
3760      implicit none
3761      integer*4 a
3762      a=0
3763      return
3764      end
3765EOF
3766],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
3767public class foo {
3768  private int a;
3769  public void bar (void) {
3770    a = 0;
3771  }
3772};
3773EOF
3774])
3775dnl Parse the compiler output and extract the necessary
3776dnl objects, libraries and library flags.
3777if AC_TRY_EVAL(ac_compile); then
3778  # Parse the compiler output and extract the necessary
3779  # objects, libraries and library flags.
3780
3781  # Sentinel used to keep track of whether or not we are before
3782  # the conftest object file.
3783  pre_test_object_deps_done=no
3784
3785  # The `*' in the case matches for architectures that use `case' in
3786  # $output_verbose_cmd can trigger glob expansion during the loop
3787  # eval without this substitution.
3788  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
3789
3790  for p in `eval $output_verbose_link_cmd`; do
3791    case $p in
3792
3793    -L* | -R* | -l*)
3794       # Some compilers place space between "-{L,R}" and the path.
3795       # Remove the space.
3796       if test $p = "-L" \
3797          || test $p = "-R"; then
3798         prev=$p
3799         continue
3800       else
3801         prev=
3802       fi
3803
3804       if test "$pre_test_object_deps_done" = no; then
3805         case $p in
3806         -L* | -R*)
3807           # Internal compiler library paths should come after those
3808           # provided the user.  The postdeps already come after the
3809           # user supplied libs so there is no need to process them.
3810           if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3811             _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
3812           else
3813             _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
3814           fi
3815           ;;
3816         # The "-l" case would never come before the object being
3817         # linked, so don't bother handling this case.
3818         esac
3819       else
3820         if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
3821           _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
3822         else
3823           _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
3824         fi
3825       fi
3826       ;;
3827
3828    *.$objext)
3829       # This assumes that the test object file only shows up
3830       # once in the compiler output.
3831       if test "$p" = "conftest.$objext"; then
3832         pre_test_object_deps_done=yes
3833         continue
3834       fi
3835
3836       if test "$pre_test_object_deps_done" = no; then
3837         if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
3838           _LT_AC_TAGVAR(predep_objects, $1)="$p"
3839         else
3840           _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
3841         fi
3842       else
3843         if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
3844           _LT_AC_TAGVAR(postdep_objects, $1)="$p"
3845         else
3846           _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
3847         fi
3848       fi
3849       ;;
3850
3851    *) ;; # Ignore the rest.
3852
3853    esac
3854  done
3855
3856  # Clean up.
3857  rm -f a.out a.exe
3858else
3859  echo "libtool.m4: error: problem compiling $1 test program"
3860fi
3861
3862$rm -f confest.$objext
3863
3864# PORTME: override above test on systems where it is broken
3865ifelse([$1],[CXX],
3866[case $host_os in
3867interix3*)
3868  # Interix 3.5 installs completely hosed .la files for C++, so rather than
3869  # hack all around it, let's just trust "g++" to DTRT.
3870  _LT_AC_TAGVAR(predep_objects,$1)=
3871  _LT_AC_TAGVAR(postdep_objects,$1)=
3872  _LT_AC_TAGVAR(postdeps,$1)=
3873  ;;
3874
3875solaris*)
3876  case $cc_basename in
3877  CC*)
3878    # Adding this requires a known-good setup of shared libraries for
3879    # Sun compiler versions before 5.6, else PIC objects from an old
3880    # archive will be linked into the output, leading to subtle bugs.
3881    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
3882    ;;
3883  esac
3884  ;;
3885esac
3886])
3887
3888case " $_LT_AC_TAGVAR(postdeps, $1) " in
3889*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
3890esac
3891])# AC_LIBTOOL_POSTDEP_PREDEP
3892
3893# AC_LIBTOOL_LANG_F77_CONFIG
3894# --------------------------
3895# Ensure that the configuration vars for the C compiler are
3896# suitably defined.  Those variables are subsequently used by
3897# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3898AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
3899AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
3900[AC_REQUIRE([AC_PROG_F77])
3901AC_LANG_PUSH(Fortran 77)
3902
3903_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3904_LT_AC_TAGVAR(allow_undefined_flag, $1)=
3905_LT_AC_TAGVAR(always_export_symbols, $1)=no
3906_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
3907_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
3908_LT_AC_TAGVAR(hardcode_direct, $1)=no
3909_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
3910_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
3911_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3912_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
3913_LT_AC_TAGVAR(hardcode_automatic, $1)=no
3914_LT_AC_TAGVAR(module_cmds, $1)=
3915_LT_AC_TAGVAR(module_expsym_cmds, $1)=
3916_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
3917_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
3918_LT_AC_TAGVAR(no_undefined_flag, $1)=
3919_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3920_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
3921
3922# Source file extension for f77 test sources.
3923ac_ext=f
3924
3925# Object file extension for compiled f77 test sources.
3926objext=o
3927_LT_AC_TAGVAR(objext, $1)=$objext
3928
3929# Code to be used in simple compile tests
3930lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
3931
3932# Code to be used in simple link tests
3933lt_simple_link_test_code="      program t\n      end\n"
3934
3935# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3936_LT_AC_SYS_COMPILER
3937
3938# save warnings/boilerplate of simple test code
3939_LT_COMPILER_BOILERPLATE
3940_LT_LINKER_BOILERPLATE
3941
3942# Allow CC to be a program name with arguments.
3943lt_save_CC="$CC"
3944CC=${F77-"f77"}
3945compiler=$CC
3946_LT_AC_TAGVAR(compiler, $1)=$CC
3947_LT_CC_BASENAME([$compiler])
3948
3949AC_MSG_CHECKING([if libtool supports shared libraries])
3950AC_MSG_RESULT([$can_build_shared])
3951
3952AC_MSG_CHECKING([whether to build shared libraries])
3953test "$can_build_shared" = "no" && enable_shared=no
3954
3955# On AIX, shared libraries and static libraries use the same namespace, and
3956# are all built from PIC.
3957case $host_os in
3958aix3*)
3959  test "$enable_shared" = yes && enable_static=no
3960  if test -n "$RANLIB"; then
3961    archive_cmds="$archive_cmds~\$RANLIB \$lib"
3962    postinstall_cmds='$RANLIB $lib'
3963  fi
3964  ;;
3965aix4* | aix5*)
3966  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3967    test "$enable_shared" = yes && enable_static=no
3968  fi
3969  ;;
3970esac
3971AC_MSG_RESULT([$enable_shared])
3972
3973AC_MSG_CHECKING([whether to build static libraries])
3974# Make sure either enable_shared or enable_static is yes.
3975test "$enable_shared" = yes || enable_static=yes
3976AC_MSG_RESULT([$enable_static])
3977
3978_LT_AC_TAGVAR(GCC, $1)="$G77"
3979_LT_AC_TAGVAR(LD, $1)="$LD"
3980
3981AC_LIBTOOL_PROG_COMPILER_PIC($1)
3982AC_LIBTOOL_PROG_CC_C_O($1)
3983AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3984AC_LIBTOOL_PROG_LD_SHLIBS($1)
3985AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3986AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3987
3988AC_LIBTOOL_CONFIG($1)
3989
3990AC_LANG_POP
3991CC="$lt_save_CC"
3992])# AC_LIBTOOL_LANG_F77_CONFIG
3993
3994
3995# AC_LIBTOOL_LANG_GCJ_CONFIG
3996# --------------------------
3997# Ensure that the configuration vars for the C compiler are
3998# suitably defined.  Those variables are subsequently used by
3999# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
4000AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
4001AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
4002[AC_LANG_SAVE
4003
4004# Source file extension for Java test sources.
4005ac_ext=java
4006
4007# Object file extension for compiled Java test sources.
4008objext=o
4009_LT_AC_TAGVAR(objext, $1)=$objext
4010
4011# Code to be used in simple compile tests
4012lt_simple_compile_test_code="class foo {}\n"
4013
4014# Code to be used in simple link tests
4015lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
4016
4017# ltmain only uses $CC for tagged configurations so make sure $CC is set.
4018_LT_AC_SYS_COMPILER
4019
4020# save warnings/boilerplate of simple test code
4021_LT_COMPILER_BOILERPLATE
4022_LT_LINKER_BOILERPLATE
4023
4024# Allow CC to be a program name with arguments.
4025lt_save_CC="$CC"
4026CC=${GCJ-"gcj"}
4027compiler=$CC
4028_LT_AC_TAGVAR(compiler, $1)=$CC
4029_LT_CC_BASENAME([$compiler])
4030
4031# GCJ did not exist at the time GCC didn't implicitly link libc in.
4032_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4033
4034_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
4035
4036## CAVEAT EMPTOR:
4037## There is no encapsulation within the following macros, do not change
4038## the running order or otherwise move them around unless you know exactly
4039## what you are doing...
4040AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
4041AC_LIBTOOL_PROG_COMPILER_PIC($1)
4042AC_LIBTOOL_PROG_CC_C_O($1)
4043AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
4044AC_LIBTOOL_PROG_LD_SHLIBS($1)
4045AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
4046AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
4047
4048AC_LIBTOOL_CONFIG($1)
4049
4050AC_LANG_RESTORE
4051CC="$lt_save_CC"
4052])# AC_LIBTOOL_LANG_GCJ_CONFIG
4053
4054
4055# AC_LIBTOOL_LANG_RC_CONFIG
4056# -------------------------
4057# Ensure that the configuration vars for the Windows resource compiler are
4058# suitably defined.  Those variables are subsequently used by
4059# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
4060AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
4061AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
4062[AC_LANG_SAVE
4063
4064# Source file extension for RC test sources.
4065ac_ext=rc
4066
4067# Object file extension for compiled RC test sources.
4068objext=o
4069_LT_AC_TAGVAR(objext, $1)=$objext
4070
4071# Code to be used in simple compile tests
4072lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
4073
4074# Code to be used in simple link tests
4075lt_simple_link_test_code="$lt_simple_compile_test_code"
4076
4077# ltmain only uses $CC for tagged configurations so make sure $CC is set.
4078_LT_AC_SYS_COMPILER
4079
4080# save warnings/boilerplate of simple test code
4081_LT_COMPILER_BOILERPLATE
4082_LT_LINKER_BOILERPLATE
4083
4084# Allow CC to be a program name with arguments.
4085lt_save_CC="$CC"
4086CC=${RC-"windres"}
4087compiler=$CC
4088_LT_AC_TAGVAR(compiler, $1)=$CC
4089_LT_CC_BASENAME([$compiler])
4090_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
4091
4092AC_LIBTOOL_CONFIG($1)
4093
4094AC_LANG_RESTORE
4095CC="$lt_save_CC"
4096])# AC_LIBTOOL_LANG_RC_CONFIG
4097
4098
4099# AC_LIBTOOL_CONFIG([TAGNAME])
4100# ----------------------------
4101# If TAGNAME is not passed, then create an initial libtool script
4102# with a default configuration from the untagged config vars.  Otherwise
4103# add code to config.status for appending the configuration named by
4104# TAGNAME from the matching tagged config vars.
4105AC_DEFUN([AC_LIBTOOL_CONFIG],
4106[# The else clause should only fire when bootstrapping the
4107# libtool distribution, otherwise you forgot to ship ltmain.sh
4108# with your package, and you will get complaints that there are
4109# no rules to generate ltmain.sh.
4110if test -f "$ltmain"; then
4111  # See if we are running on zsh, and set the options which allow our commands through
4112  # without removal of \ escapes.
4113  if test -n "${ZSH_VERSION+set}" ; then
4114    setopt NO_GLOB_SUBST
4115  fi
4116  # Now quote all the things that may contain metacharacters while being
4117  # careful not to overquote the AC_SUBSTed values.  We take copies of the
4118  # variables and quote the copies for generation of the libtool script.
4119  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
4120    SED SHELL STRIP \
4121    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
4122    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
4123    deplibs_check_method reload_flag reload_cmds need_locks \
4124    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
4125    lt_cv_sys_global_symbol_to_c_name_address \
4126    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
4127    old_postinstall_cmds old_postuninstall_cmds \
4128    _LT_AC_TAGVAR(compiler, $1) \
4129    _LT_AC_TAGVAR(CC, $1) \
4130    _LT_AC_TAGVAR(LD, $1) \
4131    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
4132    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
4133    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
4134    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
4135    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
4136    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
4137    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
4138    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
4139    _LT_AC_TAGVAR(old_archive_cmds, $1) \
4140    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
4141    _LT_AC_TAGVAR(predep_objects, $1) \
4142    _LT_AC_TAGVAR(postdep_objects, $1) \
4143    _LT_AC_TAGVAR(predeps, $1) \
4144    _LT_AC_TAGVAR(postdeps, $1) \
4145    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
4146    _LT_AC_TAGVAR(archive_cmds, $1) \
4147    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
4148    _LT_AC_TAGVAR(postinstall_cmds, $1) \
4149    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
4150    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
4151    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
4152    _LT_AC_TAGVAR(no_undefined_flag, $1) \
4153    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
4154    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
4155    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
4156    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
4157    _LT_AC_TAGVAR(hardcode_automatic, $1) \
4158    _LT_AC_TAGVAR(module_cmds, $1) \
4159    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
4160    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
4161    _LT_AC_TAGVAR(exclude_expsyms, $1) \
4162    _LT_AC_TAGVAR(include_expsyms, $1); do
4163
4164    case $var in
4165    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
4166    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
4167    _LT_AC_TAGVAR(archive_cmds, $1) | \
4168    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
4169    _LT_AC_TAGVAR(module_cmds, $1) | \
4170    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
4171    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
4172    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
4173    extract_expsyms_cmds | reload_cmds | finish_cmds | \
4174    postinstall_cmds | postuninstall_cmds | \
4175    old_postinstall_cmds | old_postuninstall_cmds | \
4176    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
4177      # Double-quote double-evaled strings.
4178      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
4179      ;;
4180    *)
4181      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
4182      ;;
4183    esac
4184  done
4185
4186  case $lt_echo in
4187  *'\[$]0 --fallback-echo"')
4188    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
4189    ;;
4190  esac
4191
4192ifelse([$1], [],
4193  [cfgfile="${ofile}T"
4194  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
4195  $rm -f "$cfgfile"
4196  AC_MSG_NOTICE([creating $ofile])],
4197  [cfgfile="$ofile"])
4198
4199  cat <<__EOF__ >> "$cfgfile"
4200ifelse([$1], [],
4201[#! $SHELL
4202
4203# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
4204# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
4205# NOTE: Changes made to this file will be lost: look at ltmain.sh.
4206#
4207# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
4208# Free Software Foundation, Inc.
4209#
4210# This file is part of GNU Libtool:
4211# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4212#
4213# This program is free software; you can redistribute it and/or modify
4214# it under the terms of the GNU General Public License as published by
4215# the Free Software Foundation; either version 2 of the License, or
4216# (at your option) any later version.
4217#
4218# This program is distributed in the hope that it will be useful, but
4219# WITHOUT ANY WARRANTY; without even the implied warranty of
4220# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4221# General Public License for more details.
4222#
4223# You should have received a copy of the GNU General Public License
4224# along with this program; if not, write to the Free Software
4225# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
4226#
4227# As a special exception to the GNU General Public License, if you
4228# distribute this file as part of a program that contains a
4229# configuration script generated by Autoconf, you may include it under
4230# the same distribution terms that you use for the rest of that program.
4231
4232# A sed program that does not truncate output.
4233SED=$lt_SED
4234
4235# Sed that helps us avoid accidentally triggering echo(1) options like -n.
4236Xsed="$SED -e 1s/^X//"
4237
4238# The HP-UX ksh and POSIX shell print the target directory to stdout
4239# if CDPATH is set.
4240(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
4241
4242# The names of the tagged configurations supported by this script.
4243available_tags=
4244
4245# ### BEGIN LIBTOOL CONFIG],
4246[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
4247
4248# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
4249
4250# Shell to use when invoking shell scripts.
4251SHELL=$lt_SHELL
4252
4253# Whether or not to build shared libraries.
4254build_libtool_libs=$enable_shared
4255
4256# Whether or not to build static libraries.
4257build_old_libs=$enable_static
4258
4259# Whether or not to add -lc for building shared libraries.
4260build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
4261
4262# Whether or not to disallow shared libs when runtime libs are static
4263allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
4264
4265# Whether or not to optimize for fast installation.
4266fast_install=$enable_fast_install
4267
4268# The host system.
4269host_alias=$host_alias
4270host=$host
4271host_os=$host_os
4272
4273# The build system.
4274build_alias=$build_alias
4275build=$build
4276build_os=$build_os
4277
4278# An echo program that does not interpret backslashes.
4279echo=$lt_echo
4280
4281# The archiver.
4282AR=$lt_AR
4283AR_FLAGS=$lt_AR_FLAGS
4284
4285# A C compiler.
4286LTCC=$lt_LTCC
4287
4288# LTCC compiler flags.
4289LTCFLAGS=$lt_LTCFLAGS
4290
4291# A language-specific compiler.
4292CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
4293
4294# Is the compiler the GNU C compiler?
4295with_gcc=$_LT_AC_TAGVAR(GCC, $1)
4296
4297# An ERE matcher.
4298EGREP=$lt_EGREP
4299
4300# The linker used to build libraries.
4301LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
4302
4303# Whether we need hard or soft links.
4304LN_S=$lt_LN_S
4305
4306# A BSD-compatible nm program.
4307NM=$lt_NM
4308
4309# A symbol stripping program
4310STRIP=$lt_STRIP
4311
4312# Used to examine libraries when file_magic_cmd begins "file"
4313MAGIC_CMD=$MAGIC_CMD
4314
4315# Used on cygwin: DLL creation program.
4316DLLTOOL="$DLLTOOL"
4317
4318# Used on cygwin: object dumper.
4319OBJDUMP="$OBJDUMP"
4320
4321# Used on cygwin: assembler.
4322AS="$AS"
4323
4324# The name of the directory that contains temporary libtool files.
4325objdir=$objdir
4326
4327# How to create reloadable object files.
4328reload_flag=$lt_reload_flag
4329reload_cmds=$lt_reload_cmds
4330
4331# How to pass a linker flag through the compiler.
4332wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
4333
4334# Object file suffix (normally "o").
4335objext="$ac_objext"
4336
4337# Old archive suffix (normally "a").
4338libext="$libext"
4339
4340# Shared library suffix (normally ".so").
4341shrext_cmds='$shrext_cmds'
4342
4343# Executable file suffix (normally "").
4344exeext="$exeext"
4345
4346# Additional compiler flags for building library objects.
4347pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
4348pic_mode=$pic_mode
4349
4350# What is the maximum length of a command?
4351max_cmd_len=$lt_cv_sys_max_cmd_len
4352
4353# Does compiler simultaneously support -c and -o options?
4354compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
4355
4356# Must we lock files when doing compilation?
4357need_locks=$lt_need_locks
4358
4359# Do we need the lib prefix for modules?
4360need_lib_prefix=$need_lib_prefix
4361
4362# Do we need a version for libraries?
4363need_version=$need_version
4364
4365# Whether dlopen is supported.
4366dlopen_support=$enable_dlopen
4367
4368# Whether dlopen of programs is supported.
4369dlopen_self=$enable_dlopen_self
4370
4371# Whether dlopen of statically linked programs is supported.
4372dlopen_self_static=$enable_dlopen_self_static
4373
4374# Compiler flag to prevent dynamic linking.
4375link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
4376
4377# Compiler flag to turn off builtin functions.
4378no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
4379
4380# Compiler flag to allow reflexive dlopens.
4381export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
4382
4383# Compiler flag to generate shared objects directly from archives.
4384whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
4385
4386# Compiler flag to generate thread-safe objects.
4387thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
4388
4389# Library versioning type.
4390version_type=$version_type
4391
4392# Format of library name prefix.
4393libname_spec=$lt_libname_spec
4394
4395# List of archive names.  First name is the real one, the rest are links.
4396# The last name is the one that the linker finds with -lNAME.
4397library_names_spec=$lt_library_names_spec
4398
4399# The coded name of the library, if different from the real name.
4400soname_spec=$lt_soname_spec
4401
4402# Commands used to build and install an old-style archive.
4403RANLIB=$lt_RANLIB
4404old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
4405old_postinstall_cmds=$lt_old_postinstall_cmds
4406old_postuninstall_cmds=$lt_old_postuninstall_cmds
4407
4408# Create an old-style archive from a shared archive.
4409old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
4410
4411# Create a temporary old-style archive to link instead of a shared archive.
4412old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
4413
4414# Commands used to build and install a shared archive.
4415archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
4416archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
4417postinstall_cmds=$lt_postinstall_cmds
4418postuninstall_cmds=$lt_postuninstall_cmds
4419
4420# Commands used to build a loadable module (assumed same as above if empty)
4421module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
4422module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
4423
4424# Commands to strip libraries.
4425old_striplib=$lt_old_striplib
4426striplib=$lt_striplib
4427
4428# Dependencies to place before the objects being linked to create a
4429# shared library.
4430predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
4431
4432# Dependencies to place after the objects being linked to create a
4433# shared library.
4434postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
4435
4436# Dependencies to place before the objects being linked to create a
4437# shared library.
4438predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
4439
4440# Dependencies to place after the objects being linked to create a
4441# shared library.
4442postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
4443
4444# The library search path used internally by the compiler when linking
4445# a shared library.
4446compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
4447
4448# Method to check whether dependent libraries are shared objects.
4449deplibs_check_method=$lt_deplibs_check_method
4450
4451# Command to use when deplibs_check_method == file_magic.
4452file_magic_cmd=$lt_file_magic_cmd
4453
4454# Flag that allows shared libraries with undefined symbols to be built.
4455allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
4456
4457# Flag that forces no undefined symbols.
4458no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
4459
4460# Commands used to finish a libtool library installation in a directory.
4461finish_cmds=$lt_finish_cmds
4462
4463# Same as above, but a single script fragment to be evaled but not shown.
4464finish_eval=$lt_finish_eval
4465
4466# Take the output of nm and produce a listing of raw symbols and C names.
4467global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
4468
4469# Transform the output of nm in a proper C declaration
4470global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
4471
4472# Transform the output of nm in a C name address pair
4473global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
4474
4475# This is the shared library runtime path variable.
4476runpath_var=$runpath_var
4477
4478# This is the shared library path variable.
4479shlibpath_var=$shlibpath_var
4480
4481# Is shlibpath searched before the hard-coded library search path?
4482shlibpath_overrides_runpath=$shlibpath_overrides_runpath
4483
4484# How to hardcode a shared library path into an executable.
4485hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
4486
4487# Whether we should hardcode library paths into libraries.
4488hardcode_into_libs=$hardcode_into_libs
4489
4490# Flag to hardcode \$libdir into a binary during linking.
4491# This must work even if \$libdir does not exist.
4492hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
4493
4494# If ld is used when linking, flag to hardcode \$libdir into
4495# a binary during linking. This must work even if \$libdir does
4496# not exist.
4497hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
4498
4499# Whether we need a single -rpath flag with a separated argument.
4500hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
4501
4502# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
4503# resulting binary.
4504hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
4505
4506# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
4507# resulting binary.
4508hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
4509
4510# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
4511# the resulting binary.
4512hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
4513
4514# Set to yes if building a shared library automatically hardcodes DIR into the library
4515# and all subsequent libraries and executables linked against it.
4516hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
4517
4518# Variables whose values should be saved in libtool wrapper scripts and
4519# restored at relink time.
4520variables_saved_for_relink="$variables_saved_for_relink"
4521
4522# Whether libtool must link a program against all its dependency libraries.
4523link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
4524
4525# Compile-time system search path for libraries
4526sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
4527
4528# Run-time system search path for libraries
4529sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
4530
4531# Fix the shell variable \$srcfile for the compiler.
4532fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
4533
4534# Set to yes if exported symbols are required.
4535always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
4536
4537# The commands to list exported symbols.
4538export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
4539
4540# The commands to extract the exported symbol list from a shared archive.
4541extract_expsyms_cmds=$lt_extract_expsyms_cmds
4542
4543# Symbols that should not be listed in the preloaded symbols.
4544exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
4545
4546# Symbols that must always be exported.
4547include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
4548
4549ifelse([$1],[],
4550[# ### END LIBTOOL CONFIG],
4551[# ### END LIBTOOL TAG CONFIG: $tagname])
4552
4553__EOF__
4554
4555ifelse([$1],[], [
4556  case $host_os in
4557  aix3*)
4558    cat <<\EOF >> "$cfgfile"
4559
4560# AIX sometimes has problems with the GCC collect2 program.  For some
4561# reason, if we set the COLLECT_NAMES environment variable, the problems
4562# vanish in a puff of smoke.
4563if test "X${COLLECT_NAMES+set}" != Xset; then
4564  COLLECT_NAMES=
4565  export COLLECT_NAMES
4566fi
4567EOF
4568    ;;
4569  esac
4570
4571  # We use sed instead of cat because bash on DJGPP gets confused if
4572  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
4573  # text mode, it properly converts lines to CR/LF.  This bash problem
4574  # is reportedly fixed, but why not run on old versions too?
4575  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
4576
4577  mv -f "$cfgfile" "$ofile" || \
4578    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
4579  chmod +x "$ofile"
4580])
4581else
4582  # If there is no Makefile yet, we rely on a make rule to execute
4583  # `config.status --recheck' to rerun these tests and create the
4584  # libtool script then.
4585  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
4586  if test -f "$ltmain_in"; then
4587    test -f Makefile && make "$ltmain"
4588  fi
4589fi
4590])# AC_LIBTOOL_CONFIG
4591
4592
4593# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
4594# -------------------------------------------
4595AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
4596[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
4597
4598_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4599
4600if test "$GCC" = yes; then
4601  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
4602
4603  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4604    lt_cv_prog_compiler_rtti_exceptions,
4605    [-fno-rtti -fno-exceptions], [],
4606    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4607fi
4608])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
4609
4610
4611# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4612# ---------------------------------
4613AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
4614[AC_REQUIRE([AC_CANONICAL_HOST])
4615AC_REQUIRE([AC_PROG_NM])
4616AC_REQUIRE([AC_OBJEXT])
4617# Check for command to grab the raw symbol name followed by C symbol from nm.
4618AC_MSG_CHECKING([command to parse $NM output from $compiler object])
4619AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
4620[
4621# These are sane defaults that work on at least a few old systems.
4622# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
4623
4624# Character class describing NM global symbol codes.
4625symcode='[[BCDEGRST]]'
4626
4627# Regexp to match symbols that can be accessed directly from C.
4628sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
4629
4630# Transform an extracted symbol line into a proper C declaration
4631lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
4632
4633# Transform an extracted symbol line into symbol name and symbol address
4634lt_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'"
4635
4636# Define system-specific variables.
4637case $host_os in
4638aix*)
4639  symcode='[[BCDT]]'
4640  ;;
4641cygwin* | mingw* | pw32*)
4642  symcode='[[ABCDGISTW]]'
4643  ;;
4644hpux*) # Its linker distinguishes data from code symbols
4645  if test "$host_cpu" = ia64; then
4646    symcode='[[ABCDEGRST]]'
4647  fi
4648  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4649  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'"
4650  ;;
4651linux*)
4652  if test "$host_cpu" = ia64; then
4653    symcode='[[ABCDGIRSTW]]'
4654    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4655    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'"
4656  fi
4657  ;;
4658irix* | nonstopux*)
4659  symcode='[[BCDEGRST]]'
4660  ;;
4661osf*)
4662  symcode='[[BCDEGQRST]]'
4663  ;;
4664solaris*)
4665  symcode='[[BDRT]]'
4666  ;;
4667sco3.2v5*)
4668  symcode='[[DT]]'
4669  ;;
4670sysv4.2uw2*)
4671  symcode='[[DT]]'
4672  ;;
4673sysv5* | sco5v6* | unixware* | OpenUNIX*)
4674  symcode='[[ABDT]]'
4675  ;;
4676sysv4)
4677  symcode='[[DFNSTU]]'
4678  ;;
4679esac
4680
4681# Handle CRLF in mingw tool chain
4682opt_cr=
4683case $build_os in
4684mingw*)
4685  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4686  ;;
4687esac
4688
4689# If we're using GNU nm, then use its standard symbol codes.
4690case `$NM -V 2>&1` in
4691*GNU* | *'with BFD'*)
4692  symcode='[[ABCDGIRSTW]]' ;;
4693esac
4694
4695# Try without a prefix undercore, then with it.
4696for ac_symprfx in "" "_"; do
4697
4698  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4699  symxfrm="\\1 $ac_symprfx\\2 \\2"
4700
4701  # Write the raw and C identifiers.
4702  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[      ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4703
4704  # Check to see that the pipe works correctly.
4705  pipe_works=no
4706
4707  rm -f conftest*
4708  cat > conftest.$ac_ext <<EOF
4709#ifdef __cplusplus
4710extern "C" {
4711#endif
4712char nm_test_var;
4713void nm_test_func(){}
4714#ifdef __cplusplus
4715}
4716#endif
4717int main(){nm_test_var='a';nm_test_func();return(0);}
4718EOF
4719
4720  if AC_TRY_EVAL(ac_compile); then
4721    # Now try to grab the symbols.
4722    nlist=conftest.nm
4723    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
4724      # Try sorting and uniquifying the output.
4725      if sort "$nlist" | uniq > "$nlist"T; then
4726        mv -f "$nlist"T "$nlist"
4727      else
4728        rm -f "$nlist"T
4729      fi
4730
4731      # Make sure that we snagged all the symbols we need.
4732      if grep ' nm_test_var$' "$nlist" >/dev/null; then
4733        if grep ' nm_test_func$' "$nlist" >/dev/null; then
4734          cat <<EOF > conftest.$ac_ext
4735#ifdef __cplusplus
4736extern "C" {
4737#endif
4738
4739EOF
4740          # Now generate the symbol file.
4741          eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
4742
4743          cat <<EOF >> conftest.$ac_ext
4744#if defined (__STDC__) && __STDC__
4745# define lt_ptr_t void *
4746#else
4747# define lt_ptr_t char *
4748# define const
4749#endif
4750
4751/* The mapping between symbol names and symbols. */
4752const struct {
4753  const char *name;
4754  lt_ptr_t address;
4755}
4756lt_preloaded_symbols[[]] =
4757{
4758EOF
4759          $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
4760          cat <<\EOF >> conftest.$ac_ext
4761  {0, (lt_ptr_t) 0}
4762};
4763
4764#ifdef __cplusplus
4765}
4766#endif
4767EOF
4768          # Now try linking the two files.
4769          mv conftest.$ac_objext conftstm.$ac_objext
4770          lt_save_LIBS="$LIBS"
4771          lt_save_CFLAGS="$CFLAGS"
4772          LIBS="conftstm.$ac_objext"
4773          CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4774          if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
4775            pipe_works=yes
4776          fi
4777          LIBS="$lt_save_LIBS"
4778          CFLAGS="$lt_save_CFLAGS"
4779        else
4780          echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4781        fi
4782      else
4783        echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4784      fi
4785    else
4786      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4787    fi
4788  else
4789    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4790    cat conftest.$ac_ext >&5
4791  fi
4792  rm -f conftest* conftst*
4793
4794  # Do not use the global_symbol_pipe unless it works.
4795  if test "$pipe_works" = yes; then
4796    break
4797  else
4798    lt_cv_sys_global_symbol_pipe=
4799  fi
4800done
4801])
4802if test -z "$lt_cv_sys_global_symbol_pipe"; then
4803  lt_cv_sys_global_symbol_to_cdecl=
4804fi
4805if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4806  AC_MSG_RESULT(failed)
4807else
4808  AC_MSG_RESULT(ok)
4809fi
4810]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4811
4812
4813# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
4814# ---------------------------------------
4815AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
4816[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
4817_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4818_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
4819
4820AC_MSG_CHECKING([for $compiler option to produce PIC])
4821 ifelse([$1],[CXX],[
4822  # C++ specific cases for pic, static, wl, etc.
4823  if test "$GXX" = yes; then
4824    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4825    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4826
4827    case $host_os in
4828    aix*)
4829      # All AIX code is PIC.
4830      if test "$host_cpu" = ia64; then
4831        # AIX 5 now supports IA64 processor
4832        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4833      fi
4834      ;;
4835    amigaos*)
4836      # FIXME: we need at least 68020 code to build shared libraries, but
4837      # adding the `-m68020' flag to GCC prevents building anything better,
4838      # like `-m68040'.
4839      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4840      ;;
4841    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4842      # PIC is the default for these OSes.
4843      ;;
4844    mingw* | os2* | pw32*)
4845      # This hack is so that the source file can tell whether it is being
4846      # built for inclusion in a dll (and should export symbols for example).
4847      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4848      ;;
4849    darwin* | rhapsody*)
4850      # PIC is the default on this platform
4851      # Common symbols not allowed in MH_DYLIB files
4852      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4853      ;;
4854    *djgpp*)
4855      # DJGPP does not support shared libraries at all
4856      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4857      ;;
4858    interix3*)
4859      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4860      # Instead, we relocate shared libraries at runtime.
4861      ;;
4862    sysv4*MP*)
4863      if test -d /usr/nec; then
4864        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4865      fi
4866      ;;
4867    hpux*)
4868      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4869      # not for PA HP-UX.
4870      case $host_cpu in
4871      hppa*64*|ia64*)
4872        ;;
4873      *)
4874        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4875        ;;
4876      esac
4877      ;;
4878    *)
4879      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4880      ;;
4881    esac
4882  else
4883    case $host_os in
4884      aix4* | aix5*)
4885        # All AIX code is PIC.
4886        if test "$host_cpu" = ia64; then
4887          # AIX 5 now supports IA64 processor
4888          _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4889        else
4890          _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4891        fi
4892        ;;
4893      chorus*)
4894        case $cc_basename in
4895        cxch68*)
4896          # Green Hills C++ Compiler
4897          # _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"
4898          ;;
4899        esac
4900        ;;
4901       darwin*)
4902         # PIC is the default on this platform
4903         # Common symbols not allowed in MH_DYLIB files
4904         case $cc_basename in
4905           xlc*)
4906           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
4907           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4908           ;;
4909         esac
4910       ;;
4911      dgux*)
4912        case $cc_basename in
4913          ec++*)
4914            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4915            ;;
4916          ghcx*)
4917            # Green Hills C++ Compiler
4918            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4919            ;;
4920          *)
4921            ;;
4922        esac
4923        ;;
4924      freebsd* | kfreebsd*-gnu | dragonfly*)
4925        # FreeBSD uses GNU C++
4926        ;;
4927      hpux9* | hpux10* | hpux11*)
4928        case $cc_basename in
4929          CC*)
4930            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4931            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4932            if test "$host_cpu" != ia64; then
4933              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4934            fi
4935            ;;
4936          aCC*)
4937            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4938            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4939            case $host_cpu in
4940            hppa*64*|ia64*)
4941              # +Z the default
4942              ;;
4943            *)
4944              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4945              ;;
4946            esac
4947            ;;
4948          *)
4949            ;;
4950        esac
4951        ;;
4952      interix*)
4953        # This is c89, which is MS Visual C++ (no shared libs)
4954        # Anyone wants to do a port?
4955        ;;
4956      irix5* | irix6* | nonstopux*)
4957        case $cc_basename in
4958          CC*)
4959            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4960            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4961            # CC pic flag -KPIC is the default.
4962            ;;
4963          *)
4964            ;;
4965        esac
4966        ;;
4967      linux*)
4968        case $cc_basename in
4969          KCC*)
4970            # KAI C++ Compiler
4971            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4972            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4973            ;;
4974          icpc* | ecpc*)
4975            # Intel C++
4976            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4977            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4978            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4979            ;;
4980          pgCC*)
4981            # Portland Group C++ compiler.
4982            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4983            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4984            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4985            ;;
4986          cxx*)
4987            # Compaq C++
4988            # Make sure the PIC flag is empty.  It appears that all Alpha
4989            # Linux and Compaq Tru64 Unix objects are PIC.
4990            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4991            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4992            ;;
4993          *)
4994            ;;
4995        esac
4996        ;;
4997      lynxos*)
4998        ;;
4999      m88k*)
5000        ;;
5001      mvs*)
5002        case $cc_basename in
5003          cxx*)
5004            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
5005            ;;
5006          *)
5007            ;;
5008        esac
5009        ;;
5010      netbsd*)
5011        ;;
5012      osf3* | osf4* | osf5*)
5013        case $cc_basename in
5014          KCC*)
5015            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
5016            ;;
5017          RCC*)
5018            # Rational C++ 2.4.1
5019            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5020            ;;
5021          cxx*)
5022            # Digital/Compaq C++
5023            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5024            # Make sure the PIC flag is empty.  It appears that all Alpha
5025            # Linux and Compaq Tru64 Unix objects are PIC.
5026            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5027            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5028            ;;
5029          *)
5030            ;;
5031        esac
5032        ;;
5033      psos*)
5034        ;;
5035      solaris*)
5036        case $cc_basename in
5037          CC*)
5038            # Sun C++ 4.2, 5.x and Centerline C++
5039            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5040            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5041            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
5042            ;;
5043          gcx*)
5044            # Green Hills C++ Compiler
5045            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
5046            ;;
5047          *)
5048            ;;
5049        esac
5050        ;;
5051      sunos4*)
5052        case $cc_basename in
5053          CC*)
5054            # Sun C++ 4.x
5055            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5056            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5057            ;;
5058          lcc*)
5059            # Lucid
5060            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5061            ;;
5062          *)
5063            ;;
5064        esac
5065        ;;
5066      tandem*)
5067        case $cc_basename in
5068          NCC*)
5069            # NonStop-UX NCC 3.20
5070            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5071            ;;
5072          *)
5073            ;;
5074        esac
5075        ;;
5076      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5077        case $cc_basename in
5078          CC*)
5079            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5080            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5081            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5082            ;;
5083        esac
5084        ;;
5085      vxworks*)
5086        ;;
5087      *)
5088        _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5089        ;;
5090    esac
5091  fi
5092],
5093[
5094  if test "$GCC" = yes; then
5095    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5096    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5097
5098    case $host_os in
5099      aix*)
5100      # All AIX code is PIC.
5101      if test "$host_cpu" = ia64; then
5102        # AIX 5 now supports IA64 processor
5103        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5104      fi
5105      ;;
5106
5107    amigaos*)
5108      # FIXME: we need at least 68020 code to build shared libraries, but
5109      # adding the `-m68020' flag to GCC prevents building anything better,
5110      # like `-m68040'.
5111      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5112      ;;
5113
5114    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
5115      # PIC is the default for these OSes.
5116      ;;
5117
5118    mingw* | pw32* | os2*)
5119      # This hack is so that the source file can tell whether it is being
5120      # built for inclusion in a dll (and should export symbols for example).
5121      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5122      ;;
5123
5124    darwin* | rhapsody*)
5125      # PIC is the default on this platform
5126      # Common symbols not allowed in MH_DYLIB files
5127      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
5128      ;;
5129
5130    interix3*)
5131      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
5132      # Instead, we relocate shared libraries at runtime.
5133      ;;
5134
5135    msdosdjgpp*)
5136      # Just because we use GCC doesn't mean we suddenly get shared libraries
5137      # on systems that don't support them.
5138      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5139      enable_shared=no
5140      ;;
5141
5142    sysv4*MP*)
5143      if test -d /usr/nec; then
5144        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
5145      fi
5146      ;;
5147
5148    hpux*)
5149      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5150      # not for PA HP-UX.
5151      case $host_cpu in
5152      hppa*64*|ia64*)
5153        # +Z the default
5154        ;;
5155      *)
5156        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5157        ;;
5158      esac
5159      ;;
5160
5161    *)
5162      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5163      ;;
5164    esac
5165  else
5166    # PORTME Check for flag to pass linker flags through the system compiler.
5167    case $host_os in
5168    aix*)
5169      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5170      if test "$host_cpu" = ia64; then
5171        # AIX 5 now supports IA64 processor
5172        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5173      else
5174        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
5175      fi
5176      ;;
5177      darwin*)
5178        # PIC is the default on this platform
5179        # Common symbols not allowed in MH_DYLIB files
5180       case $cc_basename in
5181         xlc*)
5182         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
5183         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5184         ;;
5185       esac
5186       ;;
5187
5188    mingw* | pw32* | os2*)
5189      # This hack is so that the source file can tell whether it is being
5190      # built for inclusion in a dll (and should export symbols for example).
5191      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5192      ;;
5193
5194    hpux9* | hpux10* | hpux11*)
5195      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5196      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5197      # not for PA HP-UX.
5198      case $host_cpu in
5199      hppa*64*|ia64*)
5200        # +Z the default
5201        ;;
5202      *)
5203        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
5204        ;;
5205      esac
5206      # Is there a better lt_prog_compiler_static that works with the bundled CC?
5207      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
5208      ;;
5209
5210    irix5* | irix6* | nonstopux*)
5211      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5212      # PIC (with -KPIC) is the default.
5213      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5214      ;;
5215
5216    newsos6)
5217      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5218      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5219      ;;
5220
5221    linux*)
5222      case $cc_basename in
5223      icc* | ecc*)
5224        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5225        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5226        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5227        ;;
5228      pgcc* | pgf77* | pgf90* | pgf95*)
5229        # Portland Group compilers (*not* the Pentium gcc compiler,
5230        # which looks to be a dead project)
5231        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5232        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
5233        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5234        ;;
5235      ccc*)
5236        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5237        # All Alpha code is PIC.
5238        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5239        ;;
5240      esac
5241      ;;
5242
5243    osf3* | osf4* | osf5*)
5244      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5245      # All OSF/1 code is PIC.
5246      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5247      ;;
5248
5249    solaris*)
5250      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5251      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5252      case $cc_basename in
5253      f77* | f90* | f95*)
5254        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
5255      *)
5256        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
5257      esac
5258      ;;
5259
5260    sunos4*)
5261      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
5262      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
5263      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5264      ;;
5265
5266    sysv4 | sysv4.2uw2* | sysv4.3*)
5267      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5268      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5269      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5270      ;;
5271
5272    sysv4*MP*)
5273      if test -d /usr/nec ;then
5274        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
5275        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5276      fi
5277      ;;
5278
5279    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5280      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5281      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5282      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5283      ;;
5284
5285    unicos*)
5286      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5287      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5288      ;;
5289
5290    uts4*)
5291      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5292      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5293      ;;
5294
5295    *)
5296      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5297      ;;
5298    esac
5299  fi
5300])
5301AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
5302
5303#
5304# Check to make sure the PIC flag actually works.
5305#
5306if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
5307  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
5308    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
5309    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
5310    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
5311     "" | " "*) ;;
5312     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5313     esac],
5314    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5315     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5316fi
5317case $host_os in
5318  # For platforms which do not support PIC, -DPIC is meaningless:
5319  *djgpp*)
5320    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5321    ;;
5322  *)
5323    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
5324    ;;
5325esac
5326
5327#
5328# Check to make sure the static flag actually works.
5329#
5330wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
5331AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5332  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
5333  $lt_tmp_static_flag,
5334  [],
5335  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
5336])
5337
5338
5339# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
5340# ------------------------------------
5341# See if the linker supports building shared libraries.
5342AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
5343[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5344ifelse([$1],[CXX],[
5345  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5346  case $host_os in
5347  aix4* | aix5*)
5348    # If we're using GNU nm, then we don't want the "-C" option.
5349    # -C means demangle to AIX nm, but means don't demangle with GNU nm
5350    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5351      _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'
5352    else
5353      _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'
5354    fi
5355    ;;
5356  pw32*)
5357    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
5358  ;;
5359  cygwin* | mingw*)
5360    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
5361  ;;
5362  *)
5363    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5364  ;;
5365  esac
5366],[
5367  runpath_var=
5368  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
5369  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5370  _LT_AC_TAGVAR(archive_cmds, $1)=
5371  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
5372  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
5373  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5374  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5375  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5376  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
5377  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5378  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5379  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5380  _LT_AC_TAGVAR(hardcode_direct, $1)=no
5381  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5382  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5383  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
5384  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
5385  _LT_AC_TAGVAR(module_cmds, $1)=
5386  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
5387  _LT_AC_TAGVAR(always_export_symbols, $1)=no
5388  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5389  # include_expsyms should be a list of space-separated symbols to be *always*
5390  # included in the symbol list
5391  _LT_AC_TAGVAR(include_expsyms, $1)=
5392  # exclude_expsyms can be an extended regexp of symbols to exclude
5393  # it will be wrapped by ` (' and `)$', so one must not match beginning or
5394  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
5395  # as well as any symbol that contains `d'.
5396  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
5397  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5398  # platforms (ab)use it in PIC code, but their linkers get confused if
5399  # the symbol is explicitly referenced.  Since portable code cannot
5400  # rely on this symbol name, it's probably fine to never include it in
5401  # preloaded symbol tables.
5402  extract_expsyms_cmds=
5403  # Just being paranoid about ensuring that cc_basename is set.
5404  _LT_CC_BASENAME([$compiler])
5405  case $host_os in
5406  cygwin* | mingw* | pw32*)
5407    # FIXME: the MSVC++ port hasn't been tested in a loooong time
5408    # When not using gcc, we currently assume that we are using
5409    # Microsoft Visual C++.
5410    if test "$GCC" != yes; then
5411      with_gnu_ld=no
5412    fi
5413    ;;
5414  interix*)
5415    # we just hope/assume this is gcc and not c89 (= MSVC++)
5416    with_gnu_ld=yes
5417    ;;
5418  openbsd*)
5419    with_gnu_ld=no
5420    ;;
5421  esac
5422
5423  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
5424  if test "$with_gnu_ld" = yes; then
5425    # If archive_cmds runs LD, not CC, wlarc should be empty
5426    wlarc='${wl}'
5427
5428    # Set some defaults for GNU ld with shared library support. These
5429    # are reset later if shared libraries are not supported. Putting them
5430    # here allows them to be overridden if necessary.
5431    runpath_var=LD_RUN_PATH
5432    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5433    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5434    # ancient GNU ld didn't support --whole-archive et. al.
5435    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
5436        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5437      else
5438        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5439    fi
5440    supports_anon_versioning=no
5441    case `$LD -v 2>/dev/null` in
5442      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5443      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5444      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5445      *\ 2.11.*) ;; # other 2.11 versions
5446      *) supports_anon_versioning=yes ;;
5447    esac
5448
5449    # See if GNU ld supports shared libraries.
5450    case $host_os in
5451    aix3* | aix4* | aix5*)
5452      # On AIX/PPC, the GNU linker is very broken
5453      if test "$host_cpu" != ia64; then
5454        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5455        cat <<EOF 1>&2
5456
5457*** Warning: the GNU linker, at least up to release 2.9.1, is reported
5458*** to be unable to reliably create shared libraries on AIX.
5459*** Therefore, libtool is disabling shared libraries support.  If you
5460*** really care for shared libraries, you may want to modify your PATH
5461*** so that a non-GNU linker is found, and then restart.
5462
5463EOF
5464      fi
5465      ;;
5466
5467    amigaos*)
5468      _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)'
5469      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5470      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5471
5472      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
5473      # that the semantics of dynamic libraries on AmigaOS, at least up
5474      # to version 4, is to share data among multiple programs linked
5475      # with the same dynamic library.  Since this doesn't match the
5476      # behavior of shared libraries on other platforms, we can't use
5477      # them.
5478      _LT_AC_TAGVAR(ld_shlibs, $1)=no
5479      ;;
5480
5481    beos*)
5482      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5483        _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5484        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5485        # support --undefined.  This deserves some investigation.  FIXME
5486        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5487      else
5488        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5489      fi
5490      ;;
5491
5492    cygwin* | mingw* | pw32*)
5493      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5494      # as there is no search path for DLLs.
5495      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5496      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5497      _LT_AC_TAGVAR(always_export_symbols, $1)=no
5498      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5499      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
5500
5501      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
5502        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5503        # If the export-symbols file already is a .def file (1st line
5504        # is EXPORTS), use it as is; otherwise, prepend...
5505        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5506          cp $export_symbols $output_objdir/$soname.def;
5507        else
5508          echo EXPORTS > $output_objdir/$soname.def;
5509          cat $export_symbols >> $output_objdir/$soname.def;
5510        fi~
5511        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5512      else
5513        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5514      fi
5515      ;;
5516
5517    interix3*)
5518      _LT_AC_TAGVAR(hardcode_direct, $1)=no
5519      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5520      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5521      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5522      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5523      # Instead, shared libraries are loaded at an image base (0x10000000 by
5524      # default) and relocated if they conflict, which is a slow very memory
5525      # consuming and fragmenting process.  To avoid this, we pick a random,
5526      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5527      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
5528      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5529      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5530      ;;
5531
5532    linux*)
5533      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5534        tmp_addflag=
5535        case $cc_basename,$host_cpu in
5536        pgcc*)                          # Portland Group C compiler
5537          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5538          tmp_addflag=' $pic_flag'
5539          ;;
5540        pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
5541          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5542          tmp_addflag=' $pic_flag -Mnomain' ;;
5543        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
5544          tmp_addflag=' -i_dynamic' ;;
5545        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
5546          tmp_addflag=' -i_dynamic -nofor_main' ;;
5547        ifc* | ifort*)                  # Intel Fortran compiler
5548          tmp_addflag=' -nofor_main' ;;
5549        esac
5550        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5551
5552        if test $supports_anon_versioning = yes; then
5553          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
5554  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5555  $echo "local: *; };" >> $output_objdir/$libname.ver~
5556          $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5557        fi
5558      else
5559        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5560      fi
5561      ;;
5562
5563    netbsd*)
5564      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5565        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5566        wlarc=
5567      else
5568        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5569        _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'
5570      fi
5571      ;;
5572
5573    solaris*)
5574      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
5575        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5576        cat <<EOF 1>&2
5577
5578*** Warning: The releases 2.8.* of the GNU linker cannot reliably
5579*** create shared libraries on Solaris systems.  Therefore, libtool
5580*** is disabling shared libraries support.  We urge you to upgrade GNU
5581*** binutils to release 2.9.1 or newer.  Another option is to modify
5582*** your PATH or compiler configuration so that the native linker is
5583*** used, and then restart.
5584
5585EOF
5586      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5587        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5588        _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'
5589      else
5590        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5591      fi
5592      ;;
5593
5594    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5595      case `$LD -v 2>&1` in
5596        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5597        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5598        cat <<_LT_EOF 1>&2
5599
5600*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
5601*** reliably create shared libraries on SCO systems.  Therefore, libtool
5602*** is disabling shared libraries support.  We urge you to upgrade GNU
5603*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
5604*** your PATH or compiler configuration so that the native linker is
5605*** used, and then restart.
5606
5607_LT_EOF
5608        ;;
5609        *)
5610          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5611            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
5612            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
5613            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
5614          else
5615            _LT_AC_TAGVAR(ld_shlibs, $1)=no
5616          fi
5617        ;;
5618      esac
5619      ;;
5620
5621    sunos4*)
5622      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5623      wlarc=
5624      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5625      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5626      ;;
5627
5628    *)
5629      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5630        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5631        _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'
5632      else
5633        _LT_AC_TAGVAR(ld_shlibs, $1)=no
5634      fi
5635      ;;
5636    esac
5637
5638    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
5639      runpath_var=
5640      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5641      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5642      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5643    fi
5644  else
5645    # PORTME fill in a description of your system's linker (not GNU ld)
5646    case $host_os in
5647    aix3*)
5648      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5649      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
5650      _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'
5651      # Note: this linker hardcodes the directories in LIBPATH if there
5652      # are no directories specified by -L.
5653      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5654      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
5655        # Neither direct hardcoding nor static linking is supported with a
5656        # broken collect2.
5657        _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5658      fi
5659      ;;
5660
5661    aix4* | aix5*)
5662      if test "$host_cpu" = ia64; then
5663        # On IA64, the linker does run time linking by default, so we don't
5664        # have to do anything special.
5665        aix_use_runtimelinking=no
5666        exp_sym_flag='-Bexport'
5667        no_entry_flag=""
5668      else
5669        # If we're using GNU nm, then we don't want the "-C" option.
5670        # -C means demangle to AIX nm, but means don't demangle with GNU nm
5671        if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5672          _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'
5673        else
5674          _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'
5675        fi
5676        aix_use_runtimelinking=no
5677
5678        # Test if we are trying to use run time linking or normal
5679        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5680        # need to do runtime linking.
5681        case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
5682          for ld_flag in $LDFLAGS; do
5683          if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5684            aix_use_runtimelinking=yes
5685            break
5686          fi
5687          done
5688          ;;
5689        esac
5690
5691        exp_sym_flag='-bexport'
5692        no_entry_flag='-bnoentry'
5693      fi
5694
5695      # When large executables or shared objects are built, AIX ld can
5696      # have problems creating the table of contents.  If linking a library
5697      # or program results in "error TOC overflow" add -mminimal-toc to
5698      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5699      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5700
5701      _LT_AC_TAGVAR(archive_cmds, $1)=''
5702      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5703      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
5704      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5705
5706      if test "$GCC" = yes; then
5707        case $host_os in aix4.[[012]]|aix4.[[012]].*)
5708        # We only want to do this on AIX 4.2 and lower, the check
5709        # below for broken collect2 doesn't work under 4.3+
5710          collect2name=`${CC} -print-prog-name=collect2`
5711          if test -f "$collect2name" && \
5712           strings "$collect2name" | grep resolve_lib_name >/dev/null
5713          then
5714          # We have reworked collect2
5715          _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5716          else
5717          # We have old collect2
5718          _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5719          # It fails to find uninstalled libraries when the uninstalled
5720          # path is not listed in the libpath.  Setting hardcode_minus_L
5721          # to unsupported forces relinking
5722          _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5723          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5724          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5725          fi
5726          ;;
5727        esac
5728        shared_flag='-shared'
5729        if test "$aix_use_runtimelinking" = yes; then
5730          shared_flag="$shared_flag "'${wl}-G'
5731        fi
5732      else
5733        # not using gcc
5734        if test "$host_cpu" = ia64; then
5735        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5736        # chokes on -Wl,-G. The following line is correct:
5737          shared_flag='-G'
5738        else
5739          if test "$aix_use_runtimelinking" = yes; then
5740            shared_flag='${wl}-G'
5741          else
5742            shared_flag='${wl}-bM:SRE'
5743          fi
5744        fi
5745      fi
5746
5747      # It seems that -bexpall does not export symbols beginning with
5748      # underscore (_), so it is better to generate a list of symbols to export.
5749      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
5750      if test "$aix_use_runtimelinking" = yes; then
5751        # Warning - without using the other runtime loading flags (-brtl),
5752        # -berok will link without error, but may produce a broken library.
5753        _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
5754       # Determine the default libpath from the value encoded in an empty executable.
5755       _LT_AC_SYS_LIBPATH_AIX
5756       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5757        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5758       else
5759        if test "$host_cpu" = ia64; then
5760          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5761          _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5762          _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5763        else
5764         # Determine the default libpath from the value encoded in an empty executable.
5765         _LT_AC_SYS_LIBPATH_AIX
5766         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5767          # Warning - without using the other run time loading flags,
5768          # -berok will link without error, but may produce a broken library.
5769          _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5770          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5771          # Exported symbols can be pulled into shared objects from archives
5772          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5773          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5774          # This is similar to how AIX traditionally builds its shared libraries.
5775          _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5776        fi
5777      fi
5778      ;;
5779
5780    amigaos*)
5781      _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)'
5782      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5783      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5784      # see comment about different semantics on the GNU ld section
5785      _LT_AC_TAGVAR(ld_shlibs, $1)=no
5786      ;;
5787
5788    bsdi[[45]]*)
5789      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5790      ;;
5791
5792    cygwin* | mingw* | pw32*)
5793      # When not using gcc, we currently assume that we are using
5794      # Microsoft Visual C++.
5795      # hardcode_libdir_flag_spec is actually meaningless, as there is
5796      # no search path for DLLs.
5797      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5798      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5799      # Tell ltmain to make .lib files, not .a files.
5800      libext=lib
5801      # Tell ltmain to make .dll files, not .so files.
5802      shrext_cmds=".dll"
5803      # FIXME: Setting linknames here is a bad hack.
5804      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
5805      # The linker will automatically build a .lib file if we build a DLL.
5806      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
5807      # FIXME: Should let the user specify the lib program.
5808      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
5809      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
5810      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5811      ;;
5812
5813    darwin* | rhapsody*)
5814      case $host_os in
5815        rhapsody* | darwin1.[[012]])
5816         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
5817         ;;
5818       *) # Darwin 1.3 on
5819         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
5820           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5821         else
5822           case ${MACOSX_DEPLOYMENT_TARGET} in
5823             10.[[012]])
5824               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5825               ;;
5826             10.*)
5827               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
5828               ;;
5829           esac
5830         fi
5831         ;;
5832      esac
5833      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5834      _LT_AC_TAGVAR(hardcode_direct, $1)=no
5835      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
5836      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5837      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
5838      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5839    if test "$GCC" = yes ; then
5840        output_verbose_link_cmd='echo'
5841        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
5842      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
5843      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
5844      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5845      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5846    else
5847      case $cc_basename in
5848        xlc*)
5849         output_verbose_link_cmd='echo'
5850         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
5851         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
5852          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
5853         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5854          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5855          ;;
5856       *)
5857         _LT_AC_TAGVAR(ld_shlibs, $1)=no
5858          ;;
5859      esac
5860    fi
5861      ;;
5862
5863    dgux*)
5864      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5865      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5866      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5867      ;;
5868
5869    freebsd1*)
5870      _LT_AC_TAGVAR(ld_shlibs, $1)=no
5871      ;;
5872
5873    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5874    # support.  Future versions do this automatically, but an explicit c++rt0.o
5875    # does not break anything, and helps significantly (at the cost of a little
5876    # extra space).
5877    freebsd2.2*)
5878      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5879      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5880      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5881      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5882      ;;
5883
5884    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5885    freebsd2*)
5886      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5887      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5888      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5889      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5890      ;;
5891
5892    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5893    freebsd* | kfreebsd*-gnu | dragonfly*)
5894      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
5895      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5896      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5897      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5898      ;;
5899
5900    hpux9*)
5901      if test "$GCC" = yes; then
5902        _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'
5903      else
5904        _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'
5905      fi
5906      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5907      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5908      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5909
5910      # hardcode_minus_L: Not really in the search PATH,
5911      # but as the default location of the library.
5912      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5913      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5914      ;;
5915
5916    hpux10*)
5917      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5918        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5919      else
5920        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5921      fi
5922      if test "$with_gnu_ld" = no; then
5923        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5924        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5925
5926        _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5927        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5928
5929        # hardcode_minus_L: Not really in the search PATH,
5930        # but as the default location of the library.
5931        _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5932      fi
5933      ;;
5934
5935    hpux11*)
5936      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5937        case $host_cpu in
5938        hppa*64*)
5939          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5940          ;;
5941        ia64*)
5942          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5943          ;;
5944        *)
5945          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5946          ;;
5947        esac
5948      else
5949        case $host_cpu in
5950        hppa*64*)
5951          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5952          ;;
5953        ia64*)
5954          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5955          ;;
5956        *)
5957          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5958          ;;
5959        esac
5960      fi
5961      if test "$with_gnu_ld" = no; then
5962        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5963        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5964
5965        case $host_cpu in
5966        hppa*64*|ia64*)
5967          _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5968          _LT_AC_TAGVAR(hardcode_direct, $1)=no
5969          _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5970          ;;
5971        *)
5972          _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5973          _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5974
5975          # hardcode_minus_L: Not really in the search PATH,
5976          # but as the default location of the library.
5977          _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5978          ;;
5979        esac
5980      fi
5981      ;;
5982
5983    irix5* | irix6* | nonstopux*)
5984      if test "$GCC" = yes; then
5985        _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'
5986      else
5987        _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'
5988        _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5989      fi
5990      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5991      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5992      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5993      ;;
5994
5995    netbsd*)
5996      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5997        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
5998      else
5999        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
6000      fi
6001      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6002      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6003      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6004      ;;
6005
6006    newsos6)
6007      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6008      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6009      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6010      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6011      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6012      ;;
6013
6014    openbsd*)
6015      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6016      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6017      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6018        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6019        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
6020        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6021        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6022      else
6023       case $host_os in
6024         openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
6025           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6026           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6027           ;;
6028         *)
6029           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6030           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6031           ;;
6032       esac
6033      fi
6034      ;;
6035
6036    os2*)
6037      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6038      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6039      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6040      _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'
6041      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
6042      ;;
6043
6044    osf3*)
6045      if test "$GCC" = yes; then
6046        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6047        _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'
6048      else
6049        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6050        _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'
6051      fi
6052      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6053      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6054      ;;
6055
6056    osf4* | osf5*)      # as osf3* with the addition of -msym flag
6057      if test "$GCC" = yes; then
6058        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6059        _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'
6060        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6061      else
6062        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6063        _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'
6064        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
6065        $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
6066
6067        # Both c and cxx compiler support -rpath directly
6068        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6069      fi
6070      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6071      ;;
6072
6073    solaris*)
6074      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
6075      if test "$GCC" = yes; then
6076        wlarc='${wl}'
6077        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
6078        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6079          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
6080      else
6081        wlarc=''
6082        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
6083        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6084        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
6085      fi
6086      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6087      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6088      case $host_os in
6089      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6090      *)
6091        # The compiler driver will combine linker options so we
6092        # cannot just pass the convience library names through
6093        # without $wl, iff we do not link with $LD.
6094        # Luckily, gcc supports the same syntax we need for Sun Studio.
6095        # Supported since Solaris 2.6 (maybe 2.5.1?)
6096        case $wlarc in
6097        '')
6098          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
6099        *)
6100          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
6101        esac ;;
6102      esac
6103      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6104      ;;
6105
6106    sunos4*)
6107      if test "x$host_vendor" = xsequent; then
6108        # Use $CC to link under sequent, because it throws in some extra .o
6109        # files that make .init and .fini sections work.
6110        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
6111      else
6112        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
6113      fi
6114      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6115      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6116      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6117      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6118      ;;
6119
6120    sysv4)
6121      case $host_vendor in
6122        sni)
6123          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6124          _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
6125        ;;
6126        siemens)
6127          ## LD is ld it makes a PLAMLIB
6128          ## CC just makes a GrossModule.
6129          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
6130          _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
6131          _LT_AC_TAGVAR(hardcode_direct, $1)=no
6132        ;;
6133        motorola)
6134          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6135          _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
6136        ;;
6137      esac
6138      runpath_var='LD_RUN_PATH'
6139      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6140      ;;
6141
6142    sysv4.3*)
6143      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6144      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6145      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6146      ;;
6147
6148    sysv4*MP*)
6149      if test -d /usr/nec; then
6150        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6151        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6152        runpath_var=LD_RUN_PATH
6153        hardcode_runpath_var=yes
6154        _LT_AC_TAGVAR(ld_shlibs, $1)=yes
6155      fi
6156      ;;
6157
6158    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
6159      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6160      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6161      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6162      runpath_var='LD_RUN_PATH'
6163
6164      if test "$GCC" = yes; then
6165        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6166        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6167      else
6168        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6169        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6170      fi
6171      ;;
6172
6173    sysv5* | sco3.2v5* | sco5v6*)
6174      # Note: We can NOT use -z defs as we might desire, because we do not
6175      # link with -lc, and that would cause any symbols used from libc to
6176      # always be unresolved, which means just about no library would
6177      # ever link correctly.  If we're not using GNU ld we use -z text
6178      # though, which does catch some bad symbols but isn't as heavy-handed
6179      # as -z defs.
6180      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6181      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6182      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6183      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6184      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
6185      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6186      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6187      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6188      runpath_var='LD_RUN_PATH'
6189
6190      if test "$GCC" = yes; then
6191        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6192        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6193      else
6194        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6195        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6196      fi
6197      ;;
6198
6199    uts4*)
6200      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6201      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6202      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6203      ;;
6204
6205    *)
6206      _LT_AC_TAGVAR(ld_shlibs, $1)=no
6207      ;;
6208    esac
6209  fi
6210])
6211AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
6212test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6213
6214#
6215# Do we need to explicitly link libc?
6216#
6217case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
6218x|xyes)
6219  # Assume -lc should be added
6220  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6221
6222  if test "$enable_shared" = yes && test "$GCC" = yes; then
6223    case $_LT_AC_TAGVAR(archive_cmds, $1) in
6224    *'~'*)
6225      # FIXME: we may have to deal with multi-command sequences.
6226      ;;
6227    '$CC '*)
6228      # Test whether the compiler implicitly links with -lc since on some
6229      # systems, -lgcc has to come before -lc. If gcc already passes -lc
6230      # to ld, don't add -lc before -lgcc.
6231      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
6232      $rm conftest*
6233      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
6234
6235      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6236        soname=conftest
6237        lib=conftest
6238        libobjs=conftest.$ac_objext
6239        deplibs=
6240        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
6241        pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
6242        compiler_flags=-v
6243        linker_flags=-v
6244        verstring=
6245        output_objdir=.
6246        libname=conftest
6247        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
6248        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
6249        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
6250        then
6251          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6252        else
6253          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6254        fi
6255        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6256      else
6257        cat conftest.err 1>&5
6258      fi
6259      $rm conftest*
6260      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
6261      ;;
6262    esac
6263  fi
6264  ;;
6265esac
6266])# AC_LIBTOOL_PROG_LD_SHLIBS
6267
6268
6269# _LT_AC_FILE_LTDLL_C
6270# -------------------
6271# Be careful that the start marker always follows a newline.
6272AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
6273# /* ltdll.c starts here */
6274# #define WIN32_LEAN_AND_MEAN
6275# #include <windows.h>
6276# #undef WIN32_LEAN_AND_MEAN
6277# #include <stdio.h>
6278#
6279# #ifndef __CYGWIN__
6280# #  ifdef __CYGWIN32__
6281# #    define __CYGWIN__ __CYGWIN32__
6282# #  endif
6283# #endif
6284#
6285# #ifdef __cplusplus
6286# extern "C" {
6287# #endif
6288# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
6289# #ifdef __cplusplus
6290# }
6291# #endif
6292#
6293# #ifdef __CYGWIN__
6294# #include <cygwin/cygwin_dll.h>
6295# DECLARE_CYGWIN_DLL( DllMain );
6296# #endif
6297# HINSTANCE __hDllInstance_base;
6298#
6299# BOOL APIENTRY
6300# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
6301# {
6302#   __hDllInstance_base = hInst;
6303#   return TRUE;
6304# }
6305# /* ltdll.c ends here */
6306])# _LT_AC_FILE_LTDLL_C
6307
6308
6309# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
6310# ---------------------------------
6311AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
6312
6313
6314# old names
6315AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
6316AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
6317AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
6318AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
6319AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
6320AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
6321AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
6322
6323# This is just to silence aclocal about the macro not being used
6324ifelse([AC_DISABLE_FAST_INSTALL])
6325
6326AC_DEFUN([LT_AC_PROG_GCJ],
6327[AC_CHECK_TOOL(GCJ, gcj, no)
6328  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6329  AC_SUBST(GCJFLAGS)
6330])
6331
6332AC_DEFUN([LT_AC_PROG_RC],
6333[AC_CHECK_TOOL(RC, windres, no)
6334])
6335
6336############################################################
6337# NOTE: This macro has been submitted for inclusion into   #
6338#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
6339#  a released version of Autoconf we should remove this    #
6340#  macro and use it instead.                               #
6341############################################################
6342# LT_AC_PROG_SED
6343# --------------
6344# Check for a fully-functional sed program, that truncates
6345# as few characters as possible.  Prefer GNU sed if found.
6346AC_DEFUN([LT_AC_PROG_SED],
6347[AC_MSG_CHECKING([for a sed that does not truncate output])
6348AC_CACHE_VAL(lt_cv_path_SED,
6349[# Loop through the user's path and test for sed and gsed.
6350# Then use that list of sed's as ones to test for truncation.
6351as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6352for as_dir in $PATH
6353do
6354  IFS=$as_save_IFS
6355  test -z "$as_dir" && as_dir=.
6356  for lt_ac_prog in sed gsed; do
6357    for ac_exec_ext in '' $ac_executable_extensions; do
6358      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
6359        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
6360      fi
6361    done
6362  done
6363done
6364lt_ac_max=0
6365lt_ac_count=0
6366# Add /usr/xpg4/bin/sed as it is typically found on Solaris
6367# along with /bin/sed that truncates output.
6368for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
6369  test ! -f $lt_ac_sed && continue
6370  cat /dev/null > conftest.in
6371  lt_ac_count=0
6372  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
6373  # Check for GNU sed and select it if it is found.
6374  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
6375    lt_cv_path_SED=$lt_ac_sed
6376    break
6377  fi
6378  while true; do
6379    cat conftest.in conftest.in >conftest.tmp
6380    mv conftest.tmp conftest.in
6381    cp conftest.in conftest.nl
6382    echo >>conftest.nl
6383    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
6384    cmp -s conftest.out conftest.nl || break
6385    # 10000 chars as input seems more than enough
6386    test $lt_ac_count -gt 10 && break
6387    lt_ac_count=`expr $lt_ac_count + 1`
6388    if test $lt_ac_count -gt $lt_ac_max; then
6389      lt_ac_max=$lt_ac_count
6390      lt_cv_path_SED=$lt_ac_sed
6391    fi
6392  done
6393done
6394])
6395SED=$lt_cv_path_SED
6396AC_MSG_RESULT([$SED])
6397])
6398# Copyright (C) 2006, 2009 International Business Machines.
6399# All Rights Reserved.
6400# This file is distributed under the Common Public License.
6401#
6402## $Id: coin.m4 1272 2009-04-24 16:33:02Z andreasw $
6403#
6404# Author: Andreas Wachter    IBM      2006-04-14
6405
6406# This file defines the common autoconf macros for COIN
6407#
6408
6409# Check requirements
6410AC_PREREQ(2.59)
6411
6412###########################################################################
6413#                           COIN_MAIN_SUBDIRS                             #
6414###########################################################################
6415
6416# This macro sets up the recursion into configure scripts into
6417# subdirectories.  Each possible subdirectory should be provided as a
6418# new argument to this macro.  The current limit is 10 subdirectories.
6419# This automatically also checks for the Data subdirectory.
6420
6421AC_DEFUN([AC_COIN_MAIN_SUBDIRS],
6422[AC_ARG_VAR([COIN_SKIP_PROJECTS],[Set to the subdirectories of projects that should be skipped in the configuration])
6423
6424m4_ifvaln([$1],[AC_MSG_CHECKING(whether directory $1 is available)
6425                coin_skip=no
6426                if test x"$COIN_SKIP_PROJECTS" != x; then
6427                  for dir in $COIN_SKIP_PROJECTS; do
6428                    if test $dir = $1; then
6429                      coin_skip=yes
6430                    fi
6431                  done
6432                fi
6433                if test $coin_skip = yes; then
6434                  AC_MSG_RESULT(skipping)
6435                elif test -r $srcdir/$1/configure; then
6436                  coin_subdirs="$coin_subdirs $1"
6437                  AC_MSG_RESULT(yes)
6438                  AC_CONFIG_SUBDIRS($1)
6439                else
6440                  AC_MSG_RESULT(no)
6441                fi])
6442m4_ifvaln([$2],[AC_MSG_CHECKING(whether directory $2 is available)
6443                coin_skip=no
6444                if test x"$COIN_SKIP_PROJECTS" != x; then
6445                  for dir in $COIN_SKIP_PROJECTS; do
6446                    if test $dir = $2; then
6447                      coin_skip=yes
6448                    fi
6449                  done
6450                fi
6451                if test $coin_skip = yes; then
6452                  AC_MSG_RESULT(skipping)
6453                elif test -r $srcdir/$2/configure; then
6454                  coin_subdirs="$coin_subdirs $2"
6455                  AC_MSG_RESULT(yes)
6456                  AC_CONFIG_SUBDIRS($2)
6457                else
6458                  AC_MSG_RESULT(no)
6459                fi])
6460m4_ifvaln([$3],[AC_MSG_CHECKING(whether directory $3 is available)
6461                coin_skip=no
6462                if test x"$COIN_SKIP_PROJECTS" != x; then
6463                  for dir in $COIN_SKIP_PROJECTS; do
6464                    if test $dir = $3; then
6465                      coin_skip=yes
6466                    fi
6467                  done
6468                fi
6469                if test $coin_skip = yes; then
6470                  AC_MSG_RESULT(skipping)
6471                elif test -r $srcdir/$3/configure; then
6472                  coin_subdirs="$coin_subdirs $3"
6473                  AC_MSG_RESULT(yes)
6474                  AC_CONFIG_SUBDIRS($3)
6475                else
6476                  AC_MSG_RESULT(no)
6477                fi])
6478m4_ifvaln([$4],[AC_MSG_CHECKING(whether directory $4 is available)
6479                coin_skip=no
6480                if test x"$COIN_SKIP_PROJECTS" != x; then
6481                  for dir in $COIN_SKIP_PROJECTS; do
6482                    if test $dir = $4; then
6483                      coin_skip=yes
6484                    fi
6485                  done
6486                fi
6487                if test $coin_skip = yes; then
6488                  AC_MSG_RESULT(skipping)
6489                elif test -r $srcdir/$4/configure; then
6490                  coin_subdirs="$coin_subdirs $4"
6491                  AC_MSG_RESULT(yes)
6492                  AC_CONFIG_SUBDIRS($4)
6493                else
6494                  AC_MSG_RESULT(no)
6495                fi])
6496m4_ifvaln([$5],[AC_MSG_CHECKING(whether directory $5 is available)
6497                coin_skip=no
6498                if test x"$COIN_SKIP_PROJECTS" != x; then
6499                  for dir in $COIN_SKIP_PROJECTS; do
6500                    if test $dir = $5; then
6501                      coin_skip=yes
6502                    fi
6503                  done
6504                fi
6505                if test $coin_skip = yes; then
6506                  AC_MSG_RESULT(skipping)
6507                elif test -r $srcdir/$5/configure; then
6508                  coin_subdirs="$coin_subdirs $5"
6509                  AC_MSG_RESULT(yes)
6510                  AC_CONFIG_SUBDIRS($5)
6511                else
6512                  AC_MSG_RESULT(no)
6513                fi])
6514m4_ifvaln([$6],[AC_MSG_CHECKING(whether directory $6 is available)
6515                coin_skip=no
6516                if test x"$COIN_SKIP_PROJECTS" != x; then
6517                  for dir in $COIN_SKIP_PROJECTS; do
6518                    if test $dir = $6; then
6519                      coin_skip=yes
6520                    fi
6521                  done
6522                fi
6523                if test $coin_skip = yes; then
6524                  AC_MSG_RESULT(skipping)
6525                elif test -r $srcdir/$6/configure; then
6526                  coin_subdirs="$coin_subdirs $6"
6527                  AC_MSG_RESULT(yes)
6528                  AC_CONFIG_SUBDIRS($6)
6529                else
6530                  AC_MSG_RESULT(no)
6531                fi])
6532m4_ifvaln([$7],[AC_MSG_CHECKING(whether directory $7 is available)
6533                coin_skip=no
6534                if test x"$COIN_SKIP_PROJECTS" != x; then
6535                  for dir in $COIN_SKIP_PROJECTS; do
6536                    if test $dir = $7; then
6537                      coin_skip=yes
6538                    fi
6539                  done
6540                fi
6541                if test $coin_skip = yes; then
6542                  AC_MSG_RESULT(skipping)
6543                elif test -r $srcdir/$7/configure; then
6544                  coin_subdirs="$coin_subdirs $7"
6545                  AC_MSG_RESULT(yes)
6546                  AC_CONFIG_SUBDIRS($7)
6547                else
6548                  AC_MSG_RESULT(no)
6549                fi])
6550m4_ifvaln([$8],[AC_MSG_CHECKING(whether directory $8 is available)
6551                coin_skip=no
6552                if test x"$COIN_SKIP_PROJECTS" != x; then
6553                  for dir in $COIN_SKIP_PROJECTS; do
6554                    if test $dir = $8; then
6555                      coin_skip=yes
6556                    fi
6557                  done
6558                fi
6559                if test $coin_skip = yes; then
6560                  AC_MSG_RESULT(skipping)
6561                elif test -r $srcdir/$8/configure; then
6562                  coin_subdirs="$coin_subdirs $8"
6563                  AC_MSG_RESULT(yes)
6564                  AC_CONFIG_SUBDIRS($8)
6565                else
6566                  AC_MSG_RESULT(no)
6567                fi])
6568m4_ifvaln([$9],[AC_MSG_CHECKING(whether directory $9 is available)
6569                coin_skip=no
6570                if test x"$COIN_SKIP_PROJECTS" != x; then
6571                  for dir in $COIN_SKIP_PROJECTS; do
6572                    if test $dir = $9; then
6573                      coin_skip=yes
6574                    fi
6575                  done
6576                fi
6577                if test $coin_skip = yes; then
6578                  AC_MSG_RESULT(skipping)
6579                elif test -r $srcdir/$9/configure; then
6580                  coin_subdirs="$coin_subdirs $9"
6581                  AC_MSG_RESULT(yes)
6582                  AC_CONFIG_SUBDIRS($9)
6583                else
6584                  AC_MSG_RESULT(no)
6585                fi])
6586m4_ifvaln([$10],[AC_MSG_CHECKING(whether directory $10 is available)
6587                coin_skip=no
6588                if test x"$COIN_SKIP_PROJECTS" != x; then
6589                  for dir in $COIN_SKIP_PROJECTS; do
6590                    if test $dir = $10; then
6591                      coin_skip=yes
6592                    fi
6593                  done
6594                fi
6595                if test $coin_skip = yes; then
6596                  AC_MSG_RESULT(skipping)
6597                elif test -r $srcdir/$10/configure; then
6598                  coin_subdirs="$coin_subdirs $10"
6599                  AC_MSG_RESULT(yes)
6600                  AC_CONFIG_SUBDIRS($10)
6601                else
6602                  AC_MSG_RESULT(no)
6603                fi])
6604]) # AC_COIN_MAIN_SUBDIRS
6605
6606###########################################################################
6607#                            COIN_CHECK_FILE                              #
6608###########################################################################
6609
6610# A simple replacement for AC_CHECK_FILE that works for cross compilation
6611
6612AC_DEFUN([AC_COIN_CHECK_FILE],
6613[if test -r $1; then
6614  $2
6615  :
6616else
6617  $3
6618  :
6619fi
6620])
6621
6622###########################################################################
6623#                        COIN_THIRDPARTY_SUBDIRS                          #
6624###########################################################################
6625
6626# This macro sets up the recursion into the configure script in a
6627# subdirectory for compilation of third party code.  The first
6628# argument is just the string that appears in the configure output.
6629# The second argument is the directory with the configure script, and
6630# the third one is a file that should exists in that directory.  If
6631# this file does not exist, we assume that the user has not downloaded
6632# the code, and we are not going to compile it
6633
6634AC_DEFUN([AC_COIN_THIRDPARTY_SUBDIRS],
6635[AC_MSG_CHECKING(whether code for third party package $1 is available)
6636coin_skip=no
6637if test x"$COIN_SKIP_PROJECTS" != x; then
6638  for dir in $COIN_SKIP_PROJECTS; do
6639    if test $dir = $2; then
6640      coin_skip=yes
6641    fi
6642  done
6643fi
6644if test $coin_skip = yes; then
6645  AC_MSG_RESULT(skipping)
6646else
6647  coin_tmp=`echo $srcdir/$2/$3`
6648  # There is probably a more elegant way to get the first thing out here...
6649  for i in $coin_tmp; do
6650    coin_tmp2=$i
6651    #break 1
6652  done
6653  if test -r $coin_tmp2; then
6654    coin_subdirs="$coin_subdirs $2"
6655    AC_MSG_RESULT(yes)
6656    AC_CONFIG_SUBDIRS($2)
6657  else
6658    AC_MSG_RESULT(no)
6659  fi
6660fi
6661]) # AC_COIN_THIRDPARTY_SUBDIRS
6662
6663###########################################################################
6664#                           COIN_CHECK_VPATH                              #
6665###########################################################################
6666
6667# This macro sets the variable coin_vpath_config to true if this is a
6668# VPATH configuration, otherwise it sets it to false.
6669AC_DEFUN([AC_COIN_CHECK_VPATH],
6670[AC_MSG_CHECKING(whether this is a VPATH configuration)
6671if test `cd $srcdir; pwd` != `pwd`; then
6672  coin_vpath_config=yes;
6673else
6674  coin_vpath_config=no;
6675fi
6676AC_MSG_RESULT($coin_vpath_config)
6677]) # AC_COIN_CHECK_VPATH
6678
6679###########################################################################
6680#                         COIN_PROJECTDIR_INIT                            #
6681###########################################################################
6682
6683# This macro does everything that is required in the early part in the
6684# configure script, such as defining a few variables.  This should only
6685# be used in the main directory of a project directory (the one under
6686# which src is)
6687
6688AC_DEFUN([AC_COIN_PROJECTDIR_INIT],
6689[# Initialize the ADDLIBS variable
6690ADDLIBS="-lm $LIBS"
6691AC_SUBST(ADDLIBS)
6692
6693# Initialize the FADDLIBS variable (which is to be used with a fortran
6694# compiler and will not include FLIBS)
6695FADDLIBS="$LIBS"
6696AC_SUBST(FADDLIBS)
6697
6698# A useful makefile conditional that is always false
6699AM_CONDITIONAL(ALWAYS_FALSE, false)
6700
6701# We set the following variable so that we know later in AC_COIN_FINALIZE
6702# that we are in a project main directory
6703coin_projectdir=yes
6704]) # AC_COIN_PROJECTDIR_INIT
6705
6706###########################################################################
6707#                          COIN_DEBUG_COMPILE                             #
6708###########################################################################
6709
6710# enable the configure flags --enable-debug and --enable-debug-prjct
6711# (where prcjt is the name of the project in lower case) and set the
6712# variable coin_debug_compile to true or false This is used by
6713# COIN_PROG_CXX, COIN_PROG_CC and COIN_PROG_F77 to determine the
6714# compilation flags.  This macro also makes the switches
6715# --with-prjct-verbosity and --with-prjct-checklevel available, which
6716# define the preprocessor macros COIN_PRJCT_VERBOSITY and
6717# COIN_PRJCT_CHECKLEVEL to the specified value (default is 0).
6718#
6719# The project specific flags are only made available, if one gives the
6720# name of the project as first argument to this macro.
6721
6722AC_DEFUN([AC_COIN_DEBUG_COMPILE],
6723[AC_BEFORE([$0],[AC_COIN_PROG_CXX])dnl
6724AC_BEFORE([$0],[AC_COIN_PROG_CC])dnl
6725AC_BEFORE([$0],[AC_COIN_PROG_F77])dnl
6726
6727AC_MSG_CHECKING([whether we want to compile in debug mode])
6728
6729AC_ARG_ENABLE([debug],
6730[AC_HELP_STRING([--enable-debug],
6731                [compile all projects with debug options tests])],
6732[case "${enableval}" in
6733   yes) coin_debug_compile=true
6734        if test "${enable_shared+set}" = set; then :; else
6735          enable_shared=no
6736        fi
6737        ;;
6738   no)  coin_debug_compile=false
6739        ;;
6740   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug)
6741        ;;
6742esac],
6743[coin_debug_compile=false])
6744
6745m4_ifvaln([$1],
6746[AC_ARG_ENABLE(debug-m4_tolower($1),
6747 [AC_HELP_STRING([--enable-debug-m4_tolower($1)],
6748                 [compile this project ($1) with debug options])],
6749 [case "${enableval}" in
6750    yes) coin_debug_compile=true
6751         enable_shared=no
6752         ;;
6753    no)  coin_debug_compile=false
6754         ;;
6755    *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-m4_tolower($1))
6756         ;;
6757 esac],[:])
6758]) # m4_ifvaln([$1],
6759
6760if test $coin_debug_compile = true; then
6761  AC_MSG_RESULT([yes])
6762else
6763  AC_MSG_RESULT([no])
6764fi
6765
6766m4_ifvaln([$1],
6767[AC_ARG_WITH(m4_tolower($1)-verbosity,
6768             AC_HELP_STRING([--with-m4_tolower($1)-verbosity],
6769                            [specify the debug verbosity level for project $1]),
6770             [if test "$withval" = yes; then
6771                withval=1
6772              fi
6773              m4_tolower(coin_$1_verbosity)=$withval],
6774             [m4_tolower(coin_$1_verbosity)=0])
6775 AC_DEFINE_UNQUOTED(m4_toupper(COIN_$1_VERBOSITY),
6776                    m4_tolower($coin_$1_verbosity),
6777                    [Define to the debug verbosity level (0 is no output)])
6778
6779 AC_ARG_WITH(m4_tolower($1)-checklevel,
6780             AC_HELP_STRING([--with-m4_tolower($1)-checklevel],
6781                            [specify the sanity check level for project $1]),
6782             [if test "$withval" = yes; then
6783                withval=1
6784              fi
6785              m4_tolower(coin_$1_checklevel)=$withval],
6786             [m4_tolower(coin_$1_checklevel)=0])
6787 AC_DEFINE_UNQUOTED(m4_toupper(COIN_$1_CHECKLEVEL),
6788                    m4_tolower($coin_$1_checklevel),
6789                    [Define to the debug sanity check level (0 is no test)])
6790
6791# We use the following variable to have a string with the upper case
6792# version of the project name
6793COIN_PRJCT=m4_toupper($1)
6794
6795]) # m4_ifvaln([$1],
6796 
6797]) # AC_COIN_DEBUG_COMPILE
6798
6799###########################################################################
6800#                          COIN_MINGW_LD_FIX                              #
6801###########################################################################
6802
6803# This macro is included by any PROG_compiler macro, to set the LD
6804# environment variable on MinGW to the correct value (link). But note that
6805# if we're building in cygwin with -mno-cygwin, we still want ld! If we're
6806# building from cygwin with MSVC tools (cl/link), then we do want link and
6807# you'd better have your PATH variable straight, else you'll be doing file
6808# links instead of code links! Arguably, LDFLAGS should include -mno-cygwin
6809# but in practice all linking seems to be handled through the compilers, so
6810# CFLAGS and CXXFLAGS suffice.
6811
6812AC_DEFUN([AC_COIN_MINGW_LD_FIX],
6813[case $build in
6814  *-mingw*)
6815    if test "${LD+set}" = set; then :; else
6816      LD=link
6817    fi
6818    ;;
6819 esac
6820 case $enable_doscompile in
6821   msvc)
6822     if test "x${LD+set}" = xset; then :; else
6823       LD=link
6824     fi
6825     ;;
6826 esac
6827])
6828
6829###########################################################################
6830#                        COIN_ENABLE_DOSCOMPILE                           #
6831###########################################################################
6832
6833# This macro is invoked by any PROG_compiler macro to establish the
6834# --enable-doscompile option, used when one wants to compile an executable
6835# under Cygwin which also runs directly under DOS (without requiring
6836# Cygwin1.dll). The job of this macro is to make sure the option is correct and
6837# to set enable_doscompile. Legal values are mingw, msvc, and no (disabled).
6838# mingw: Fake mingw under cygwin, using GCC tools and -mno-cygwin. The most
6839#        important thing here is that preprocess, compile, and link steps
6840#        *all* see -mno-cygwin.
6841# msvc:  Assume the presence of cl/link. It's the user's responsibility to
6842#        make sure their PATH is correct. In particular, that MSVC link is
6843#        found and not cygwin link (we want to do code linking, not file
6844#        linking).
6845# It's the responsibility of individual PROG_compiler macros to ensure that
6846# they correctly set the compiler search list and preprocess, compile, and
6847# link flags. This is tied to compiler setup because in practice invocations
6848# of the preprocessor and linker are made through the compiler.
6849
6850AC_DEFUN([AC_COIN_ENABLE_DOSCOMPILE],
6851[AC_REQUIRE([AC_CANONICAL_BUILD])
6852 AC_ARG_ENABLE([doscompile],
6853  [AC_HELP_STRING([--enable-doscompile],
6854                  [Under Cygwin, compile so that executables run under DOS.
6855                   Set to mingw to use gcc/g++/ld with -mno-cygwin.
6856                   Set to msvc to use cl/link (or icl/link).
6857                   Default when mentioned: mingw.
6858                   Default when not mentioned: disabled.])],
6859  [if test "$enable_doscompile" != no; then
6860     case $build in
6861       *-cygwin* | *-mingw*) ;;
6862       *) AC_MSG_ERROR([--enable-doscompile option makes sense only under Cygwin or MinGW]) ;;
6863     esac
6864   fi],
6865  [enable_doscompile=no])
6866 case "$enable_doscompile" in
6867   mingw)
6868     case $build in
6869       *-mingw*) enable_doscompile=no ;;
6870     esac
6871     ;;
6872   msvc|no) ;;
6873   yes) enable_doscompile=mingw ;;
6874   *) AC_MSG_ERROR([Invalid value $enable_doscompile for --enable-doscompile.
6875                    Try configure --help=recursive.])
6876      ;;
6877  esac
6878  if test "$enable_doscompile" != no ; then
6879    AC_MSG_NOTICE([DOS compile style is: $enable_doscompile])
6880  fi
6881])
6882
6883###########################################################################
6884#                             COIN_PROG_CXX                               #
6885###########################################################################
6886
6887# Find the compile command by running AC_PROG_CXX (with compiler names for
6888# different operating systems) and put it into CXX (unless it was given by the
6889# user). Then find an appropriate value for CXXFLAGS. If either of CXXFLAGS or
6890# PRJCT_CXXFLAGS is defined, that value is used (replace PRJCT with the upper
6891# case name of this project).  It is possible to provide additional -D flags
6892# in the variable CXXDEFS, and additional compilation flags with ADD_CXXFLAGS.
6893
6894AC_DEFUN([AC_COIN_PROG_CXX],
6895[AC_REQUIRE([AC_COIN_PROG_CC]) #Let's try if that overcomes configuration problem with VC++ 6.0
6896AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
6897AC_LANG_PUSH(C++)
6898
6899AC_ARG_VAR(CXXDEFS,[Additional -D flags to be used when compiling C++ code.])
6900AC_ARG_VAR(ADD_CXXFLAGS,[Additional C++ compiler options])
6901AC_ARG_VAR(DBG_CXXFLAGS,[Debug C++ compiler options])
6902AC_ARG_VAR(OPT_CXXFLAGS,[Optimize C++ compiler options])
6903
6904coin_has_cxx=yes
6905
6906save_cxxflags="$CXXFLAGS"
6907# For *-*-solaris*, promote Studio/Workshop compiler to front of list.
6908case $build in
6909  *-cygwin* | *-mingw*)
6910             if test "$enable_doscompile" = msvc ; then
6911               comps="icl cl"
6912             else
6913               comps="g++ cl"
6914             fi ;;
6915  *-*-solaris*)
6916             comps="CC xlC_r aCC g++ c++ pgCC icpc gpp cxx cc++ cl FCC KCC RCC" ;;
6917  *-darwin*) comps="g++ c++ CC" ;;
6918          *) comps="xlC_r aCC CC g++ c++ pgCC icpc gpp cxx cc++ cl FCC KCC RCC" ;;
6919esac
6920
6921# We delete the cached value, since the test might not have been
6922# performed with our choice of compilers earlier
6923$as_unset ac_cv_prog_CXX || test "${ac_cv_prog_CXX+set}" != set || { ac_cv_prog_CXX=; export ac_cv_prog_CXX; }
6924# AC_MSG_NOTICE([C++ compiler candidates: $comps])
6925AC_PROG_CXX([$comps])
6926
6927#AC_PROG_CXX sets CXX to g++ if it cannot find a working C++ compiler
6928#thus, we test here whether $CXX is actually working
6929AC_LANG_PUSH(C++)
6930AC_MSG_CHECKING([whether C++ compiler $CXX works]);
6931AC_COMPILE_IFELSE(
6932  [AC_LANG_PROGRAM(, [int i=0;])],
6933  [AC_MSG_RESULT(yes)],
6934  [AC_MSG_RESULT(no)
6935   AC_MSG_ERROR(failed to find a C++ compiler or C++ compiler $CXX does not work)]
6936)
6937AC_LANG_POP(C++)
6938
6939# It seems that we need to cleanup something here for the Windows
6940case "$CXX" in
6941  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
6942    sed -e 's/^void exit (int);//' confdefs.h >> confdefs.hh
6943    mv confdefs.hh confdefs.h
6944    ;;
6945esac
6946
6947# Autoconf incorrectly concludes that cl recognises -g. It doesn't.
6948case "$CXX" in
6949  cl* | */cl* | CL* | */CL* )
6950    if test "$ac_cv_prog_cxx_g" = yes ; then
6951      ac_cv_prog_cxx_g=no
6952      AC_MSG_NOTICE([Overruling autoconf; cl does not recognise -g.])
6953    fi ;;
6954esac
6955CXXFLAGS="$save_cxxflags"
6956
6957# Check if a project specific CXXFLAGS variable has been set
6958if test x$COIN_PRJCT != x; then
6959  eval coin_tmp=\${${COIN_PRJCT}_CXXFLAGS+set}
6960  if test x$coin_tmp = xset; then
6961    eval CXXFLAGS=\${${COIN_PRJCT}_CXXFLAGS}
6962  fi
6963fi
6964
6965if test x"$CXXFLAGS" = x; then
6966
6967# ToDo decide whether we want -DNDEBUG for optimization
6968  coin_add_cxxflags=
6969  coin_opt_cxxflags=
6970  coin_dbg_cxxflags=
6971  coin_warn_cxxflags=
6972
6973  if test "$GXX" = "yes"; then
6974    case "$CXX" in
6975      icpc* | */icpc*)
6976        ;;
6977      *)
6978# ToDo decide about unroll-loops
6979        coin_opt_cxxflags="-O3 -fomit-frame-pointer"
6980        coin_add_cxxflags="-pipe"
6981        coin_dbg_cxxflags="-g"
6982        coin_warn_cxxflags="-Wimplicit -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas"
6983        case $build in
6984          *-darwin*)
6985            ;;
6986          *)
6987            coin_warn_cxxflags="-pedantic-errors $coin_warn_cxxflags"
6988            ;;
6989        esac
6990
6991        case $enable_doscompile in
6992          mingw)
6993            CXXFLAGS="-mno-cygwin"
6994            AC_TRY_LINK(,[int i=0; i++;],[coin_add_cxxflags="-mno-cygwin $coin_add_cxxflags"])
6995            CXXFLAGS=
6996          ;;
6997        esac
6998    esac
6999  fi
7000
7001# Note that we do not need to cover GCC in the following tests.
7002
7003  if test -z "$coin_opt_cxxflags"; then
7004    case $build in
7005      *-cygwin* | *-mingw*)
7006        case "$CXX" in
7007          cl* | */cl* | CL* | */CL*)
7008            # The MT and MTd options are mutually exclusive
7009            coin_opt_cxxflags='-MT -O2'
7010            coin_add_cxxflags='-nologo -EHsc -GR -wd4996 -D_CRT_SECURE_NO_DEPRECATE'
7011            coin_dbg_cxxflags='-MTd'
7012            ;;
7013          icl* | */icl* | ICL* | */ICL*)
7014            # The MT and MTd options are mutually exclusive
7015            coin_opt_cxxflags='-MT -Ox'
7016            coin_add_cxxflags='-nologo -EHsc -GR -D_CRT_SECURE_NO_DEPRECATE'
7017            coin_dbg_cxxflags='-MTd -debug'
7018            ;;
7019        esac
7020        ;;
7021      *-linux-*)
7022        case "$CXX" in
7023          icpc* | */icpc*)
7024            coin_opt_cxxflags="-O3 -ip -mp1"
7025            coin_add_cxxflags=""
7026            coin_dbg_cxxflags="-g"
7027            # Check if -i_dynamic is necessary (for new glibc library)
7028            CXXFLAGS=
7029            AC_TRY_LINK(,[int i=0; i++;],[],
7030                        [coin_add_cxxflags="-i_dynamic $coin_add_cxxflags"])
7031            ;;
7032          pgCC* | */pgCC*)
7033            coin_opt_cxxflags="-fast"
7034            coin_add_cxxflags="-Kieee -pc 64"
7035            coin_dbg_cxxflags="-g"
7036            ;;
7037        esac
7038        ;;
7039      *-ibm-*)
7040        case "$CXX" in
7041          xlC* | */xlC* | mpxlC* | */mpxlC*)
7042            coin_opt_cxxflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
7043            coin_add_cxxflags="-bmaxdata:0x80000000 -qrtti=dyna -qsuppress=1500-036 -qsuppress=1500-029 -qsourcetype=c++"
7044            coin_dbg_cxxflags="-g"
7045            ;;
7046        esac
7047        ;;
7048      *-hp-*)
7049        case "$CXX" in
7050          aCC* | */aCC* )
7051            coin_opt_cxxflags="-O"
7052            coin_add_cxxflags="-AA"
7053            coin_dbg_cxxflags="-g"
7054            ;;
7055        esac
7056        ;;
7057      *-*-solaris*)
7058          coin_opt_cxxflags="-O4"
7059          coin_dbg_cxxflags="-g"
7060        ;;
7061    esac
7062  fi
7063
7064# Generic flag settings. If these don't work, add a case above.
7065
7066  if test "$ac_cv_prog_cxx_g" = yes && test -z "$coin_dbg_cxxflags" ; then
7067    coin_dbg_cxxflags="-g"
7068  fi
7069
7070  if test -z "$coin_opt_cxxflags"; then
7071    # Try if -O option works if nothing else is set
7072    CXXFLAGS=-O
7073    AC_TRY_LINK([],[int i=0; i++;],[coin_opt_cxxflags="-O"])
7074  fi
7075
7076  # if PM doesn't want the warning messages, take them out
7077  if test x"$coin_skip_warn_cxxflags" = xyes; then
7078    coin_warn_cxxflags=
7079  fi
7080
7081# Do final setup of flags based on values determined above.
7082
7083  if test x${DBG_CXXFLAGS+set} != xset; then
7084    DBG_CXXFLAGS="$coin_dbg_cxxflags $coin_add_cxxflags $coin_warn_cxxflags"
7085  fi
7086  if test x${OPT_CXXFLAGS+set} != xset; then
7087    OPT_CXXFLAGS="$coin_opt_cxxflags $coin_add_cxxflags -DNDEBUG $coin_warn_cxxflags"
7088  fi
7089
7090  DBG_CXXFLAGS="$DBG_CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
7091  OPT_CXXFLAGS="$OPT_CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
7092
7093  if test "$coin_debug_compile" = "true"; then
7094    CXXFLAGS="$DBG_CXXFLAGS"
7095  else
7096    CXXFLAGS="$OPT_CXXFLAGS"
7097  fi
7098
7099# Handle the case where CXXFLAGS was set externally.
7100else
7101  CXXFLAGS="$CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
7102  if test x${DBG_CXXFLAGS+set} != xset; then
7103    DBG_CXXFLAGS="$CXXFLAGS"
7104  fi
7105  if test x${OPT_CXXFLAGS+set} != xset; then
7106    OPT_CXXFLAGS="$CXXFLAGS"
7107  fi
7108fi
7109
7110# If CXXFLAGS contains -mno-cygwin, CPPFLAGS must also have it.
7111
7112case "$CXXFLAGS" in
7113  *-mno-cygwin*)
7114    if test x${CPPFLAGS+set} != xset ; then
7115      CPPFLAGS="-mno-cygwin"
7116    else
7117      case "$CPPFLAGS" in
7118        *-mno-cygwin*)
7119          ;;
7120        *)
7121          CPPFLAGS="$CPPFLAGS -mno-cygwin"
7122          ;;
7123      esac
7124    fi ;;
7125esac
7126
7127# Try if CXXFLAGS works
7128save_CXXFLAGS="$CXXFLAGS"
7129AC_TRY_LINK([],[int i=0; i++;],[],[CXXFLAGS=])
7130if test -z "$CXXFLAGS"; then
7131  AC_MSG_WARN([The flags CXXFLAGS="$save_CXXFLAGS" do not work.  I will now just try '-O', but you might want to set CXXFLAGS manually.])
7132  CXXFLAGS='-O'
7133  AC_TRY_LINK([],[int i=0; i++;],[],[CXXFLAGS=])
7134  if test -z "$CXXFLAGS"; then
7135    AC_MSG_WARN([This value for CXXFLAGS does not work.  I will continue with empty CXXFLAGS, but you might want to set CXXFLAGS manually.])
7136  fi
7137fi
7138
7139AC_MSG_NOTICE([C++ compiler options are: $CXXFLAGS])
7140
7141AC_ARG_VAR(MPICXX,[C++ MPI Compiler])
7142if test x"$MPICXX" = x; then :; else
7143  AC_MSG_NOTICE([Will use MPI C++ compiler $MPICXX])
7144  CXX="$MPICXX"
7145fi
7146
7147case "$CXX" in
7148  cl* | */cl* | CL* | */CL* )
7149    AC_COIN_MINGW_LD_FIX
7150    ;;
7151esac
7152
7153AC_LANG_POP(C++)
7154]) # AC_COIN_PROG_CXX
7155
7156
7157###########################################################################
7158#                             COIN_CXXLIBS                                #
7159###########################################################################
7160
7161# Determine the C++ runtime libraries required for linking a C++ library
7162# with a Fortran or C compiler.  The result is available in CXXLIBS.
7163
7164AC_DEFUN([AC_COIN_CXXLIBS],
7165[AC_REQUIRE([AC_PROG_CXX])dnl
7166AC_LANG_PUSH(C++)
7167AC_ARG_VAR(CXXLIBS,[Libraries necessary for linking C++ code with Fortran compiler])
7168if test -z "$CXXLIBS"; then
7169  if test "$GXX" = "yes"; then
7170    case "$CXX" in
7171      icpc* | */icpc*)
7172        CXXLIBS="-lstdc++"
7173        ;;
7174      *)
7175        CXXLIBS="-lstdc++ -lm" # -lgcc"
7176        ;;
7177    esac
7178  else
7179    case $build in
7180     *-mingw32 | *-cygwin* )
7181      case "$CXX" in
7182      cl* | */cl* | CL* | */CL*)
7183        CXXLIBS=nothing;;
7184      esac;;
7185     *-linux-*)
7186      case "$CXX" in
7187      icpc* | */icpc*)
7188        CXXLIBS="-lstdc++"
7189             ;;
7190      pgCC* | */pgCC*)
7191        CXXLIBS="-lstd -lC -lc"
7192             ;;
7193      esac;;
7194    *-ibm-*)
7195      CXXLIBS="-lC -lc"
7196      ;;
7197    *-hp-*)
7198      CXXLIBS="-L/opt/aCC/lib -l++ -lstd_v2 -lCsup_v2 -lm -lcl -lc"
7199      ;;
7200    *-*-solaris*)
7201      CXXLIBS="-lCstd -lCrun"
7202    esac
7203  fi
7204fi
7205if test -z "$CXXLIBS"; then
7206  AC_MSG_WARN([Could not automatically determine CXXLIBS (C++ link libraries; necessary if main program is in Fortran or C).])
7207else
7208  AC_MSG_NOTICE([Assuming that CXXLIBS is \"$CXXLIBS\".])
7209fi
7210if test x"$CXXLIBS" = xnothing; then
7211  CXXLIBS=
7212fi
7213AC_LANG_POP(C++)
7214]) # AC_COIN_CXXLIBS
7215
7216###########################################################################
7217#                           COIN_CHECK_HEADER                             #
7218###########################################################################
7219
7220# This macro checks for a header file, but it does so without the
7221# standard header.  This avoids warning messages like:
7222#
7223# configure: WARNING: dlfcn.h: present but cannot be compiled
7224# configure: WARNING: dlfcn.h:     check for missing prerequisite headers?
7225# configure: WARNING: dlfcn.h: see the Autoconf documentation
7226# configure: WARNING: dlfcn.h:     section "Present But Cannot Be Compiled"
7227# configure: WARNING: dlfcn.h: proceeding with the preprocessor's result
7228# configure: WARNING: dlfcn.h: in the future, the compiler will take precedence
7229
7230# My guess that the problem lay with CPPFLAGS seems to be correct. With this
7231# macro reduced to a direct call to AC_CHECK_HEADERS, there are no warnings
7232# now that CPPFLAGS contains -mno-cygwin when it needs it. -- lh, 061214 --
7233
7234# AW 070609: I restored the previous version, since otherwise the warnings
7235# still pop up for the cl compiler
7236
7237AC_DEFUN([AC_COIN_CHECK_HEADER],
7238[#if test x"$4" = x; then
7239#  hdr="#include <$1>"
7240#else
7241#  hdr="$4"
7242#fi
7243#AC_CHECK_HEADERS([$1],[$2],[$3],[$hdr])
7244AC_CHECK_HEADERS([$1],[$2],[$3],[$4])
7245]) # AC_COIN_CHECK_HEADER
7246
7247###########################################################################
7248#                       COIN_CHECK_CXX_CHEADER                             #
7249###########################################################################
7250
7251# This macro checks for C header files that are used from C++.  For a give
7252# stub (e.g., math), it first checks if the C++ library (cmath) is available.
7253# If it is, it defines HAVE_CMATH (or whatever the stub is).  If it is not
7254# available, it checks for the old C head (math.h) and defines HAVE_MATH_H
7255# if that one exists.
7256
7257AC_DEFUN([AC_COIN_CHECK_CXX_CHEADER],
7258[AC_LANG_PUSH(C++)
7259AC_COIN_CHECK_HEADER([c$1],[$2],[$3],[$4])
7260if test "$ac_cv_header_c$1" != "yes"; then
7261  AC_COIN_CHECK_HEADER([$1.h],[$2],[$3],[$4])
7262fi
7263AC_LANG_POP(C++)
7264]) # AC_COIN_CHECK_CXX_CHEADER
7265
7266###########################################################################
7267#                             COIN_PROG_CC                                #
7268###########################################################################
7269
7270# Find the compile command by running AC_PROG_CC (with compiler names
7271# for different operating systems) and put it into CC (unless it was
7272# given my the user), and find an appropriate value for CFLAGS.  It is
7273# possible to provide additional -D flags in the variable CDEFS.
7274
7275AC_DEFUN([AC_COIN_PROG_CC],
7276[AC_REQUIRE([AC_COIN_MINGW_LD_FIX])
7277AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7278AC_LANG_PUSH(C)
7279
7280# For consistency, we set the C compiler to the same value of the C++
7281# compiler, if the C++ is set, but the C compiler isn't (only for CXX=cl)
7282if test x"$CXX" != x; then
7283  case "$CXX" in
7284    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
7285      if test x"$CC" = x; then
7286        CC="$CXX"
7287        AC_MSG_WARN([C++ compiler name provided as $CXX, but CC is unset. Setting CC to $CXX])
7288      fi
7289      ;;
7290  esac
7291fi
7292
7293AC_ARG_VAR(CDEFS,[Additional -D flags to be used when compiling C code.])
7294AC_ARG_VAR(ADD_CFLAGS,[Additional C compiler options])
7295AC_ARG_VAR(DBG_CFLAGS,[Debug C compiler options])
7296AC_ARG_VAR(OPT_CFLAGS,[Optimize C compiler options])
7297
7298coin_has_cc=yes
7299
7300save_cflags="$CFLAGS"
7301
7302# For *-*-solaris*, promote Studio/Workshop cc compiler to front of list.
7303# Depending on the user's PATH, when Studio/Workshop cc is not present we may
7304# find /usr/ucb/cc, which is almost certainly not a good choice for the C
7305# compiler. In this case, put cc after gcc.
7306
7307case $build in
7308  *-cygwin* | *-mingw*)
7309             if test "$enable_doscompile" = msvc ; then
7310               comps="icl cl"
7311             else
7312               comps="gcc cl"
7313             fi ;;
7314  *-*-solaris*)
7315             AC_CHECK_PROG(sol_cc_compiler,cc,cc,[],[],/usr/ucb/cc)
7316             if test "$sol_cc_compiler" = "cc" ; then
7317               comps="cc xlc gcc pgcc icc"
7318             else
7319               comps="xlc gcc pgcc icc cc"
7320             fi
7321             ;;
7322  *-linux-*) comps="xlc gcc cc pgcc icc" ;;
7323  *)         comps="xlc_r xlc cc gcc pgcc icc" ;;
7324esac
7325
7326# We delete the cached value, since the test might not have been
7327# performed with our choice of compilers earlier
7328$as_unset ac_cv_prog_CC || test "${ac_cv_prog_CC+set}" != set || { ac_cv_prog_CC=; export ac_cv_prog_CC; }
7329# AC_MSG_NOTICE([C compiler candidates: $comps])
7330AC_PROG_CC([$comps])
7331if test -z "$CC" ; then
7332  AC_MSG_ERROR([Failed to find a C compiler!])
7333fi
7334# Autoconf incorrectly concludes that cl recognises -g. It doesn't.
7335case "$CC" in
7336  cl* | */cl* | CL* | */CL* )
7337    if test "$ac_cv_prog_cc_g" = yes ; then
7338      ac_cv_prog_cc_g=no
7339      AC_MSG_NOTICE([Overruling autoconf; cl does not recognise -g.])
7340    fi ;;
7341esac
7342CFLAGS="$save_cflags"
7343
7344# Check if a project specific CFLAGS variable has been set
7345if test x$COIN_PRJCT != x; then
7346  eval coin_tmp=\${${COIN_PRJCT}_CFLAGS+set}
7347  if test x$coin_tmp = xset; then
7348    eval CFLAGS=\${${COIN_PRJCT}_CFLAGS}
7349  fi
7350fi
7351
7352if test x"$CFLAGS" = x; then
7353
7354  coin_add_cflags=
7355  coin_opt_cflags=
7356  coin_dbg_cflags=
7357  coin_warn_cflags=
7358
7359  if test "$GCC" = "yes"; then
7360    case "$CC" in
7361      icc* | */icc*)
7362        ;;
7363      *)
7364        coin_opt_cflags="-O3 -fomit-frame-pointer"
7365        coin_add_cflags="-pipe"
7366        coin_dbg_cflags="-g"
7367        coin_warn_cflags="-Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall -Wno-unknown-pragmas"
7368        case $build in
7369          *-darwin*)
7370            ;;
7371          *)
7372            coin_warn_cflags="-pedantic-errors $coin_warn_cflags"
7373            ;;
7374        esac
7375        case $enable_doscompile in
7376          mingw)
7377            CFLAGS="-mno-cygwin"
7378            AC_TRY_LINK([],[int i=0; i++;],
7379                        [coin_add_cflags="-mno-cygwin $coin_add_cflags"])
7380            CFLAGS=
7381          ;;
7382        esac
7383    esac
7384  fi
7385  if test -z "$coin_opt_cflags"; then
7386    case $build in
7387      *-cygwin* | *-mingw*)
7388        case "$CC" in
7389          cl* | */cl* | CL* | */CL*)
7390            coin_opt_cflags='-MT -O2'
7391            coin_add_cflags='-nologo -wd4996 -D_CRT_SECURE_NO_DEPRECATE'
7392            coin_dbg_cflags='-MTd'
7393            ;;
7394          icl* | */icl* | ICL* | */ICL*)
7395            coin_opt_cflags='-MT -Ox'
7396            coin_add_cflags='-nologo -D_CRT_SECURE_NO_DEPRECATE'
7397            coin_dbg_cflags='-MTd -debug'
7398            ;;
7399        esac
7400        ;;
7401      *-linux-*)
7402        case "$CC" in
7403          icc* | */icc*)
7404            coin_opt_cflags="-O3 -ip -mp1"
7405            coin_add_cflags=""
7406            coin_dbg_cflags="-g"
7407            # Check if -i_dynamic is necessary (for new glibc library)
7408            CFLAGS=
7409            AC_TRY_LINK([],[int i=0; i++;],[],
7410                        [coin_add_cflags="-i_dynamic $coin_add_cflags"])
7411            ;;
7412          pgcc* | */pgcc*)
7413            coin_opt_cflags="-fast"
7414            coin_add_cflags="-Kieee -pc 64"
7415            coin_dbg_cflags="-g"
7416            ;;
7417        esac
7418        ;;
7419      *-ibm-*)
7420        case "$CC" in
7421          xlc* | */xlc* | mpxlc* | */mpxlc*)
7422            coin_opt_cflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
7423            coin_add_cflags="-bmaxdata:0x80000000 -qsuppress=1500-036 -qsuppress=1500-029"
7424            coin_dbg_cflags="-g"
7425          ;;
7426        esac
7427        ;;
7428      *-hp-*)
7429        coin_opt_cflags="-O"
7430        coin_add_cflags="-Ae"
7431        coin_dbg_cflags="-g"
7432        ;;
7433      *-*-solaris*)
7434        coin_opt_cflags="-xO4"
7435        coin_dbg_cflags="-g"
7436        ;;
7437      *-sgi-*)
7438        coin_opt_cflags="-O -OPT:Olimit=0"
7439        coin_dbg_cflags="-g"
7440        ;;
7441    esac
7442  fi
7443
7444  if test "$ac_cv_prog_cc_g" = yes && test -z "$coin_dbg_cflags" ; then
7445    coin_dbg_cflags="-g"
7446  fi
7447
7448  if test -z "$coin_opt_cflags"; then
7449    # Try if -O option works if nothing else is set
7450    CFLAGS="-O"
7451    AC_TRY_LINK([],[int i=0; i++;],[coin_opt_cflags="-O"])
7452  fi
7453
7454  # if PM doesn't want the warning messages, take them out
7455  if test x"$coin_skip_warn_cflags" = xyes; then
7456    coin_warn_cflags=
7457  fi
7458
7459  if test x${DBG_CFLAGS+set} != xset; then
7460    DBG_CFLAGS="$coin_dbg_cflags $coin_add_cflags $coin_warn_cflags"
7461  fi
7462  if test x${OPT_CFLAGS+set} != xset; then
7463    OPT_CFLAGS="$coin_opt_cflags $coin_add_cflags -DNDEBUG $coin_warn_cflags"
7464  fi
7465
7466  DBG_CFLAGS="$DBG_CFLAGS $ADD_CFLAGS $CDEFS"
7467  OPT_CFLAGS="$OPT_CFLAGS $ADD_CFLAGS $CDEFS"
7468
7469  if test "$coin_debug_compile" = "true"; then
7470    CFLAGS="$DBG_CFLAGS"
7471  else
7472    CFLAGS="$OPT_CFLAGS"
7473  fi
7474else
7475  CFLAGS="$CFLAGS $ADD_CFLAGS $CDEFS"
7476  if test x${DBG_CFLAGS+set} != xset; then
7477    DBG_CFLAGS="$CFLAGS"
7478  fi
7479  if test x${OPT_CFLAGS+set} != xset; then
7480    OPT_CFLAGS="$CFLAGS"
7481  fi
7482fi
7483
7484# If CFLAGS contains -mno-cygwin, CPPFLAGS must also have it.
7485
7486case "$CFLAGS" in
7487  *-mno-cygwin*)
7488    if test x${CPPFLAGS+set} != xset ; then
7489      CPPFLAGS="-mno-cygwin"
7490    else
7491      case "$CPPFLAGS" in
7492        *-mno-cygwin*)
7493          ;;
7494        *)
7495          CPPFLAGS="$CPPFLAGS -mno-cygwin"
7496          ;;
7497      esac
7498    fi ;;
7499esac
7500
7501# Try if CFLAGS works
7502save_CFLAGS="$CFLAGS"
7503AC_TRY_LINK([],[int i=0; i++;],[],[CFLAGS=])
7504if test -z "$CFLAGS"; then
7505  AC_MSG_WARN([The value CFLAGS="$save_CFLAGS" do not work.  I will now just try '-O', but you might want to set CFLAGS manually.])
7506  CFLAGS='-O'
7507  AC_TRY_LINK([],[int i=0; i++;],[],[CFLAGS=])
7508  if test -z "$CFLAGS"; then
7509    AC_MSG_WARN([This value for CFLAGS does not work.  I will continue with empty CFLAGS, but you might want to set CFLAGS manually.])
7510  fi
7511fi
7512
7513AC_MSG_NOTICE([C compiler options are: $CFLAGS])
7514
7515AC_ARG_VAR(MPICC,[C MPI Compiler])
7516if test x"$MPICC" = x; then :; else
7517  AC_MSG_NOTICE([Will use MPI C compiler $MPICC])
7518  CC="$MPICC"
7519fi
7520
7521# Correct ADDLIBS initialization if we are using the MS compiler
7522case "$CC" in
7523  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
7524    ADDLIBS=
7525    AC_COIN_MINGW_LD_FIX
7526    ;;
7527esac
7528
7529AC_LANG_POP(C)
7530]) # AC_COIN_PROG_CC
7531
7532###########################################################################
7533#                             COIN_PROG_F77                               #
7534###########################################################################
7535
7536# Find the compile command by running AC_PROG_F77 (with compiler names
7537# for different operating systems) and put it into F77 (unless it was
7538# given by the user), and find an appropriate value for FFLAGS
7539
7540AC_DEFUN([AC_COIN_PROG_F77],
7541[AC_REQUIRE([AC_COIN_MINGW_LD_FIX])
7542AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7543AC_REQUIRE([AC_COIN_PROG_CC])
7544AC_REQUIRE([AC_COIN_F77_COMPS])
7545AC_LANG_PUSH([Fortran 77])
7546
7547AC_ARG_VAR(ADD_FFLAGS,[Additional Fortran compiler options])
7548AC_ARG_VAR(DBG_FFLAGS,[Debug Fortran compiler options])
7549AC_ARG_VAR(OPT_FFLAGS,[Optimize Fortran compiler options])
7550
7551coin_has_f77=yes
7552
7553save_fflags="$FFLAGS"
7554
7555# We delete the cached value, since the test might not have been
7556# performed with our choice of compilers earlier
7557$as_unset ac_cv_prog_F77 || test "${ac_cv_prog_F77+set}" != set || { ac_cv_prog_F77=; export ac_cv_prog_F77; }
7558
7559# This is a real belt-and-suspenders approach. AC_COIN_FIND_F77 will use
7560# coin_f77_comps to see if there's a program that matches one of the names.
7561# If there's no such program, F77 = unavailable. If we match the name,
7562# feed AC_PROG_F77 the same search list, just to be sure it's a functioning
7563# compiler.
7564# AC_MSG_NOTICE([Fortran compiler candidates: $coin_f77_comps])
7565AC_COIN_FIND_F77
7566if test "$F77" != "unavailable" ; then
7567  AC_PROG_F77($coin_f77_comps)
7568else
7569  AC_MSG_WARN([Failed to find a Fortran compiler!])
7570fi
7571
7572FFLAGS="$save_fflags"
7573
7574# Check if a project specific FFLAGS variable has been set
7575if test x$COIN_PRJCT != x; then
7576  eval coin_tmp=\${${COIN_PRJCT}_FFLAGS+set}
7577  if test x$coin_tmp = xset; then
7578    eval FFLAGS=\${${COIN_PRJCT}_FFLAGS}
7579  fi
7580fi
7581
7582if test "$F77" != "unavailable" && test x"$FFLAGS" = x ; then
7583
7584  coin_add_fflags=
7585  coin_opt_fflags=
7586  coin_dbg_fflags=
7587  coin_warn_fflags=
7588
7589  if test "$G77" = "yes"; then
7590    coin_opt_fflags="-O3 -fomit-frame-pointer"
7591    coin_add_fflags="-pipe"
7592    coin_dbg_fflags="-g"
7593    case $enable_doscompile in
7594      mingw)
7595        FFLAGS="-mno-cygwin"
7596        AC_TRY_LINK(,[      write(*,*) 'Hello world'],
7597                    [coin_add_fflags="-mno-cygwin $coin_add_fflags"])
7598        FFLAGS=
7599      ;;
7600    esac
7601  else
7602    case $build in
7603      *-cygwin* | *-mingw*)
7604        case $F77 in
7605          ifort* | */ifort* | IFORT* | */IFORT* )
7606            coin_opt_fflags='-MT -O3'
7607            coin_add_fflags='-fpp -nologo'
7608            coin_dbg_fflags='-MTd -debug'
7609          ;;
7610          compile_f2c*)
7611            coin_opt_fflags='-MT -O2'
7612            coin_add_fflags='-nologo -wd4996'
7613            coin_dbg_fflags='-MTd'
7614          ;;
7615        esac
7616        ;;
7617      *-linux-*)
7618        case $F77 in
7619          ifc* | */ifc* | ifort* | */ifort*)
7620            coin_opt_fflags="-O3 -ip"
7621            coin_add_fflags="-cm -w90 -w95"
7622            coin_dbg_fflags="-g -CA -CB -CS"
7623            # Check if -i_dynamic is necessary (for new glibc library)
7624            FFLAGS=
7625            AC_TRY_LINK(,[      write(*,*) 'Hello world'],[],
7626                        [coin_add_fflags="-i_dynamic $coin_add_fflags"])
7627            ;;
7628          pgf77* | */pgf77* | pgf90* | */pgf90*)
7629            coin_opt_fflags="-fast"
7630            coin_add_fflags="-Kieee -pc 64"
7631            coin_dbg_fflags="-g"
7632          ;;
7633        esac
7634        ;;
7635      *-ibm-*)
7636        case "$F77" in
7637          xlf* | */xlf* | mpxlf* | */mpxlf* )
7638            coin_opt_fflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
7639            coin_add_fflags="-bmaxdata:0x80000000 -qsuppress=1500-036 -qsuppress=1500-029"
7640            coin_dbg_fflags="-g -C"
7641            ;;
7642        esac
7643        ;;
7644      *-hp-*)
7645        coin_opt_fflags="+O3"
7646        coin_add_fflags="+U77"
7647        coin_dbg_fflags="-C -g"
7648        ;;
7649      *-*-solaris*)
7650        coin_opt_fflags="-O4"
7651        coin_dbg_fflags="-g"
7652        ;;
7653      *-sgi-*)
7654        coin_opt_fflags="-O5 -OPT:Olimit=0"
7655        coin_dbg_fflags="-g"
7656        ;;
7657    esac
7658  fi
7659
7660  if test "$ac_cv_prog_f77_g" = yes && test -z "$coin_dbg_fflags" ; then
7661    coin_dbg_fflags="-g"
7662  fi
7663
7664  if test -z "$coin_opt_fflags"; then
7665    # Try if -O option works if nothing else is set
7666    FFLAGS=-O
7667    AC_TRY_LINK(,[      integer i], [coin_opt_fflags="-O"])
7668  fi
7669
7670  # if PM doesn't want the warning messages, take them out
7671  if test x"$coin_skip_warn_fflags" = xyes; then
7672    coin_warn_fflags=
7673  fi
7674
7675  if test x${DBG_FFLAGS+set} != xset; then
7676    DBG_FFLAGS="$coin_dbg_fflags $coin_add_fflags $coin_warn_fflags"
7677  fi
7678  if test x${OPT_FFLAGS+set} != xset; then
7679    OPT_FFLAGS="$coin_opt_fflags $coin_add_fflags $coin_warn_fflags"
7680  fi
7681
7682  DBG_FFLAGS="$DBG_FFLAGS $ADD_FFLAGS"
7683  OPT_FFLAGS="$OPT_FFLAGS $ADD_FFLAGS"
7684
7685  if test "$coin_debug_compile" = "true"; then
7686    FFLAGS="$DBG_FFLAGS"
7687  else
7688    FFLAGS="$OPT_FFLAGS"
7689  fi
7690else
7691  FFLAGS="$FFLAGS $ADD_FFLAGS"
7692  if test x${DBG_FFLAGS+set} != xset; then
7693    DBG_FFLAGS="$FFLAGS"
7694  fi
7695  if test x${OPT_FFLAGS+set} != xset; then
7696    OPT_FFLAGS="$FFLAGS"
7697  fi
7698fi
7699
7700# If FFLAGS contains -mno-cygwin, CPPFLAGS must have it.
7701case "$FFLAGS" in
7702  *-mno-cygwin*)
7703    if test x${CPPFLAGS+set} != xset ; then
7704      CPPFLAGS="-mno-cygwin"
7705    else
7706      case "$CPPFLAGS" in
7707        *-mno-cygwin*)
7708          ;;
7709        *)
7710          CPPFLAGS="$CPPFLAGS -mno-cygwin"
7711          ;;
7712      esac
7713    fi ;;
7714esac
7715
7716# Try if FFLAGS works
7717if test "$F77" != "unavailable" ; then
7718  AC_TRY_LINK(,[      integer i],[],[FFLAGS=])
7719  if test -z "$FFLAGS"; then
7720    AC_MSG_WARN([The flags FFLAGS="$FFLAGS" do not work.  I will now just try '-O', but you might want to set FFLAGS manually.])
7721    FFLAGS='-O'
7722    AC_TRY_LINK(,[      integer i],[],[FFLAGS=])
7723    if test -z "$FFLAGS"; then
7724      AC_MSG_WARN([This value for FFLAGS does not work.  I will continue with empty FFLAGS, but you might want to set FFLAGS manually.])
7725    fi
7726  fi
7727fi
7728
7729AC_MSG_NOTICE([Fortran compiler options are: $FFLAGS])
7730
7731AC_ARG_VAR(MPIF77,[Fortran MPI Compiler])
7732if test x"$MPIF77" = x; then :; else
7733  AC_MSG_NOTICE([Will use MPI Fortran compiler $MPIF77])
7734  F77="$MPIF77"
7735fi
7736
7737case "$F77" in
7738  ifort* | */ifort* | IFORT* | */IFORT*)
7739    AC_COIN_MINGW_LD_FIX
7740    ;;
7741esac
7742
7743AC_LANG_POP([Fortran 77])
7744]) # AC_COIN_PROG_F77
7745
7746###########################################################################
7747#                           COIN_F77_WRAPPERS                             #
7748###########################################################################
7749
7750# Calls autoconfs AC_F77_WRAPPERS and does additional corrections to FLIBS
7751
7752AC_DEFUN([AC_COIN_F77_WRAPPERS],
7753[AC_BEFORE([AC_COIN_PROG_F77],[$0])dnl
7754AC_BEFORE([AC_PROG_F77],[$0])dnl
7755
7756AC_LANG_PUSH([Fortran 77])
7757
7758save_FLIBS="$FLIBS"
7759
7760AC_F77_WRAPPERS
7761
7762if test x"$save_FLIBS" != x; then
7763  FLIBS="$save_FLIBS"
7764else
7765  # This is to correct a missing exclusion in autoconf 2.59
7766  if test x"$FLIBS" != x; then
7767    my_flibs=
7768    for flag in $FLIBS; do
7769      case $flag in
7770        -lcrt*.o) ;;
7771               *) my_flibs="$my_flibs $flag" ;;
7772      esac
7773    done
7774    FLIBS="$my_flibs"
7775  fi
7776
7777  case $build in
7778  # The following is a fix to define FLIBS for ifort on Windows
7779  # In its original version, it linked in libifcorert.lib or libifcorertd.lib on Windows/ifort explicitly.
7780  # However, this seem to create a dependency on libifcorert.dll (or libifcorertd.dll) in the executables.
7781  # This is seem to be unnecessary, libifcorert(d).lib has been removed from the link line.
7782     *-cygwin* | *-mingw*)
7783       case "$F77" in
7784         ifort* | */ifort* | IFORT* | */IFORT*)
7785           FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib"
7786#           if "$coin_debug_compile" = true ; then
7787#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib"
7788#           else
7789#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmtd.lib"
7790#           fi
7791           ;;
7792         compile_f2c*)
7793           FLIBS=`$F77 -FLIBS` ;;
7794       esac;;
7795     *-hp-*)
7796         FLIBS="$FLIBS -lm";;
7797     *-ibm-*)
7798         FLIBS=`echo $FLIBS | sed 's/-lc)/-lc/g'` ;;
7799     *-linux-*)
7800       case "$F77" in
7801         pgf77* | */pgf77* | pgf90* | */pgf90*)
7802# ask linker to go through the archives multiple times
7803# (the Fortran compiler seems to do that automatically...
7804           FLIBS="-Wl,--start-group $FLIBS -Wl,--end-group" ;;
7805       esac
7806  esac
7807  ac_cv_f77_libs="$FLIBS"
7808fi
7809
7810AC_LANG_POP([Fortran 77])
7811
7812]) # AC_COIN_F77_WRAPPERS
7813
7814###########################################################################
7815#                             COIN_FIND_F77                               #
7816###########################################################################
7817
7818# Attempt to preempt autoconf by locating an appropriate F77 program. This
7819# macro will not trigger a fatal error if a suitable compiler cannot be
7820# found. It should be called before COIN_PROG_F77 or COIN_TRY_FLINK.
7821
7822AC_DEFUN([AC_COIN_FIND_F77],
7823[AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7824AC_REQUIRE([AC_COIN_F77_COMPS])
7825AC_MSG_NOTICE([Trying to determine Fortran compiler name])
7826AC_CHECK_PROGS([F77],[$coin_f77_comps],[unavailable])
7827])
7828
7829# Auxilliary macro to make sure both COIN_PROG_F77 and COIN_FIND_F77 use
7830# the same search lists for compiler names.
7831# For *-*-solaris*, promote Studio/Workshop compilers to front of list.
7832AC_DEFUN([AC_COIN_F77_COMPS],
7833[case $build in
7834  *-cygwin* | *-mingw*)
7835     if test "$enable_doscompile" = msvc ; then
7836       coin_f77_comps="ifort fl32 compile_f2c"
7837     else
7838       coin_f77_comps="gfortran g77 ifort fl32 compile_f2c"
7839     fi ;;
7840  *-*-solaris*)
7841     coin_f77_comps="f95 f90 f77 xlf_r fort77 gfortran g77 pgf90 pgf77 ifort ifc frt af77" ;;
7842  *) coin_f77_comps="xlf_r fort77 gfortran f77 g77 pgf90 pgf77 ifort ifc frt af77" ;;
7843 esac
7844])
7845
7846###########################################################################
7847#                          COIN_INIT_AUTOMAKE                             #
7848###########################################################################
7849
7850# This macro calls the regular INIT_AUTOMAKE and MAINTAINER_MODE
7851# macros, and defines additional variables and makefile conditionals,
7852# that are used in the maintainer parts of the makfile.  It also
7853# checks if the correct versions of the autotools are used.
7854#
7855# This also defines the AC_SUBST variables:
7856# abs_source_dir     absolute path to source code for this package
7857# abs_bin_dir        absolute path to the directory where binaries are
7858#                    going to be installed (prefix/bin)
7859# abs_lib_dir        absolute path to the directory where libraries are
7860#                    going to be installed (prefix/lib)
7861# abs_include_dir    absolute path to the directory where the header files
7862#                    are installed (prefix/include)
7863
7864AC_DEFUN([AC_COIN_INIT_AUTOMAKE],
7865[AC_REQUIRE([AC_PROG_EGREP])
7866
7867# AC_MSG_NOTICE([Beginning automake initialisation.])
7868# Stuff for automake
7869AM_INIT_AUTOMAKE
7870AM_MAINTAINER_MODE
7871
7872coin_have_externals=no
7873if test "$enable_maintainer_mode" = yes; then
7874
7875  # If maintainer mode is chosen, we make sure that the correct versions
7876  # of the tools are used, and that we know where libtool.m4 is (to
7877  # recreate acinclude.m4)
7878
7879  AC_SUBST(LIBTOOLM4)
7880  LIBTOOLM4=
7881  # Normally, $HOME
7882  AUTOTOOLS_DFLT=$HOME
7883
7884  AC_CACHE_CHECK([whether we are using the correct autotools],
7885                 [ac_cv_use_correct_autotools],
7886                 [ac_cv_use_correct_autotools=check])
7887
7888  if test $ac_cv_use_correct_autotools = check; then
7889    ac_cv_use_correct_autotools=yes
7890    # Check if we have autoconf
7891    AC_CHECK_PROG([have_autoconf],[autoconf],[yes],[no])
7892    if test $have_autoconf = no; then
7893      AC_MSG_ERROR([You specified you want to use maintainer mode, but I cannot find autoconf in your path.])
7894    fi
7895
7896    # Check whether autoconf is the correct version
7897    correct_version='2.59'
7898    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7899    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of autoconf])
7900    autoconf --version > confauto.out 2>&1
7901    if $EGREP $grep_version confauto.out >/dev/null 2>&1; then
7902      AC_MSG_RESULT([yes])
7903    else
7904      rm -f confauto.out
7905      AC_MSG_RESULT([no])
7906      AC_MSG_ERROR([You don't have the correct version of autoconf as the first one in your path.])
7907    fi
7908    rm -f confauto.out
7909
7910    # Check if the executable autoconf is picked up from the correct location
7911    AC_MSG_CHECKING([whether autoconf is coming from the correct location])
7912    autoconf_dir=`which autoconf | sed -e 's=/autoconf=='`
7913    autoconf_dir=`cd $autoconf_dir; pwd`
7914    if test x$AUTOTOOLS_DIR = x; then
7915      want_dir=$AUTOTOOLS_DFLT/bin
7916    else
7917      want_dir=$AUTOTOOLS_DIR/bin
7918    fi
7919    if test $autoconf_dir = `cd $want_dir; pwd`; then
7920      AC_MSG_RESULT([yes])
7921    else
7922      rm -f confauto.out
7923      AC_MSG_RESULT([no])
7924      AC_MSG_ERROR([The autoconf executable should be picked up from \$AUTOTOOLS_DFLT/bin or \$AUTOTOOLS_DIR/bin.])
7925    fi
7926
7927    # Check if we have automake
7928    AC_CHECK_PROG([have_automake],[automake],[yes],[no])
7929    if test $have_automake = no; then
7930      AC_MSG_ERROR([You specified you want to use maintainer mode, but I cannot find automake in your path.])
7931    fi
7932 
7933    # Check whether automake is the correct version
7934    correct_version='1.9.6'
7935    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7936    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of automake])
7937    automake --version > confauto.out 2>&1
7938    if $EGREP $grep_version confauto.out >/dev/null 2>&1; then
7939      AC_MSG_RESULT([yes])
7940    else
7941      rm -f confauto.out
7942      AC_MSG_RESULT([no])
7943      AC_MSG_ERROR([You don't have the correct version of automake as the first one in your path.])
7944    fi
7945    rm -f confauto.out
7946
7947    # Check if the executable automake is picked up from the correct location
7948    AC_MSG_CHECKING([whether automake is coming from the correct location])
7949    automake_dir=`which automake | sed -e 's=/automake=='`
7950    automake_dir=`cd $automake_dir; pwd`
7951    if test x$AUTOTOOLS_DIR = x; then
7952      want_dir=$AUTOTOOLS_DFLT/bin
7953    else
7954      want_dir=$AUTOTOOLS_DIR/bin
7955    fi
7956    if test $automake_dir = `cd $want_dir; pwd`; then
7957      AC_MSG_RESULT([yes])
7958    else
7959      rm -f confauto.out
7960      AC_MSG_RESULT([no])
7961      AC_MSG_ERROR([The automake executable should be picked up from \$AUTOTOOLS_DFLT/bin or \$AUTOTOOLS_DIR/bin.])
7962    fi
7963
7964    # Check if this is the correct version of libtool (with escaped dots)
7965    if test x$AUTOTOOLS_DIR = x; then
7966      want_dir=$AUTOTOOLS_DFLT/share
7967    else
7968      want_dir=$AUTOTOOLS_DIR/share
7969    fi
7970    correct_version='1.5.22'
7971    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7972    AC_COIN_CHECK_FILE([$want_dir/libtool/ltmain.sh],
7973                       [have_ltmain=yes],
7974                       [have_ltmain=no])
7975    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of libtool.])
7976    if test $have_ltmain = yes; then
7977    if $EGREP $grep_version $want_dir/libtool/ltmain.sh >/dev/null 2>&1; then
7978        AC_MSG_RESULT([yes])
7979      else
7980        AC_MSG_RESULT([no])
7981        AC_MSG_ERROR([You don't have the correct version of libtool.])
7982      fi
7983    else
7984      AC_MSG_RESULT([no])
7985      AC_MSG_ERROR([I cannot find the ltmain.sh file.])
7986    fi
7987  fi
7988
7989  # Check if we can find the libtool file
7990  if test x$AUTOTOOLS_DIR = x; then
7991    want_dir=$AUTOTOOLS_DFLT/share
7992  else
7993    want_dir=$AUTOTOOLS_DIR/share
7994  fi
7995  AC_COIN_CHECK_FILE([$want_dir/aclocal/libtool.m4],
7996                     [LIBTOOLM4="$want_dir/aclocal/libtool.m4"],
7997                     [AC_MSG_ERROR([I cannot find the libtool.m4 file.])])
7998
7999  # Check if we have an Externals file
8000  if test -r $srcdir/Externals; then
8001    coin_have_externals=yes
8002  fi
8003  # Check if subversion is installed and understands https
8004  AC_CHECK_PROG([have_svn],[svn],[yes],[no])
8005  if test x$have_svn = xyes; then
8006    AC_CACHE_CHECK([whether svn understands https],
8007                   [ac_cv_svn_understands_https],
8008                   [svn --version > confauto.out 2>&1
8009                    if $EGREP https confauto.out >/dev/null 2>&1; then
8010                      ac_cv_svn_understands_https=yes
8011                    else
8012                      ac_cv_svn_understands_https=no
8013                      have_svn=no
8014                      ac_cv_prog_have_svn=no
8015                    fi
8016                    rm -f confauto.out])
8017  fi
8018
8019  # Find the location of the BuildTools directory
8020  BUILDTOOLSDIR=
8021  if test -r $srcdir/BuildTools/coin.m4; then
8022    BUILDTOOLSDIR=$srcdir/BuildTools
8023  else
8024    if test -r $srcdir/../BuildTools/coin.m4; then
8025      BUILDTOOLSDIR=$srcdir/../BuildTools
8026    else
8027      if test -r $srcdir/../../BuildTools/coin.m4; then
8028        BUILDTOOLSDIR=$srcdir/../../BuildTools
8029      else
8030        AC_MSG_ERROR(Cannot find the BuildTools directory)
8031      fi
8032    fi
8033  fi
8034  AC_SUBST(BUILDTOOLSDIR)
8035
8036  # The following variable is set to the name of the directory where
8037  # the autotool scripts are located
8038  AC_SUBST(AUX_DIR)
8039  AUX_DIR=$ac_aux_dir
8040fi
8041
8042# helpful variable for the base directory of this package
8043abs_source_dir=`cd $srcdir; pwd`
8044AC_SUBST(abs_source_dir)
8045
8046# Stuff for example Makefiles
8047if test x$prefix = xNONE; then
8048  full_prefix=$ac_default_prefix
8049else
8050  full_prefix=$prefix
8051fi
8052full_prefix=`cd $full_prefix ; pwd`
8053AC_SUBST(abs_lib_dir)
8054abs_lib_dir=$full_prefix/lib
8055AC_SUBST(abs_include_dir)
8056abs_include_dir=$full_prefix/include
8057AC_SUBST(abs_bin_dir)
8058abs_bin_dir=$full_prefix/bin
8059
8060AM_CONDITIONAL(HAVE_EXTERNALS,
8061               test $coin_have_externals = yes && test x$have_svn = xyes)
8062
8063# AC_MSG_NOTICE([End automake initialisation.])
8064
8065]) # AC_COIN_INIT_AUTOMAKE
8066
8067###########################################################################
8068#                          COIN_CREATE_LIBTOOL                            #
8069###########################################################################
8070
8071# This does all the tests necessary to create the libtool script in the
8072# package base directory.  If this is used, then the COIN_INIT_AUTO_TOOLS
8073# test in the subdirectories will be able to skip the libtool tests and
8074# just use the one in the package base directory.
8075
8076m4_define([AC_COIN_CREATE_LIBTOOL],
8077[AC_CANONICAL_BUILD
8078
8079# Check if user wants to produce debugging code
8080AC_COIN_DEBUG_COMPILE
8081
8082# Get the name of the C compiler and appropriate compiler options
8083AC_COIN_PROG_CC
8084
8085# Get the name of the C++ compiler and appropriate compiler options
8086AC_COIN_PROG_CXX
8087
8088# Get the name of the Fortran compiler and appropriate compiler options
8089AC_COIN_PROG_F77
8090
8091# Initialize automake and libtool
8092# AC_MSG_NOTICE([Calling INIT_AUTO_TOOLS from CREATE_LIBTOOL.])
8093AC_COIN_INIT_AUTO_TOOLS
8094# AC_MSG_NOTICE([Finished INIT_AUTO_TOOLS from CREATE_LIBTOOL.])
8095])
8096
8097###########################################################################
8098#                         COIN_INIT_AUTO_TOOLS                            #
8099###########################################################################
8100
8101# Initialize the auto tools automake and libtool, with all
8102# modifications we want for COIN packages.
8103#
8104# RPATH_FLAGS        link flags for hardcoding path to shared objects
8105
8106# This is a trick to have this code before AC_COIN_PROG_LIBTOOL
8107AC_DEFUN([AC_COIN_DISABLE_STATIC],
8108[
8109# Test if force_shared has been set
8110if test "x$1" = xforce_shared; then
8111  if test x$enable_shared = xno; then
8112    AC_MSG_ERROR([Shared libraries are disabled by user, but this is not feasible with the given options])
8113  fi
8114  enable_shared=yes;
8115else
8116  # On Cygwin and AIX, building DLLs doesn't work
8117  case $build in
8118    *-cygwin*)
8119      coin_disable_shared=yes
8120      platform=Cygwin
8121    ;;
8122    *-aix*)
8123      coin_disable_shared=yes
8124      platform=AIX
8125    ;;
8126    *-mingw*)
8127      coin_disable_shared=yes
8128      platform="Msys"
8129#      case "$CXX" in
8130#        cl*)
8131#          coin_disable_shared=yes
8132#          platform="Msys with cl"
8133#      ;;
8134#      esac
8135    ;;
8136  esac
8137fi
8138if test x"$coin_disable_shared" = xyes; then
8139  if test x"$enable_shared" = xyes; then
8140    AC_MSG_WARN([On $platform, shared objects are not supported. I'm disabling your choice.])
8141  fi
8142  enable_shared=no
8143fi
8144# By default, we only want the shared objects to be compiled
8145AC_DISABLE_STATIC
8146])
8147
8148m4_define([AC_COIN_INIT_AUTO_TOOLS],
8149[{AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8150AC_BEFORE([AC_COIN_PROG_CC],[$0])
8151AC_BEFORE([AC_COIN_PROG_F77],[$0])
8152
8153# START
8154AC_COIN_DISABLE_STATIC([$1])
8155
8156# Initialize automake
8157AC_COIN_INIT_AUTOMAKE
8158
8159LIBTOOL=
8160if test -r ../libtool; then
8161  coin_config_dir=..
8162  LIBTOOL='$(SHELL) $(top_builddir)/../libtool'
8163fi
8164if test "x$LIBTOOL" = x; then
8165  if test -r ../../libtool; then
8166    coin_config_dir=../..
8167    LIBTOOL='$(SHELL) $(top_builddir)/../../libtool'
8168  fi
8169fi
8170
8171if test "x$LIBTOOL" = x; then
8172# AC_MSG_NOTICE([Creating libtool script (calling COIN_PROG_LIBTOOL).])
8173  # Stuff for libtool
8174  AC_COIN_PROG_LIBTOOL
8175# AC_MSG_NOTICE([Finished COIN_PROG_LIBTOOL.])
8176  # set RPATH_FLAGS to the compiler link flags required to hardcode location
8177  # of the shared objects
8178  AC_COIN_RPATH_FLAGS($abs_lib_dir)
8179
8180else
8181
8182  AC_MSG_NOTICE([Using libtool script in directory $coin_config_dir])
8183  # get all missing information from the config.log file
8184
8185  # output variables and defines
8186  as_save_IFS=$IFS
8187  IFS='
8188'
8189  for oneline in `cat $coin_config_dir/config.status`; do
8190    case "$oneline" in
8191         # First some automake conditionals
8192      s,@am__fastdep* | s,@AR@* | s,@CPP@*  | s,@CPPFLAGS@* | s,@CXXCPP@*  | \
8193      s,@RANLIB@* | s,@STRIP@* | s,@ac_ct_AR@* | s,@ac_ct_RANLIB@* | \
8194      s,@ac_ct_STRIP@* | s,@host* | s,@LN_S@* | s,@RPATH_FLAGS@* | \
8195      s,@ac_c_preproc_warn_flag@* |  s,@ac_cxx_preproc_warn_flag@* )
8196        command=`echo $oneline | sed -e 's/^s,@//' -e 's/@,/="/' -e 's/,;t t/"/'`
8197#        echo "$command"
8198        eval "$command"
8199        ;;
8200      s,@DEFS@* )
8201        command=`echo $oneline | sed -e 's/^s,@DEFS@,/defsline="/' -e 's/,;t t/"/'`
8202#        echo "$command"
8203        eval "$command"
8204        ;;
8205    esac
8206  done
8207  IFS=$as_save_IFS
8208
8209  # And some defines (assuming here that the packages base dir
8210  # doesn't have a config.h file
8211  for word in $defsline; do
8212#    echo word $word
8213    case $word in
8214      -DHAVE_@<:@A-Z_@:>@*_H=1 | -DSTDC_HEADERS=1 )
8215        i=`echo $word | sed -e 's/-D/#define /' -e 's/=/ /'`
8216#        echo dd $i
8217        echo $i >>confdefs.h
8218        ;;
8219    esac
8220  done
8221fi
8222
8223# AC_MSG_NOTICE([End of INIT_AUTO_TOOLS.])
8224
8225# ToDo
8226# For now, don't use the -no-undefined flag, since the Makefiles are
8227# not yet set up that way.  But we need to fix this, when we want
8228# to comile DLLs under Windows.
8229LT_LDFLAGS=
8230AC_SUBST(LT_LDFLAGS)
8231
8232#END
8233}])
8234
8235
8236###########################################################################
8237#                      COIN_PATCH_LIBTOOL_CYGWIN                          #
8238###########################################################################
8239
8240# Patches to libtool for cygwin. Lots for cl, a few for GCC.
8241# For cl:
8242# - cygpath is not correctly quoted in fix_srcfile_path
8243# - paths generated for .lib files is not run through cygpath -w
8244
8245
8246AC_DEFUN([AC_COIN_PATCH_LIBTOOL_CYGWIN],
8247[ case "$CXX" in
8248    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8249      AC_MSG_NOTICE(Applying patches to libtool for cl compiler)
8250      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8251          -e 's|fix_srcfile_path=\"\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8252          -e 's%compile_deplibs=\"\$dir/\$old_library \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$old_library | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
8253          -e 's%compile_deplibs=\"\$dir/\$linklib \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$linklib | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
8254          -e 's%lib /OUT:%lib -OUT:%' \
8255          -e "s%cygpath -w%$CYGPATH_W%" \
8256          -e 's%$AR x \\$f_ex_an_ar_oldlib%bla=\\`lib -nologo -list \\$f_ex_an_ar_oldlib | xargs echo '"$mydos2unix"'\\`; echo \\$bla; for i in \\$bla; do lib -nologo -extract:\\$i \\$f_ex_an_ar_oldlib; done%' \
8257          -e 's/$AR t/lib -nologo -list/' \
8258          -e 's%f_ex_an_ar_oldlib="\($?*1*\)"%f_ex_an_ar_oldlib='\`"$CYGPATH_W"' \1`%' \
8259          -e 's%^archive_cmds=.*%archive_cmds="\\$CC -o \\$lib \\$libobjs \\$compiler_flags \\\\\\`echo \\\\\\"\\$deplibs\\\\\\" | \\$SED -e '"\'"'s/ -lc\\$//'"\'"'\\\\\\` -link -dll~linknames="%' \
8260          -e 's%old_archive_cmds="lib -OUT:\\$oldlib\\$oldobjs\\$old_deplibs"%old_archive_cmds="if test -r \\$oldlib; then bla=\\"\\$oldlib\\"; else bla=; fi; lib -OUT:\\$oldlib \\\\\\$bla\\$oldobjs\\$old_deplibs"%' \
8261      libtool > conftest.bla
8262
8263      mv conftest.bla libtool
8264      chmod 755 libtool
8265      ;;
8266    *)
8267      AC_MSG_NOTICE(Applying patches to libtool for GNU compiler)
8268      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8269          -e 's|"lib /OUT:\\$oldlib\\$oldobjs\\$old_deplibs"|"\\$AR \\$AR_FLAGS \\$oldlib\\$oldobjs\\$old_deplibs~\\$RANLIB \\$oldlib"|' \
8270          -e 's|libext="lib"|libext="a"|' \
8271      libtool > conftest.bla
8272
8273      mv conftest.bla libtool
8274      chmod 755 libtool
8275      ;;
8276  esac ]) # COIN_PATCH_LIBTOOL_CYGWIN
8277
8278###########################################################################
8279#                    COIN_PATCH_LIBTOOL_SOLARIS                           #
8280###########################################################################
8281# If we want to do a 64-bit build with GCC on Solaris, the system search
8282# libraries need to point to 64-bit subdirectories. If they do not already do
8283# that, fix them. This patch is evolving, as are GCC compilers.  GCC 4.2.1
8284# reports the correct search list, given the correct call. GCC 4.1.1 does not.
8285# `Correct call' means -m64 is specified. `Correct search list' seems to amount
8286# to prepending the list of 64-bit subdirectories to the 32-bit directories.
8287# Both SPARC and x86 have this issue, but a different hardware id string is
8288# required depending on the underlying CPU. The macro executes isainfo to get
8289# the string. This will fail, of course, if we're cross-compiling. The
8290# alternative is to fail on a regular basis each time a new CPU identifier is
8291# needed. This macro will also fail if the search list reported with
8292# -print-search-dirs differs between the C, C++, and Fortran compilers; each
8293# have their own setting in libtool.  If GCC reports the correct search list
8294# given the -m64 flag, the best solution is to define CC='gcc -m64', and
8295# similarly for CXX, F77, so that libtool will make the correct call.
8296###########################################################################
8297AC_DEFUN([AC_COIN_PATCH_LIBTOOL_SOLARIS],
8298[ if test "$GCC" = yes && \
8299     (echo $CXXFLAGS $CFLAGS $FFLAGS | $EGREP 'm64' >/dev/null 2>&1) ; then
8300    hdwisa=`isainfo | sed -e 's/\(@<:@^ @:>@*\) .*$/\1/'`
8301    if `$EGREP 'sys_lib_search_path_spec=' libtool | $EGREP -v $hdwisa >/dev/null 2>&1` ; then
8302      AC_MSG_NOTICE([Applying patches to libtool for 64-bit GCC compilation])
8303      fixlibtmp=`$CC -m64 -print-search-dirs | $EGREP '^libraries:'`
8304      fixlibtmp=`echo $fixlibtmp | sed -e 's/libraries: =//' -e 's/:/ /g'`
8305      if `echo "$fixlibtmp" | $EGREP -v $hdwisa  >/dev/null 2>&1` ; then
8306        # AC_MSG_NOTICE(Compensating for broken gcc)
8307        for lib in $fixlibtmp ; do
8308          if test -d "${lib}${hdwisa}" ; then
8309            syslibpath64="$syslibpath64 ${lib}${hdwisa}/"
8310          fi
8311        done
8312        syslibpath64="${syslibpath64} ${fixlibtmp}"
8313      else
8314        syslibpath64="$fixlibtmp"
8315      fi
8316      sed -e 's|sys_lib_search_path_spec=".*"|sys_lib_search_path_spec="'"$syslibpath64"'"|' libtool > conftest.bla
8317      mv conftest.bla libtool
8318      chmod 755 libtool 
8319    fi
8320    # AC_MSG_NOTICE(Result is )
8321    # $EGREP 'sys_lib_search_path_spec=' libtool
8322  fi ]) # COIN_PATCH_LIBTOOL_SOLARIS
8323
8324###########################################################################
8325#                           COIN_PROG_LIBTOOL                             #
8326###########################################################################
8327
8328# Setup the libtool stuff together with any modifications to make it
8329# work on additional platforms
8330
8331AC_DEFUN([AC_COIN_LIBTOOL_WRAPPER],
8332[AC_BEFORE([AC_COIN_BLA],[$0])
8333AC_PROG_LIBTOOL])
8334
8335AC_DEFUN([AC_COIN_BLA],[echo bla])
8336
8337AC_DEFUN([AC_COIN_PROG_LIBTOOL],
8338[# No longer needed now that CPPFLAGS is correctly set -- lh, 061214 --
8339 # AC_REQUIRE([AC_COIN_DLFCN_H])
8340
8341# NEW: If libtool exists in the directory higher up, we use that one
8342#      instead of creating a new one
8343
8344# It turns out that the code for AC_PROG_LIBTOOL is somehow AC_REQUIRED
8345# out in front of this macro body. You'll notice that LIBTOOL is already
8346# defined here.  We'll have to count on this macro not being called if libtool
8347# already exists, or at least move the libtool fixes outside the conditional.
8348# AC_MSG_NOTICE([Entering coin_prog_libtool, LIBTOOL = "$LIBTOOL".])
8349# This test is therefore removed.  -- lh, 061214 --
8350# if test "x$LIBTOOL" = x; then
8351
8352# AC_MSG_NOTICE([Calling PROG_LIBTOOL.])
8353  AC_PROG_LIBTOOL
8354# AC_MSG_NOTICE([Finished PROG_LIBTOOL.])
8355  AC_SUBST(ac_c_preproc_warn_flag)
8356  AC_SUBST(ac_cxx_preproc_warn_flag)
8357
8358  AC_MSG_NOTICE([Build is "$build".])
8359  mydos2unix='| dos2unix'
8360  case $build in
8361    *-mingw*)
8362      CYGPATH_W=echo
8363      mydos2unix=
8364      ;;
8365  esac
8366
8367  case $build in
8368    # Here we need to check if -m32 is specified.  If so, we need to correct
8369    # sys_lib_search_path_spec
8370    *x86_64-*)
8371      if test "$GCC" = yes && (echo $CXXFLAGS $CFLAGS $FFLAGS | $EGREP 'm32' >& /dev/null); then
8372        AC_MSG_NOTICE(Applying patches to libtool for 32bit compilation)
8373        sed -e 's|sys_lib_search_path_spec=".*"|sys_lib_search_path_spec="/lib /usr/lib"|' libtool > conftest.bla
8374        mv conftest.bla libtool
8375        chmod 755 libtool 
8376      fi
8377      ;;
8378
8379    *-solaris*)
8380      AC_COIN_PATCH_LIBTOOL_SOLARIS
8381      ;;
8382    # Cygwin. Ah, cygwin. Too big and ugly to inline; see the macro.
8383    *-cygwin* | *-mingw*)
8384      AC_COIN_PATCH_LIBTOOL_CYGWIN
8385      ;;
8386    *-darwin*)
8387      AC_MSG_NOTICE(Applying patches to libtool for Darwin)
8388      sed -e 's/verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"/verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"/' \
8389        -e 's/ -dynamiclib / -dynamiclib -single_module /g' \
8390      libtool > conftest.bla
8391
8392      mv conftest.bla libtool
8393      chmod 755 libtool
8394      ;;
8395  esac
8396# This fi matches the commented `if test "x$LIBTOOL" = x;' up at the head of
8397# the macro. -- lh, 061214 --
8398# fi
8399
8400# AC_MSG_NOTICE([End libtool initialisation.])
8401]) # AC_COIN_PROG_LIBTOOL
8402
8403# This is a trick to force the check for the dlfcn header to be done before
8404# the checks for libtool
8405# No longer needed now that CPPFLAGS is correctly set.  -- lh, 061214 --
8406# ACDEFUN([AC_COIN_DLFCN_H],
8407# [AC_LANG_PUSH(C)
8408# AC_COIN_CHECK_HEADER([dlfcn.h])
8409# AC_LANG_POP(C)
8410# ]) # AC_COIN_DLFCN_H
8411
8412###########################################################################
8413#                            COIN_RPATH_FLAGS                             #
8414###########################################################################
8415
8416# This macro, in case shared objects are used, defines a variable
8417# RPATH_FLAGS that can be used by the linker to hardwire the library
8418# search path for the given directories.  This is useful for example
8419# Makefiles
8420
8421AC_DEFUN([AC_COIN_RPATH_FLAGS],
8422[RPATH_FLAGS=
8423
8424if test $enable_shared = yes; then
8425  case $build in
8426    *-linux-*)
8427      if test "$GXX" = "yes"; then
8428        RPATH_FLAGS=
8429        for dir in $1; do
8430          RPATH_FLAGS="$RPATH_FLAGS -Wl,--rpath -Wl,$dir"
8431        done
8432      fi ;;
8433    *-darwin*)
8434        RPATH_FLAGS=nothing ;;
8435    *-ibm-*)
8436      case "$CXX" in
8437      xlC* | */xlC* | mpxlC* | */mpxlC*)
8438        RPATH_FLAGS=nothing ;;
8439      esac ;;
8440    *-hp-*)
8441        RPATH_FLAGS=nothing ;;
8442    *-mingw32)
8443        RPATH_FLAGS=nothing ;;
8444    *-*-solaris*)
8445        RPATH_FLAGS=
8446        for dir in $1; do
8447          RPATH_FLAGS="$RPATH_FLAGS -R$dir"
8448        done
8449  esac
8450
8451  if test "$RPATH_FLAGS" = ""; then
8452    AC_MSG_WARN([Could not automatically determine how to tell the linker about automatic inclusion of the path for shared libraries.  The test examples might not work if you link against shared objects.  You will need to set the LD_LIBRARY_PATH, DYLP_LIBRARY_PATH, or LIBDIR variable manually.])
8453  fi
8454  if test "$RPATH_FLAGS" = "nothing"; then
8455    RPATH_FLAGS=
8456  fi
8457fi
8458
8459AC_SUBST(RPATH_FLAGS)
8460]) # AC_COIN_RPATH_FLAGS
8461
8462###########################################################################
8463#                        COIN_LINK_INPUT_CMD                              #
8464###########################################################################
8465
8466# This macro determines which command should be used to "link" files
8467# that are input to the generated executables.  On Windows, the codes
8468# using the native Windows system libraries, cannot understand symbolic
8469# links, and a copy should be used instead of 'ln -s'.
8470# The result is stored in coin_link_input_cmd
8471
8472AC_DEFUN([AC_COIN_LINK_INPUT_CMD],
8473[AC_REQUIRE([AC_PROG_LN_S])
8474AC_BEFORE([AC_COIN_PROG_CC], [$0])
8475AC_BEFORE([AC_COIN_ENABLE_DOSCOMPILE], [$0])
8476
8477AC_MSG_CHECKING([which command should be used to link input files])
8478coin_link_input_cmd="$LN_S"
8479if test "$enable_doscompile" = mingw; then
8480  coin_link_input_cmd=cp
8481fi
8482case "$CC" in
8483  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8484    coin_link_input_cmd=cp ;;
8485esac
8486AC_MSG_RESULT($coin_link_input_cmd)
8487])
8488
8489###########################################################################
8490#                              COIN_FINALIZE                              #
8491###########################################################################
8492
8493# This macro should be called at the very end of the configure.ac file.
8494# It creates the output files (by using AC_OUTPUT), and might do some other
8495# things (such as generating links to data files in a VPATH configuration).
8496# It also prints the "success" message.
8497# Note: If the variable coin_skip_ac_output is set to yes, then no output
8498# files are written.
8499
8500AC_DEFUN([AC_COIN_FINALIZE],
8501[
8502AC_REQUIRE([AC_COIN_LINK_INPUT_CMD])
8503if test x$coin_skip_ac_output != xyes; then
8504
8505  FADDLIBS="$ADDLIBS"
8506  if test x"$coin_need_flibs" = xyes; then
8507    ADDLIBS="$ADDLIBS $FLIBS"
8508  fi
8509
8510  # library extension
8511  AC_SUBST(LIBEXT)
8512  case "$CC" in
8513    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8514         LIBEXT=lib ;;
8515      *) LIBEXT=a ;;
8516  esac
8517
8518  # Define VPATH_DISTCLEANFILES to be everything that needs to be
8519  # cleaned for distclean in a vpath configuration
8520  AC_SUBST(VPATH_DISTCLEANFILES)
8521  VPATH_DISTCLEANFILES="$coin_vpath_link_files"
8522
8523  # Take out subdirectories if their configuration concluded that they
8524  # don't need to be compiled
8525  if test x"$coin_ac_skip_subdirs" != x; then
8526    new_subdirs=
8527    for i in $subdirs; do
8528      skipme=no
8529      for j in $coin_ac_skip_subdirs; do
8530        if test $i = $j; then
8531          skipme=yes;
8532        fi
8533      done
8534      if test $skipme = no; then
8535        new_subdirs="$new_subdirs $i"
8536      fi
8537    done
8538    subdirs="$new_subdirs"
8539  fi
8540
8541  AC_OUTPUT
8542
8543  if test x"$coin_vpath_link_files" = x; then : ; else
8544    lnkcmd="$coin_link_input_cmd"
8545    if test "$lnkcmd" = cp; then
8546      AC_MSG_NOTICE(Copying data files for VPATH configuration)
8547    else
8548      AC_MSG_NOTICE(Creating VPATH links for data files)
8549    fi
8550    for file in $coin_vpath_link_files; do
8551      dir=`AS_DIRNAME(["./$file"])`
8552      if test -d $dir; then : ; else
8553        AS_MKDIR_P($dir)
8554      fi
8555      rm -f $file
8556      $lnkcmd $abs_source_dir/$file $file
8557    done
8558  fi
8559
8560  if test x$coin_projectdir = xyes; then
8561    AC_MSG_NOTICE([Configuration of $PACKAGE_NAME successful])
8562  else
8563    AC_MSG_NOTICE([Main configuration of $PACKAGE_NAME successful])
8564  fi
8565else
8566  AC_MSG_NOTICE([No configuration of $PACKAGE_NAME necessary])
8567fi
8568
8569]) #AC_COIN_FINALIZE
8570
8571###########################################################################
8572#                             COIN_VPATH_LINK                             #
8573###########################################################################
8574
8575# This macro makes sure that a symbolic link is created to a file in
8576# the source code directory tree if we are in a VPATH compilation, and
8577# if this package is the main package to be installed
8578
8579AC_DEFUN([AC_COIN_VPATH_LINK],
8580[AC_REQUIRE([AC_COIN_CHECK_VPATH])
8581if test $coin_vpath_config = yes; then
8582  coin_vpath_link_files="$coin_vpath_link_files $1"
8583fi
8584]) #AC_COIN_VPATH_LINK
8585
8586###########################################################################
8587#                       COIN_ENABLE_GNU_PACKAGES                          #
8588###########################################################################
8589
8590# This macro defined the --enable-gnu-packages flag.  This can be used
8591# to check if a user wants to compile GNU packges (such as readline or
8592# zlib) into the executable.  By default, GNU packages are disabled.
8593# This also defines the automake conditional COIN_ENABLE_GNU_PACKAGES
8594
8595AC_DEFUN([AC_COIN_ENABLE_GNU_PACKAGES],
8596[AC_ARG_ENABLE([gnu-packages],
8597               [AC_HELP_STRING([--enable-gnu-packages],
8598                               [compile with GNU packages (disabled by default)])],
8599               [coin_enable_gnu=$enableval],
8600               [coin_enable_gnu=no])
8601]) # AC_COIN_ENABLE_GNU_PACKAGES
8602
8603###########################################################################
8604#                           COIN_CHECK_GNU_ZLIB                           #
8605###########################################################################
8606
8607# This macro checks for the libz library.
8608
8609AC_DEFUN([AC_COIN_CHECK_GNU_ZLIB],
8610[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8611AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8612AC_BEFORE([AC_COIN_PROG_CC],[$0])
8613AC_BEFORE([AC_COIN_PROG_F77],[$0])
8614AC_BEFORE([$0],[AC_COIN_FINALIZE])
8615
8616coin_has_zlib=no
8617if test $coin_enable_gnu = yes; then
8618  AC_COIN_CHECK_HEADER([zlib.h],[coin_has_zlib=yes])
8619
8620  if test $coin_has_zlib = yes; then
8621    AC_CHECK_LIB([z],[gzopen],
8622                 [ADDLIBS="-lz $ADDLIBS"],
8623                 [coin_has_zlib=no])
8624  fi
8625
8626  if test $coin_has_zlib = yes; then
8627    AC_DEFINE([COIN_HAS_ZLIB],[1],[Define to 1 if zlib is available])
8628  fi
8629fi
8630
8631AM_CONDITIONAL(COIN_HAS_ZLIB,test x$coin_has_zlib = xyes)
8632]) # AC_COIN_CHECK_GNU_ZLIB
8633
8634
8635###########################################################################
8636#                          COIN_CHECK_GNU_BZLIB                           #
8637###########################################################################
8638
8639# This macro checks for the libbz2 library.
8640
8641AC_DEFUN([AC_COIN_CHECK_GNU_BZLIB],
8642[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8643AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8644AC_BEFORE([AC_COIN_PROG_CC],[$0])
8645AC_BEFORE([AC_COIN_PROG_F77],[$0])
8646AC_BEFORE([$0],[AC_COIN_FINALIZE])
8647
8648coin_has_bzlib=no
8649if test $coin_enable_gnu = yes; then
8650  AC_COIN_CHECK_HEADER([bzlib.h],[coin_has_bzlib=yes])
8651
8652  if test $coin_has_bzlib = yes; then
8653    AC_CHECK_LIB([bz2],[BZ2_bzReadOpen],
8654                 [ADDLIBS="-lbz2 $ADDLIBS"],
8655                 [coin_has_bzlib=no])
8656  fi
8657
8658  if test $coin_has_bzlib = yes; then
8659    AC_DEFINE([COIN_HAS_BZLIB],[1],[Define to 1 if bzlib is available])
8660  fi
8661fi
8662]) # AC_COIN_CHECK_GNU_BZLIB
8663
8664
8665###########################################################################
8666#                         COIN_CHECK_GNU_READLINE                         #
8667###########################################################################
8668
8669# This macro checks for GNU's readline.  It verifies that the header
8670# readline/readline.h is available, and that the -lreadline library
8671# contains "readline".  It is assumed that #include <stdio.h> is included
8672# in the source file before the #include<readline/readline.h>
8673
8674AC_DEFUN([AC_COIN_CHECK_GNU_READLINE],
8675[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8676AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8677AC_BEFORE([AC_COIN_PROG_CC],[$0])
8678AC_BEFORE([AC_COIN_PROG_F77],[$0])
8679AC_BEFORE([$0],[AC_COIN_FINALIZE])
8680
8681coin_has_readline=no
8682if test $coin_enable_gnu = yes; then
8683  AC_COIN_CHECK_HEADER([readline/readline.h],
8684                       [coin_has_readline=yes],[],
8685                       [#include <stdio.h>])
8686
8687  coin_save_LIBS="$LIBS"
8688  LIBS=
8689  # First we check if tputs and friends are available
8690  if test $coin_has_readline = yes; then
8691    AC_SEARCH_LIBS([tputs],[ncurses termcap curses],[],
8692                   [coin_has_readline=no])
8693  fi
8694
8695  # Now we check for readline
8696  if test $coin_has_readline = yes; then
8697    AC_CHECK_LIB([readline],[readline],
8698                 [ADDLIBS="-lreadline $LIBS $ADDLIBS"],
8699                 [coin_has_readline=no])
8700  fi
8701
8702  if test $coin_has_readline = yes; then
8703    AC_DEFINE([COIN_HAS_READLINE],[1],[Define to 1 if readline is available])
8704  fi
8705
8706  LIBS="$coin_save_LIBS"
8707fi
8708]) # AC_COIN_CHECK_GNU_READLINE
8709
8710###########################################################################
8711#                             COIN_DATA_PATH                              #
8712###########################################################################
8713
8714# This macro defines a preprocessor macro with the absolute path to a
8715# subdirectory of Data.  The argument of this macro is the name of the
8716# subdirectory (in correct case), and the name of the macro is
8717# COIN_DATA_DIR_PATH, where dir is replaced by the capitalized name of
8718# the directory.  The path ends with a separator ("/" for linux and
8719# '\\' for Windows).  The default value for this path can be
8720# overwritten with the input variable with the same name
8721# (COIN_DATA_DIR_PATH).  At this point we chech only for the
8722# $srcdir/../Data subdirectory.
8723
8724AC_DEFUN([AC_COIN_DATA_PATH],
8725[AC_MSG_CHECKING([absolute path to data directory $1])
8726
8727AC_ARG_VAR(m4_toupper(COIN_DATA_$1_PATH),[Set to absolute path to Data/$1 subdirectory])
8728
8729if test x"$m4_toupper(COIN_DATA_$1_PATH)" = x; then
8730  m4_toupper(COIN_DATA_$1_PATH)=`cd $srcdir/../Data/$1; pwd`
8731fi
8732
8733# Under Cygwin, use Windows path.  Add separator
8734case $build in
8735  *-cygwin*)
8736    m4_toupper(COIN_DATA_$1_PATH)=`cygwin -w $m4_toupper(COIN_DATA_$1_PATH)`\\
8737    ;;
8738  *)
8739    m4_toupper(COIN_DATA_$1_PATH)="$m4_toupper(COIN_DATA_$1_PATH)/"
8740    ;;
8741esac
8742
8743if test -r $m4_toupper(COIN_DATA_$1_PATH); then
8744  AC_DEFINE_UNQUOTED(m4_toupper(COIN_DATA_$1_PATH),["$m4_toupper(COIN_DATA_$1_PATH)"],
8745            [Define to absolute path for Data subdirectory $1])
8746  AC_MSG_RESULT($m4_toupper(COIN_DATA_$1_PATH))
8747else
8748  AC_MSG_ERROR(Directory $m4_toupper(COIN_DATA_$1_PATH) does not exist)
8749fi
8750]) # AC_COIN_HAS_DATA
8751
8752###########################################################################
8753#                       COIN_LINK_FROM_FILELIST                           #
8754###########################################################################
8755
8756# This macro creates links (or copies, if necessary) to files listed
8757# as content in a text file (second argument) into a target directory
8758# (first argument), which is created if it doesn't exist yet.  If s link
8759# already exists, nothing happens.
8760
8761AC_DEFUN([AC_COIN_LINKCOPY_FROM_FILELIST],
8762[cmd="$3"
8763if test -e $srcdir/$2 ; then
8764  my_target_dir="$1"
8765  my_link_files=`cat $srcdir/$2`
8766  my_dirname=`AS_DIRNAME($2)`
8767#  if test -e $my_target_dir; then : ; else
8768#    AS_MKDIR_P($my_target_dir)
8769#  fi
8770  for i in $my_link_files; do
8771    #rm -rf $my_target_dir/$i
8772    if test -e $my_target_dir/$i; then : ; else
8773      dirn2=`AS_DIRNAME($my_target_dir/$i)`
8774      if test -e $dirn2; then : ; else
8775        AS_MKDIR_P($dirn2)
8776      fi
8777      $cmd $abs_source_dir/$my_dirname/$i $my_target_dir/$i
8778    fi
8779  done
8780else
8781  AC_MSG_WARN([File list file $2 missing!])
8782fi
8783])
8784
8785AC_DEFUN([AC_COIN_LINK_FROM_FILELIST],
8786[
8787AC_REQUIRE([AC_COIN_LINK_INPUT_CMD])
8788echo Creating links in $1 ...
8789AC_COIN_LINKCOPY_FROM_FILELIST($1, $2, $coin_link_input_cmd)
8790])
8791
8792###########################################################################
8793#                       COIN_COPY_FROM_FILELIST                           #
8794###########################################################################
8795
8796# Like COIN_LINK_FROM_FILELIST, but copies the files.
8797
8798AC_DEFUN([AC_COIN_COPY_FROM_FILELIST],
8799[
8800echo Creating copies in $1 ...
8801AC_COIN_LINKCOPY_FROM_FILELIST($1, $2, [cp])
8802])
8803
8804###########################################################################
8805#                          COIN_EXAMPLE_FILES                             #
8806###########################################################################
8807
8808# This macro determines the names of the example files (using the
8809# argument in an "ls" command) and sets up the variables EXAMPLE_FILES
8810# and EXAMPLE_CLEAN_FILES.  If this is a VPATH configuration, it also
8811# creates soft links to the example files.
8812
8813AC_DEFUN([AC_COIN_EXAMPLE_FILES],
8814[AC_REQUIRE([AC_COIN_CHECK_GNU_ZLIB])
8815AC_REQUIRE([AC_COIN_CHECK_VPATH])
8816files=`cd $srcdir; ls $1`
8817# We need to do the following loop to make sure that are no newlines
8818# in the variable
8819for file in $files; do
8820  EXAMPLE_FILES="$EXAMPLE_FILES $file"
8821done
8822if test $coin_vpath_config = yes; then
8823  lnkcmd=
8824  if test "$enable_doscompile" != no; then
8825    lnkcmd=cp
8826  fi
8827  case "$CC" in
8828    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8829      lnkcmd=cp ;;
8830  esac
8831  if test "$lnkcmd" = cp; then
8832    AC_MSG_NOTICE([Copying example files ($1)])
8833  else
8834    AC_PROG_LN_S
8835    AC_MSG_NOTICE([Creating links to the example files ($1)])
8836    lnkcmd="$LN_S"
8837  fi
8838  for file in $EXAMPLE_FILES; do
8839    rm -f $file
8840    $lnkcmd $srcdir/$file $file
8841  done
8842  EXAMPLE_CLEAN_FILES="$EXAMPLE_CLEAN_FILES $1"
8843else
8844  EXAMPLE_CLEAN_FILES="$EXAMPLE_CLEAN_FILES"
8845fi
8846
8847# In case there are compressed files, we create a variable with the
8848# uncompressed names
8849EXAMPLE_UNCOMPRESSED_FILES=
8850for file in $EXAMPLE_FILES; do
8851  case $file in
8852    *.gz)
8853      EXAMPLE_UNCOMPRESSED_FILES="$EXAMPLE_UNCOMPRESSED_FILES `echo $file | sed -e s/.gz//`"
8854      ;;
8855  esac
8856done
8857
8858AC_SUBST(EXAMPLE_UNCOMPRESSED_FILES)
8859AC_SUBST(EXAMPLE_FILES)
8860AC_SUBST(EXAMPLE_CLEAN_FILES)
8861]) #AC_COIN_EXAMPLE_FILES
8862
8863###########################################################################
8864#                            COIN_HAS_PROJECT                             #
8865###########################################################################
8866
8867# This macro sets up usage of a Coin package.  It defines the
8868# PKGSRCDIR and PKGOBJDIR variables, refering to the main source and
8869# object directory of the package, respectively.  It also defines
8870# a COIN_HAS_PKG preprocessor macro and makefile conditional.  The
8871# argument should be the name (Pkg) of the project (in correct lower
8872# and upper case)
8873
8874AC_DEFUN([AC_COIN_HAS_PROJECT],
8875[AC_MSG_CHECKING([for COIN project $1])
8876
8877# First check, if the sub-project is actually available (ToDo: allow
8878# other locations)
8879
8880m4_tolower(coin_has_$1)=unavailable
8881if test x"$COIN_SKIP_PROJECTS" != x; then
8882  for dir in $COIN_SKIP_PROJECTS; do
8883    if test $dir = $1; then
8884      m4_tolower(coin_has_$1)=skipping
8885    fi
8886  done
8887fi
8888
8889if test $m4_tolower(coin_has_$1) != skipping; then
8890  if test $PACKAGE_TARNAME = m4_tolower($1); then
8891    m4_tolower(coin_has_$1)=.
8892  else
8893    if test -d $srcdir/../$1; then
8894      m4_tolower(coin_has_$1)=../$1
8895    fi
8896  fi
8897fi
8898
8899if test $m4_tolower(coin_has_$1) != unavailable &&
8900   test $m4_tolower(coin_has_$1) != skipping; then
8901  # Set the #define if the component is available
8902  AC_DEFINE(m4_toupper(COIN_HAS_$1),[1],[Define to 1 if the $1 package is used])
8903
8904  # Set the variables for source and object code location
8905  AC_SUBST(m4_toupper($1SRCDIR))
8906  m4_toupper($1SRCDIR)=`cd $srcdir/$m4_tolower(coin_has_$1); pwd`
8907  AC_SUBST(m4_toupper($1OBJDIR))
8908  m4_toupper($1OBJDIR)=`pwd`/$m4_tolower(coin_has_$1)
8909  AC_SUBST(m4_toupper($1DOCDIR))
8910  m4_toupper($1DOCDIR)=$abs_lib_dir/../share/doc/coin/$1
8911fi
8912
8913  # Define the Makefile conditional
8914AM_CONDITIONAL(m4_toupper(COIN_HAS_$1),
8915               [test $m4_tolower(coin_has_$1) != unavailable &&
8916                test $m4_tolower(coin_has_$1) != skipping])
8917AC_MSG_RESULT([$m4_tolower(coin_has_$1)])
8918]) # AC_COIN_HAS_PROJECT
8919
8920###########################################################################
8921#                        COIN_HAS_USER_LIBRARY                            #
8922###########################################################################
8923# This macro sets up usage of a user library with header files. The assumption
8924# is that the header file(s) and library do not reside in standard system
8925# directories, hence both the include directory and link flags must be
8926# specified. There are two mandatory arguments and two optional arguments.
8927#
8928# The first argument (mandatory) should be a name (LibraryName) for the
8929# library.  The second argument (mandatory) should be an abbreviation in
8930# upper case letters (LBRY) for the library. Ultimately, the macro will
8931# specify two variables, LBRYINCDIR and LBRYLIB, to be substituted in files
8932# generated during configuration; a preprocessor symbol COIN_HAS_LBRY; and a
8933# matching automake conditional COIN_HAS_LBRY. LBRYINCDIR should specify the
8934# directory containing include files for the library. LBRYLIB should specify
8935# the flags necessary to link to the library. A variable coin_has_lbry will
8936# be set to true or false, as appropriate. A variable lbry_libcheck will be
8937# be set to yes or no; no indicates link checks should not be attempted.
8938#
8939# The macro defines three configure arguments, --with-libraryname-incdir,
8940# --with-libraryname-lib, and --disable-libraryname-libcheck, by converting
8941# LibraryName to lower case.
8942#
8943# LBRYINCDIR and LBRYLIB can be specified as environment variables or as
8944# part of the configure command using --with-libraryname-incdir and
8945# --with-libraryname-lib, respectively. Command line arguments override
8946# environment variables.
8947#
8948# If a third argument is given, it should specify a file in LBRYINCDIR.  The
8949# macro will check for the presence of the file. If a fourth argument is given,
8950# it should specify a function name, `fname'.  The macro will attempt to link a
8951# trivial program containing a parameterless call to the function, `fname()',
8952# using the LBRYLIB flags. The link check uses C as the language; this has been
8953# adequate to date but has limitations. It is possible to disable the link
8954# check by specifying --disable-libraryname-libcheck. This is a workaround for
8955# instances where the link check does not work properly, for whatever reason.
8956# If you're trying to link to a Fortran library, consider using F77_FUNC or
8957# FC_FUNC to obtain a mangled fname appropriate for use from C code. For a C++
8958# library, you're on your own unless the library declares some function with
8959# extern "C" linkage. Otherwise, you'll have to somehow find the mangled C++
8960# name.
8961
8962AC_DEFUN([AC_COIN_HAS_USER_LIBRARY],
8963[ AC_REQUIRE([AC_COIN_PROJECTDIR_INIT])
8964  AC_MSG_CHECKING(if user provides library for $1)
8965
8966# Check for header file directory
8967
8968  AC_ARG_WITH(m4_tolower($1)-incdir,
8969      AS_HELP_STRING([--with-m4_tolower($1)-incdir],
8970                     [specify the header file directory for library $1]),
8971      [$2INCDIR=`cd $withval; pwd`])
8972
8973# Check for library directory
8974
8975  AC_ARG_WITH(m4_tolower($1)-lib,
8976      AS_HELP_STRING([--with-m4_tolower($1)-lib],
8977                     [specify the flags used to link with the library $1]),
8978      [$2LIB=$withval])
8979
8980# Switch to disable library check if requested
8981
8982  AC_ARG_ENABLE(m4_tolower($1)-libcheck,
8983      AS_HELP_STRING([--enable-m4_tolower($1)-libcheck],
8984                     [use disable-m4_tolower($1)-libcheck to skip the link
8985                      check at configuration time]),
8986      [m4_tolower($1)_libcheck=$enableval],
8987      [m4_tolower($1)_libcheck=yes])
8988
8989# At this point, if we're going to use the library, both LBRYINCDIR and
8990# LBRYLIB must be defined and not empty.
8991
8992  if test x"$$2INCDIR" != x || test x"$$2LIB" != x; then
8993    if test x"$$2INCDIR" = x || test x"$$2LIB" = x; then
8994      AC_MSG_ERROR([You need to specify both an include directory and link flags to use library $1. Use --with-m4_tolower($1)-incdir of environment variable $$2INCDIR to specify the include directory. Use --with-m4_tolower($1)-lib or environment variable $$2LIB to specify link flags.])
8995    fi
8996    m4_tolower(coin_has_$2)=true
8997    AC_MSG_RESULT(yes)
8998  else
8999    m4_tolower(coin_has_$2)=false
9000    AC_MSG_RESULT(no)
9001  fi
9002
9003# If we have instructions for use, consider header and link checks.
9004
9005  if test $m4_tolower(coin_has_$2) = true; then
9006
9007# If argument 3 (file) is given, check for the file. Typically this will be a
9008# header file, but that's not assumed.
9009
9010    m4_ifval([$3],
9011        [AC_COIN_CHECK_FILE([$$2INCDIR/$3],[],
9012             [AC_MSG_ERROR([Cannot find file $3 in $$2INCDIR])])])
9013
9014# Now see if we can link the function. There are arguments for and against
9015# assuming argument 3 is a header file declaring the function. A correct
9016# function declaration is the main argument in favour. Having to cope with
9017# possible dependencies or other oddities are the main arguments against.
9018# Force the use of C as the best single choice amongst C++, C, and Fortran.
9019# Obviously, this has limits.
9020
9021    m4_ifvaln([$4],
9022        [if test x"$m4_tolower($1)_libcheck" != xno; then
9023           coin_save_LIBS="$LIBS"
9024           LIBS="$$2LIB $ADDLIBS"
9025           coin_$2_link=no
9026           AC_LANG_PUSH(C)
9027           for fnm in $4 ; do
9028             AC_MSG_CHECKING([whether symbol $fnm is available with $2])
9029             AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[$fnm()]])],
9030                 [AC_MSG_RESULT(yes)
9031                  coin_$2_link=yes
9032                  break],
9033                 [AC_MSG_RESULT(no)])
9034           done
9035           AC_LANG_POP(C)
9036           if test x"$coin_$2_link" = xyes ; then
9037             LIBS="$coin_save_LIBS"
9038           else
9039             AC_MSG_ERROR([Cannot find symbol(s) $4 with $2])
9040           fi
9041         fi])
9042
9043# If we make it this far, we've verified the file and linked the function. Add
9044# the necessary link flags to ADDLIBS and define the preprocessor symbol
9045# COIN_HAS_LBRY.
9046
9047    ADDLIBS="$$2LIB $ADDLIBS"
9048    AC_DEFINE(COIN_HAS_$2,[1],[Define to 1 if the $1 package is available])
9049  fi
9050
9051# Arrange for configure to substitute LBRYINCDIR and LBRYLIB and create the
9052# automake conditional. These actions must occur unconditionally.
9053
9054  AC_SUBST($2INCDIR)
9055  AC_SUBST($2LIB)
9056  AM_CONDITIONAL(COIN_HAS_$2, test $m4_tolower(coin_has_$2) = true)
9057]) #AC_COIN_HAS_USER_LIBRARY
9058
9059###########################################################################
9060#                               COIN_HAS_ASL                              #
9061###########################################################################
9062
9063# This macro checks if the user has provide arguments that say where
9064# the precompiled ASL files should be found (with the --with-asldir
9065# flag).  If this is not the case, we check if the ThirdParty/ASL
9066# directory has been configured, which indicates that the files will
9067# be in that directory and can be used.
9068
9069AC_DEFUN([AC_COIN_HAS_ASL],
9070[coin_aslobjdir=../ThirdParty/ASL
9071coin_aslsrcdir=$srcdir/$coin_aslobjdir
9072
9073# Determine the name of the ASL library
9074case "$CC" in
9075  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
9076    ampllib=amplsolv.lib ;;
9077  *)
9078    ampllib=amplsolver.a ;;
9079esac
9080
9081AC_ARG_WITH([asldir],
9082            AC_HELP_STRING([--with-asldir],
9083                           [specify path to AMPL solver directory (or BUILD for compilation, or "no" for disabling AMPL)]),
9084            [use_asldir=$withval], [use_asldir=])
9085
9086if test "$use_asldir" = BUILD; then
9087  if test "$PACKAGE_NAME" != ThirdPartyASL; then
9088    # If we are configuring ThirdParty/ASL, don't check
9089    if test -r $coin_aslobjdir/.MakeOk; then :; else
9090      AC_MSG_ERROR([option \"BUILD\" specified for asldir, but directory is not configure (sources missing?)])
9091    fi
9092  fi
9093elif test -z "$use_asldir"; then
9094 # try to find sources - if not given don't compile
9095  if test "$PACKAGE_NAME" != ThirdPartyASL; then
9096    if test -r $coin_aslobjdir/.MakeOk; then
9097      use_asldir=BUILD
9098    else
9099      use_asldir=no
9100    fi
9101  else
9102    use_asldir=no
9103  fi
9104elif test "$use_asldir" != "no"; then
9105  AC_COIN_CHECK_FILE([$use_asldir/$ampllib],[],
9106                     [AC_MSG_ERROR([ASL directory \"$use_asldir\" specified, but library missing])])
9107  AC_COIN_CHECK_FILE([$use_asldir/asl.h],[],
9108                     [AC_MSG_ERROR([ASL directory \"$use_asldir\" specified, but header files are missing])])
9109  use_asldir=`cd $use_asldir; pwd`
9110  case $build in
9111    *-cygwin*) use_asldir=`cygpath -w $use_asldir | sed -e sX\\\\\\\\X/Xg` ;;
9112  esac
9113fi
9114
9115# Variable containing ASL library (including full path)
9116AC_SUBST(ASLLIB)
9117# Variable containing flags for including ASL header files
9118AC_SUBST(ASL_CPPFLAGS)
9119
9120if test "$use_asldir" = BUILD; then
9121  coin_aslobjdir=`cd $coin_aslobjdir; pwd`
9122  ASLLIB=`$CYGPATH_W $coin_aslobjdir/$ampllib | sed -e sX\\\\\\\\X/Xg`
9123  coin_aslsrcdir=`cd $coin_aslsrcdir; pwd`
9124  ASL_CPPFLAGS="-I"`$CYGPATH_W $coin_aslobjdir | sed -e sX\\\\\\\\X/Xg`" -I"`$CYGPATH_W $coin_aslsrcdir/solvers | sed -e sX\\\\\\\\X/Xg`
9125elif test "$use_asldir" != no; then
9126  ASLLIB=`$CYGPATH_W $use_asldir/$ampllib | sed -e sX\\\\\\\\X/Xg`
9127  ASL_CPPFLAGS="-I"`$CYGPATH_W $use_asldir | sed -e sX\\\\\\\\X/Xg`
9128fi
9129
9130if test "$use_asldir" != no; then
9131  AC_LANG_PUSH(C)
9132  AC_CHECK_LIB(dl,[dlopen],[ASLLIB="$ASLLIB -ldl"],[])
9133  coin_has_asl=yes
9134  AC_DEFINE([COIN_HAS_ASL],[1],
9135            [If defined, the Ampl Solver Library is available.])
9136  AC_LANG_POP(C)
9137else
9138  coin_has_asl=no
9139fi
9140AM_CONDITIONAL(COIN_HAS_ASL, test $coin_has_asl = yes)
9141]) # AC_COIN_HAS_ASL
9142
9143###########################################################################
9144#                            COIN_TRY_FLINK                               #
9145###########################################################################
9146
9147# Auxilliary macro to test if a Fortran function name can be linked,
9148# given the current settings of LIBS.  We determine from the context, what
9149# the currently active programming language is, and cast the name accordingly.
9150# The first argument is the name of the function/subroutine, in small letters,
9151# the second argument are the actions taken when the test works, and the
9152# third argument are the actions taken if the test fails.
9153
9154AC_DEFUN([AC_COIN_TRY_FLINK],
9155[case $ac_ext in
9156  f)
9157    AC_TRY_LINK(,[      call $1],[$2],[$3])
9158    ;;
9159  c)
9160    AC_F77_FUNC($1,cfunc$1)
9161    if test x"$coin_need_flibs" = xyes; then
9162      flink_try=no;
9163    else
9164      AC_TRY_LINK([void $cfunc$1();],[$cfunc$1()],
9165                  [flink_try=yes],[flink_try=no])
9166    fi
9167    if test $flink_try = yes; then
9168      $2
9169    else
9170      if test x"$FLIBS" != x; then
9171        flink_save_libs="$LIBS"
9172        LIBS="$LIBS $FLIBS"
9173        AC_TRY_LINK([void $cfunc$1();],[$cfunc$1()],
9174                    [LIBS="$flink_save_libs"
9175                     $2
9176                     coin_need_flibs=yes],
9177                    [LIBS="$flink_save_libs"
9178                     $3])
9179      else
9180        $3
9181      fi
9182    fi
9183    ;;
9184  cc|cpp)
9185    AC_F77_FUNC($1,cfunc$1)
9186    if test x"$coin_need_flibs" = xyes; then
9187      flink_try=no;
9188    else
9189      AC_TRY_LINK([extern "C" {void $cfunc$1();}],[$cfunc$1()],
9190                  [flink_try=yes],[flink_try=no])
9191    fi
9192    if test $flink_try = yes; then
9193      $2
9194    else
9195      if test x"$FLIBS" != x; then
9196        flink_save_libs="$LIBS"
9197        LIBS="$LIBS $FLIBS"
9198        AC_TRY_LINK([extern "C" {void $cfunc$1();}],[$cfunc$1()],
9199                    [LIBS="$flink_save_libs"
9200                     $2
9201                     coin_need_flibs=yes],
9202                    [LIBS="$flink_save_libs"
9203                     $3])
9204      else
9205        $3
9206      fi
9207    fi
9208    ;;
9209esac
9210]) # AC_COIN_TRY_FLINK
9211
9212###########################################################################
9213#                             COIN_HAS_BLAS                               #
9214###########################################################################
9215
9216# This macro checks for a library containing the BLAS library.  It
9217# tries standard libraries, and if none is found to be working, it
9218# checks whether the BLAS ThirdParty/Blas directory has been configured.
9219# It adds to ADDLIBS any flags required to link with an externally provided
9220# BLAS.  It defines the makefile conditional and preprocessor macro
9221# COIN_HAS_BLAS, if blas is available, and it defines the makefile conditional
9222# COIN_BUILD_BLAS, if blas is compiled within COIN.
9223
9224AC_DEFUN([AC_COIN_HAS_BLAS],
9225[if test "$PACKAGE_NAME" = ThirdPartyBlas || test "$PACKAGE_NAME" = ThirdPartyLapack || test "$PACKAGE_NAME" = ThirdPartyMumps; then
9226  coin_blasobjdir=../Blas
9227else
9228  coin_blasobjdir=../ThirdParty/Blas
9229fi
9230coin_blassrcdir=$srcdir/$coin_blasobjdir
9231
9232AC_ARG_WITH([blas],
9233            AC_HELP_STRING([--with-blas],
9234                           [specify BLAS library (or BUILD for compilation)]),
9235            [use_blas=$withval], [use_blas=])
9236
9237MAKEOKFILE=.MakeOk
9238# Check if user supplied option makes sense
9239if test x"$use_blas" != x; then
9240  if test "$use_blas" = "BUILD"; then
9241    # Don't check for course code if this is executed in ThirdParty/Blas
9242    if test "$PACKAGE_NAME" != ThirdPartyBlas; then
9243      if test -r $coin_blasobjdir/.MakeOk; then :; else
9244        AC_MSG_ERROR([option \"BUILD\" specified for Blas, but $coin_blasobjdir directory is not properly configured])
9245      fi
9246    fi
9247  elif test "$use_blas" != no ; then
9248    AC_MSG_CHECKING([whether user supplied BLASLIB=\"$use_blas\" works])
9249    LIBS="$use_blas $LIBS"
9250    ADDLIBS="$use_blas $ADDLIBS"
9251    AC_COIN_TRY_FLINK([daxpy],
9252                      [AC_MSG_RESULT([yes])],
9253                      [AC_MSG_RESULT([no])
9254                       AC_MSG_ERROR([user supplied BLAS library \"$use_blas\" does not work])])
9255  fi
9256else
9257# Try to autodetect the library for blas based on build system
9258  #AC_MSG_CHECKING([default locations for BLAS])
9259  skip_lblas_check=no
9260  case $build in
9261    *-sgi-*)
9262      SAVE_LIBS="$LIBS"
9263      AC_MSG_CHECKING([whether -lcomplib.sgimath has BLAS])
9264      LIBS="-lcomplib.sgimath $LIBS"
9265      AC_COIN_TRY_FLINK([daxpy],
9266                        [AC_MSG_RESULT([yes])
9267                         use_blas=-lcomplib.sgimath;
9268                         ADDLIBS="-lcomplib.sgimath $ADDLIBS"],
9269                        [AC_MSG_RESULT([no])
9270                         SAVE_LIBS="$LIBS"])
9271      ;;
9272
9273# Ideally, we'd use -library=sunperf, but it's an imperfect world. Studio
9274# cc doesn't recognise -library, it wants -xlic_lib. Studio 12 CC doesn't
9275# recognise -xlic_lib. Libtool doesn't like -xlic_lib anyway. Sun claims
9276# that CC and cc will understand -library in Studio 13. The main extra
9277# function of -xlic_lib and -library is to arrange for the Fortran run-time
9278# libraries to be linked for C++ and C. We can arrange that explicitly.
9279    *-*-solaris*)
9280      SAVE_LIBS="$LIBS"
9281      AC_MSG_CHECKING([for BLAS in libsunperf])
9282      LIBS="-lsunperf $FLIBS $LIBS"
9283      AC_COIN_TRY_FLINK([daxpy],
9284                        [AC_MSG_RESULT([yes])
9285                         use_blas='-lsunperf'
9286                         ADDLIBS="-lsunperf $ADDLIBS"
9287                         coin_need_flibs=yes],
9288                        [AC_MSG_RESULT([no])
9289                         LIBS="$SAVE_LIBS"])
9290      ;;
9291    *-cygwin* | *-mingw*)
9292# On cygwin, consider -lblas only if doscompile is disabled. The prebuilt
9293# library will want to link with cygwin, hence won't run standalone in DOS.
9294      if test "$enable_doscompile" = mingw; then
9295        skip_lblas_check=yes
9296      fi
9297      case "$CC" in
9298        cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
9299          SAVE_LIBS="$LIBS"
9300          AC_MSG_CHECKING([for BLAS in MKL])
9301          LIBS="mkl_intel_c.lib mkl_sequential.lib mkl_core.lib $LIBS"
9302          AC_COIN_TRY_FLINK([daxpy],
9303                            [AC_MSG_RESULT([yes])
9304                             use_blas='mkl_intel_c.lib mkl_sequential.lib mkl_core.lib'
9305                             ADDLIBS="mkl_intel_c.lib mkl_sequential.lib mkl_core.lib $ADDLIBS"],
9306                            [AC_MSG_RESULT([no])
9307                             LIBS="$SAVE_LIBS"])
9308          ;;
9309      esac
9310      ;;
9311  esac
9312
9313  if test -z "$use_blas" && test $skip_lblas_check = no; then
9314    SAVE_LIBS="$LIBS"
9315    AC_MSG_CHECKING([whether -lblas has BLAS])
9316    LIBS="-lblas $LIBS"
9317    AC_COIN_TRY_FLINK([daxpy],
9318                      [AC_MSG_RESULT([yes])
9319                       ADDLIBS="-lblas $ADDLIBS"
9320                       use_blas='-lblas'],
9321                      [AC_MSG_RESULT([no])
9322                       LIBS="$SAVE_LIBS"])
9323  fi
9324
9325# If we have no other ideas, consider building BLAS.
9326  if test -z "$use_blas"; then
9327    if test "$PACKAGE_NAME" != ThirdPartyBlas; then
9328      if test -r $coin_blasobjdir/.MakeOk; then
9329        use_blas=BUILD
9330      fi
9331    fi
9332  fi
9333fi
9334
9335if test "$use_blas" = BUILD; then
9336  coin_need_flibs=yes
9337fi
9338
9339AM_CONDITIONAL([COIN_HAS_BLAS],[test x"$use_blas" != x])
9340AM_CONDITIONAL([COIN_BUILD_BLAS],[test "$use_blas" = BUILD])
9341
9342if test x"$use_blas" = x || test "$use_blas" = no; then
9343  coin_has_blas=no
9344else
9345  coin_has_blas=yes
9346  AC_DEFINE([COIN_HAS_BLAS],[1],
9347            [If defined, the BLAS Library is available.])
9348fi
9349]) # AC_COIN_HAS_BLAS
9350
9351###########################################################################
9352#                            COIN_HAS_LAPACK                              #
9353###########################################################################
9354
9355# This macro checks for a library containing the LAPACK library.  It
9356# tries standard libraries, and if none is found to be working, it
9357# checks whether the LAPACK ThirdParty/Lapack directory has been
9358# configured.  It adds to ADDLIBS any flags required to link with an
9359# externally provided LAPACK.  It defines the makefile conditional and
9360# preprocessor macro COIN_HAS_LAPACK, if lapack is available, and it
9361# defines the makefile conditional COIN_BUILD_LAPACK, if lapack is
9362# compiled within COIN.
9363
9364AC_DEFUN([AC_COIN_HAS_LAPACK],
9365[coin_lapackobjdir=../ThirdParty/Lapack
9366coin_lapacksrcdir=$srcdir/$coin_lapackobjdir
9367
9368AC_ARG_WITH([lapack],
9369            AC_HELP_STRING([--with-lapack],
9370                           [specify LAPACK library (or BUILD for compilation)]),
9371            [use_lapack=$withval], [use_lapack=])
9372
9373# Check if user supplied option makes sense
9374if test x"$use_lapack" != x; then
9375  if test "$use_lapack" = "BUILD"; then
9376    # Don't check for course code if this is executed in ThirdParty/Lapack
9377    if test "$PACKAGE_NAME" != ThirdPartyLapack; then
9378      if test -r $coin_lapackobjdir/.MakeOk; then :; else
9379        AC_MSG_ERROR([option \"BUILD\" specified for LAPACK, but $coin_lapackobjdir directory is not configured])
9380      fi
9381    fi
9382  elif test "$use_lapack" != no; then
9383    AC_MSG_CHECKING([whether user supplied LAPACKLIB=\"$use_lapack\" works])
9384    LIBS="$use_lapack $LIBS"
9385    ADDLIBS="$use_lapack $ADDLIBS"
9386    AC_COIN_TRY_FLINK([dsyev],
9387                      [AC_MSG_RESULT([yes])],
9388                      [AC_MSG_RESULT([no])
9389                       AC_MSG_ERROR([user supplied LAPACK library \"$use_lapack\" does not work])])
9390  fi
9391else
9392  if test x$coin_has_blas = xyes; then
9393    # First try to see if LAPACK is already available with BLAS library
9394    AC_MSG_CHECKING([whether LAPACK is already available with BLAS library])
9395    AC_COIN_TRY_FLINK([dsyev],
9396                      [AC_MSG_RESULT([yes]); use_lapack=ok],
9397                      [AC_MSG_RESULT([no])])
9398  fi
9399  skip_llapack_check=no
9400  if test -z "$use_lapack"; then
9401    # Try to autodetect the library for lapack based on build system
9402    case $build in
9403      *-sgi-*)
9404        SAVE_LIBS="$LIBS"
9405        AC_MSG_CHECKING([whether -lcomplib.sgimath has LAPACK])
9406        LIBS="-lcomplib.sgimath $LIBS"
9407        AC_COIN_TRY_FLINK([dsyev],
9408                          [AC_MSG_RESULT([yes])
9409                           use_lapack=-lcomplib.sgimath;
9410                           ADDLIBS="-lcomplib.sgimath $ADDLIBS"],
9411                          [AC_MSG_RESULT([no])
9412                           SAVE_LIBS="$LIBS"])
9413        ;;
9414
9415# See comments in COIN_HAS_BLAS.
9416      *-*-solaris*)
9417      SAVE_LIBS="$LIBS"
9418      AC_MSG_CHECKING([for LAPACK in libsunperf])
9419      LIBS="-lsunperf $FLIBS $LIBS"
9420      AC_COIN_TRY_FLINK([dsyev],
9421                        [AC_MSG_RESULT([yes])
9422                         use_blas='-lsunperf'
9423                         ADDLIBS="-lsunperf $ADDLIBS"
9424                         coin_need_flibs=yes],
9425                        [AC_MSG_RESULT([no])
9426                         LIBS="$SAVE_LIBS"])
9427        ;;
9428# On cygwin, do this check only if doscompile is disabled. The prebuilt library
9429# will want to link with cygwin, hence won't run standalone in DOS.
9430      *-cygwin*)
9431        if test "$enable_doscompile" = mingw; then
9432          skip_llapack_check=yes
9433        fi
9434        ;;
9435    esac
9436  fi
9437
9438  if test -z "$use_lapack" && test $skip_llapack_check = no; then
9439    SAVE_LIBS="$LIBS"
9440    AC_MSG_CHECKING([whether -llapack has LAPACK])
9441    LIBS="-llapack $LIBS"
9442    AC_COIN_TRY_FLINK([dsyev],
9443                      [AC_MSG_RESULT([yes])
9444                       ADDLIBS="-llapack $ADDLIBS"
9445                       use_lapack='-llapack'],
9446                      [AC_MSG_RESULT([no])
9447                       LIBS="$SAVE_LIBS"])
9448  fi
9449
9450# If we have no other ideas, consider building LAPACK.
9451  if test -z "$use_lapack"; then
9452    if test "$PACKAGE_NAME" != ThirdPartyLapack; then
9453      if test -r $coin_lapackobjdir/.MakeOk; then
9454        use_lapack=BUILD
9455      fi
9456    fi
9457  fi
9458fi
9459
9460if test "$use_lapack" = BUILD; then
9461  coin_need_flibs=yes
9462fi
9463
9464AM_CONDITIONAL([COIN_HAS_LAPACK],[test x"$use_lapack" != x])
9465AM_CONDITIONAL([COIN_BUILD_LAPACK],[test "$use_lapack" = BUILD])
9466
9467if test x"$use_lapack" = x || test "$use_lapack" = no; then
9468  coin_has_lapack=no
9469else
9470  coin_has_lapack=yes
9471  AC_DEFINE([COIN_HAS_LAPACK],[1],
9472            [If defined, the LAPACK Library is available.])
9473fi
9474]) # AC_COIN_HAS_LAPACK
9475
9476###########################################################################
9477#                            COIN_HAS_MUMPS                               #
9478###########################################################################
9479
9480# This macro checks for a library containing the MUMPS library.  It
9481# checks if the user has provided an argument for the MUMPS library,
9482# and if not, it checks whether the MUMPS ThirdParty/Mumps directory has
9483# been configured.  It adds to ADDLIBS any flags required to link with
9484# an externally provided MUMPS.  It defines the makefile conditional
9485# and preprocessor macro COIN_HAS_MUMPS, if MUMPS is available, and it
9486# defines the makefile conditional COIN_BUILD_MUMPS, if MUMPS is
9487# compiled within COIN.
9488
9489AC_DEFUN([AC_COIN_HAS_MUMPS],
9490[
9491if test "$PACKAGE_NAME" = ThirdPartyMumps; then
9492  coin_mumpsobjdir=../Mumps
9493else
9494  coin_mumpsobjdir=../ThirdParty/Mumps
9495fi
9496coin_mumpssrcdir=$abs_source_dir/$coin_mumpsobjdir/MUMPS
9497
9498MAKEOKFILE=.MakeOk
9499
9500#check if user provides a MUMPS library (that works)
9501AC_LANG_PUSH(C)
9502SAVE_ADDLIBS="$ADDLIBS"
9503ADDLIBS="$ADDLIBS $FLIBS"
9504AC_COIN_HAS_USER_LIBRARY(mumps, MUMPS, dmumps_c.h, dmumps_c)
9505ADDLIBS="$SAVE_ADDLIBS"
9506AC_LANG_POP(C)
9507
9508if test "$coin_has_mumps" = "true"; then  # user provided mumps library
9509  use_mumps=yes
9510  coin_has_mumps=yes
9511
9512  MUMPS_INCFLAGS="-I\`\$(CYGPATH_W) $MUMPSINCDIR\`"
9513  ADDLIBS="$MUMPSLIB $ADDLIBS"
9514
9515else # no user provided library, so we try to build our own
9516  use_mumps=BUILD
9517
9518  # Check if the MUMPS' ThirdParty project has been configured
9519  if test "$PACKAGE_NAME" != ThirdPartyMumps; then
9520    if test -r $coin_mumpsobjdir/.MakeOk; then
9521      use_mumps=BUILD
9522      # Mumps needs pthreads
9523      AC_LANG_PUSH(C)
9524      save_LIBS="$LIBS"
9525      LIBS="$LIBS $FLIBS"
9526      AC_CHECK_LIB([pthread],[pthread_create],[LIBS="-lpthread $save_LIBS"; ADDLIBS="-lpthread $ADDLIBS"],[LIBS="save_LIBS"])
9527      AC_LANG_POP(C)
9528 
9529      MUMPS_INCFLAGS="-I\`\$(CYGPATH_W) $coin_mumpssrcdir/libseq\` -I\`\$(CYGPATH_W) $coin_mumpssrcdir/include\`"
9530    else
9531      use_mumps=
9532    fi
9533  fi
9534
9535  # if a user provided library is used, then COIN_HAS_USER_LIBRARY takes care of the COIN_HAS_MUMPS conditional and preprocessor symbol
9536  AM_CONDITIONAL([COIN_HAS_MUMPS],[test x"$use_mumps" != x])
9537  if test x"$use_mumps" != x; then
9538    AC_DEFINE([COIN_HAS_MUMPS],[1],[If defined, the MUMPS Library is available.])
9539    coin_has_mumps=yes
9540  else
9541    coin_has_mumps=no
9542  fi
9543  AC_MSG_CHECKING([whether MUMPS is available])
9544  AC_MSG_RESULT([$coin_has_mumps])
9545fi
9546
9547if test x"$use_mumps" != x; then
9548  # we need the Fortran runtime libraries if we want to link with C/C++
9549  coin_need_flibs=yes
9550
9551  AC_SUBST(MUMPS_INCFLAGS)
9552fi
9553
9554AM_CONDITIONAL([COIN_BUILD_MUMPS],[test "$use_mumps" = BUILD])
9555
9556]) # AC_COIN_HAS_MUMPS
9557
9558###########################################################################
9559#                            COIN_HAS_METIS                               #
9560###########################################################################
9561
9562# This macro checks for a library containing the METIS library.  It
9563# checks if the user has provided an argument for the METIS library,
9564# and if not, it checks whether the METIS ThirdParty/Metis directory has
9565# been configured.  It adds to ADDLIBS any flags required to link with
9566# an externally provided METIS.  It defines the makefile conditional
9567# and preprocessor macro COIN_HAS_METIS, if METIS is available, and it
9568# defines the makefile conditional COIN_BUILD_METIS, if METIS is
9569# compiled within COIN.
9570
9571AC_DEFUN([AC_COIN_HAS_METIS],
9572[
9573case "$PACKAGE_NAME" in
9574  ThirdParty*)
9575    coin_metisobjdir=../Metis
9576    ;;
9577  *)
9578    coin_metisobjdir=../ThirdParty/Metis
9579    ;;
9580esac
9581
9582MAKEOKFILE=.MakeOk
9583
9584#check if user provides a METIS library (that works)
9585AC_LANG_PUSH(C)
9586AC_ARG_WITH(metis,
9587   AS_HELP_STRING([--with-metis], [specify flags to link with METIS library]),
9588   [METISLIB="$withval"; coin_has_metis=true], [coin_has_metis=no])
9589
9590if test $coin_has_metis = true; then
9591  coin_save_LIBS="$LIBS"
9592  LIBS="$METISLIB $ADDLIBS"
9593  AC_MSG_CHECKING([whether symbol metis_nodend is available with ])
9594  AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[metis_nodend()]])],
9595     [AC_MSG_RESULT(yes)],
9596     [AC_MSG_RESULT(no)
9597      AC_MSG_ERROR([User-supplied METIS library does not work])])
9598  LIBS="$coin_save_LIBS"
9599fi
9600AC_LANG_POP(C)
9601
9602if test "$coin_has_metis" = "true"; then  # user provided metis library
9603  use_metis=yes
9604  coin_has_metis=yes
9605
9606  ADDLIBS="$METISLIB $ADDLIBS"
9607
9608else # no user provided library, so we try to build our own
9609  use_metis=BUILD
9610
9611  # Check if the METIS' ThirdParty project has been configured
9612  if test "$PACKAGE_NAME" != ThirdPartyMetis; then
9613    if test -r $coin_metisobjdir/.MakeOk; then
9614      use_metis=BUILD
9615    else
9616      use_metis=
9617    fi
9618  fi
9619
9620  if test x"$use_metis" != x; then
9621    coin_has_metis=yes
9622  else
9623    coin_has_metis=no
9624  fi
9625  AC_MSG_CHECKING([whether METIS is available])
9626  AC_MSG_RESULT([$coin_has_metis])
9627fi
9628
9629AM_CONDITIONAL([COIN_HAS_METIS],[test $coin_has_metis = yes])
9630if test $coin_has_metis = yes; then
9631  AC_DEFINE([COIN_HAS_METIS],[1],[If defined, the METIS library is available.])
9632fi
9633
9634]) # AC_COIN_HAS_METIS
9635
9636
9637###########################################################################
9638#                             COIN_HAS_GLPK                               #
9639###########################################################################
9640#
9641# This macro checks for the GLPK package. GLPK provides two capabilities,
9642# an LP and MIP solver (GLPK) and the GNU Mathprog modelling language (GMPL).
9643# The macro checks for either Glpk or Gmpl, according to the value specified as
9644# the parameter. Use one of Glpk or Gmpl. Use *exactly* these strings, eh?
9645#
9646#
9647# The macro first uses COIN_HAS_USER_LIBRARY to see if the user has specified
9648# a preexisting library (this allows the use of any glpk version, if the user
9649# is fussy). The macro then checks for ThirdParty/Glpk.
9650#
9651# This macro will define the following variables for Glpk:
9652#   coin_has_glpk       true or false
9653#   GLPKLIB             link flags for GLPK (if user supplied)
9654#   GLPKINCDIR          location of glpk include files
9655#   COIN_HAS_GLPK       Preprocessor symbol, defined to 1
9656#   COIN_HAS_GLPK       Automake conditional
9657#   COIN_BUILD_GLPK     Automake conditional, defined only if Glpk is to be
9658#                       built in ThirdParty/Glpk
9659#
9660# With the exception of COIN_BUILD_GLPK, an identical set of variables is
9661# defined for Gmpl.
9662
9663AC_DEFUN([AC_COIN_HAS_GLPK],
9664[
9665if test "$PACKAGE_NAME" = ThirdPartyGlpk; then
9666  coin_glpkobjdir=../Glpk
9667else
9668  coin_glpkobjdir=../ThirdParty/Glpk
9669fi
9670coin_glpksrcdir=$abs_source_dir/$coin_glpkobjdir
9671
9672use_thirdpartyglpk=no
9673
9674# Check for the requested component. If the user specified an external glpk
9675# library don't force a ThirdParty build, let the error propagate.
9676
9677m4_if([$1],[Glpk],
9678[AC_COIN_HAS_USER_LIBRARY([Glpk],[GLPK],[glpk.h],
9679    [_glp_lpx_simplex glp_lpx_simplex])
9680 if test x"$coin_has_glpk" = xfalse && test x"$GLPKLIB" = x ; then
9681   use_thirdpartyglpk=try
9682 fi])
9683m4_if([$1],[Gmpl],
9684[AC_COIN_HAS_USER_LIBRARY([Gmpl],[GMPL],[glpmpl.h],
9685    [_glp_mpl_initialize glp_mpl_initialize])
9686 if test x"$coin_has_gmpl" = xfalse && test x"$GMPLLIB" = x ; then
9687   use_thirdpartyglpk=try
9688 fi])
9689
9690# If the user has supplied an external library, use it. Otherwise, consider
9691# a build in ThirdParty/Glpk. If we build, assume we get both glpk and gmpl.
9692
9693if test x"$use_thirdpartyglpk" = xtry ; then
9694  MAKEOKFILE=.MakeOk
9695  # Check if the Glpk's ThirdParty project has been configured
9696  if test "$PACKAGE_NAME" != ThirdPartyGlpk; then
9697    if test -r $coin_glpkobjdir/.MakeOk; then
9698      use_thirdpartyglpk=build
9699    else
9700      use_thirdpartyglpk=no
9701    fi
9702  else
9703    use_thirdpartyglpk=build
9704  fi
9705
9706# If we're building, set the library and include directory variables, create a
9707# preprocessor symbol, define a variable that says we're using glpk/gmpl, and
9708# another to indicate a link check is a bad idea (hard to do before the library
9709# exists).
9710
9711  if test x"$use_thirdpartyglpk" = xbuild ; then
9712    m4_toupper($1INCDIR)="$coin_glpksrcdir/glpk/include"
9713    AC_SUBST(m4_toupper($1INCDIR))
9714    AC_DEFINE(m4_toupper(COIN_HAS_$1),[1],
9715              [Define to 1 if $1 package is available])
9716    m4_tolower(coin_has_$1)=true
9717    m4_tolower($1_libcheck)=no
9718    AC_MSG_NOTICE([Using $1 in ThirdParty/Glpk])
9719  fi
9720fi
9721
9722# Define the necessary automake conditionals.
9723
9724AM_CONDITIONAL(m4_toupper(COIN_HAS_$1),
9725               [test x"$m4_tolower(coin_has_$1)" = xtrue])
9726AM_CONDITIONAL([COIN_BUILD_GLPK],[test x"$use_thirdpartyglpk" = xbuild])
9727
9728]) # AC_COIN_HAS_GLPK
Note: See TracBrowser for help on using the repository browser.