source: stable/0.2/acinclude.m4 @ 1029

Last change on this file since 1029 was 248, checked in by pbelotti, 11 years ago

merged changes from BSP

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