source: stable/BSPsplit/Couenne/acinclude.m4 @ 214

Last change on this file since 214 was 214, checked in by andreasw, 12 years ago

a few bugfixes for instdir

File size: 336.9 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 1314 2009-07-08 03:03:01Z 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 is the macro for AC_COIN_MAIN_SUBDIRS taking care of ONE argument
6417AC_DEFUN([AC_COIN_MAIN_SUBDIR],
6418[AC_ARG_VAR([COIN_SKIP_PROJECTS],[Set to the subdirectories of projects that should be skipped in the configuration])
6419
6420# This is a hack to find out if there is a "/" in the name, which would
6421# break the AC_COIN_HAS_PROJECT macro
6422m4_case($1,m4_bpatsubsts($1,[/],[_]),
6423[# We have no "/" in the $1 argument
6424  AC_COIN_HAS_PROJECT($1)
6425  AC_MSG_CHECKING(whether directory $1 should be recursed into)
6426  if test "$m4_tolower(coin_has_$1)" != skipping &&
6427     test "$m4_tolower(coin_has_$1)" != installed; then
6428    if test -r $srcdir/$1/configure; then
6429      coin_subdirs="$coin_subdirs $1"
6430      AC_MSG_RESULT(yes)
6431      AC_CONFIG_SUBDIRS($1)
6432    else
6433      AC_MSG_RESULT(no)
6434    fi
6435  else
6436    AC_MSG_RESULT(no)
6437  fi],
6438[# This must be Data/Simple or something else
6439  AC_MSG_CHECKING(whether directory $1 should be recursed into)
6440  coin_skip=no
6441  if test x"$COIN_SKIP_PROJECTS" != x; then
6442    for dir in $COIN_SKIP_PROJECTS; do
6443      if test $dir = $1; then
6444        coin_skip=yes
6445      fi
6446    done
6447  fi
6448  if test $coin_skip = yes; then
6449    AC_MSG_RESULT(skipping)
6450  elif test -r $srcdir/$1/configure; then
6451    coin_subdirs="$coin_subdirs $1"
6452    AC_MSG_RESULT(yes)
6453    AC_CONFIG_SUBDIRS($1)
6454  else
6455    AC_MSG_RESULT(no)
6456  fi])
6457])
6458
6459# This macro sets up the recursion into configure scripts into
6460# subdirectories.  Each possible subdirectory should be provided as a
6461# new argument to this macro.  The current limit is 10 subdirectories.
6462# This automatically also checks for the Data subdirectory.
6463
6464AC_DEFUN([AC_COIN_MAIN_SUBDIRS],
6465[m4_ifvaln([$1],[AC_COIN_MAIN_SUBDIR($1)])
6466m4_ifvaln([$2],[AC_COIN_MAIN_SUBDIR($2)])
6467m4_ifvaln([$3],[AC_COIN_MAIN_SUBDIR($3)])
6468m4_ifvaln([$4],[AC_COIN_MAIN_SUBDIR($4)])
6469m4_ifvaln([$5],[AC_COIN_MAIN_SUBDIR($5)])
6470m4_ifvaln([$6],[AC_COIN_MAIN_SUBDIR($6)])
6471m4_ifvaln([$7],[AC_COIN_MAIN_SUBDIR($7)])
6472m4_ifvaln([$8],[AC_COIN_MAIN_SUBDIR($8)])
6473m4_ifvaln([$9],[AC_COIN_MAIN_SUBDIR($9)])
6474m4_ifvaln([$10],[AC_COIN_MAIN_SUBDIR($10)])
6475
6476]) # AC_COIN_MAIN_SUBDIRS
6477
6478###########################################################################
6479#                            COIN_CHECK_FILE                              #
6480###########################################################################
6481
6482# A simple replacement for AC_CHECK_FILE that works for cross compilation
6483
6484AC_DEFUN([AC_COIN_CHECK_FILE],
6485[if test -r $1; then
6486  $2
6487  :
6488else
6489  $3
6490  :
6491fi
6492])
6493
6494###########################################################################
6495#                        COIN_THIRDPARTY_SUBDIRS                          #
6496###########################################################################
6497
6498# This macro sets up the recursion into the configure script in a
6499# subdirectory for compilation of third party code.  The first
6500# argument is just the string that appears in the configure output.
6501# The second argument is the directory with the configure script, and
6502# the third one is a file that should exists in that directory.  If
6503# this file does not exist, we assume that the user has not downloaded
6504# the code, and we are not going to compile it
6505
6506AC_DEFUN([AC_COIN_THIRDPARTY_SUBDIRS],
6507[AC_MSG_CHECKING(whether code for third party package $1 is available)
6508coin_skip=no
6509if test x"$COIN_SKIP_PROJECTS" != x; then
6510  for dir in $COIN_SKIP_PROJECTS; do
6511    if test $dir = $2; then
6512      coin_skip=yes
6513    fi
6514  done
6515fi
6516if test $coin_skip = yes; then
6517  AC_MSG_RESULT(skipping)
6518else
6519  coin_tmp=`echo $srcdir/$2/$3`
6520  # There is probably a more elegant way to get the first thing out here...
6521  for i in $coin_tmp; do
6522    coin_tmp2=$i
6523    #break 1
6524  done
6525  if test -r $coin_tmp2; then
6526    coin_subdirs="$coin_subdirs $2"
6527    AC_MSG_RESULT(yes)
6528    AC_CONFIG_SUBDIRS($2)
6529  else
6530    AC_MSG_RESULT(no)
6531  fi
6532fi
6533]) # AC_COIN_THIRDPARTY_SUBDIRS
6534
6535###########################################################################
6536#                           COIN_CHECK_VPATH                              #
6537###########################################################################
6538
6539# This macro sets the variable coin_vpath_config to true if this is a
6540# VPATH configuration, otherwise it sets it to false.
6541AC_DEFUN([AC_COIN_CHECK_VPATH],
6542[AC_MSG_CHECKING(whether this is a VPATH configuration)
6543if test `cd $srcdir; pwd` != `pwd`; then
6544  coin_vpath_config=yes;
6545else
6546  coin_vpath_config=no;
6547fi
6548AC_MSG_RESULT($coin_vpath_config)
6549]) # AC_COIN_CHECK_VPATH
6550
6551###########################################################################
6552#                         COIN_PROJECTDIR_INIT                            #
6553###########################################################################
6554
6555# This macro does everything that is required in the early part in the
6556# configure script, such as defining a few variables.  This should only
6557# be used in the main directory of a project directory (the one under
6558# which src is)
6559
6560AC_DEFUN([AC_COIN_PROJECTDIR_INIT],
6561[# Initialize the ADDLIBS variable
6562ADDLIBS="-lm $LIBS"
6563AC_SUBST(ADDLIBS)
6564
6565# Initialize the FADDLIBS variable (which is to be used with a fortran
6566# compiler and will not include FLIBS)
6567FADDLIBS="$LIBS"
6568AC_SUBST(FADDLIBS)
6569
6570# A useful makefile conditional that is always false
6571AM_CONDITIONAL(ALWAYS_FALSE, false)
6572
6573# We set the following variable so that we know later in AC_COIN_FINALIZE
6574# that we are in a project main directory
6575coin_projectdir=yes
6576]) # AC_COIN_PROJECTDIR_INIT
6577
6578###########################################################################
6579#                          COIN_DEBUG_COMPILE                             #
6580###########################################################################
6581
6582# enable the configure flags --enable-debug and --enable-debug-prjct
6583# (where prcjt is the name of the project in lower case) and set the
6584# variable coin_debug_compile to true or false This is used by
6585# COIN_PROG_CXX, COIN_PROG_CC and COIN_PROG_F77 to determine the
6586# compilation flags.  This macro also makes the switches
6587# --with-prjct-verbosity and --with-prjct-checklevel available, which
6588# define the preprocessor macros COIN_PRJCT_VERBOSITY and
6589# COIN_PRJCT_CHECKLEVEL to the specified value (default is 0).
6590#
6591# The project specific flags are only made available, if one gives the
6592# name of the project as first argument to this macro.
6593
6594AC_DEFUN([AC_COIN_DEBUG_COMPILE],
6595[AC_BEFORE([$0],[AC_COIN_PROG_CXX])dnl
6596AC_BEFORE([$0],[AC_COIN_PROG_CC])dnl
6597AC_BEFORE([$0],[AC_COIN_PROG_F77])dnl
6598
6599AC_MSG_CHECKING([whether we want to compile in debug mode])
6600
6601AC_ARG_ENABLE([debug],
6602[AC_HELP_STRING([--enable-debug],
6603                [compile all projects with debug options tests])],
6604[case "${enableval}" in
6605   yes) coin_debug_compile=true
6606        if test "${enable_shared+set}" = set; then :; else
6607          enable_shared=no
6608        fi
6609        ;;
6610   no)  coin_debug_compile=false
6611        ;;
6612   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug)
6613        ;;
6614esac],
6615[coin_debug_compile=false])
6616
6617m4_ifvaln([$1],
6618[AC_ARG_ENABLE(debug-m4_tolower($1),
6619 [AC_HELP_STRING([--enable-debug-m4_tolower($1)],
6620                 [compile this project ($1) with debug options])],
6621 [case "${enableval}" in
6622    yes) coin_debug_compile=true
6623         enable_shared=no
6624         ;;
6625    no)  coin_debug_compile=false
6626         ;;
6627    *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-m4_tolower($1))
6628         ;;
6629 esac],[:])
6630]) # m4_ifvaln([$1],
6631
6632if test $coin_debug_compile = true; then
6633  AC_MSG_RESULT([yes])
6634else
6635  AC_MSG_RESULT([no])
6636fi
6637
6638m4_ifvaln([$1],
6639[AC_ARG_WITH(m4_tolower($1)-verbosity,
6640             AC_HELP_STRING([--with-m4_tolower($1)-verbosity],
6641                            [specify the debug verbosity level for project $1]),
6642             [if test "$withval" = yes; then
6643                withval=1
6644              fi
6645              m4_tolower(coin_$1_verbosity)=$withval],
6646             [m4_tolower(coin_$1_verbosity)=0])
6647 AC_DEFINE_UNQUOTED(m4_toupper(COIN_$1_VERBOSITY),
6648                    m4_tolower($coin_$1_verbosity),
6649                    [Define to the debug verbosity level (0 is no output)])
6650
6651 AC_ARG_WITH(m4_tolower($1)-checklevel,
6652             AC_HELP_STRING([--with-m4_tolower($1)-checklevel],
6653                            [specify the sanity check level for project $1]),
6654             [if test "$withval" = yes; then
6655                withval=1
6656              fi
6657              m4_tolower(coin_$1_checklevel)=$withval],
6658             [m4_tolower(coin_$1_checklevel)=0])
6659 AC_DEFINE_UNQUOTED(m4_toupper(COIN_$1_CHECKLEVEL),
6660                    m4_tolower($coin_$1_checklevel),
6661                    [Define to the debug sanity check level (0 is no test)])
6662
6663# We use the following variable to have a string with the upper case
6664# version of the project name
6665COIN_PRJCT=m4_toupper($1)
6666
6667]) # m4_ifvaln([$1],
6668 
6669]) # AC_COIN_DEBUG_COMPILE
6670
6671###########################################################################
6672#                          COIN_MINGW_LD_FIX                              #
6673###########################################################################
6674
6675# This macro is included by any PROG_compiler macro, to set the LD
6676# environment variable on MinGW to the correct value (link). But note that
6677# if we're building in cygwin with -mno-cygwin, we still want ld! If we're
6678# building from cygwin with MSVC tools (cl/link), then we do want link and
6679# you'd better have your PATH variable straight, else you'll be doing file
6680# links instead of code links! Arguably, LDFLAGS should include -mno-cygwin
6681# but in practice all linking seems to be handled through the compilers, so
6682# CFLAGS and CXXFLAGS suffice.
6683
6684AC_DEFUN([AC_COIN_MINGW_LD_FIX],
6685[case $build in
6686  *-mingw*)
6687    if test "${LD+set}" = set; then :; else
6688      LD=link
6689    fi
6690    ;;
6691 esac
6692 case $enable_doscompile in
6693   msvc)
6694     if test "x${LD+set}" = xset; then :; else
6695       LD=link
6696     fi
6697     ;;
6698 esac
6699])
6700
6701###########################################################################
6702#                        COIN_ENABLE_DOSCOMPILE                           #
6703###########################################################################
6704
6705# This macro is invoked by any PROG_compiler macro to establish the
6706# --enable-doscompile option, used when one wants to compile an executable
6707# under Cygwin which also runs directly under DOS (without requiring
6708# Cygwin1.dll). The job of this macro is to make sure the option is correct and
6709# to set enable_doscompile. Legal values are mingw, msvc, and no (disabled).
6710# mingw: Fake mingw under cygwin, using GCC tools and -mno-cygwin. The most
6711#        important thing here is that preprocess, compile, and link steps
6712#        *all* see -mno-cygwin.
6713# msvc:  Assume the presence of cl/link. It's the user's responsibility to
6714#        make sure their PATH is correct. In particular, that MSVC link is
6715#        found and not cygwin link (we want to do code linking, not file
6716#        linking).
6717# It's the responsibility of individual PROG_compiler macros to ensure that
6718# they correctly set the compiler search list and preprocess, compile, and
6719# link flags. This is tied to compiler setup because in practice invocations
6720# of the preprocessor and linker are made through the compiler.
6721
6722AC_DEFUN([AC_COIN_ENABLE_DOSCOMPILE],
6723[AC_REQUIRE([AC_CANONICAL_BUILD])
6724 AC_ARG_ENABLE([doscompile],
6725  [AC_HELP_STRING([--enable-doscompile],
6726                  [Under Cygwin, compile so that executables run under DOS.
6727                   Set to mingw to use gcc/g++/ld with -mno-cygwin.
6728                   Set to msvc to use cl/link (or icl/link).
6729                   Default when mentioned: mingw.
6730                   Default when not mentioned: disabled.])],
6731  [if test "$enable_doscompile" != no; then
6732     case $build in
6733       *-cygwin* | *-mingw*) ;;
6734       *) AC_MSG_ERROR([--enable-doscompile option makes sense only under Cygwin or MinGW]) ;;
6735     esac
6736   fi],
6737  [enable_doscompile=no])
6738 case "$enable_doscompile" in
6739   mingw)
6740     case $build in
6741       *-mingw*) enable_doscompile=no ;;
6742     esac
6743     ;;
6744   msvc|no) ;;
6745   yes) enable_doscompile=mingw ;;
6746   *) AC_MSG_ERROR([Invalid value $enable_doscompile for --enable-doscompile.
6747                    Try configure --help=recursive.])
6748      ;;
6749  esac
6750  if test "$enable_doscompile" != no ; then
6751    AC_MSG_NOTICE([DOS compile style is: $enable_doscompile])
6752  fi
6753])
6754
6755###########################################################################
6756#                             COIN_PROG_CXX                               #
6757###########################################################################
6758
6759# Find the compile command by running AC_PROG_CXX (with compiler names for
6760# different operating systems) and put it into CXX (unless it was given by the
6761# user). Then find an appropriate value for CXXFLAGS. If either of CXXFLAGS or
6762# PRJCT_CXXFLAGS is defined, that value is used (replace PRJCT with the upper
6763# case name of this project).  It is possible to provide additional -D flags
6764# in the variable CXXDEFS, and additional compilation flags with ADD_CXXFLAGS.
6765
6766AC_DEFUN([AC_COIN_PROG_CXX],
6767[AC_REQUIRE([AC_COIN_PROG_CC]) #Let's try if that overcomes configuration problem with VC++ 6.0
6768AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
6769AC_LANG_PUSH(C++)
6770
6771AC_ARG_VAR(CXXDEFS,[Additional -D flags to be used when compiling C++ code.])
6772AC_ARG_VAR(ADD_CXXFLAGS,[Additional C++ compiler options])
6773AC_ARG_VAR(DBG_CXXFLAGS,[Debug C++ compiler options])
6774AC_ARG_VAR(OPT_CXXFLAGS,[Optimize C++ compiler options])
6775
6776coin_has_cxx=yes
6777
6778save_cxxflags="$CXXFLAGS"
6779# For *-*-solaris*, promote Studio/Workshop compiler to front of list.
6780case $build in
6781  *-cygwin* | *-mingw*)
6782             if test "$enable_doscompile" = msvc ; then
6783               comps="icl cl"
6784             else
6785               comps="g++ cl"
6786             fi ;;
6787  *-*-solaris*)
6788             comps="CC xlC_r aCC g++ c++ pgCC icpc gpp cxx cc++ cl FCC KCC RCC" ;;
6789  *-darwin*) comps="g++ c++ CC" ;;
6790          *) comps="xlC_r aCC CC g++ c++ pgCC icpc gpp cxx cc++ cl FCC KCC RCC" ;;
6791esac
6792
6793# We delete the cached value, since the test might not have been
6794# performed with our choice of compilers earlier
6795$as_unset ac_cv_prog_CXX || test "${ac_cv_prog_CXX+set}" != set || { ac_cv_prog_CXX=; export ac_cv_prog_CXX; }
6796# AC_MSG_NOTICE([C++ compiler candidates: $comps])
6797AC_PROG_CXX([$comps])
6798
6799#AC_PROG_CXX sets CXX to g++ if it cannot find a working C++ compiler
6800#thus, we test here whether $CXX is actually working
6801AC_LANG_PUSH(C++)
6802AC_MSG_CHECKING([whether C++ compiler $CXX works]);
6803AC_COMPILE_IFELSE(
6804  [AC_LANG_PROGRAM(, [int i=0;])],
6805  [AC_MSG_RESULT(yes)],
6806  [AC_MSG_RESULT(no)
6807   AC_MSG_ERROR(failed to find a C++ compiler or C++ compiler $CXX does not work)]
6808)
6809AC_LANG_POP(C++)
6810
6811# It seems that we need to cleanup something here for the Windows
6812case "$CXX" in
6813  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
6814    sed -e 's/^void exit (int);//' confdefs.h >> confdefs.hh
6815    mv confdefs.hh confdefs.h
6816    ;;
6817esac
6818
6819# Autoconf incorrectly concludes that cl recognises -g. It doesn't.
6820case "$CXX" in
6821  cl* | */cl* | CL* | */CL* )
6822    if test "$ac_cv_prog_cxx_g" = yes ; then
6823      ac_cv_prog_cxx_g=no
6824      AC_MSG_NOTICE([Overruling autoconf; cl does not recognise -g.])
6825    fi ;;
6826esac
6827CXXFLAGS="$save_cxxflags"
6828
6829# Check if a project specific CXXFLAGS variable has been set
6830if test x$COIN_PRJCT != x; then
6831  eval coin_tmp=\${${COIN_PRJCT}_CXXFLAGS+set}
6832  if test x$coin_tmp = xset; then
6833    eval CXXFLAGS=\${${COIN_PRJCT}_CXXFLAGS}
6834  fi
6835fi
6836
6837if test x"$CXXFLAGS" = x; then
6838
6839# ToDo decide whether we want -DNDEBUG for optimization
6840  coin_add_cxxflags=
6841  coin_opt_cxxflags=
6842  coin_dbg_cxxflags=
6843  coin_warn_cxxflags=
6844
6845  if test "$GXX" = "yes"; then
6846    case "$CXX" in
6847      icpc* | */icpc*)
6848        ;;
6849      *)
6850# ToDo decide about unroll-loops
6851        coin_opt_cxxflags="-O3 -fomit-frame-pointer"
6852        coin_add_cxxflags="-pipe"
6853        coin_dbg_cxxflags="-g"
6854        coin_warn_cxxflags="-Wimplicit -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas"
6855        case $build in
6856          *-darwin*)
6857            ;;
6858          *)
6859            coin_warn_cxxflags="-pedantic-errors $coin_warn_cxxflags"
6860            ;;
6861        esac
6862
6863        case $enable_doscompile in
6864          mingw)
6865            CXXFLAGS="-mno-cygwin"
6866            AC_TRY_LINK(,[int i=0; i++;],[coin_add_cxxflags="-mno-cygwin $coin_add_cxxflags"])
6867            CXXFLAGS=
6868          ;;
6869        esac
6870    esac
6871  fi
6872
6873# Note that we do not need to cover GCC in the following tests.
6874
6875  if test -z "$coin_opt_cxxflags"; then
6876    case $build in
6877      *-cygwin* | *-mingw*)
6878        case "$CXX" in
6879          cl* | */cl* | CL* | */CL*)
6880            # The MT and MTd options are mutually exclusive
6881            coin_opt_cxxflags='-MT -O2'
6882            coin_add_cxxflags='-nologo -EHsc -GR -wd4996 -D_CRT_SECURE_NO_DEPRECATE'
6883            coin_dbg_cxxflags='-MTd'
6884            ;;
6885          icl* | */icl* | ICL* | */ICL*)
6886            # The MT and MTd options are mutually exclusive
6887            coin_opt_cxxflags='-MT -Ox'
6888            coin_add_cxxflags='-nologo -EHsc -GR -D_CRT_SECURE_NO_DEPRECATE'
6889            coin_dbg_cxxflags='-MTd -debug'
6890            ;;
6891        esac
6892        ;;
6893      *-linux-*)
6894        case "$CXX" in
6895          icpc* | */icpc*)
6896            coin_opt_cxxflags="-O3 -ip -mp1"
6897            coin_add_cxxflags=""
6898            coin_dbg_cxxflags="-g"
6899            # Check if -i_dynamic is necessary (for new glibc library)
6900            CXXFLAGS=
6901            AC_TRY_LINK(,[int i=0; i++;],[],
6902                        [coin_add_cxxflags="-i_dynamic $coin_add_cxxflags"])
6903            ;;
6904          pgCC* | */pgCC*)
6905            coin_opt_cxxflags="-fast"
6906            coin_add_cxxflags="-Kieee -pc 64"
6907            coin_dbg_cxxflags="-g"
6908            ;;
6909        esac
6910        ;;
6911      *-ibm-*)
6912        case "$CXX" in
6913          xlC* | */xlC* | mpxlC* | */mpxlC*)
6914            coin_opt_cxxflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
6915            coin_add_cxxflags="-bmaxdata:0x80000000 -qrtti=dyna -qsuppress=1500-036 -qsuppress=1500-029 -qsourcetype=c++"
6916            coin_dbg_cxxflags="-g"
6917            ;;
6918        esac
6919        ;;
6920      *-hp-*)
6921        case "$CXX" in
6922          aCC* | */aCC* )
6923            coin_opt_cxxflags="-O"
6924            coin_add_cxxflags="-AA"
6925            coin_dbg_cxxflags="-g"
6926            ;;
6927        esac
6928        ;;
6929      *-*-solaris*)
6930          coin_opt_cxxflags="-O4"
6931          coin_dbg_cxxflags="-g"
6932        ;;
6933    esac
6934  fi
6935
6936# Generic flag settings. If these don't work, add a case above.
6937
6938  if test "$ac_cv_prog_cxx_g" = yes && test -z "$coin_dbg_cxxflags" ; then
6939    coin_dbg_cxxflags="-g"
6940  fi
6941
6942  if test -z "$coin_opt_cxxflags"; then
6943    # Try if -O option works if nothing else is set
6944    CXXFLAGS=-O
6945    AC_TRY_LINK([],[int i=0; i++;],[coin_opt_cxxflags="-O"])
6946  fi
6947
6948  # if PM doesn't want the warning messages, take them out
6949  if test x"$coin_skip_warn_cxxflags" = xyes; then
6950    coin_warn_cxxflags=
6951  fi
6952
6953# Do final setup of flags based on values determined above.
6954
6955  if test x${DBG_CXXFLAGS+set} != xset; then
6956    DBG_CXXFLAGS="$coin_dbg_cxxflags $coin_add_cxxflags $coin_warn_cxxflags"
6957  fi
6958  if test x${OPT_CXXFLAGS+set} != xset; then
6959    OPT_CXXFLAGS="$coin_opt_cxxflags $coin_add_cxxflags -DNDEBUG $coin_warn_cxxflags"
6960  fi
6961
6962  DBG_CXXFLAGS="$DBG_CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
6963  OPT_CXXFLAGS="$OPT_CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
6964
6965  if test "$coin_debug_compile" = "true"; then
6966    CXXFLAGS="$DBG_CXXFLAGS"
6967  else
6968    CXXFLAGS="$OPT_CXXFLAGS"
6969  fi
6970
6971# Handle the case where CXXFLAGS was set externally.
6972else
6973  CXXFLAGS="$CXXFLAGS $ADD_CXXFLAGS $CXXDEFS"
6974  if test x${DBG_CXXFLAGS+set} != xset; then
6975    DBG_CXXFLAGS="$CXXFLAGS"
6976  fi
6977  if test x${OPT_CXXFLAGS+set} != xset; then
6978    OPT_CXXFLAGS="$CXXFLAGS"
6979  fi
6980fi
6981
6982# If CXXFLAGS contains -mno-cygwin, CPPFLAGS must also have it.
6983
6984case "$CXXFLAGS" in
6985  *-mno-cygwin*)
6986    if test x${CPPFLAGS+set} != xset ; then
6987      CPPFLAGS="-mno-cygwin"
6988    else
6989      case "$CPPFLAGS" in
6990        *-mno-cygwin*)
6991          ;;
6992        *)
6993          CPPFLAGS="$CPPFLAGS -mno-cygwin"
6994          ;;
6995      esac
6996    fi ;;
6997esac
6998
6999# Try if CXXFLAGS works
7000save_CXXFLAGS="$CXXFLAGS"
7001AC_TRY_LINK([],[int i=0; i++;],[],[CXXFLAGS=])
7002if test -z "$CXXFLAGS"; then
7003  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.])
7004  CXXFLAGS='-O'
7005  AC_TRY_LINK([],[int i=0; i++;],[],[CXXFLAGS=])
7006  if test -z "$CXXFLAGS"; then
7007    AC_MSG_WARN([This value for CXXFLAGS does not work.  I will continue with empty CXXFLAGS, but you might want to set CXXFLAGS manually.])
7008  fi
7009fi
7010
7011AC_MSG_NOTICE([C++ compiler options are: $CXXFLAGS])
7012
7013AC_ARG_VAR(MPICXX,[C++ MPI Compiler])
7014if test x"$MPICXX" = x; then :; else
7015  AC_MSG_NOTICE([Will use MPI C++ compiler $MPICXX])
7016  CXX="$MPICXX"
7017fi
7018
7019case "$CXX" in
7020  cl* | */cl* | CL* | */CL* )
7021    AC_COIN_MINGW_LD_FIX
7022    ;;
7023esac
7024
7025AC_LANG_POP(C++)
7026]) # AC_COIN_PROG_CXX
7027
7028
7029###########################################################################
7030#                             COIN_CXXLIBS                                #
7031###########################################################################
7032
7033# Determine the C++ runtime libraries required for linking a C++ library
7034# with a Fortran or C compiler.  The result is available in CXXLIBS.
7035
7036AC_DEFUN([AC_COIN_CXXLIBS],
7037[AC_REQUIRE([AC_PROG_CXX])dnl
7038AC_LANG_PUSH(C++)
7039AC_ARG_VAR(CXXLIBS,[Libraries necessary for linking C++ code with Fortran compiler])
7040if test -z "$CXXLIBS"; then
7041  if test "$GXX" = "yes"; then
7042    case "$CXX" in
7043      icpc* | */icpc*)
7044        CXXLIBS="-lstdc++"
7045        ;;
7046      *)
7047        CXXLIBS="-lstdc++ -lm" # -lgcc"
7048        ;;
7049    esac
7050  else
7051    case $build in
7052     *-mingw32 | *-cygwin* )
7053      case "$CXX" in
7054      cl* | */cl* | CL* | */CL*)
7055        CXXLIBS=nothing;;
7056      esac;;
7057     *-linux-*)
7058      case "$CXX" in
7059      icpc* | */icpc*)
7060        CXXLIBS="-lstdc++"
7061             ;;
7062      pgCC* | */pgCC*)
7063        CXXLIBS="-lstd -lC -lc"
7064             ;;
7065      esac;;
7066    *-ibm-*)
7067      CXXLIBS="-lC -lc"
7068      ;;
7069    *-hp-*)
7070      CXXLIBS="-L/opt/aCC/lib -l++ -lstd_v2 -lCsup_v2 -lm -lcl -lc"
7071      ;;
7072    *-*-solaris*)
7073      CXXLIBS="-lCstd -lCrun"
7074    esac
7075  fi
7076fi
7077if test -z "$CXXLIBS"; then
7078  AC_MSG_WARN([Could not automatically determine CXXLIBS (C++ link libraries; necessary if main program is in Fortran or C).])
7079else
7080  AC_MSG_NOTICE([Assuming that CXXLIBS is \"$CXXLIBS\".])
7081fi
7082if test x"$CXXLIBS" = xnothing; then
7083  CXXLIBS=
7084fi
7085AC_LANG_POP(C++)
7086]) # AC_COIN_CXXLIBS
7087
7088###########################################################################
7089#                           COIN_CHECK_HEADER                             #
7090###########################################################################
7091
7092# This macro checks for a header file, but it does so without the
7093# standard header.  This avoids warning messages like:
7094#
7095# configure: WARNING: dlfcn.h: present but cannot be compiled
7096# configure: WARNING: dlfcn.h:     check for missing prerequisite headers?
7097# configure: WARNING: dlfcn.h: see the Autoconf documentation
7098# configure: WARNING: dlfcn.h:     section "Present But Cannot Be Compiled"
7099# configure: WARNING: dlfcn.h: proceeding with the preprocessor's result
7100# configure: WARNING: dlfcn.h: in the future, the compiler will take precedence
7101
7102# My guess that the problem lay with CPPFLAGS seems to be correct. With this
7103# macro reduced to a direct call to AC_CHECK_HEADERS, there are no warnings
7104# now that CPPFLAGS contains -mno-cygwin when it needs it. -- lh, 061214 --
7105
7106# AW 070609: I restored the previous version, since otherwise the warnings
7107# still pop up for the cl compiler
7108
7109AC_DEFUN([AC_COIN_CHECK_HEADER],
7110[#if test x"$4" = x; then
7111#  hdr="#include <$1>"
7112#else
7113#  hdr="$4"
7114#fi
7115#AC_CHECK_HEADERS([$1],[$2],[$3],[$hdr])
7116AC_CHECK_HEADERS([$1],[$2],[$3],[$4])
7117]) # AC_COIN_CHECK_HEADER
7118
7119###########################################################################
7120#                       COIN_CHECK_CXX_CHEADER                             #
7121###########################################################################
7122
7123# This macro checks for C header files that are used from C++.  For a give
7124# stub (e.g., math), it first checks if the C++ library (cmath) is available.
7125# If it is, it defines HAVE_CMATH (or whatever the stub is).  If it is not
7126# available, it checks for the old C head (math.h) and defines HAVE_MATH_H
7127# if that one exists.
7128
7129AC_DEFUN([AC_COIN_CHECK_CXX_CHEADER],
7130[AC_LANG_PUSH(C++)
7131AC_COIN_CHECK_HEADER([c$1],[$2],[$3],[$4])
7132if test "$ac_cv_header_c$1" != "yes"; then
7133  AC_COIN_CHECK_HEADER([$1.h],[$2],[$3],[$4])
7134fi
7135AC_LANG_POP(C++)
7136]) # AC_COIN_CHECK_CXX_CHEADER
7137
7138###########################################################################
7139#                             COIN_PROG_CC                                #
7140###########################################################################
7141
7142# Find the compile command by running AC_PROG_CC (with compiler names
7143# for different operating systems) and put it into CC (unless it was
7144# given my the user), and find an appropriate value for CFLAGS.  It is
7145# possible to provide additional -D flags in the variable CDEFS.
7146
7147AC_DEFUN([AC_COIN_PROG_CC],
7148[AC_REQUIRE([AC_COIN_MINGW_LD_FIX])
7149AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7150AC_LANG_PUSH(C)
7151
7152# For consistency, we set the C compiler to the same value of the C++
7153# compiler, if the C++ is set, but the C compiler isn't (only for CXX=cl)
7154if test x"$CXX" != x; then
7155  case "$CXX" in
7156    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
7157      if test x"$CC" = x; then
7158        CC="$CXX"
7159        AC_MSG_WARN([C++ compiler name provided as $CXX, but CC is unset. Setting CC to $CXX])
7160      fi
7161      ;;
7162  esac
7163fi
7164
7165AC_ARG_VAR(CDEFS,[Additional -D flags to be used when compiling C code.])
7166AC_ARG_VAR(ADD_CFLAGS,[Additional C compiler options])
7167AC_ARG_VAR(DBG_CFLAGS,[Debug C compiler options])
7168AC_ARG_VAR(OPT_CFLAGS,[Optimize C compiler options])
7169
7170coin_has_cc=yes
7171
7172save_cflags="$CFLAGS"
7173
7174# For *-*-solaris*, promote Studio/Workshop cc compiler to front of list.
7175# Depending on the user's PATH, when Studio/Workshop cc is not present we may
7176# find /usr/ucb/cc, which is almost certainly not a good choice for the C
7177# compiler. In this case, put cc after gcc.
7178
7179case $build in
7180  *-cygwin* | *-mingw*)
7181             if test "$enable_doscompile" = msvc ; then
7182               comps="icl cl"
7183             else
7184               comps="gcc cl"
7185             fi ;;
7186  *-*-solaris*)
7187             AC_CHECK_PROG(sol_cc_compiler,cc,cc,[],[],/usr/ucb/cc)
7188             if test "$sol_cc_compiler" = "cc" ; then
7189               comps="cc xlc gcc pgcc icc"
7190             else
7191               comps="xlc gcc pgcc icc cc"
7192             fi
7193             ;;
7194  *-linux-*) comps="xlc gcc cc pgcc icc" ;;
7195  *)         comps="xlc_r xlc cc gcc pgcc icc" ;;
7196esac
7197
7198# We delete the cached value, since the test might not have been
7199# performed with our choice of compilers earlier
7200$as_unset ac_cv_prog_CC || test "${ac_cv_prog_CC+set}" != set || { ac_cv_prog_CC=; export ac_cv_prog_CC; }
7201# AC_MSG_NOTICE([C compiler candidates: $comps])
7202AC_PROG_CC([$comps])
7203if test -z "$CC" ; then
7204  AC_MSG_ERROR([Failed to find a C compiler!])
7205fi
7206# Autoconf incorrectly concludes that cl recognises -g. It doesn't.
7207case "$CC" in
7208  cl* | */cl* | CL* | */CL* )
7209    if test "$ac_cv_prog_cc_g" = yes ; then
7210      ac_cv_prog_cc_g=no
7211      AC_MSG_NOTICE([Overruling autoconf; cl does not recognise -g.])
7212    fi ;;
7213esac
7214CFLAGS="$save_cflags"
7215
7216# Check if a project specific CFLAGS variable has been set
7217if test x$COIN_PRJCT != x; then
7218  eval coin_tmp=\${${COIN_PRJCT}_CFLAGS+set}
7219  if test x$coin_tmp = xset; then
7220    eval CFLAGS=\${${COIN_PRJCT}_CFLAGS}
7221  fi
7222fi
7223
7224if test x"$CFLAGS" = x; then
7225
7226  coin_add_cflags=
7227  coin_opt_cflags=
7228  coin_dbg_cflags=
7229  coin_warn_cflags=
7230
7231  if test "$GCC" = "yes"; then
7232    case "$CC" in
7233      icc* | */icc*)
7234        ;;
7235      *)
7236        coin_opt_cflags="-O3 -fomit-frame-pointer"
7237        coin_add_cflags="-pipe"
7238        coin_dbg_cflags="-g"
7239        coin_warn_cflags="-Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall -Wno-unknown-pragmas"
7240        case $build in
7241          *-darwin*)
7242            ;;
7243          *)
7244            coin_warn_cflags="-pedantic-errors $coin_warn_cflags"
7245            ;;
7246        esac
7247        case $enable_doscompile in
7248          mingw)
7249            CFLAGS="-mno-cygwin"
7250            AC_TRY_LINK([],[int i=0; i++;],
7251                        [coin_add_cflags="-mno-cygwin $coin_add_cflags"])
7252            CFLAGS=
7253          ;;
7254        esac
7255    esac
7256  fi
7257  if test -z "$coin_opt_cflags"; then
7258    case $build in
7259      *-cygwin* | *-mingw*)
7260        case "$CC" in
7261          cl* | */cl* | CL* | */CL*)
7262            coin_opt_cflags='-MT -O2'
7263            coin_add_cflags='-nologo -wd4996 -D_CRT_SECURE_NO_DEPRECATE'
7264            coin_dbg_cflags='-MTd'
7265            ;;
7266          icl* | */icl* | ICL* | */ICL*)
7267            coin_opt_cflags='-MT -Ox'
7268            coin_add_cflags='-nologo -D_CRT_SECURE_NO_DEPRECATE'
7269            coin_dbg_cflags='-MTd -debug'
7270            ;;
7271        esac
7272        ;;
7273      *-linux-*)
7274        case "$CC" in
7275          icc* | */icc*)
7276            coin_opt_cflags="-O3 -ip -mp1"
7277            coin_add_cflags=""
7278            coin_dbg_cflags="-g"
7279            # Check if -i_dynamic is necessary (for new glibc library)
7280            CFLAGS=
7281            AC_TRY_LINK([],[int i=0; i++;],[],
7282                        [coin_add_cflags="-i_dynamic $coin_add_cflags"])
7283            ;;
7284          pgcc* | */pgcc*)
7285            coin_opt_cflags="-fast"
7286            coin_add_cflags="-Kieee -pc 64"
7287            coin_dbg_cflags="-g"
7288            ;;
7289        esac
7290        ;;
7291      *-ibm-*)
7292        case "$CC" in
7293          xlc* | */xlc* | mpxlc* | */mpxlc*)
7294            coin_opt_cflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
7295            coin_add_cflags="-bmaxdata:0x80000000 -qsuppress=1500-036 -qsuppress=1500-029"
7296            coin_dbg_cflags="-g"
7297          ;;
7298        esac
7299        ;;
7300      *-hp-*)
7301        coin_opt_cflags="-O"
7302        coin_add_cflags="-Ae"
7303        coin_dbg_cflags="-g"
7304        ;;
7305      *-*-solaris*)
7306        coin_opt_cflags="-xO4"
7307        coin_dbg_cflags="-g"
7308        ;;
7309      *-sgi-*)
7310        coin_opt_cflags="-O -OPT:Olimit=0"
7311        coin_dbg_cflags="-g"
7312        ;;
7313    esac
7314  fi
7315
7316  if test "$ac_cv_prog_cc_g" = yes && test -z "$coin_dbg_cflags" ; then
7317    coin_dbg_cflags="-g"
7318  fi
7319
7320  if test -z "$coin_opt_cflags"; then
7321    # Try if -O option works if nothing else is set
7322    CFLAGS="-O"
7323    AC_TRY_LINK([],[int i=0; i++;],[coin_opt_cflags="-O"])
7324  fi
7325
7326  # if PM doesn't want the warning messages, take them out
7327  if test x"$coin_skip_warn_cflags" = xyes; then
7328    coin_warn_cflags=
7329  fi
7330
7331  if test x${DBG_CFLAGS+set} != xset; then
7332    DBG_CFLAGS="$coin_dbg_cflags $coin_add_cflags $coin_warn_cflags"
7333  fi
7334  if test x${OPT_CFLAGS+set} != xset; then
7335    OPT_CFLAGS="$coin_opt_cflags $coin_add_cflags -DNDEBUG $coin_warn_cflags"
7336  fi
7337
7338  DBG_CFLAGS="$DBG_CFLAGS $ADD_CFLAGS $CDEFS"
7339  OPT_CFLAGS="$OPT_CFLAGS $ADD_CFLAGS $CDEFS"
7340
7341  if test "$coin_debug_compile" = "true"; then
7342    CFLAGS="$DBG_CFLAGS"
7343  else
7344    CFLAGS="$OPT_CFLAGS"
7345  fi
7346else
7347  CFLAGS="$CFLAGS $ADD_CFLAGS $CDEFS"
7348  if test x${DBG_CFLAGS+set} != xset; then
7349    DBG_CFLAGS="$CFLAGS"
7350  fi
7351  if test x${OPT_CFLAGS+set} != xset; then
7352    OPT_CFLAGS="$CFLAGS"
7353  fi
7354fi
7355
7356# If CFLAGS contains -mno-cygwin, CPPFLAGS must also have it.
7357
7358case "$CFLAGS" in
7359  *-mno-cygwin*)
7360    if test x${CPPFLAGS+set} != xset ; then
7361      CPPFLAGS="-mno-cygwin"
7362    else
7363      case "$CPPFLAGS" in
7364        *-mno-cygwin*)
7365          ;;
7366        *)
7367          CPPFLAGS="$CPPFLAGS -mno-cygwin"
7368          ;;
7369      esac
7370    fi ;;
7371esac
7372
7373# Try if CFLAGS works
7374save_CFLAGS="$CFLAGS"
7375AC_TRY_LINK([],[int i=0; i++;],[],[CFLAGS=])
7376if test -z "$CFLAGS"; then
7377  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.])
7378  CFLAGS='-O'
7379  AC_TRY_LINK([],[int i=0; i++;],[],[CFLAGS=])
7380  if test -z "$CFLAGS"; then
7381    AC_MSG_WARN([This value for CFLAGS does not work.  I will continue with empty CFLAGS, but you might want to set CFLAGS manually.])
7382  fi
7383fi
7384
7385AC_MSG_NOTICE([C compiler options are: $CFLAGS])
7386
7387AC_ARG_VAR(MPICC,[C MPI Compiler])
7388if test x"$MPICC" = x; then :; else
7389  AC_MSG_NOTICE([Will use MPI C compiler $MPICC])
7390  CC="$MPICC"
7391fi
7392
7393# Correct ADDLIBS initialization if we are using the MS compiler
7394case "$CC" in
7395  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
7396    ADDLIBS=
7397    AC_COIN_MINGW_LD_FIX
7398    ;;
7399esac
7400
7401AC_LANG_POP(C)
7402]) # AC_COIN_PROG_CC
7403
7404###########################################################################
7405#                             COIN_PROG_F77                               #
7406###########################################################################
7407
7408# Find the compile command by running AC_PROG_F77 (with compiler names
7409# for different operating systems) and put it into F77 (unless it was
7410# given by the user), and find an appropriate value for FFLAGS
7411
7412AC_DEFUN([AC_COIN_PROG_F77],
7413[AC_REQUIRE([AC_COIN_MINGW_LD_FIX])
7414AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7415AC_REQUIRE([AC_COIN_PROG_CC])
7416AC_REQUIRE([AC_COIN_F77_COMPS])
7417AC_LANG_PUSH([Fortran 77])
7418
7419AC_ARG_VAR(ADD_FFLAGS,[Additional Fortran compiler options])
7420AC_ARG_VAR(DBG_FFLAGS,[Debug Fortran compiler options])
7421AC_ARG_VAR(OPT_FFLAGS,[Optimize Fortran compiler options])
7422
7423coin_has_f77=yes
7424
7425save_fflags="$FFLAGS"
7426
7427# We delete the cached value, since the test might not have been
7428# performed with our choice of compilers earlier
7429$as_unset ac_cv_prog_F77 || test "${ac_cv_prog_F77+set}" != set || { ac_cv_prog_F77=; export ac_cv_prog_F77; }
7430
7431# This is a real belt-and-suspenders approach. AC_COIN_FIND_F77 will use
7432# coin_f77_comps to see if there's a program that matches one of the names.
7433# If there's no such program, F77 = unavailable. If we match the name,
7434# feed AC_PROG_F77 the same search list, just to be sure it's a functioning
7435# compiler.
7436# AC_MSG_NOTICE([Fortran compiler candidates: $coin_f77_comps])
7437AC_COIN_FIND_F77
7438if test "$F77" != "unavailable" ; then
7439  AC_PROG_F77($coin_f77_comps)
7440else
7441  AC_MSG_WARN([Failed to find a Fortran compiler!])
7442fi
7443
7444FFLAGS="$save_fflags"
7445
7446# Check if a project specific FFLAGS variable has been set
7447if test x$COIN_PRJCT != x; then
7448  eval coin_tmp=\${${COIN_PRJCT}_FFLAGS+set}
7449  if test x$coin_tmp = xset; then
7450    eval FFLAGS=\${${COIN_PRJCT}_FFLAGS}
7451  fi
7452fi
7453
7454if test "$F77" != "unavailable" && test x"$FFLAGS" = x ; then
7455
7456  coin_add_fflags=
7457  coin_opt_fflags=
7458  coin_dbg_fflags=
7459  coin_warn_fflags=
7460
7461  if test "$G77" = "yes"; then
7462    coin_opt_fflags="-O3 -fomit-frame-pointer"
7463    coin_add_fflags="-pipe"
7464    coin_dbg_fflags="-g"
7465    case $enable_doscompile in
7466      mingw)
7467        FFLAGS="-mno-cygwin"
7468        AC_TRY_LINK(,[      write(*,*) 'Hello world'],
7469                    [coin_add_fflags="-mno-cygwin $coin_add_fflags"])
7470        FFLAGS=
7471      ;;
7472    esac
7473  else
7474    case $build in
7475      *-cygwin* | *-mingw*)
7476        case $F77 in
7477          ifort* | */ifort* | IFORT* | */IFORT* )
7478            coin_opt_fflags='-MT -O3'
7479            coin_add_fflags='-fpp -nologo'
7480            coin_dbg_fflags='-MTd -debug'
7481          ;;
7482          compile_f2c*)
7483            coin_opt_fflags='-MT -O2'
7484            coin_add_fflags='-nologo -wd4996'
7485            coin_dbg_fflags='-MTd'
7486          ;;
7487        esac
7488        ;;
7489      *-linux-*)
7490        case $F77 in
7491          ifc* | */ifc* | ifort* | */ifort*)
7492            coin_opt_fflags="-O3 -ip"
7493            coin_add_fflags="-cm -w90 -w95"
7494            coin_dbg_fflags="-g -CA -CB -CS"
7495            # Check if -i_dynamic is necessary (for new glibc library)
7496            FFLAGS=
7497            AC_TRY_LINK(,[      write(*,*) 'Hello world'],[],
7498                        [coin_add_fflags="-i_dynamic $coin_add_fflags"])
7499            ;;
7500          pgf77* | */pgf77* | pgf90* | */pgf90*)
7501            coin_opt_fflags="-fast"
7502            coin_add_fflags="-Kieee -pc 64"
7503            coin_dbg_fflags="-g"
7504          ;;
7505        esac
7506        ;;
7507      *-ibm-*)
7508        case "$F77" in
7509          xlf* | */xlf* | mpxlf* | */mpxlf* )
7510            coin_opt_fflags="-O -qarch=auto -qcache=auto -qtune=auto -qmaxmem=-1"
7511            coin_add_fflags="-bmaxdata:0x80000000 -qsuppress=1500-036 -qsuppress=1500-029"
7512            coin_dbg_fflags="-g -C"
7513            ;;
7514        esac
7515        ;;
7516      *-hp-*)
7517        coin_opt_fflags="+O3"
7518        coin_add_fflags="+U77"
7519        coin_dbg_fflags="-C -g"
7520        ;;
7521      *-*-solaris*)
7522        coin_opt_fflags="-O4"
7523        coin_dbg_fflags="-g"
7524        ;;
7525      *-sgi-*)
7526        coin_opt_fflags="-O5 -OPT:Olimit=0"
7527        coin_dbg_fflags="-g"
7528        ;;
7529    esac
7530  fi
7531
7532  if test "$ac_cv_prog_f77_g" = yes && test -z "$coin_dbg_fflags" ; then
7533    coin_dbg_fflags="-g"
7534  fi
7535
7536  if test -z "$coin_opt_fflags"; then
7537    # Try if -O option works if nothing else is set
7538    FFLAGS=-O
7539    AC_TRY_LINK(,[      integer i], [coin_opt_fflags="-O"])
7540  fi
7541
7542  # if PM doesn't want the warning messages, take them out
7543  if test x"$coin_skip_warn_fflags" = xyes; then
7544    coin_warn_fflags=
7545  fi
7546
7547  if test x${DBG_FFLAGS+set} != xset; then
7548    DBG_FFLAGS="$coin_dbg_fflags $coin_add_fflags $coin_warn_fflags"
7549  fi
7550  if test x${OPT_FFLAGS+set} != xset; then
7551    OPT_FFLAGS="$coin_opt_fflags $coin_add_fflags $coin_warn_fflags"
7552  fi
7553
7554  DBG_FFLAGS="$DBG_FFLAGS $ADD_FFLAGS"
7555  OPT_FFLAGS="$OPT_FFLAGS $ADD_FFLAGS"
7556
7557  if test "$coin_debug_compile" = "true"; then
7558    FFLAGS="$DBG_FFLAGS"
7559  else
7560    FFLAGS="$OPT_FFLAGS"
7561  fi
7562else
7563  FFLAGS="$FFLAGS $ADD_FFLAGS"
7564  if test x${DBG_FFLAGS+set} != xset; then
7565    DBG_FFLAGS="$FFLAGS"
7566  fi
7567  if test x${OPT_FFLAGS+set} != xset; then
7568    OPT_FFLAGS="$FFLAGS"
7569  fi
7570fi
7571
7572# If FFLAGS contains -mno-cygwin, CPPFLAGS must have it.
7573case "$FFLAGS" in
7574  *-mno-cygwin*)
7575    if test x${CPPFLAGS+set} != xset ; then
7576      CPPFLAGS="-mno-cygwin"
7577    else
7578      case "$CPPFLAGS" in
7579        *-mno-cygwin*)
7580          ;;
7581        *)
7582          CPPFLAGS="$CPPFLAGS -mno-cygwin"
7583          ;;
7584      esac
7585    fi ;;
7586esac
7587
7588# Try if FFLAGS works
7589if test "$F77" != "unavailable" ; then
7590  AC_TRY_LINK(,[      integer i],[],[FFLAGS=])
7591  if test -z "$FFLAGS"; then
7592    AC_MSG_WARN([The flags FFLAGS="$FFLAGS" do not work.  I will now just try '-O', but you might want to set FFLAGS manually.])
7593    FFLAGS='-O'
7594    AC_TRY_LINK(,[      integer i],[],[FFLAGS=])
7595    if test -z "$FFLAGS"; then
7596      AC_MSG_WARN([This value for FFLAGS does not work.  I will continue with empty FFLAGS, but you might want to set FFLAGS manually.])
7597    fi
7598  fi
7599fi
7600
7601AC_MSG_NOTICE([Fortran compiler options are: $FFLAGS])
7602
7603AC_ARG_VAR(MPIF77,[Fortran MPI Compiler])
7604if test x"$MPIF77" = x; then :; else
7605  AC_MSG_NOTICE([Will use MPI Fortran compiler $MPIF77])
7606  F77="$MPIF77"
7607fi
7608
7609case "$F77" in
7610  ifort* | */ifort* | IFORT* | */IFORT*)
7611    AC_COIN_MINGW_LD_FIX
7612    ;;
7613esac
7614
7615AC_LANG_POP([Fortran 77])
7616]) # AC_COIN_PROG_F77
7617
7618###########################################################################
7619#                           COIN_F77_WRAPPERS                             #
7620###########################################################################
7621
7622# Calls autoconfs AC_F77_WRAPPERS and does additional corrections to FLIBS
7623
7624AC_DEFUN([AC_COIN_F77_WRAPPERS],
7625[AC_BEFORE([AC_COIN_PROG_F77],[$0])dnl
7626AC_BEFORE([AC_PROG_F77],[$0])dnl
7627
7628AC_LANG_PUSH([Fortran 77])
7629
7630save_FLIBS="$FLIBS"
7631
7632AC_F77_WRAPPERS
7633
7634if test x"$save_FLIBS" != x; then
7635  FLIBS="$save_FLIBS"
7636else
7637  # This is to correct a missing exclusion in autoconf 2.59
7638  if test x"$FLIBS" != x; then
7639    my_flibs=
7640    for flag in $FLIBS; do
7641      case $flag in
7642        -lcrt*.o) ;;
7643               *) my_flibs="$my_flibs $flag" ;;
7644      esac
7645    done
7646    FLIBS="$my_flibs"
7647  fi
7648
7649  case $build in
7650  # The following is a fix to define FLIBS for ifort on Windows
7651  # In its original version, it linked in libifcorert.lib or libifcorertd.lib on Windows/ifort explicitly.
7652  # However, this seem to create a dependency on libifcorert.dll (or libifcorertd.dll) in the executables.
7653  # This is seem to be unnecessary, libifcorert(d).lib has been removed from the link line.
7654     *-cygwin* | *-mingw*)
7655       case "$F77" in
7656         ifort* | */ifort* | IFORT* | */IFORT*)
7657           FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib"
7658#           if "$coin_debug_compile" = true ; then
7659#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib"
7660#           else
7661#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmtd.lib"
7662#           fi
7663           ;;
7664         compile_f2c*)
7665           FLIBS=`$F77 -FLIBS` ;;
7666       esac;;
7667     *-hp-*)
7668         FLIBS="$FLIBS -lm";;
7669     *-ibm-*)
7670         FLIBS=`echo $FLIBS | sed 's/-lc)/-lc/g'` ;;
7671     *-linux-*)
7672       case "$F77" in
7673         pgf77* | */pgf77* | pgf90* | */pgf90*)
7674# ask linker to go through the archives multiple times
7675# (the Fortran compiler seems to do that automatically...
7676           FLIBS="-Wl,--start-group $FLIBS -Wl,--end-group" ;;
7677       esac
7678  esac
7679  ac_cv_f77_libs="$FLIBS"
7680fi
7681
7682AC_LANG_POP([Fortran 77])
7683
7684]) # AC_COIN_F77_WRAPPERS
7685
7686###########################################################################
7687#                             COIN_FIND_F77                               #
7688###########################################################################
7689
7690# Attempt to preempt autoconf by locating an appropriate F77 program. This
7691# macro will not trigger a fatal error if a suitable compiler cannot be
7692# found. It should be called before COIN_PROG_F77 or COIN_TRY_FLINK.
7693
7694AC_DEFUN([AC_COIN_FIND_F77],
7695[AC_REQUIRE([AC_COIN_ENABLE_DOSCOMPILE])
7696AC_REQUIRE([AC_COIN_F77_COMPS])
7697AC_MSG_NOTICE([Trying to determine Fortran compiler name])
7698AC_CHECK_PROGS([F77],[$coin_f77_comps],[unavailable])
7699])
7700
7701# Auxilliary macro to make sure both COIN_PROG_F77 and COIN_FIND_F77 use
7702# the same search lists for compiler names.
7703# For *-*-solaris*, promote Studio/Workshop compilers to front of list.
7704AC_DEFUN([AC_COIN_F77_COMPS],
7705[case $build in
7706  *-cygwin* | *-mingw*)
7707     if test "$enable_doscompile" = msvc ; then
7708       coin_f77_comps="ifort fl32 compile_f2c"
7709     else
7710       coin_f77_comps="gfortran g77 ifort fl32 compile_f2c"
7711     fi ;;
7712  *-*-solaris*)
7713     coin_f77_comps="f95 f90 f77 xlf_r fort77 gfortran g77 pgf90 pgf77 ifort ifc frt af77" ;;
7714  *) coin_f77_comps="xlf_r fort77 gfortran f77 g77 pgf90 pgf77 ifort ifc frt af77" ;;
7715 esac
7716])
7717
7718###########################################################################
7719#                          COIN_INIT_AUTOMAKE                             #
7720###########################################################################
7721
7722# This macro calls the regular INIT_AUTOMAKE and MAINTAINER_MODE
7723# macros, and defines additional variables and makefile conditionals,
7724# that are used in the maintainer parts of the makfile.  It also
7725# checks if the correct versions of the autotools are used.
7726#
7727# This also defines the AC_SUBST variables:
7728# abs_source_dir     absolute path to source code for this package
7729# abs_bin_dir        absolute path to the directory where binaries are
7730#                    going to be installed (prefix/bin)
7731# abs_lib_dir        absolute path to the directory where libraries are
7732#                    going to be installed (prefix/lib)
7733# abs_include_dir    absolute path to the directory where the header files
7734#                    are installed (prefix/include)
7735
7736AC_DEFUN([AC_COIN_INIT_AUTOMAKE],
7737[AC_REQUIRE([AC_PROG_EGREP])
7738
7739# AC_MSG_NOTICE([Beginning automake initialisation.])
7740# Stuff for automake
7741AM_INIT_AUTOMAKE
7742AM_MAINTAINER_MODE
7743
7744coin_have_externals=no
7745if test "$enable_maintainer_mode" = yes; then
7746
7747  # If maintainer mode is chosen, we make sure that the correct versions
7748  # of the tools are used, and that we know where libtool.m4 is (to
7749  # recreate acinclude.m4)
7750
7751  AC_SUBST(LIBTOOLM4)
7752  LIBTOOLM4=
7753  # Normally, $HOME
7754  AUTOTOOLS_DFLT=$HOME
7755
7756  AC_CACHE_CHECK([whether we are using the correct autotools],
7757                 [ac_cv_use_correct_autotools],
7758                 [ac_cv_use_correct_autotools=check])
7759
7760  if test $ac_cv_use_correct_autotools = check; then
7761    ac_cv_use_correct_autotools=yes
7762    # Check if we have autoconf
7763    AC_CHECK_PROG([have_autoconf],[autoconf],[yes],[no])
7764    if test $have_autoconf = no; then
7765      AC_MSG_ERROR([You specified you want to use maintainer mode, but I cannot find autoconf in your path.])
7766    fi
7767
7768    # Check whether autoconf is the correct version
7769    correct_version='2.59'
7770    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7771    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of autoconf])
7772    autoconf --version > confauto.out 2>&1
7773    if $EGREP $grep_version confauto.out >/dev/null 2>&1; then
7774      AC_MSG_RESULT([yes])
7775    else
7776      rm -f confauto.out
7777      AC_MSG_RESULT([no])
7778      AC_MSG_ERROR([You don't have the correct version of autoconf as the first one in your path.])
7779    fi
7780    rm -f confauto.out
7781
7782    # Check if the executable autoconf is picked up from the correct location
7783    AC_MSG_CHECKING([whether autoconf is coming from the correct location])
7784    autoconf_dir=`which autoconf | sed -e 's=/autoconf=='`
7785    autoconf_dir=`cd $autoconf_dir; pwd`
7786    if test x$AUTOTOOLS_DIR = x; then
7787      want_dir=$AUTOTOOLS_DFLT/bin
7788    else
7789      want_dir=$AUTOTOOLS_DIR/bin
7790    fi
7791    if test $autoconf_dir = `cd $want_dir; pwd`; then
7792      AC_MSG_RESULT([yes])
7793    else
7794      rm -f confauto.out
7795      AC_MSG_RESULT([no])
7796      AC_MSG_ERROR([The autoconf executable should be picked up from \$AUTOTOOLS_DFLT/bin or \$AUTOTOOLS_DIR/bin.])
7797    fi
7798
7799    # Check if we have automake
7800    AC_CHECK_PROG([have_automake],[automake],[yes],[no])
7801    if test $have_automake = no; then
7802      AC_MSG_ERROR([You specified you want to use maintainer mode, but I cannot find automake in your path.])
7803    fi
7804 
7805    # Check whether automake is the correct version
7806    correct_version='1.9.6'
7807    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7808    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of automake])
7809    automake --version > confauto.out 2>&1
7810    if $EGREP $grep_version confauto.out >/dev/null 2>&1; then
7811      AC_MSG_RESULT([yes])
7812    else
7813      rm -f confauto.out
7814      AC_MSG_RESULT([no])
7815      AC_MSG_ERROR([You don't have the correct version of automake as the first one in your path.])
7816    fi
7817    rm -f confauto.out
7818
7819    # Check if the executable automake is picked up from the correct location
7820    AC_MSG_CHECKING([whether automake is coming from the correct location])
7821    automake_dir=`which automake | sed -e 's=/automake=='`
7822    automake_dir=`cd $automake_dir; pwd`
7823    if test x$AUTOTOOLS_DIR = x; then
7824      want_dir=$AUTOTOOLS_DFLT/bin
7825    else
7826      want_dir=$AUTOTOOLS_DIR/bin
7827    fi
7828    if test $automake_dir = `cd $want_dir; pwd`; then
7829      AC_MSG_RESULT([yes])
7830    else
7831      rm -f confauto.out
7832      AC_MSG_RESULT([no])
7833      AC_MSG_ERROR([The automake executable should be picked up from \$AUTOTOOLS_DFLT/bin or \$AUTOTOOLS_DIR/bin.])
7834    fi
7835
7836    # Check if this is the correct version of libtool (with escaped dots)
7837    if test x$AUTOTOOLS_DIR = x; then
7838      want_dir=$AUTOTOOLS_DFLT/share
7839    else
7840      want_dir=$AUTOTOOLS_DIR/share
7841    fi
7842    correct_version='1.5.22'
7843    grep_version=`echo  $correct_version | sed -e 's/\\./\\\\\\./g'`
7844    AC_COIN_CHECK_FILE([$want_dir/libtool/ltmain.sh],
7845                       [have_ltmain=yes],
7846                       [have_ltmain=no])
7847    AC_MSG_CHECKING([whether we are using the correct version ($correct_version) of libtool.])
7848    if test $have_ltmain = yes; then
7849    if $EGREP $grep_version $want_dir/libtool/ltmain.sh >/dev/null 2>&1; then
7850        AC_MSG_RESULT([yes])
7851      else
7852        AC_MSG_RESULT([no])
7853        AC_MSG_ERROR([You don't have the correct version of libtool.])
7854      fi
7855    else
7856      AC_MSG_RESULT([no])
7857      AC_MSG_ERROR([I cannot find the ltmain.sh file.])
7858    fi
7859  fi
7860
7861  # Check if we can find the libtool file
7862  if test x$AUTOTOOLS_DIR = x; then
7863    want_dir=$AUTOTOOLS_DFLT/share
7864  else
7865    want_dir=$AUTOTOOLS_DIR/share
7866  fi
7867  AC_COIN_CHECK_FILE([$want_dir/aclocal/libtool.m4],
7868                     [LIBTOOLM4="$want_dir/aclocal/libtool.m4"],
7869                     [AC_MSG_ERROR([I cannot find the libtool.m4 file.])])
7870
7871  # Check if we have an Externals file
7872  if test -r $srcdir/Externals; then
7873    coin_have_externals=yes
7874  fi
7875  # Check if subversion is installed and understands https
7876  AC_CHECK_PROG([have_svn],[svn],[yes],[no])
7877  if test x$have_svn = xyes; then
7878    AC_CACHE_CHECK([whether svn understands https],
7879                   [ac_cv_svn_understands_https],
7880                   [svn --version > confauto.out 2>&1
7881                    if $EGREP https confauto.out >/dev/null 2>&1; then
7882                      ac_cv_svn_understands_https=yes
7883                    else
7884                      ac_cv_svn_understands_https=no
7885                      have_svn=no
7886                      ac_cv_prog_have_svn=no
7887                    fi
7888                    rm -f confauto.out])
7889  fi
7890
7891  # Find the location of the BuildTools directory
7892  BUILDTOOLSDIR=
7893  if test -r $srcdir/BuildTools/coin.m4; then
7894    BUILDTOOLSDIR=$srcdir/BuildTools
7895  else
7896    if test -r $srcdir/../BuildTools/coin.m4; then
7897      BUILDTOOLSDIR=$srcdir/../BuildTools
7898    else
7899      if test -r $srcdir/../../BuildTools/coin.m4; then
7900        BUILDTOOLSDIR=$srcdir/../../BuildTools
7901      else
7902        AC_MSG_ERROR(Cannot find the BuildTools directory)
7903      fi
7904    fi
7905  fi
7906  AC_SUBST(BUILDTOOLSDIR)
7907
7908  # The following variable is set to the name of the directory where
7909  # the autotool scripts are located
7910  AC_SUBST(AUX_DIR)
7911  AUX_DIR=$ac_aux_dir
7912fi
7913
7914# helpful variable for the base directory of this package
7915abs_source_dir=`cd $srcdir; pwd`
7916AC_SUBST(abs_source_dir)
7917
7918# Stuff for example Makefiles
7919if test x$prefix = xNONE; then
7920  full_prefix=$ac_default_prefix
7921else
7922  full_prefix=$prefix
7923fi
7924full_prefix=`cd $full_prefix ; pwd`
7925AC_SUBST(abs_lib_dir)
7926abs_lib_dir=$full_prefix/lib
7927AC_SUBST(abs_include_dir)
7928abs_include_dir=$full_prefix/include
7929AC_SUBST(abs_bin_dir)
7930abs_bin_dir=$full_prefix/bin
7931
7932AM_CONDITIONAL(HAVE_EXTERNALS,
7933               test $coin_have_externals = yes && test x$have_svn = xyes)
7934
7935# AC_MSG_NOTICE([End automake initialisation.])
7936
7937]) # AC_COIN_INIT_AUTOMAKE
7938
7939###########################################################################
7940#                          COIN_CREATE_LIBTOOL                            #
7941###########################################################################
7942
7943# This does all the tests necessary to create the libtool script in the
7944# package base directory.  If this is used, then the COIN_INIT_AUTO_TOOLS
7945# test in the subdirectories will be able to skip the libtool tests and
7946# just use the one in the package base directory.
7947
7948m4_define([AC_COIN_CREATE_LIBTOOL],
7949[AC_CANONICAL_BUILD
7950
7951# Check if user wants to produce debugging code
7952AC_COIN_DEBUG_COMPILE
7953
7954# Get the name of the C compiler and appropriate compiler options
7955AC_COIN_PROG_CC
7956
7957# Get the name of the C++ compiler and appropriate compiler options
7958AC_COIN_PROG_CXX
7959
7960# Get the name of the Fortran compiler and appropriate compiler options
7961AC_COIN_PROG_F77
7962
7963# Initialize automake and libtool
7964# AC_MSG_NOTICE([Calling INIT_AUTO_TOOLS from CREATE_LIBTOOL.])
7965AC_COIN_INIT_AUTO_TOOLS
7966# AC_MSG_NOTICE([Finished INIT_AUTO_TOOLS from CREATE_LIBTOOL.])
7967])
7968
7969###########################################################################
7970#                         COIN_INIT_AUTO_TOOLS                            #
7971###########################################################################
7972
7973# Initialize the auto tools automake and libtool, with all
7974# modifications we want for COIN packages.
7975#
7976# RPATH_FLAGS        link flags for hardcoding path to shared objects
7977
7978# This is a trick to have this code before AC_COIN_PROG_LIBTOOL
7979AC_DEFUN([AC_COIN_DISABLE_STATIC],
7980[
7981# Test if force_shared has been set
7982if test "x$1" = xforce_shared; then
7983  if test x$enable_shared = xno; then
7984    AC_MSG_ERROR([Shared libraries are disabled by user, but this is not feasible with the given options])
7985  fi
7986  enable_shared=yes;
7987else
7988  # On Cygwin and AIX, building DLLs doesn't work
7989  case $build in
7990    *-cygwin*)
7991      coin_disable_shared=yes
7992      platform=Cygwin
7993    ;;
7994    *-aix*)
7995      coin_disable_shared=yes
7996      platform=AIX
7997    ;;
7998    *-mingw*)
7999      coin_disable_shared=yes
8000      platform="Msys"
8001#      case "$CXX" in
8002#        cl*)
8003#          coin_disable_shared=yes
8004#          platform="Msys with cl"
8005#      ;;
8006#      esac
8007    ;;
8008  esac
8009fi
8010if test x"$coin_disable_shared" = xyes; then
8011  if test x"$enable_shared" = xyes; then
8012    AC_MSG_WARN([On $platform, shared objects are not supported. I'm disabling your choice.])
8013  fi
8014  enable_shared=no
8015fi
8016# By default, we only want the shared objects to be compiled
8017AC_DISABLE_STATIC
8018])
8019
8020m4_define([AC_COIN_INIT_AUTO_TOOLS],
8021[{AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8022AC_BEFORE([AC_COIN_PROG_CC],[$0])
8023AC_BEFORE([AC_COIN_PROG_F77],[$0])
8024
8025# START
8026AC_COIN_DISABLE_STATIC([$1])
8027
8028# Initialize automake
8029AC_COIN_INIT_AUTOMAKE
8030
8031LIBTOOL=
8032if test -r ../libtool; then
8033  coin_config_dir=..
8034  LIBTOOL='$(SHELL) $(top_builddir)/../libtool'
8035fi
8036if test "x$LIBTOOL" = x; then
8037  if test -r ../../libtool; then
8038    coin_config_dir=../..
8039    LIBTOOL='$(SHELL) $(top_builddir)/../../libtool'
8040  fi
8041fi
8042
8043if test "x$LIBTOOL" = x; then
8044# AC_MSG_NOTICE([Creating libtool script (calling COIN_PROG_LIBTOOL).])
8045  # Stuff for libtool
8046  AC_COIN_PROG_LIBTOOL
8047# AC_MSG_NOTICE([Finished COIN_PROG_LIBTOOL.])
8048  # set RPATH_FLAGS to the compiler link flags required to hardcode location
8049  # of the shared objects
8050  AC_COIN_RPATH_FLAGS($abs_lib_dir)
8051
8052else
8053
8054  AC_MSG_NOTICE([Using libtool script in directory $coin_config_dir])
8055  # get all missing information from the config.log file
8056
8057  # output variables and defines
8058  as_save_IFS=$IFS
8059  IFS='
8060'
8061  for oneline in `cat $coin_config_dir/config.status`; do
8062    case "$oneline" in
8063         # First some automake conditionals
8064      s,@am__fastdep* | s,@AR@* | s,@CPP@*  | s,@CPPFLAGS@* | s,@CXXCPP@*  | \
8065      s,@RANLIB@* | s,@STRIP@* | s,@ac_ct_AR@* | s,@ac_ct_RANLIB@* | \
8066      s,@ac_ct_STRIP@* | s,@host* | s,@LN_S@* | s,@RPATH_FLAGS@* | \
8067      s,@ac_c_preproc_warn_flag@* |  s,@ac_cxx_preproc_warn_flag@* )
8068        command=`echo $oneline | sed -e 's/^s,@//' -e 's/@,/="/' -e 's/,;t t/"/'`
8069#        echo "$command"
8070        eval "$command"
8071        ;;
8072      s,@DEFS@* )
8073        command=`echo $oneline | sed -e 's/^s,@DEFS@,/defsline="/' -e 's/,;t t/"/'`
8074#        echo "$command"
8075        eval "$command"
8076        ;;
8077    esac
8078  done
8079  IFS=$as_save_IFS
8080
8081  # And some defines (assuming here that the packages base dir
8082  # doesn't have a config.h file
8083  for word in $defsline; do
8084#    echo word $word
8085    case $word in
8086      -DHAVE_@<:@A-Z_@:>@*_H=1 | -DSTDC_HEADERS=1 )
8087        i=`echo $word | sed -e 's/-D/#define /' -e 's/=/ /'`
8088#        echo dd $i
8089        echo $i >>confdefs.h
8090        ;;
8091    esac
8092  done
8093fi
8094
8095# AC_MSG_NOTICE([End of INIT_AUTO_TOOLS.])
8096
8097# ToDo
8098# For now, don't use the -no-undefined flag, since the Makefiles are
8099# not yet set up that way.  But we need to fix this, when we want
8100# to comile DLLs under Windows.
8101LT_LDFLAGS=
8102AC_SUBST(LT_LDFLAGS)
8103
8104#END
8105}])
8106
8107
8108###########################################################################
8109#                      COIN_PATCH_LIBTOOL_CYGWIN                          #
8110###########################################################################
8111
8112# Patches to libtool for cygwin. Lots for cl, a few for GCC.
8113# For cl:
8114# - cygpath is not correctly quoted in fix_srcfile_path
8115# - paths generated for .lib files is not run through cygpath -w
8116
8117
8118AC_DEFUN([AC_COIN_PATCH_LIBTOOL_CYGWIN],
8119[ case "$CXX" in
8120    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8121      AC_MSG_NOTICE(Applying patches to libtool for cl compiler)
8122      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8123          -e 's|fix_srcfile_path=\"\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8124          -e 's%compile_deplibs=\"\$dir/\$old_library \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$old_library | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
8125          -e 's%compile_deplibs=\"\$dir/\$linklib \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$linklib | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
8126          -e 's%lib /OUT:%lib -OUT:%' \
8127          -e "s%cygpath -w%$CYGPATH_W%" \
8128          -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%' \
8129          -e 's/$AR t/lib -nologo -list/' \
8130          -e 's%f_ex_an_ar_oldlib="\($?*1*\)"%f_ex_an_ar_oldlib='\`"$CYGPATH_W"' \1`%' \
8131          -e 's%^archive_cmds=.*%archive_cmds="\\$CC -o \\$lib \\$libobjs \\$compiler_flags \\\\\\`echo \\\\\\"\\$deplibs\\\\\\" | \\$SED -e '"\'"'s/ -lc\\$//'"\'"'\\\\\\` -link -dll~linknames="%' \
8132          -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"%' \
8133      libtool > conftest.bla
8134
8135      mv conftest.bla libtool
8136      chmod 755 libtool
8137      ;;
8138    *)
8139      AC_MSG_NOTICE(Applying patches to libtool for GNU compiler)
8140      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
8141          -e 's|"lib /OUT:\\$oldlib\\$oldobjs\\$old_deplibs"|"\\$AR \\$AR_FLAGS \\$oldlib\\$oldobjs\\$old_deplibs~\\$RANLIB \\$oldlib"|' \
8142          -e 's|libext="lib"|libext="a"|' \
8143      libtool > conftest.bla
8144
8145      mv conftest.bla libtool
8146      chmod 755 libtool
8147      ;;
8148  esac ]) # COIN_PATCH_LIBTOOL_CYGWIN
8149
8150###########################################################################
8151#                    COIN_PATCH_LIBTOOL_SOLARIS                           #
8152###########################################################################
8153# If we want to do a 64-bit build with GCC on Solaris, the system search
8154# libraries need to point to 64-bit subdirectories. If they do not already do
8155# that, fix them. This patch is evolving, as are GCC compilers.  GCC 4.2.1
8156# reports the correct search list, given the correct call. GCC 4.1.1 does not.
8157# `Correct call' means -m64 is specified. `Correct search list' seems to amount
8158# to prepending the list of 64-bit subdirectories to the 32-bit directories.
8159# Both SPARC and x86 have this issue, but a different hardware id string is
8160# required depending on the underlying CPU. The macro executes isainfo to get
8161# the string. This will fail, of course, if we're cross-compiling. The
8162# alternative is to fail on a regular basis each time a new CPU identifier is
8163# needed. This macro will also fail if the search list reported with
8164# -print-search-dirs differs between the C, C++, and Fortran compilers; each
8165# have their own setting in libtool.  If GCC reports the correct search list
8166# given the -m64 flag, the best solution is to define CC='gcc -m64', and
8167# similarly for CXX, F77, so that libtool will make the correct call.
8168###########################################################################
8169AC_DEFUN([AC_COIN_PATCH_LIBTOOL_SOLARIS],
8170[ if test "$GCC" = yes && \
8171     (echo $CXXFLAGS $CFLAGS $FFLAGS | $EGREP 'm64' >/dev/null 2>&1) ; then
8172    hdwisa=`isainfo | sed -e 's/\(@<:@^ @:>@*\) .*$/\1/'`
8173    if `$EGREP 'sys_lib_search_path_spec=' libtool | $EGREP -v $hdwisa >/dev/null 2>&1` ; then
8174      AC_MSG_NOTICE([Applying patches to libtool for 64-bit GCC compilation])
8175      fixlibtmp=`$CC -m64 -print-search-dirs | $EGREP '^libraries:'`
8176      fixlibtmp=`echo $fixlibtmp | sed -e 's/libraries: =//' -e 's/:/ /g'`
8177      if `echo "$fixlibtmp" | $EGREP -v $hdwisa  >/dev/null 2>&1` ; then
8178        # AC_MSG_NOTICE(Compensating for broken gcc)
8179        for lib in $fixlibtmp ; do
8180          if test -d "${lib}${hdwisa}" ; then
8181            syslibpath64="$syslibpath64 ${lib}${hdwisa}/"
8182          fi
8183        done
8184        syslibpath64="${syslibpath64} ${fixlibtmp}"
8185      else
8186        syslibpath64="$fixlibtmp"
8187      fi
8188      sed -e 's|sys_lib_search_path_spec=".*"|sys_lib_search_path_spec="'"$syslibpath64"'"|' libtool > conftest.bla
8189      mv conftest.bla libtool
8190      chmod 755 libtool 
8191    fi
8192    # AC_MSG_NOTICE(Result is )
8193    # $EGREP 'sys_lib_search_path_spec=' libtool
8194  fi ]) # COIN_PATCH_LIBTOOL_SOLARIS
8195
8196###########################################################################
8197#                           COIN_PROG_LIBTOOL                             #
8198###########################################################################
8199
8200# Setup the libtool stuff together with any modifications to make it
8201# work on additional platforms
8202
8203AC_DEFUN([AC_COIN_LIBTOOL_WRAPPER],
8204[AC_BEFORE([AC_COIN_BLA],[$0])
8205AC_PROG_LIBTOOL])
8206
8207AC_DEFUN([AC_COIN_BLA],[echo bla])
8208
8209AC_DEFUN([AC_COIN_PROG_LIBTOOL],
8210[# No longer needed now that CPPFLAGS is correctly set -- lh, 061214 --
8211 # AC_REQUIRE([AC_COIN_DLFCN_H])
8212
8213# NEW: If libtool exists in the directory higher up, we use that one
8214#      instead of creating a new one
8215
8216# It turns out that the code for AC_PROG_LIBTOOL is somehow AC_REQUIRED
8217# out in front of this macro body. You'll notice that LIBTOOL is already
8218# defined here.  We'll have to count on this macro not being called if libtool
8219# already exists, or at least move the libtool fixes outside the conditional.
8220# AC_MSG_NOTICE([Entering coin_prog_libtool, LIBTOOL = "$LIBTOOL".])
8221# This test is therefore removed.  -- lh, 061214 --
8222# if test "x$LIBTOOL" = x; then
8223
8224# AC_MSG_NOTICE([Calling PROG_LIBTOOL.])
8225  AC_PROG_LIBTOOL
8226# AC_MSG_NOTICE([Finished PROG_LIBTOOL.])
8227  AC_SUBST(ac_c_preproc_warn_flag)
8228  AC_SUBST(ac_cxx_preproc_warn_flag)
8229
8230  AC_MSG_NOTICE([Build is "$build".])
8231  mydos2unix='| dos2unix'
8232  case $build in
8233    *-mingw*)
8234      CYGPATH_W=echo
8235      mydos2unix=
8236      ;;
8237  esac
8238
8239  case $build in
8240    # Here we need to check if -m32 is specified.  If so, we need to correct
8241    # sys_lib_search_path_spec
8242    *x86_64-*)
8243      if test "$GCC" = yes && (echo $CXXFLAGS $CFLAGS $FFLAGS | $EGREP 'm32' >& /dev/null); then
8244        AC_MSG_NOTICE(Applying patches to libtool for 32bit compilation)
8245        sed -e 's|sys_lib_search_path_spec=".*"|sys_lib_search_path_spec="/lib /usr/lib"|' libtool > conftest.bla
8246        mv conftest.bla libtool
8247        chmod 755 libtool 
8248      fi
8249      ;;
8250
8251    *-solaris*)
8252      AC_COIN_PATCH_LIBTOOL_SOLARIS
8253      ;;
8254    # Cygwin. Ah, cygwin. Too big and ugly to inline; see the macro.
8255    *-cygwin* | *-mingw*)
8256      AC_COIN_PATCH_LIBTOOL_CYGWIN
8257      ;;
8258    *-darwin*)
8259      AC_MSG_NOTICE(Applying patches to libtool for Darwin)
8260      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"/' \
8261        -e 's/ -dynamiclib / -dynamiclib -single_module /g' \
8262      libtool > conftest.bla
8263
8264      mv conftest.bla libtool
8265      chmod 755 libtool
8266      ;;
8267  esac
8268# This fi matches the commented `if test "x$LIBTOOL" = x;' up at the head of
8269# the macro. -- lh, 061214 --
8270# fi
8271
8272# AC_MSG_NOTICE([End libtool initialisation.])
8273]) # AC_COIN_PROG_LIBTOOL
8274
8275# This is a trick to force the check for the dlfcn header to be done before
8276# the checks for libtool
8277# No longer needed now that CPPFLAGS is correctly set.  -- lh, 061214 --
8278# ACDEFUN([AC_COIN_DLFCN_H],
8279# [AC_LANG_PUSH(C)
8280# AC_COIN_CHECK_HEADER([dlfcn.h])
8281# AC_LANG_POP(C)
8282# ]) # AC_COIN_DLFCN_H
8283
8284###########################################################################
8285#                            COIN_RPATH_FLAGS                             #
8286###########################################################################
8287
8288# This macro, in case shared objects are used, defines a variable
8289# RPATH_FLAGS that can be used by the linker to hardwire the library
8290# search path for the given directories.  This is useful for example
8291# Makefiles
8292
8293AC_DEFUN([AC_COIN_RPATH_FLAGS],
8294[RPATH_FLAGS=
8295
8296if test $enable_shared = yes; then
8297  case $build in
8298    *-linux-*)
8299      if test "$GXX" = "yes"; then
8300        RPATH_FLAGS=
8301        for dir in $1; do
8302          RPATH_FLAGS="$RPATH_FLAGS -Wl,--rpath -Wl,$dir"
8303        done
8304      fi ;;
8305    *-darwin*)
8306        RPATH_FLAGS=nothing ;;
8307    *-ibm-*)
8308      case "$CXX" in
8309      xlC* | */xlC* | mpxlC* | */mpxlC*)
8310        RPATH_FLAGS=nothing ;;
8311      esac ;;
8312    *-hp-*)
8313        RPATH_FLAGS=nothing ;;
8314    *-mingw32)
8315        RPATH_FLAGS=nothing ;;
8316    *-*-solaris*)
8317        RPATH_FLAGS=
8318        for dir in $1; do
8319          RPATH_FLAGS="$RPATH_FLAGS -R$dir"
8320        done
8321  esac
8322
8323  if test "$RPATH_FLAGS" = ""; then
8324    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.])
8325  fi
8326  if test "$RPATH_FLAGS" = "nothing"; then
8327    RPATH_FLAGS=
8328  fi
8329fi
8330
8331AC_SUBST(RPATH_FLAGS)
8332]) # AC_COIN_RPATH_FLAGS
8333
8334###########################################################################
8335#                        COIN_LINK_INPUT_CMD                              #
8336###########################################################################
8337
8338# This macro determines which command should be used to "link" files
8339# that are input to the generated executables.  On Windows, the codes
8340# using the native Windows system libraries, cannot understand symbolic
8341# links, and a copy should be used instead of 'ln -s'.
8342# The result is stored in coin_link_input_cmd
8343
8344AC_DEFUN([AC_COIN_LINK_INPUT_CMD],
8345[AC_REQUIRE([AC_PROG_LN_S])
8346AC_BEFORE([AC_COIN_PROG_CC], [$0])
8347AC_BEFORE([AC_COIN_ENABLE_DOSCOMPILE], [$0])
8348
8349AC_MSG_CHECKING([which command should be used to link input files])
8350coin_link_input_cmd="$LN_S"
8351if test "$enable_doscompile" = mingw; then
8352  coin_link_input_cmd=cp
8353fi
8354case "$CC" in
8355  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8356    coin_link_input_cmd=cp ;;
8357esac
8358AC_MSG_RESULT($coin_link_input_cmd)
8359])
8360
8361###########################################################################
8362#                              COIN_FINALIZE                              #
8363###########################################################################
8364
8365# This macro should be called at the very end of the configure.ac file.
8366# It creates the output files (by using AC_OUTPUT), and might do some other
8367# things (such as generating links to data files in a VPATH configuration).
8368# It also prints the "success" message.
8369# Note: If the variable coin_skip_ac_output is set to yes, then no output
8370# files are written.
8371
8372AC_DEFUN([AC_COIN_FINALIZE],
8373[
8374AC_REQUIRE([AC_COIN_LINK_INPUT_CMD])
8375if test x$coin_skip_ac_output != xyes; then
8376
8377  FADDLIBS="$ADDLIBS"
8378  if test x"$coin_need_flibs" = xyes; then
8379    ADDLIBS="$ADDLIBS $FLIBS"
8380  fi
8381
8382  # library extension
8383  AC_SUBST(LIBEXT)
8384  case "$CC" in
8385    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8386         LIBEXT=lib ;;
8387      *) LIBEXT=a ;;
8388  esac
8389
8390  # Define VPATH_DISTCLEANFILES to be everything that needs to be
8391  # cleaned for distclean in a vpath configuration
8392  AC_SUBST(VPATH_DISTCLEANFILES)
8393  VPATH_DISTCLEANFILES="$coin_vpath_link_files"
8394
8395  # Take out subdirectories if their configuration concluded that they
8396  # don't need to be compiled
8397  if test x"$coin_ac_skip_subdirs" != x; then
8398    new_subdirs=
8399    for i in $subdirs; do
8400      skipme=no
8401      for j in $coin_ac_skip_subdirs; do
8402        if test $i = $j; then
8403          skipme=yes;
8404        fi
8405      done
8406      if test $skipme = no; then
8407        new_subdirs="$new_subdirs $i"
8408      fi
8409    done
8410    subdirs="$new_subdirs"
8411  fi
8412
8413  AC_OUTPUT
8414
8415  if test x"$coin_vpath_link_files" = x; then : ; else
8416    lnkcmd="$coin_link_input_cmd"
8417    if test "$lnkcmd" = cp; then
8418      AC_MSG_NOTICE(Copying data files for VPATH configuration)
8419    else
8420      AC_MSG_NOTICE(Creating VPATH links for data files)
8421    fi
8422    for file in $coin_vpath_link_files; do
8423      dir=`AS_DIRNAME(["./$file"])`
8424      if test -d $dir; then : ; else
8425        AS_MKDIR_P($dir)
8426      fi
8427      rm -f $file
8428      $lnkcmd $abs_source_dir/$file $file
8429    done
8430  fi
8431
8432  if test x$coin_projectdir = xyes; then
8433    AC_MSG_NOTICE([Configuration of $PACKAGE_NAME successful])
8434  else
8435    AC_MSG_NOTICE([Main configuration of $PACKAGE_NAME successful])
8436  fi
8437else
8438  AC_MSG_NOTICE([No configuration of $PACKAGE_NAME necessary])
8439fi
8440
8441]) #AC_COIN_FINALIZE
8442
8443###########################################################################
8444#                             COIN_VPATH_LINK                             #
8445###########################################################################
8446
8447# This macro makes sure that a symbolic link is created to a file in
8448# the source code directory tree if we are in a VPATH compilation, and
8449# if this package is the main package to be installed
8450
8451AC_DEFUN([AC_COIN_VPATH_LINK],
8452[AC_REQUIRE([AC_COIN_CHECK_VPATH])
8453if test $coin_vpath_config = yes; then
8454  coin_vpath_link_files="$coin_vpath_link_files $1"
8455fi
8456]) #AC_COIN_VPATH_LINK
8457
8458###########################################################################
8459#                       COIN_ENABLE_GNU_PACKAGES                          #
8460###########################################################################
8461
8462# This macro defined the --enable-gnu-packages flag.  This can be used
8463# to check if a user wants to compile GNU packges (such as readline or
8464# zlib) into the executable.  By default, GNU packages are disabled.
8465# This also defines the automake conditional COIN_ENABLE_GNU_PACKAGES
8466
8467AC_DEFUN([AC_COIN_ENABLE_GNU_PACKAGES],
8468[AC_ARG_ENABLE([gnu-packages],
8469               [AC_HELP_STRING([--enable-gnu-packages],
8470                               [compile with GNU packages (disabled by default)])],
8471               [coin_enable_gnu=$enableval],
8472               [coin_enable_gnu=no])
8473]) # AC_COIN_ENABLE_GNU_PACKAGES
8474
8475###########################################################################
8476#                           COIN_CHECK_GNU_ZLIB                           #
8477###########################################################################
8478
8479# This macro checks for the libz library.
8480
8481AC_DEFUN([AC_COIN_CHECK_GNU_ZLIB],
8482[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8483AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8484AC_BEFORE([AC_COIN_PROG_CC],[$0])
8485AC_BEFORE([AC_COIN_PROG_F77],[$0])
8486AC_BEFORE([$0],[AC_COIN_FINALIZE])
8487
8488coin_has_zlib=no
8489if test $coin_enable_gnu = yes; then
8490  AC_COIN_CHECK_HEADER([zlib.h],[coin_has_zlib=yes])
8491
8492  if test $coin_has_zlib = yes; then
8493    AC_CHECK_LIB([z],[gzopen],
8494                 [ADDLIBS="-lz $ADDLIBS"],
8495                 [coin_has_zlib=no])
8496  fi
8497
8498  if test $coin_has_zlib = yes; then
8499    AC_DEFINE([COIN_HAS_ZLIB],[1],[Define to 1 if zlib is available])
8500  fi
8501fi
8502
8503AM_CONDITIONAL(COIN_HAS_ZLIB,test x$coin_has_zlib = xyes)
8504]) # AC_COIN_CHECK_GNU_ZLIB
8505
8506
8507###########################################################################
8508#                          COIN_CHECK_GNU_BZLIB                           #
8509###########################################################################
8510
8511# This macro checks for the libbz2 library.
8512
8513AC_DEFUN([AC_COIN_CHECK_GNU_BZLIB],
8514[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8515AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8516AC_BEFORE([AC_COIN_PROG_CC],[$0])
8517AC_BEFORE([AC_COIN_PROG_F77],[$0])
8518AC_BEFORE([$0],[AC_COIN_FINALIZE])
8519
8520coin_has_bzlib=no
8521if test $coin_enable_gnu = yes; then
8522  AC_COIN_CHECK_HEADER([bzlib.h],[coin_has_bzlib=yes])
8523
8524  if test $coin_has_bzlib = yes; then
8525    AC_CHECK_LIB([bz2],[BZ2_bzReadOpen],
8526                 [ADDLIBS="-lbz2 $ADDLIBS"],
8527                 [coin_has_bzlib=no])
8528  fi
8529
8530  if test $coin_has_bzlib = yes; then
8531    AC_DEFINE([COIN_HAS_BZLIB],[1],[Define to 1 if bzlib is available])
8532  fi
8533fi
8534]) # AC_COIN_CHECK_GNU_BZLIB
8535
8536
8537###########################################################################
8538#                         COIN_CHECK_GNU_READLINE                         #
8539###########################################################################
8540
8541# This macro checks for GNU's readline.  It verifies that the header
8542# readline/readline.h is available, and that the -lreadline library
8543# contains "readline".  It is assumed that #include <stdio.h> is included
8544# in the source file before the #include<readline/readline.h>
8545
8546AC_DEFUN([AC_COIN_CHECK_GNU_READLINE],
8547[AC_REQUIRE([AC_COIN_ENABLE_GNU_PACKAGES])
8548AC_BEFORE([AC_COIN_PROG_CXX],[$0])
8549AC_BEFORE([AC_COIN_PROG_CC],[$0])
8550AC_BEFORE([AC_COIN_PROG_F77],[$0])
8551AC_BEFORE([$0],[AC_COIN_FINALIZE])
8552
8553coin_has_readline=no
8554if test $coin_enable_gnu = yes; then
8555  AC_COIN_CHECK_HEADER([readline/readline.h],
8556                       [coin_has_readline=yes],[],
8557                       [#include <stdio.h>])
8558
8559  coin_save_LIBS="$LIBS"
8560  LIBS=
8561  # First we check if tputs and friends are available
8562  if test $coin_has_readline = yes; then
8563    AC_SEARCH_LIBS([tputs],[ncurses termcap curses],[],
8564                   [coin_has_readline=no])
8565  fi
8566
8567  # Now we check for readline
8568  if test $coin_has_readline = yes; then
8569    AC_CHECK_LIB([readline],[readline],
8570                 [ADDLIBS="-lreadline $LIBS $ADDLIBS"],
8571                 [coin_has_readline=no])
8572  fi
8573
8574  if test $coin_has_readline = yes; then
8575    AC_DEFINE([COIN_HAS_READLINE],[1],[Define to 1 if readline is available])
8576  fi
8577
8578  LIBS="$coin_save_LIBS"
8579fi
8580]) # AC_COIN_CHECK_GNU_READLINE
8581
8582###########################################################################
8583#                             COIN_DATA_PATH                              #
8584###########################################################################
8585
8586# This macro defines a preprocessor macro with the absolute path to a
8587# subdirectory of Data.  The argument of this macro is the name of the
8588# subdirectory (in correct case), and the name of the macro is
8589# COIN_DATA_DIR_PATH, where dir is replaced by the capitalized name of
8590# the directory.  The path ends with a separator ("/" for linux and
8591# '\\' for Windows).  The default value for this path can be
8592# overwritten with the input variable with the same name
8593# (COIN_DATA_DIR_PATH).  At this point we chech only for the
8594# $srcdir/../Data subdirectory.
8595
8596AC_DEFUN([AC_COIN_DATA_PATH],
8597[AC_MSG_CHECKING([absolute path to data directory $1])
8598
8599AC_ARG_VAR(m4_toupper(COIN_DATA_$1_PATH),[Set to absolute path to Data/$1 subdirectory])
8600
8601if test x"$m4_toupper(COIN_DATA_$1_PATH)" = x; then
8602  m4_toupper(COIN_DATA_$1_PATH)=`cd $srcdir/../Data/$1; pwd`
8603fi
8604
8605# Under Cygwin, use Windows path.  Add separator
8606case $build in
8607  *-cygwin*)
8608    m4_toupper(COIN_DATA_$1_PATH)=`cygwin -w $m4_toupper(COIN_DATA_$1_PATH)`\\
8609    ;;
8610  *)
8611    m4_toupper(COIN_DATA_$1_PATH)="$m4_toupper(COIN_DATA_$1_PATH)/"
8612    ;;
8613esac
8614
8615if test -r $m4_toupper(COIN_DATA_$1_PATH); then
8616  AC_DEFINE_UNQUOTED(m4_toupper(COIN_DATA_$1_PATH),["$m4_toupper(COIN_DATA_$1_PATH)"],
8617            [Define to absolute path for Data subdirectory $1])
8618  AC_MSG_RESULT($m4_toupper(COIN_DATA_$1_PATH))
8619else
8620  AC_MSG_ERROR(Directory $m4_toupper(COIN_DATA_$1_PATH) does not exist)
8621fi
8622]) # AC_COIN_HAS_DATA
8623
8624###########################################################################
8625#                       COIN_LINK_FROM_FILELIST                           #
8626###########################################################################
8627
8628# This macro creates links (or copies, if necessary) to files listed
8629# as content in a text file (second argument) into a target directory
8630# (first argument), which is created if it doesn't exist yet.  If s link
8631# already exists, nothing happens.
8632
8633AC_DEFUN([AC_COIN_LINKCOPY_FROM_FILELIST],
8634[cmd="$3"
8635if test -e $srcdir/$2 ; then
8636  my_target_dir="$1"
8637  my_link_files=`cat $srcdir/$2`
8638  my_dirname=`AS_DIRNAME($2)`
8639#  if test -e $my_target_dir; then : ; else
8640#    AS_MKDIR_P($my_target_dir)
8641#  fi
8642  for i in $my_link_files; do
8643    #rm -rf $my_target_dir/$i
8644    if test -e $my_target_dir/$i; then : ; else
8645      dirn2=`AS_DIRNAME($my_target_dir/$i)`
8646      if test -e $dirn2; then : ; else
8647        AS_MKDIR_P($dirn2)
8648      fi
8649      $cmd $abs_source_dir/$my_dirname/$i $my_target_dir/$i
8650    fi
8651  done
8652else
8653  AC_MSG_WARN([File list file $2 missing!])
8654fi
8655])
8656
8657AC_DEFUN([AC_COIN_LINK_FROM_FILELIST],
8658[
8659AC_REQUIRE([AC_COIN_LINK_INPUT_CMD])
8660echo Creating links in $1 ...
8661AC_COIN_LINKCOPY_FROM_FILELIST($1, $2, $coin_link_input_cmd)
8662])
8663
8664###########################################################################
8665#                       COIN_COPY_FROM_FILELIST                           #
8666###########################################################################
8667
8668# Like COIN_LINK_FROM_FILELIST, but copies the files.
8669
8670AC_DEFUN([AC_COIN_COPY_FROM_FILELIST],
8671[
8672echo Creating copies in $1 ...
8673AC_COIN_LINKCOPY_FROM_FILELIST($1, $2, [cp])
8674])
8675
8676###########################################################################
8677#                          COIN_EXAMPLE_FILES                             #
8678###########################################################################
8679
8680# This macro determines the names of the example files (using the
8681# argument in an "ls" command) and sets up the variables EXAMPLE_FILES
8682# and EXAMPLE_CLEAN_FILES.  If this is a VPATH configuration, it also
8683# creates soft links to the example files.
8684
8685AC_DEFUN([AC_COIN_EXAMPLE_FILES],
8686[AC_REQUIRE([AC_COIN_CHECK_GNU_ZLIB])
8687AC_REQUIRE([AC_COIN_CHECK_VPATH])
8688files=`cd $srcdir; ls $1`
8689# We need to do the following loop to make sure that are no newlines
8690# in the variable
8691for file in $files; do
8692  EXAMPLE_FILES="$EXAMPLE_FILES $file"
8693done
8694if test $coin_vpath_config = yes; then
8695  lnkcmd=
8696  if test "$enable_doscompile" != no; then
8697    lnkcmd=cp
8698  fi
8699  case "$CC" in
8700    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
8701      lnkcmd=cp ;;
8702  esac
8703  if test "$lnkcmd" = cp; then
8704    AC_MSG_NOTICE([Copying example files ($1)])
8705  else
8706    AC_PROG_LN_S
8707    AC_MSG_NOTICE([Creating links to the example files ($1)])
8708    lnkcmd="$LN_S"
8709  fi
8710  for file in $EXAMPLE_FILES; do
8711    rm -f $file
8712    $lnkcmd $srcdir/$file $file
8713  done
8714  EXAMPLE_CLEAN_FILES="$EXAMPLE_CLEAN_FILES $1"
8715else
8716  EXAMPLE_CLEAN_FILES="$EXAMPLE_CLEAN_FILES"
8717fi
8718
8719# In case there are compressed files, we create a variable with the
8720# uncompressed names
8721EXAMPLE_UNCOMPRESSED_FILES=
8722for file in $EXAMPLE_FILES; do
8723  case $file in
8724    *.gz)
8725      EXAMPLE_UNCOMPRESSED_FILES="$EXAMPLE_UNCOMPRESSED_FILES `echo $file | sed -e s/.gz//`"
8726      ;;
8727  esac
8728done
8729
8730AC_SUBST(EXAMPLE_UNCOMPRESSED_FILES)
8731AC_SUBST(EXAMPLE_FILES)
8732AC_SUBST(EXAMPLE_CLEAN_FILES)
8733]) #AC_COIN_EXAMPLE_FILES
8734
8735###########################################################################
8736#                            COIN_HAS_PROJECT                             #
8737###########################################################################
8738
8739# This macro sets up usage of a Coin package.  It defines the
8740# PKGSRCDIR and PKGOBJDIR variables, refering to the main source and
8741# object directory of the package, respectively.  It also defines
8742# a COIN_HAS_PKG preprocessor macro and makefile conditional.  The
8743# argument should be the name (Pkg) of the project (in correct lower
8744# and upper case).
8745#
8746# It is also possible to specify a preinstalled version of this Coin
8747# package.  In this case, only PKGINSTDIR is set to the prefix of that
8748# installation.  If the user is providing such a preinstalled version,
8749# this macro checks for a header (second argument) and the existance
8750# of a library file (third argument - only the stub without extension
8751# is to be given, e.g., "libCoinUtils").
8752
8753AC_DEFUN([AC_COIN_HAS_PROJECT],
8754[AC_MSG_CHECKING([for COIN project $1])
8755# First check, if the sub-project is actually available (ToDo: allow
8756# other locations)
8757
8758m4_tolower(coin_has_$1)=notGiven
8759if test x"$COIN_SKIP_PROJECTS" != x; then
8760  for dir in $COIN_SKIP_PROJECTS; do
8761    if test $dir = $1; then
8762      m4_tolower(coin_has_$1)=skipping
8763    fi
8764  done
8765fi
8766
8767AC_SUBST(m4_toupper($1SRCDIR))
8768AC_SUBST(m4_toupper($1OBJDIR))
8769AC_SUBST(m4_toupper($1DOCDIR))
8770AC_SUBST(m4_toupper($1INSTDIR))
8771m4_toupper($1SRCDIR)=This_Variable_Is_Not_Set
8772m4_toupper($1OBJDIR)=This_Variable_Is_Not_Set
8773m4_toupper($1DOCDIR)=This_Variable_Is_Not_Set
8774m4_toupper($1INSTDIR)=This_Variable_Is_Not_Set
8775
8776if test $m4_tolower(coin_has_$1) != skipping; then
8777  if test $PACKAGE_TARNAME = m4_tolower($1); then
8778    m4_tolower(coin_has_$1)=.
8779  else
8780    AC_ARG_WITH([m4_tolower($1)-instdir],
8781                AC_HELP_STRING([--with-m4_tolower($1)-instdir],
8782                               [prefix of installation directory for precompiled $1 package]),
8783                [m4_tolower(coin_has_$1)=installed
8784                 if test -d "$withval"; then : ; else
8785                   AC_MSG_ERROR([argument for --with-m4_tolower($1)-instdir not a directory])
8786                 fi
8787                 m4_toupper($1INSTDIR)=`cd $withval; pwd`], [])
8788
8789    AC_ARG_WITH([m4_tolower($1)-srcdir],
8790                AC_HELP_STRING([--with-m4_tolower($1)-srcdir],
8791                               [source directory for $1 package]),
8792                [if test "$m4_tolower(coin_has_$1)" = installed; then
8793                   AC_MSG_ERROR([--with-$m4_tolower($1)-srcdir cannot be given together with --with-m4_tolower($1)-instdir])
8794                 fi
8795                 if test -d "$withval"; then : ; else
8796                   AC_MSG_ERROR([argument for --with-m4_tolower($1)-srcdir not a directory])
8797                 fi
8798                 m4_tolower(coin_has_$1)=$withval
8799                 m4_toupper($1SRCDIR)=`cd $withval; pwd`], [])
8800
8801    AC_ARG_WITH([m4_tolower($1)-objdir],
8802                AC_HELP_STRING([--with-m4_tolower($1)-objdir],
8803                               [object directory for $1 package (if different from source directory in VPATH compilation)]),
8804                [if test "$m4_tolower(coin_has_$1)" = installed; then
8805                   AC_MSG_ERROR([--with-m4_tolower($1)-objdir cannot be given together with --with-m4_tolower($1)-instdir])
8806                 fi
8807                 if test "$m4_tolower(coin_has_$1)" = notGiven; then
8808                   AC_MSG_ERROR([--with-m4_tolower($1)-objdir must be accompanied by --with-m4_tolower($1)-srcdir])
8809                 fi
8810                 if test -d "$withval"; then : ; else
8811                   AC_MSG_ERROR([argument for --with-m4_tolower($1)-objdir not a directory])
8812                 fi
8813                 m4_toupper($1OBJDIR)=`cd $withval; pwd`], [m4_toupper($1OBJDIR)="$m4_toupper($1SRCDIR)"])
8814
8815    # if we still don't have a location, check for generic flag
8816    if test "$m4_tolower(coin_has_$1)" = notGiven; then
8817      AC_ARG_WITH([coin-instdir],
8818                  AC_HELP_STRING([--with-coin-instdir],
8819                                 [prefix of installation directory for precompiled COIN packages]),
8820                  [if test -d "$withval"; then : ; else
8821                     AC_MSG_ERROR([argument for --with-coin-instdir not a directory])
8822                   fi
8823                   if test -r $withval/share/doc/coin/$1/README; then
8824                     m4_tolower(coin_has_$1)=installed
8825                     m4_toupper($1INSTDIR)=`cd $withval; pwd`
8826                   fi],
8827                   [])
8828    fi
8829
8830    if test "$m4_tolower(coin_has_$1)" = notGiven; then
8831      if test -d $srcdir/../$1; then
8832        m4_tolower(coin_has_$1)=../$1
8833      fi
8834    fi
8835  fi
8836fi
8837
8838if test $m4_tolower(coin_has_$1) != notGiven &&
8839   test $m4_tolower(coin_has_$1) != skipping; then
8840  # Set the #define if the component is available
8841  AC_DEFINE(m4_toupper(COIN_HAS_$1),[1],[Define to 1 if the $1 package is used])
8842
8843  if test $m4_tolower(coin_has_$1) = installed; then
8844    m4_toupper($1DOCDIR)=$m4_toupper($1INSTDIR)/share/doc/coin/$1
8845  else
8846    if test "$m4_toupper($1OBJDIR)" = This_Variable_Is_Not_Set; then
8847      # Set the variables for source and object code location
8848      m4_toupper($1SRCDIR)=`cd $srcdir/$m4_tolower(coin_has_$1); pwd`
8849      m4_toupper($1OBJDIR)=`pwd`/$m4_tolower(coin_has_$1)
8850      m4_toupper($1DOCDIR)=$abs_lib_dir/../share/doc/coin/$1
8851    else
8852      # This is just a guess:
8853      m4_toupper($1DOCDIR)=$m4_toupper($1OBJDIR)/../share/doc/coin/$1
8854    fi
8855  fi
8856fi
8857
8858  # Define the Makefile conditional
8859AM_CONDITIONAL(m4_toupper(COIN_HAS_$1),
8860               [test $m4_tolower(coin_has_$1) != notGiven &&
8861                test $m4_tolower(coin_has_$1) != skipping])
8862AM_CONDITIONAL(m4_toupper(COIN_HAS_$1_PREINSTALLED),
8863               [test $m4_tolower(coin_has_$1) = installed])
8864
8865if test $m4_tolower(coin_has_$1) = installed; then
8866  AC_MSG_RESULT([installed in $m4_toupper($1INSTDIR)])
8867  AC_COIN_CHECK_FILE([$m4_toupper($1INSTDIR)/share/doc/coin/$1/README],
8868                     [],[AC_MSG_ERROR([$m4_toupper($1INSTDIR)/share/doc/coin/$1/README should be available if $1 is installed])])
8869else
8870  AC_MSG_RESULT([$m4_tolower(coin_has_$1)])
8871  if test $m4_tolower(coin_has_$1) != notGiven &&
8872     test $m4_tolower(coin_has_$1) != skipping; then
8873    AC_MSG_CHECKING([for source code location of $1])
8874    AC_MSG_RESULT([$m4_toupper($1SRCDIR)])
8875    AC_MSG_CHECKING([for object code location of $1])
8876    AC_MSG_RESULT([$m4_toupper($1OBJDIR)])
8877  fi
8878fi
8879]) # AC_COIN_HAS_PROJECT
8880
8881###########################################################################
8882#                        COIN_HAS_USER_LIBRARY                            #
8883###########################################################################
8884# This macro sets up usage of a user library with header files. The assumption
8885# is that the header file(s) and library do not reside in standard system
8886# directories, hence both the include directory and link flags must be
8887# specified. There are two mandatory arguments and two optional arguments.
8888#
8889# The first argument (mandatory) should be a name (LibraryName) for the
8890# library.  The second argument (mandatory) should be an abbreviation in
8891# upper case letters (LBRY) for the library. Ultimately, the macro will
8892# specify two variables, LBRYINCDIR and LBRYLIB, to be substituted in files
8893# generated during configuration; a preprocessor symbol COIN_HAS_LBRY; and a
8894# matching automake conditional COIN_HAS_LBRY. LBRYINCDIR should specify the
8895# directory containing include files for the library. LBRYLIB should specify
8896# the flags necessary to link to the library. A variable coin_has_lbry will
8897# be set to true or false, as appropriate. A variable lbry_libcheck will be
8898# be set to yes or no; no indicates link checks should not be attempted.
8899#
8900# The macro defines three configure arguments, --with-libraryname-incdir,
8901# --with-libraryname-lib, and --disable-libraryname-libcheck, by converting
8902# LibraryName to lower case.
8903#
8904# LBRYINCDIR and LBRYLIB can be specified as environment variables or as
8905# part of the configure command using --with-libraryname-incdir and
8906# --with-libraryname-lib, respectively. Command line arguments override
8907# environment variables.
8908#
8909# If a third argument is given, it should specify a file in LBRYINCDIR.  The
8910# macro will check for the presence of the file. If a fourth argument is given,
8911# it should specify a function name, `fname'.  The macro will attempt to link a
8912# trivial program containing a parameterless call to the function, `fname()',
8913# using the LBRYLIB flags. The link check uses C as the language; this has been
8914# adequate to date but has limitations. It is possible to disable the link
8915# check by specifying --disable-libraryname-libcheck. This is a workaround for
8916# instances where the link check does not work properly, for whatever reason.
8917# If you're trying to link to a Fortran library, consider using F77_FUNC or
8918# FC_FUNC to obtain a mangled fname appropriate for use from C code. For a C++
8919# library, you're on your own unless the library declares some function with
8920# extern "C" linkage. Otherwise, you'll have to somehow find the mangled C++
8921# name.
8922
8923AC_DEFUN([AC_COIN_HAS_USER_LIBRARY],
8924[ AC_REQUIRE([AC_COIN_PROJECTDIR_INIT])
8925  AC_MSG_CHECKING(if user provides library for $1)
8926
8927# Check for header file directory
8928
8929  AC_ARG_WITH(m4_tolower($1)-incdir,
8930      AS_HELP_STRING([--with-m4_tolower($1)-incdir],
8931                     [specify the header file directory for library $1]),
8932      [$2INCDIR=`cd $withval; pwd`])
8933
8934# Check for library directory
8935
8936  AC_ARG_WITH(m4_tolower($1)-lib,
8937      AS_HELP_STRING([--with-m4_tolower($1)-lib],
8938                     [specify the flags used to link with the library $1]),
8939      [$2LIB=$withval])
8940
8941# Switch to disable library check if requested
8942
8943  AC_ARG_ENABLE(m4_tolower($1)-libcheck,
8944      AS_HELP_STRING([--enable-m4_tolower($1)-libcheck],
8945                     [use disable-m4_tolower($1)-libcheck to skip the link
8946                      check at configuration time]),
8947      [m4_tolower($1)_libcheck=$enableval],
8948      [m4_tolower($1)_libcheck=yes])
8949
8950# At this point, if we're going to use the library, both LBRYINCDIR and
8951# LBRYLIB must be defined and not empty.
8952
8953  if test x"$$2INCDIR" != x || test x"$$2LIB" != x; then
8954    if test x"$$2INCDIR" = x || test x"$$2LIB" = x; then
8955      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.])
8956    fi
8957    m4_tolower(coin_has_$2)=true
8958    AC_MSG_RESULT(yes)
8959  else
8960    m4_tolower(coin_has_$2)=false
8961    AC_MSG_RESULT(no)
8962  fi
8963
8964# If we have instructions for use, consider header and link checks.
8965
8966  if test $m4_tolower(coin_has_$2) = true; then
8967
8968# If argument 3 (file) is given, check for the file. Typically this will be a
8969# header file, but that's not assumed.
8970
8971    m4_ifval([$3],
8972        [AC_COIN_CHECK_FILE([$$2INCDIR/$3],[],
8973             [AC_MSG_ERROR([Cannot find file $3 in $$2INCDIR])])])
8974
8975# Now see if we can link the function. There are arguments for and against
8976# assuming argument 3 is a header file declaring the function. A correct
8977# function declaration is the main argument in favour. Having to cope with
8978# possible dependencies or other oddities are the main arguments against.
8979# Force the use of C as the best single choice amongst C++, C, and Fortran.
8980# Obviously, this has limits.
8981
8982    m4_ifvaln([$4],
8983        [if test x"$m4_tolower($1)_libcheck" != xno; then
8984           coin_save_LIBS="$LIBS"
8985           LIBS="$$2LIB $ADDLIBS"
8986           coin_$2_link=no
8987           AC_LANG_PUSH(C)
8988           for fnm in $4 ; do
8989             AC_MSG_CHECKING([whether symbol $fnm is available with $2])
8990             AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[$fnm()]])],
8991                 [AC_MSG_RESULT(yes)
8992                  coin_$2_link=yes
8993                  break],
8994                 [AC_MSG_RESULT(no)])
8995           done
8996           AC_LANG_POP(C)
8997           if test x"$coin_$2_link" = xyes ; then
8998             LIBS="$coin_save_LIBS"
8999           else
9000             AC_MSG_ERROR([Cannot find symbol(s) $4 with $2])
9001           fi
9002         fi])
9003
9004# If we make it this far, we've verified the file and linked the function. Add
9005# the necessary link flags to ADDLIBS and define the preprocessor symbol
9006# COIN_HAS_LBRY.
9007
9008    ADDLIBS="$$2LIB $ADDLIBS"
9009    AC_DEFINE(COIN_HAS_$2,[1],[Define to 1 if the $1 package is available])
9010  fi
9011
9012# Arrange for configure to substitute LBRYINCDIR and LBRYLIB and create the
9013# automake conditional. These actions must occur unconditionally.
9014
9015  AC_SUBST($2INCDIR)
9016  AC_SUBST($2LIB)
9017  AM_CONDITIONAL(COIN_HAS_$2, test $m4_tolower(coin_has_$2) = true)
9018]) #AC_COIN_HAS_USER_LIBRARY
9019
9020###########################################################################
9021#                               COIN_HAS_ASL                              #
9022###########################################################################
9023
9024# This macro checks if the user has provide arguments that say where
9025# the precompiled ASL files should be found (with the --with-asldir
9026# flag).  If this is not the case, we check if the ThirdParty/ASL
9027# directory has been configured, which indicates that the files will
9028# be in that directory and can be used.
9029
9030AC_DEFUN([AC_COIN_HAS_ASL],
9031[coin_aslobjdir=../ThirdParty/ASL
9032coin_aslsrcdir=$srcdir/$coin_aslobjdir
9033
9034# Determine the name of the ASL library
9035case "$CC" in
9036  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
9037    ampllib=amplsolv.lib ;;
9038  *)
9039    ampllib=amplsolver.a ;;
9040esac
9041
9042AC_ARG_WITH([asldir],
9043            AC_HELP_STRING([--with-asldir],
9044                           [specify path to AMPL solver directory (or BUILD for compilation, or "no" for disabling AMPL)]),
9045            [use_asldir=$withval], [use_asldir=])
9046
9047if test "$use_asldir" = BUILD; then
9048  if test "$PACKAGE_NAME" != ThirdPartyASL; then
9049    # If we are configuring ThirdParty/ASL, don't check
9050    if test -r $coin_aslobjdir/.MakeOk; then :; else
9051      AC_MSG_ERROR([option \"BUILD\" specified for asldir, but directory is not configure (sources missing?)])
9052    fi
9053  fi
9054elif test -z "$use_asldir"; then
9055 # try to find sources - if not given don't compile
9056  if test "$PACKAGE_NAME" != ThirdPartyASL; then
9057    if test -r $coin_aslobjdir/.MakeOk; then
9058      use_asldir=BUILD
9059    else
9060      use_asldir=no
9061    fi
9062  else
9063    use_asldir=no
9064  fi
9065elif test "$use_asldir" != "no"; then
9066  AC_COIN_CHECK_FILE([$use_asldir/$ampllib],[],
9067                     [AC_MSG_ERROR([ASL directory \"$use_asldir\" specified, but library missing])])
9068  AC_COIN_CHECK_FILE([$use_asldir/asl.h],[],
9069                     [AC_MSG_ERROR([ASL directory \"$use_asldir\" specified, but header files are missing])])
9070  use_asldir=`cd $use_asldir; pwd`
9071  case $build in
9072    *-cygwin*) use_asldir=`cygpath -w $use_asldir | sed -e sX\\\\\\\\X/Xg` ;;
9073  esac
9074fi
9075
9076# Variable containing ASL library (including full path)
9077AC_SUBST(ASLLIB)
9078# Variable containing flags for including ASL header files
9079AC_SUBST(ASL_CPPFLAGS)
9080
9081if test "$use_asldir" = BUILD; then
9082  coin_aslobjdir=`cd $coin_aslobjdir; pwd`
9083  ASLLIB=`$CYGPATH_W $coin_aslobjdir/$ampllib | sed -e sX\\\\\\\\X/Xg`
9084  coin_aslsrcdir=`cd $coin_aslsrcdir; pwd`
9085  ASL_CPPFLAGS="-I"`$CYGPATH_W $coin_aslobjdir | sed -e sX\\\\\\\\X/Xg`" -I"`$CYGPATH_W $coin_aslsrcdir/solvers | sed -e sX\\\\\\\\X/Xg`
9086elif test "$use_asldir" != no; then
9087  ASLLIB=`$CYGPATH_W $use_asldir/$ampllib | sed -e sX\\\\\\\\X/Xg`
9088  ASL_CPPFLAGS="-I"`$CYGPATH_W $use_asldir | sed -e sX\\\\\\\\X/Xg`
9089fi
9090
9091if test "$use_asldir" != no; then
9092  AC_LANG_PUSH(C)
9093  AC_CHECK_LIB(dl,[dlopen],[ASLLIB="$ASLLIB -ldl"],[])
9094  coin_has_asl=yes
9095  AC_DEFINE([COIN_HAS_ASL],[1],
9096            [If defined, the Ampl Solver Library is available.])
9097  AC_LANG_POP(C)
9098else
9099  coin_has_asl=no
9100fi
9101AM_CONDITIONAL(COIN_HAS_ASL, test $coin_has_asl = yes)
9102]) # AC_COIN_HAS_ASL
9103
9104###########################################################################
9105#                            COIN_TRY_FLINK                               #
9106###########################################################################
9107
9108# Auxilliary macro to test if a Fortran function name can be linked,
9109# given the current settings of LIBS.  We determine from the context, what
9110# the currently active programming language is, and cast the name accordingly.
9111# The first argument is the name of the function/subroutine, in small letters,
9112# the second argument are the actions taken when the test works, and the
9113# third argument are the actions taken if the test fails.
9114
9115AC_DEFUN([AC_COIN_TRY_FLINK],
9116[case $ac_ext in
9117  f)
9118    AC_TRY_LINK(,[      call $1],[$2],[$3])
9119    ;;
9120  c)
9121    AC_F77_FUNC($1,cfunc$1)
9122    if test x"$coin_need_flibs" = xyes; then
9123      flink_try=no;
9124    else
9125      AC_TRY_LINK([void $cfunc$1();],[$cfunc$1()],
9126                  [flink_try=yes],[flink_try=no])
9127    fi
9128    if test $flink_try = yes; then
9129      $2
9130    else
9131      if test x"$FLIBS" != x; then
9132        flink_save_libs="$LIBS"
9133        LIBS="$LIBS $FLIBS"
9134        AC_TRY_LINK([void $cfunc$1();],[$cfunc$1()],
9135                    [LIBS="$flink_save_libs"
9136                     $2
9137                     coin_need_flibs=yes],
9138                    [LIBS="$flink_save_libs"
9139                     $3])
9140      else
9141        $3
9142      fi
9143    fi
9144    ;;
9145  cc|cpp)
9146    AC_F77_FUNC($1,cfunc$1)
9147    if test x"$coin_need_flibs" = xyes; then
9148      flink_try=no;
9149    else
9150      AC_TRY_LINK([extern "C" {void $cfunc$1();}],[$cfunc$1()],
9151                  [flink_try=yes],[flink_try=no])
9152    fi
9153    if test $flink_try = yes; then
9154      $2
9155    else
9156      if test x"$FLIBS" != x; then
9157        flink_save_libs="$LIBS"
9158        LIBS="$LIBS $FLIBS"
9159        AC_TRY_LINK([extern "C" {void $cfunc$1();}],[$cfunc$1()],
9160                    [LIBS="$flink_save_libs"
9161                     $2
9162                     coin_need_flibs=yes],
9163                    [LIBS="$flink_save_libs"
9164                     $3])
9165      else
9166        $3
9167      fi
9168    fi
9169    ;;
9170esac
9171]) # AC_COIN_TRY_FLINK
9172
9173###########################################################################
9174#                             COIN_HAS_BLAS                               #
9175###########################################################################
9176
9177# This macro checks for a library containing the BLAS library.  It
9178# tries standard libraries, and if none is found to be working, it
9179# checks whether the BLAS ThirdParty/Blas directory has been configured.
9180# It adds to ADDLIBS any flags required to link with an externally provided
9181# BLAS.  It defines the makefile conditional and preprocessor macro
9182# COIN_HAS_BLAS, if blas is available, and it defines the makefile conditional
9183# COIN_BUILD_BLAS, if blas is compiled within COIN.
9184
9185AC_DEFUN([AC_COIN_HAS_BLAS],
9186[if test "$PACKAGE_NAME" = ThirdPartyBlas || test "$PACKAGE_NAME" = ThirdPartyLapack || test "$PACKAGE_NAME" = ThirdPartyMumps; then
9187  coin_blasobjdir=../Blas
9188else
9189  coin_blasobjdir=../ThirdParty/Blas
9190fi
9191coin_blassrcdir=$srcdir/$coin_blasobjdir
9192
9193AC_ARG_WITH([blas],
9194            AC_HELP_STRING([--with-blas],
9195                           [specify BLAS library (or BUILD for compilation)]),
9196            [use_blas=$withval], [use_blas=])
9197
9198MAKEOKFILE=.MakeOk
9199# Check if user supplied option makes sense
9200if test x"$use_blas" != x; then
9201  if test "$use_blas" = "BUILD"; then
9202    # Don't check for course code if this is executed in ThirdParty/Blas
9203    if test "$PACKAGE_NAME" != ThirdPartyBlas; then
9204      if test -r $coin_blasobjdir/.MakeOk; then :; else
9205        AC_MSG_ERROR([option \"BUILD\" specified for Blas, but $coin_blasobjdir directory is not properly configured])
9206      fi
9207    fi
9208  elif test "$use_blas" != no ; then
9209    AC_MSG_CHECKING([whether user supplied BLASLIB=\"$use_blas\" works])
9210    LIBS="$use_blas $LIBS"
9211    ADDLIBS="$use_blas $ADDLIBS"
9212    AC_COIN_TRY_FLINK([daxpy],
9213                      [AC_MSG_RESULT([yes])],
9214                      [AC_MSG_RESULT([no])
9215                       AC_MSG_ERROR([user supplied BLAS library \"$use_blas\" does not work])])
9216  fi
9217else
9218# Try to autodetect the library for blas based on build system
9219  #AC_MSG_CHECKING([default locations for BLAS])
9220  skip_lblas_check=no
9221  case $build in
9222    *-sgi-*)
9223      SAVE_LIBS="$LIBS"
9224      AC_MSG_CHECKING([whether -lcomplib.sgimath has BLAS])
9225      LIBS="-lcomplib.sgimath $LIBS"
9226      AC_COIN_TRY_FLINK([daxpy],
9227                        [AC_MSG_RESULT([yes])
9228                         use_blas=-lcomplib.sgimath;
9229                         ADDLIBS="-lcomplib.sgimath $ADDLIBS"],
9230                        [AC_MSG_RESULT([no])
9231                         SAVE_LIBS="$LIBS"])
9232      ;;
9233
9234# Ideally, we'd use -library=sunperf, but it's an imperfect world. Studio
9235# cc doesn't recognise -library, it wants -xlic_lib. Studio 12 CC doesn't
9236# recognise -xlic_lib. Libtool doesn't like -xlic_lib anyway. Sun claims
9237# that CC and cc will understand -library in Studio 13. The main extra
9238# function of -xlic_lib and -library is to arrange for the Fortran run-time
9239# libraries to be linked for C++ and C. We can arrange that explicitly.
9240    *-*-solaris*)
9241      SAVE_LIBS="$LIBS"
9242      AC_MSG_CHECKING([for BLAS in libsunperf])
9243      LIBS="-lsunperf $FLIBS $LIBS"
9244      AC_COIN_TRY_FLINK([daxpy],
9245                        [AC_MSG_RESULT([yes])
9246                         use_blas='-lsunperf'
9247                         ADDLIBS="-lsunperf $ADDLIBS"
9248                         coin_need_flibs=yes],
9249                        [AC_MSG_RESULT([no])
9250                         LIBS="$SAVE_LIBS"])
9251      ;;
9252    *-cygwin* | *-mingw*)
9253# On cygwin, consider -lblas only if doscompile is disabled. The prebuilt
9254# library will want to link with cygwin, hence won't run standalone in DOS.
9255      if test "$enable_doscompile" = mingw; then
9256        skip_lblas_check=yes
9257      fi
9258      case "$CC" in
9259        cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
9260          SAVE_LIBS="$LIBS"
9261          AC_MSG_CHECKING([for BLAS in MKL])
9262          LIBS="mkl_intel_c.lib mkl_sequential.lib mkl_core.lib $LIBS"
9263          AC_COIN_TRY_FLINK([daxpy],
9264                            [AC_MSG_RESULT([yes])
9265                             use_blas='mkl_intel_c.lib mkl_sequential.lib mkl_core.lib'
9266                             ADDLIBS="mkl_intel_c.lib mkl_sequential.lib mkl_core.lib $ADDLIBS"],
9267                            [AC_MSG_RESULT([no])
9268                             LIBS="$SAVE_LIBS"])
9269          ;;
9270      esac
9271      ;;
9272  esac
9273
9274  if test -z "$use_blas" && test $skip_lblas_check = no; then
9275    SAVE_LIBS="$LIBS"
9276    AC_MSG_CHECKING([whether -lblas has BLAS])
9277    LIBS="-lblas $LIBS"
9278    AC_COIN_TRY_FLINK([daxpy],
9279                      [AC_MSG_RESULT([yes])
9280                       ADDLIBS="-lblas $ADDLIBS"
9281                       use_blas='-lblas'],
9282                      [AC_MSG_RESULT([no])
9283                       LIBS="$SAVE_LIBS"])
9284  fi
9285
9286# If we have no other ideas, consider building BLAS.
9287  if test -z "$use_blas"; then
9288    if test "$PACKAGE_NAME" != ThirdPartyBlas; then
9289      if test -r $coin_blasobjdir/.MakeOk; then
9290        use_blas=BUILD
9291      fi
9292    fi
9293  fi
9294fi
9295
9296if test "$use_blas" = BUILD; then
9297  coin_need_flibs=yes
9298fi
9299
9300AM_CONDITIONAL([COIN_HAS_BLAS],[test x"$use_blas" != x])
9301AM_CONDITIONAL([COIN_BUILD_BLAS],[test "$use_blas" = BUILD])
9302
9303if test x"$use_blas" = x || test "$use_blas" = no; then
9304  coin_has_blas=no
9305else
9306  coin_has_blas=yes
9307  AC_DEFINE([COIN_HAS_BLAS],[1],
9308            [If defined, the BLAS Library is available.])
9309fi
9310]) # AC_COIN_HAS_BLAS
9311
9312###########################################################################
9313#                            COIN_HAS_LAPACK                              #
9314###########################################################################
9315
9316# This macro checks for a library containing the LAPACK library.  It
9317# tries standard libraries, and if none is found to be working, it
9318# checks whether the LAPACK ThirdParty/Lapack directory has been
9319# configured.  It adds to ADDLIBS any flags required to link with an
9320# externally provided LAPACK.  It defines the makefile conditional and
9321# preprocessor macro COIN_HAS_LAPACK, if lapack is available, and it
9322# defines the makefile conditional COIN_BUILD_LAPACK, if lapack is
9323# compiled within COIN.
9324
9325AC_DEFUN([AC_COIN_HAS_LAPACK],
9326[coin_lapackobjdir=../ThirdParty/Lapack
9327coin_lapacksrcdir=$srcdir/$coin_lapackobjdir
9328
9329AC_ARG_WITH([lapack],
9330            AC_HELP_STRING([--with-lapack],
9331                           [specify LAPACK library (or BUILD for compilation)]),
9332            [use_lapack=$withval], [use_lapack=])
9333
9334# Check if user supplied option makes sense
9335if test x"$use_lapack" != x; then
9336  if test "$use_lapack" = "BUILD"; then
9337    # Don't check for course code if this is executed in ThirdParty/Lapack
9338    if test "$PACKAGE_NAME" != ThirdPartyLapack; then
9339      if test -r $coin_lapackobjdir/.MakeOk; then :; else
9340        AC_MSG_ERROR([option \"BUILD\" specified for LAPACK, but $coin_lapackobjdir directory is not configured])
9341      fi
9342    fi
9343  elif test "$use_lapack" != no; then
9344    AC_MSG_CHECKING([whether user supplied LAPACKLIB=\"$use_lapack\" works])
9345    LIBS="$use_lapack $LIBS"
9346    ADDLIBS="$use_lapack $ADDLIBS"
9347    AC_COIN_TRY_FLINK([dsyev],
9348                      [AC_MSG_RESULT([yes])],
9349                      [AC_MSG_RESULT([no])
9350                       AC_MSG_ERROR([user supplied LAPACK library \"$use_lapack\" does not work])])
9351  fi
9352else
9353  if test x$coin_has_blas = xyes; then
9354    # First try to see if LAPACK is already available with BLAS library
9355    AC_MSG_CHECKING([whether LAPACK is already available with BLAS library])
9356    AC_COIN_TRY_FLINK([dsyev],
9357                      [AC_MSG_RESULT([yes]); use_lapack=ok],
9358                      [AC_MSG_RESULT([no])])
9359  fi
9360  skip_llapack_check=no
9361  if test -z "$use_lapack"; then
9362    # Try to autodetect the library for lapack based on build system
9363    case $build in
9364      *-sgi-*)
9365        SAVE_LIBS="$LIBS"
9366        AC_MSG_CHECKING([whether -lcomplib.sgimath has LAPACK])
9367        LIBS="-lcomplib.sgimath $LIBS"
9368        AC_COIN_TRY_FLINK([dsyev],
9369                          [AC_MSG_RESULT([yes])
9370                           use_lapack=-lcomplib.sgimath;
9371                           ADDLIBS="-lcomplib.sgimath $ADDLIBS"],
9372                          [AC_MSG_RESULT([no])
9373                           SAVE_LIBS="$LIBS"])
9374        ;;
9375
9376# See comments in COIN_HAS_BLAS.
9377      *-*-solaris*)
9378      SAVE_LIBS="$LIBS"
9379      AC_MSG_CHECKING([for LAPACK in libsunperf])
9380      LIBS="-lsunperf $FLIBS $LIBS"
9381      AC_COIN_TRY_FLINK([dsyev],
9382                        [AC_MSG_RESULT([yes])
9383                         use_blas='-lsunperf'
9384                         ADDLIBS="-lsunperf $ADDLIBS"
9385                         coin_need_flibs=yes],
9386                        [AC_MSG_RESULT([no])
9387                         LIBS="$SAVE_LIBS"])
9388        ;;
9389# On cygwin, do this check only if doscompile is disabled. The prebuilt library
9390# will want to link with cygwin, hence won't run standalone in DOS.
9391      *-cygwin*)
9392        if test "$enable_doscompile" = mingw; then
9393          skip_llapack_check=yes
9394        fi
9395        ;;
9396    esac
9397  fi
9398
9399  if test -z "$use_lapack" && test $skip_llapack_check = no; then
9400    SAVE_LIBS="$LIBS"
9401    AC_MSG_CHECKING([whether -llapack has LAPACK])
9402    LIBS="-llapack $LIBS"
9403    AC_COIN_TRY_FLINK([dsyev],
9404                      [AC_MSG_RESULT([yes])
9405                       ADDLIBS="-llapack $ADDLIBS"
9406                       use_lapack='-llapack'],
9407                      [AC_MSG_RESULT([no])
9408                       LIBS="$SAVE_LIBS"])
9409  fi
9410
9411# If we have no other ideas, consider building LAPACK.
9412  if test -z "$use_lapack"; then
9413    if test "$PACKAGE_NAME" != ThirdPartyLapack; then
9414      if test -r $coin_lapackobjdir/.MakeOk; then
9415        use_lapack=BUILD
9416      fi
9417    fi
9418  fi
9419fi
9420
9421if test "$use_lapack" = BUILD; then
9422  coin_need_flibs=yes
9423fi
9424
9425AM_CONDITIONAL([COIN_HAS_LAPACK],[test x"$use_lapack" != x])
9426AM_CONDITIONAL([COIN_BUILD_LAPACK],[test "$use_lapack" = BUILD])
9427
9428if test x"$use_lapack" = x || test "$use_lapack" = no; then
9429  coin_has_lapack=no
9430else
9431  coin_has_lapack=yes
9432  AC_DEFINE([COIN_HAS_LAPACK],[1],
9433            [If defined, the LAPACK Library is available.])
9434fi
9435]) # AC_COIN_HAS_LAPACK
9436
9437###########################################################################
9438#                            COIN_HAS_MUMPS                               #
9439###########################################################################
9440
9441# This macro checks for a library containing the MUMPS library.  It
9442# checks if the user has provided an argument for the MUMPS library,
9443# and if not, it checks whether the MUMPS ThirdParty/Mumps directory has
9444# been configured.  It adds to ADDLIBS any flags required to link with
9445# an externally provided MUMPS.  It defines the makefile conditional
9446# and preprocessor macro COIN_HAS_MUMPS, if MUMPS is available, and it
9447# defines the makefile conditional COIN_BUILD_MUMPS, if MUMPS is
9448# compiled within COIN.
9449
9450AC_DEFUN([AC_COIN_HAS_MUMPS],
9451[
9452if test "$PACKAGE_NAME" = ThirdPartyMumps; then
9453  coin_mumpsobjdir=../Mumps
9454else
9455  coin_mumpsobjdir=../ThirdParty/Mumps
9456fi
9457coin_mumpssrcdir=$abs_source_dir/$coin_mumpsobjdir/MUMPS
9458
9459MAKEOKFILE=.MakeOk
9460
9461#check if user provides a MUMPS library (that works)
9462AC_LANG_PUSH(C)
9463SAVE_ADDLIBS="$ADDLIBS"
9464ADDLIBS="$ADDLIBS $FLIBS"
9465AC_COIN_HAS_USER_LIBRARY(mumps, MUMPS, dmumps_c.h, dmumps_c)
9466ADDLIBS="$SAVE_ADDLIBS"
9467AC_LANG_POP(C)
9468
9469if test "$coin_has_mumps" = "true"; then  # user provided mumps library
9470  use_mumps=yes
9471  coin_has_mumps=yes
9472
9473  MUMPS_INCFLAGS="-I\`\$(CYGPATH_W) $MUMPSINCDIR\`"
9474  ADDLIBS="$MUMPSLIB $ADDLIBS"
9475
9476else # no user provided library, so we try to build our own
9477  use_mumps=BUILD
9478
9479  # Check if the MUMPS' ThirdParty project has been configured
9480  if test "$PACKAGE_NAME" != ThirdPartyMumps; then
9481    if test -r $coin_mumpsobjdir/.MakeOk; then
9482      use_mumps=BUILD
9483      # Mumps needs pthreads
9484      AC_LANG_PUSH(C)
9485      save_LIBS="$LIBS"
9486      LIBS="$LIBS $FLIBS"
9487      AC_CHECK_LIB([pthread],[pthread_create],[LIBS="-lpthread $save_LIBS"; ADDLIBS="-lpthread $ADDLIBS"],[LIBS="save_LIBS"])
9488      AC_LANG_POP(C)
9489 
9490      MUMPS_INCFLAGS="-I\`\$(CYGPATH_W) $coin_mumpssrcdir/libseq\` -I\`\$(CYGPATH_W) $coin_mumpssrcdir/include\`"
9491    else
9492      use_mumps=
9493    fi
9494  fi
9495
9496  # if a user provided library is used, then COIN_HAS_USER_LIBRARY takes care of the COIN_HAS_MUMPS conditional and preprocessor symbol
9497  AM_CONDITIONAL([COIN_HAS_MUMPS],[test x"$use_mumps" != x])
9498  if test x"$use_mumps" != x; then
9499    AC_DEFINE([COIN_HAS_MUMPS],[1],[If defined, the MUMPS Library is available.])
9500    coin_has_mumps=yes
9501  else
9502    coin_has_mumps=no
9503  fi
9504  AC_MSG_CHECKING([whether MUMPS is available])
9505  AC_MSG_RESULT([$coin_has_mumps])
9506fi
9507
9508if test x"$use_mumps" != x; then
9509  # we need the Fortran runtime libraries if we want to link with C/C++
9510  coin_need_flibs=yes
9511
9512  AC_SUBST(MUMPS_INCFLAGS)
9513fi
9514
9515AM_CONDITIONAL([COIN_BUILD_MUMPS],[test "$use_mumps" = BUILD])
9516
9517]) # AC_COIN_HAS_MUMPS
9518
9519###########################################################################
9520#                            COIN_HAS_METIS                               #
9521###########################################################################
9522
9523# This macro checks for a library containing the METIS library.  It
9524# checks if the user has provided an argument for the METIS library,
9525# and if not, it checks whether the METIS ThirdParty/Metis directory has
9526# been configured.  It adds to ADDLIBS any flags required to link with
9527# an externally provided METIS.  It defines the makefile conditional
9528# and preprocessor macro COIN_HAS_METIS, if METIS is available, and it
9529# defines the makefile conditional COIN_BUILD_METIS, if METIS is
9530# compiled within COIN.
9531
9532AC_DEFUN([AC_COIN_HAS_METIS],
9533[
9534case "$PACKAGE_NAME" in
9535  ThirdParty*)
9536    coin_metisobjdir=../Metis
9537    ;;
9538  *)
9539    coin_metisobjdir=../ThirdParty/Metis
9540    ;;
9541esac
9542
9543MAKEOKFILE=.MakeOk
9544
9545#check if user provides a METIS library (that works)
9546AC_LANG_PUSH(C)
9547AC_ARG_WITH(metis,
9548   AS_HELP_STRING([--with-metis], [specify flags to link with METIS library]),
9549   [METISLIB="$withval"; coin_has_metis=true], [coin_has_metis=no])
9550
9551if test $coin_has_metis = true; then
9552  coin_save_LIBS="$LIBS"
9553  LIBS="$METISLIB $ADDLIBS"
9554  AC_MSG_CHECKING([whether symbol metis_nodend is available with ])
9555  AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[metis_nodend()]])],
9556     [AC_MSG_RESULT(yes)],
9557     [AC_MSG_RESULT(no)
9558      AC_MSG_ERROR([User-supplied METIS library does not work])])
9559  LIBS="$coin_save_LIBS"
9560fi
9561AC_LANG_POP(C)
9562
9563if test "$coin_has_metis" = "true"; then  # user provided metis library
9564  use_metis=yes
9565  coin_has_metis=yes
9566
9567  ADDLIBS="$METISLIB $ADDLIBS"
9568
9569else # no user provided library, so we try to build our own
9570  use_metis=BUILD
9571
9572  # Check if the METIS' ThirdParty project has been configured
9573  if test "$PACKAGE_NAME" != ThirdPartyMetis; then
9574    if test -r $coin_metisobjdir/.MakeOk; then
9575      use_metis=BUILD
9576    else
9577      use_metis=
9578    fi
9579  fi
9580
9581  if test x"$use_metis" != x; then
9582    coin_has_metis=yes
9583  else
9584    coin_has_metis=no
9585  fi
9586  AC_MSG_CHECKING([whether METIS is available])
9587  AC_MSG_RESULT([$coin_has_metis])
9588fi
9589
9590AM_CONDITIONAL([COIN_HAS_METIS],[test $coin_has_metis = yes])
9591if test $coin_has_metis = yes; then
9592  AC_DEFINE([COIN_HAS_METIS],[1],[If defined, the METIS library is available.])
9593fi
9594
9595]) # AC_COIN_HAS_METIS
9596
9597
9598###########################################################################
9599#                             COIN_HAS_GLPK                               #
9600###########################################################################
9601#
9602# This macro checks for the GLPK package. GLPK provides two capabilities,
9603# an LP and MIP solver (GLPK) and the GNU Mathprog modelling language (GMPL).
9604# The macro checks for either Glpk or Gmpl, according to the value specified as
9605# the parameter. Use one of Glpk or Gmpl. Use *exactly* these strings, eh?
9606#
9607#
9608# The macro first uses COIN_HAS_USER_LIBRARY to see if the user has specified
9609# a preexisting library (this allows the use of any glpk version, if the user
9610# is fussy). The macro then checks for ThirdParty/Glpk.
9611#
9612# This macro will define the following variables for Glpk:
9613#   coin_has_glpk       true or false
9614#   GLPKLIB             link flags for GLPK (if user supplied)
9615#   GLPKINCDIR          location of glpk include files
9616#   COIN_HAS_GLPK       Preprocessor symbol, defined to 1
9617#   COIN_HAS_GLPK       Automake conditional
9618#   COIN_BUILD_GLPK     Automake conditional, defined only if Glpk is to be
9619#                       built in ThirdParty/Glpk
9620#
9621# With the exception of COIN_BUILD_GLPK, an identical set of variables is
9622# defined for Gmpl.
9623
9624AC_DEFUN([AC_COIN_HAS_GLPK],
9625[
9626if test "$PACKAGE_NAME" = ThirdPartyGlpk; then
9627  coin_glpkobjdir=../Glpk
9628else
9629  coin_glpkobjdir=../ThirdParty/Glpk
9630fi
9631coin_glpksrcdir=$abs_source_dir/$coin_glpkobjdir
9632
9633use_thirdpartyglpk=no
9634
9635# Check for the requested component. If the user specified an external glpk
9636# library don't force a ThirdParty build, let the error propagate.
9637
9638m4_if([$1],[Glpk],
9639[AC_COIN_HAS_USER_LIBRARY([Glpk],[GLPK],[glpk.h],
9640    [_glp_lpx_simplex glp_lpx_simplex])
9641 if test x"$coin_has_glpk" = xfalse && test x"$GLPKLIB" = x ; then
9642   use_thirdpartyglpk=try
9643 fi])
9644m4_if([$1],[Gmpl],
9645[AC_COIN_HAS_USER_LIBRARY([Gmpl],[GMPL],[glpmpl.h],
9646    [_glp_mpl_initialize glp_mpl_initialize])
9647 if test x"$coin_has_gmpl" = xfalse && test x"$GMPLLIB" = x ; then
9648   use_thirdpartyglpk=try
9649 fi])
9650
9651# If the user has supplied an external library, use it. Otherwise, consider
9652# a build in ThirdParty/Glpk. If we build, assume we get both glpk and gmpl.
9653
9654if test x"$use_thirdpartyglpk" = xtry ; then
9655  MAKEOKFILE=.MakeOk
9656  # Check if the Glpk's ThirdParty project has been configured
9657  if test "$PACKAGE_NAME" != ThirdPartyGlpk; then
9658    if test -r $coin_glpkobjdir/.MakeOk; then
9659      use_thirdpartyglpk=build
9660    else
9661      use_thirdpartyglpk=no
9662    fi
9663  else
9664    use_thirdpartyglpk=build
9665  fi
9666
9667# If we're building, set the library and include directory variables, create a
9668# preprocessor symbol, define a variable that says we're using glpk/gmpl, and
9669# another to indicate a link check is a bad idea (hard to do before the library
9670# exists).
9671
9672  if test x"$use_thirdpartyglpk" = xbuild ; then
9673    m4_toupper($1INCDIR)="$coin_glpksrcdir/glpk/include"
9674    AC_SUBST(m4_toupper($1INCDIR))
9675    AC_DEFINE(m4_toupper(COIN_HAS_$1),[1],
9676              [Define to 1 if $1 package is available])
9677    m4_tolower(coin_has_$1)=true
9678    m4_tolower($1_libcheck)=no
9679    AC_MSG_NOTICE([Using $1 in ThirdParty/Glpk])
9680  fi
9681fi
9682
9683# Define the necessary automake conditionals.
9684
9685AM_CONDITIONAL(m4_toupper(COIN_HAS_$1),
9686               [test x"$m4_tolower(coin_has_$1)" = xtrue])
9687AM_CONDITIONAL([COIN_BUILD_GLPK],[test x"$use_thirdpartyglpk" = xbuild])
9688
9689]) # AC_COIN_HAS_GLPK
Note: See TracBrowser for help on using the repository browser.