1: # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2: ## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007,
3: ## 2008 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 52 AC_PROG_LIBTOOL
11:
12: ifdef([AC_ACVERSION],[
13: # autoconf 2.13 compatibility
14: # Set PATH_SEPARATOR variable
15: # ---------------------------------
16: # Find the correct PATH separator. Usually this is :', but
17: # DJGPP uses ;' like DOS.
18: if test "X${PATH_SEPARATOR+set}" != Xset; then
19: UNAME=${UNAME-`uname 2>/dev/null`}
20: case X$UNAME in
21: *-DOS) lt_cv_sys_path_separator=';' ;;
22: *) lt_cv_sys_path_separator=':' ;;
23: esac
24: PATH_SEPARATOR=$lt_cv_sys_path_separator
25: fi
26: ])
27:
28: # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
29: # -----------------------------------------------------------
30: # If this macro is not defined by Autoconf, define it here.
31: ifdef([AC_PROVIDE_IFELSE],
32: [],
33: [define([AC_PROVIDE_IFELSE],
34: [ifdef([AC_PROVIDE_$1],
35: [$2], [$3])])])
36:
37: # AC_PROG_LIBTOOL
38: # ---------------
39: AC_DEFUN([AC_PROG_LIBTOOL],
40: [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
41: dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
42: dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
43: AC_PROVIDE_IFELSE([AC_PROG_CXX],
44: [AC_LIBTOOL_CXX],
45: [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
46: ])])
47: ])# AC_PROG_LIBTOOL
48:
49:
50: # _AC_PROG_LIBTOOL
51: # ----------------
52: AC_DEFUN([_AC_PROG_LIBTOOL],
53: [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
54: AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
55:
56: # This can be used to rebuild libtool when needed
57: LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
58:
59: # Always use our own libtool.
60: LIBTOOL='$(SHELL) $(top_builddir)/libtool'
61: AC_SUBST(LIBTOOL)dnl
62:
63: # Prevent multiple expansion
64: define([AC_PROG_LIBTOOL], [])
65: ])# _AC_PROG_LIBTOOL
66:
67:
68: # AC_LIBTOOL_SETUP
69: # ----------------
70: AC_DEFUN([AC_LIBTOOL_SETUP],
71: [AC_PREREQ(2.13)dnl
72: AC_REQUIRE([AC_ENABLE_SHARED])dnl
73: AC_REQUIRE([AC_ENABLE_STATIC])dnl
74: AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
75: AC_REQUIRE([AC_CANONICAL_HOST])dnl
76: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
77: AC_REQUIRE([AC_PROG_CC])dnl
78: AC_REQUIRE([AC_PROG_LD])dnl
79: AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
80: AC_REQUIRE([AC_PROG_NM])dnl
81:
82: AC_REQUIRE([AC_PROG_LN_S])dnl
83: AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
84: # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
85: AC_REQUIRE([AC_OBJEXT])dnl
86: AC_REQUIRE([AC_EXEEXT])dnl
87: dnl
88: AC_LIBTOOL_SYS_MAX_CMD_LEN
89: AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
90: AC_LIBTOOL_OBJDIR
91:
92: AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
93: _LT_AC_PROG_ECHO_BACKSLASH
94:
95: case $host_os in
96: aix3*)
97: # AIX sometimes has problems with the GCC collect2 program. For some
98: # reason, if we set the COLLECT_NAMES environment variable, the problems
99: # vanish in a puff of smoke.
100: if test "X${COLLECT_NAMES+set}" != Xset; then
101: COLLECT_NAMES=
102: export COLLECT_NAMES
103: fi
104: ;;
105: esac
106:
107: # Sed substitution that helps us do robust quoting. It backslashifies
108: # metacharacters that are still active within double-quoted strings.
109: Xsed='sed -e 1s/^X//'
110: [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
111:
112: # Same as above, but do not quote variable references.
113: [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
114:
115: # Sed substitution to delay expansion of an escaped shell variable in a
116: # double_quote_subst'ed string.
117: delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
118:
119: # Sed substitution to avoid accidental globbing in evaled expressions
120: no_glob_subst='s/\*/\\\*/g'
121:
122: # Constants:
123: rm="rm -f"
124:
125: # Global variables:
126: default_ofile=libtool
127: can_build_shared=yes
128:
129: # All known linkers require a `.a' archive for static linking (except MSVC,
130: # which needs '.lib').
131: libext=a
132: ltmain="$ac_aux_dir/ltmain.sh"
133: ofile="$default_ofile"
134: with_gnu_ld="$lt_cv_prog_gnu_ld"
135:
136: AC_CHECK_TOOL(AR, ar, false)
137: AC_CHECK_TOOL(RANLIB, ranlib, :)
138: AC_CHECK_TOOL(STRIP, strip, :)
139:
140: old_CC="$CC"
141: old_CFLAGS="$CFLAGS"
142:
143: # Set sane defaults for various variables
144: test -z "$AR" && AR=ar
145: test -z "$AR_FLAGS" && AR_FLAGS=cru
146: test -z "$AS" && AS=as
147: test -z "$CC" && CC=cc
148: test -z "$LTCC" && LTCC=$CC
149: test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
150: test -z "$DLLTOOL" && DLLTOOL=dlltool
151: test -z "$LD" && LD=ld
152: test -z "$LN_S" && LN_S="ln -s"
153: test -z "$MAGIC_CMD" && MAGIC_CMD=file
154: test -z "$NM" && NM=nm
155: test -z "$SED" && SED=sed
156: test -z "$OBJDUMP" && OBJDUMP=objdump
157: test -z "$RANLIB" && RANLIB=:
158: test -z "$STRIP" && STRIP=:
159: test -z "$ac_objext" && ac_objext=o
160:
161: # Determine commands to create old-style static archives.
162: old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
163: old_postinstall_cmds='chmod 644 $oldlib'
164: old_postuninstall_cmds=
165:
166: if test -n "$RANLIB"; then
167: case $host_os in
168: openbsd*)
169: old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
170: ;;
171: *)
172: old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
173: ;;
174: esac
175: old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
176: fi
177:
178: _LT_CC_BASENAME([$compiler])
179:
180: # Only perform the check for file, if the check method requires it
181: case $deplibs_check_method in
182: file_magic*)
183: if test "$file_magic_cmd" = '$MAGIC_CMD'; then
184: AC_PATH_MAGIC
185: fi
186: ;;
187: esac
188:
189: _LT_REQUIRED_DARWIN_CHECKS
190:
191: AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
192: AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
193: enable_win32_dll=yes, enable_win32_dll=no)
194:
195: AC_ARG_ENABLE([libtool-lock],
196: [ --disable-libtool-lock avoid locking (might break parallel builds)])
197: test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
198:
199: AC_ARG_WITH([pic],
200: [ --with-pic try to use only PIC/non-PIC objects [default=use both]],
201: [pic_mode="$withval"],
202: [pic_mode=default])
203: test -z "$pic_mode" && pic_mode=default
204:
205: # Use C for the default configuration in the libtool script
206: tagname=
207: AC_LIBTOOL_LANG_C_CONFIG
208: _LT_AC_TAGCONFIG
209: ])# AC_LIBTOOL_SETUP
210:
211:
212: # _LT_AC_SYS_COMPILER
213: # -------------------
214: AC_DEFUN([_LT_AC_SYS_COMPILER],
215: [AC_REQUIRE([AC_PROG_CC])dnl
216:
217: # If no C compiler was specified, use CC.
218: LTCC=${LTCC-"$CC"}
219:
220: # If no C compiler flags were specified, use CFLAGS.
221: LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
222:
223: # Allow CC to be a program name with arguments.
224: compiler=$CC
225: ])# _LT_AC_SYS_COMPILER
226:
227:
228: # _LT_CC_BASENAME(CC)
229: # -------------------
230: # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
231: AC_DEFUN([_LT_CC_BASENAME],
232: [for cc_temp in $1""; do
233: case $cc_temp in
234: compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
235: distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
236: \-*) ;;
237: *) break;;
238: esac
239: done
240: cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
241: ])
242:
243:
244: # _LT_COMPILER_BOILERPLATE
245: # ------------------------
246: # Check for compiler boilerplate output or warnings with
247: # the simple compiler test code.
248: AC_DEFUN([_LT_COMPILER_BOILERPLATE],
249: [AC_REQUIRE([LT_AC_PROG_SED])dnl
250: ac_outfile=conftest.$ac_objext
251: echo "$lt_simple_compile_test_code" >conftest.$ac_ext
252: eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
253: _lt_compiler_boilerplate=`cat conftest.err`
254: $rm conftest*
255: ])# _LT_COMPILER_BOILERPLATE
256:
257:
258: # _LT_LINKER_BOILERPLATE
259: # ----------------------
260: # Check for linker boilerplate output or warnings with
261: # the simple link test code.
262: AC_DEFUN([_LT_LINKER_BOILERPLATE],
263: [AC_REQUIRE([LT_AC_PROG_SED])dnl
264: ac_outfile=conftest.$ac_objext
265: echo "$lt_simple_link_test_code" >conftest.$ac_ext
266: eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
267: _lt_linker_boilerplate=`cat conftest.err`
268: $rm -r conftest*
269: ])# _LT_LINKER_BOILERPLATE
270:
271:
272: dnl autoconf 2.13 compatibility
273: dnl _LT_AC_TRY_LINK()
274: AC_DEFUN(_LT_AC_TRY_LINK, [
275: cat > conftest.$ac_ext <<EOF
276: dnl This sometimes fails to find confdefs.h, for some reason.
277: dnl [#]line __oline__ "[$]0"
278: [#]line __oline__ "configure"
279: #include "confdefs.h"
280: int main() {
281: ; return 0; }
282: EOF
283: if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
284: ifelse([$1], , :, [$1
285: rm -rf conftest*])
286: else
287: echo "configure: failed program was:" >&5
288: cat conftest.$ac_ext >&6
289: ifelse([$2], , , [$2
290: rm -rf conftest*
291: ])dnl
292: fi
293: rm -f conftest*])
294:
295: # _LT_REQUIRED_DARWIN_CHECKS
296: # --------------------------
297: # Check for some things on darwin
298: AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
299: case $host_os in
300: rhapsody* | darwin*)
301: AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
302: AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
303:
304: AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
305: [lt_cv_apple_cc_single_mod=no
306: if test -z "${LT_MULTI_MODULE}"; then
307: # By default we will add the -single_module flag. You can override
308: # by either setting the environment variable LT_MULTI_MODULE
309: # non-empty at configure time, or by adding -multi_module to the
310: # link flags.
311: echo "int foo(void){return 1;}" > conftest.c
312: $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
313: -dynamiclib ${wl}-single_module conftest.c
314: if test -f libconftest.dylib; then
315: lt_cv_apple_cc_single_mod=yes
316: rm -rf libconftest.dylib*
317: fi
318: rm conftest.c
319: fi])
320: AC_CACHE_CHECK([for -exported_symbols_list linker flag],
321: [lt_cv_ld_exported_symbols_list],
322: [lt_cv_ld_exported_symbols_list=no
323: save_LDFLAGS=$LDFLAGS
324: echo "_main" > conftest.sym
325: LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
326: _LT_AC_TRY_LINK([lt_cv_ld_exported_symbols_list=yes],[lt_cv_ld_exported_symbols_list=no])
327: LDFLAGS="$save_LDFLAGS"
328: ])
329: case $host_os in
330: rhapsody* | darwin1.[[0123]])
331: _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
332: darwin1.*)
333: _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
334: darwin*)
335: # if running on 10.5 or later, the deployment target defaults
336: # to the OS version, if on x86, and 10.4, the deployment
337: # target defaults to 10.4. Don't you love it?
338: case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
339: 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
340: _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
341: 10.[[012]]*)
342: _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
343: 10.*)
344: _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
345: esac
346: ;;
347: esac
348: if test "$lt_cv_apple_cc_single_mod" = "yes"; then
349: _lt_dar_single_mod='$single_module'
350: fi
351: if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
352: _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
353: else
354: _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
355: fi
356: if test "$DSYMUTIL" != ":"; then
357: _lt_dsymutil="~$DSYMUTIL \$lib || :"
358: else
359: _lt_dsymutil=
360: fi
361: ;;
362: esac
363: ])
364:
365: # _LT_AC_SYS_LIBPATH_AIX
366: # ----------------------
367: # Links a minimal program and checks the executable
368: # for the system default hardcoded library path. In most cases,
369: # this is /usr/lib:/lib, but when the MPI compilers are used
370: # the location of the communication and MPI libs are included too.
371: # If we don't find anything, use the default library path according
372: # to the aix ld manual.
373: AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
374: [AC_REQUIRE([LT_AC_PROG_SED])dnl
375: _LT_AC_TRY_LINK([
376: lt_aix_libpath_sed='
377: /Import File Strings/,/^$/ {
378: /^0/ {
379: s/^0 *\(.*\)$/\1/
380: p
381: }
382: }'
383: aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
384: # Check for a 64-bit object if we didn't find anything.
385: if test -z "$aix_libpath"; then
386: aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
387: fi],[])
388: if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
389: ])# _LT_AC_SYS_LIBPATH_AIX
390:
391:
392: # _LT_AC_SHELL_INIT(ARG)
393: # ----------------------
394: AC_DEFUN([_LT_AC_SHELL_INIT],
395: [ifdef([AC_DIVERSION_NOTICE],
396: [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
397: [AC_DIVERT_PUSH(NOTICE)])
398: $1
399: AC_DIVERT_POP
400: ])# _LT_AC_SHELL_INIT
401:
402:
403: # _LT_AC_PROG_ECHO_BACKSLASH
404: # --------------------------
405: # Add some code to the start of the generated configure script which
406: # will find an echo command which doesn't interpret backslashes.
407: AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
408: [_LT_AC_SHELL_INIT([
409: # Check that we are running under the correct shell.
410: SHELL=${CONFIG_SHELL-/bin/sh}
411:
412: case X$ECHO in
413: X*--fallback-echo)
414: # Remove one level of quotation (which was required for Make).
415: ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
416: ;;
417: esac
418:
419: echo=${ECHO-echo}
420: if test "X[$]1" = X--no-reexec; then
421: # Discard the --no-reexec flag, and continue.
422: shift
423: elif test "X[$]1" = X--fallback-echo; then
424: # Avoid inline document here, it may be left over
425: :
426: elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
427: # Yippee, $echo works!
428: :
429: else
430: # Restart under the correct shell.
431: exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
432: fi
433:
434: if test "X[$]1" = X--fallback-echo; then
435: # used as fallback echo
436: shift
437: cat <<EOF
438: [$]*
439: EOF
440: exit 0
441: fi
442:
443: # The HP-UX ksh and POSIX shell print the target directory to stdout
444: # if CDPATH is set.
445: (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
446:
447: if test -z "$ECHO"; then
448: if test "X${echo_test_string+set}" != Xset; then
449: # find a string as large as possible, as long as the shell can cope with it
450: for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
451: # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
452: if (echo_test_string=`eval $cmd`) 2>/dev/null &&
453: echo_test_string=`eval $cmd` &&
454: (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
455: then
456: break
457: fi
458: done
459: fi
460:
461: if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
462: echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
463: test "X$echo_testing_string" = "X$echo_test_string"; then
464: :
465: else
466: # The Solaris, AIX, and Digital Unix default echo programs unquote
467: # backslashes. This makes it impossible to quote backslashes using
468: # echo "$something" | sed 's/\\/\\\\/g'
469: #
470: # So, first we look for a working echo in the user's PATH.
471:
472: lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
473: for dir in $PATH /usr/ucb; do
474: IFS="$lt_save_ifs"
475: if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
476: test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
477: echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
478: test "X$echo_testing_string" = "X$echo_test_string"; then
479: echo="$dir/echo"
480: break
481: fi
482: done
483: IFS="$lt_save_ifs"
484:
485: if test "X$echo" = Xecho; then
486: # We didn't find a better echo, so look for alternatives.
487: if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
488: echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
489: test "X$echo_testing_string" = "X$echo_test_string"; then
490: # This shell has a builtin print -r that does the trick.
491: echo='print -r'
492: elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
493: test "X$CONFIG_SHELL" != X/bin/ksh; then
494: # If we have ksh, try running configure again with it.
495: ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
496: export ORIGINAL_CONFIG_SHELL
497: CONFIG_SHELL=/bin/ksh
498: export CONFIG_SHELL
499: exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
500: else
501: # Try using printf.
502: echo='printf %s\n'
503: if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
504: echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
505: test "X$echo_testing_string" = "X$echo_test_string"; then
506: # Cool, printf works
507: :
508: elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
509: test "X$echo_testing_string" = 'X\t' &&
510: echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
511: test "X$echo_testing_string" = "X$echo_test_string"; then
512: CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
513: export CONFIG_SHELL
514: SHELL="$CONFIG_SHELL"
515: export SHELL
516: echo="$CONFIG_SHELL [$]0 --fallback-echo"
517: elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
518: test "X$echo_testing_string" = 'X\t' &&
519: echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
520: test "X$echo_testing_string" = "X$echo_test_string"; then
521: echo="$CONFIG_SHELL [$]0 --fallback-echo"
522: else
523: # maybe with a smaller string...
524: prev=:
525:
526: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
527: if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
528: then
529: break
530: fi
531: prev="$cmd"
532: done
533:
534: if test "$prev" != 'sed 50q "[$]0"'; then
535: echo_test_string=`eval $prev`
536: export echo_test_string
537: exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
538: else
539: # Oops. We lost completely, so just stick with echo.
540: echo=echo
541: fi
542: fi
543: fi
544: fi
545: fi
546: fi
547:
548: # Copy echo and quote the copy suitably for passing to libtool from
549: # the Makefile, instead of quoting the original, which is used later.
550: ECHO=$echo
551: if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
552: ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
553: fi
554:
555: AC_SUBST(ECHO)
556: ])])# _LT_AC_PROG_ECHO_BACKSLASH
557:
558:
559: # _LT_AC_LOCK
560: # -----------
561: AC_DEFUN([_LT_AC_LOCK],
562: [dnl
563: #AC_ARG_ENABLE([libtool-lock],
564: #[ --disable-libtool-lock avoid locking (might break parallel builds)])
565: #test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
566:
567: # Some flags need to be propagated to the compiler or linker for good
568: # libtool support.
569: case $host in
570: ia64-*-hpux*)
571: # Find out which ABI we are using.
572: echo 'int i;' > conftest.$ac_ext
573: if AC_TRY_EVAL(ac_compile); then
574: case `/usr/bin/file conftest.$ac_objext` in
575: *ELF-32*)
576: HPUX_IA64_MODE="32"
577: ;;
578: *ELF-64*)
579: HPUX_IA64_MODE="64"
580: ;;
581: esac
582: fi
583: rm -rf conftest*
584: ;;
585: *-*-irix6*)
586: # Find out which ABI we are using.
587: echo '[#]line __oline__ "configure"' > conftest.$ac_ext
588: if AC_TRY_EVAL(ac_compile); then
589: if test "$lt_cv_prog_gnu_ld" = yes; then
590: case `/usr/bin/file conftest.$ac_objext` in
591: *32-bit*)
592: LD="${LD-ld} -melf32bsmip"
593: ;;
594: *N32*)
595: LD="${LD-ld} -melf32bmipn32"
596: ;;
597: *64-bit*)
598: LD="${LD-ld} -melf64bmip"
599: ;;
600: esac
601: else
602: case `/usr/bin/file conftest.$ac_objext` in
603: *32-bit*)
604: LD="${LD-ld} -32"
605: ;;
606: *N32*)
607: LD="${LD-ld} -n32"
608: ;;
609: *64-bit*)
610: LD="${LD-ld} -64"
611: ;;
612: esac
613: fi
614: fi
615: rm -rf conftest*
616: ;;
617:
618: x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
619: s390*-*linux*|sparc*-*linux*)
620: # Find out which ABI we are using.
621: echo 'int i;' > conftest.$ac_ext
622: if AC_TRY_EVAL(ac_compile); then
623: case `/usr/bin/file conftest.o` in
624: *32-bit*)
625: case $host in
626: x86_64-*kfreebsd*-gnu)
627: LD="${LD-ld} -m elf_i386_fbsd"
628: ;;
629: x86_64-*linux*)
630: LD="${LD-ld} -m elf_i386"
631: ;;
632: ppc64-*linux*|powerpc64-*linux*)
633: LD="${LD-ld} -m elf32ppclinux"
634: ;;
635: s390x-*linux*)
636: LD="${LD-ld} -m elf_s390"
637: ;;
638: sparc64-*linux*)
639: LD="${LD-ld} -m elf32_sparc"
640: ;;
641: esac
642: ;;
643: *64-bit*)
644: case $host in
645: x86_64-*kfreebsd*-gnu)
646: LD="${LD-ld} -m elf_x86_64_fbsd"
647: ;;
648: x86_64-*linux*)
649: LD="${LD-ld} -m elf_x86_64"
650: ;;
651: ppc*-*linux*|powerpc*-*linux*)
652: LD="${LD-ld} -m elf64ppc"
653: ;;
654: s390*-*linux*)
655: LD="${LD-ld} -m elf64_s390"
656: ;;
657: sparc*-*linux*)
658: LD="${LD-ld} -m elf64_sparc"
659: ;;
660: esac
661: ;;
662: esac
663: fi
664: rm -rf conftest*
665: ;;
666:
667: *-*-sco3.2v5*)
668: # On SCO OpenServer 5, we need -belf to get full-featured binaries.
669: SAVE_CFLAGS="$CFLAGS"
670: CFLAGS="$CFLAGS -belf"
671: AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
672: [AC_LANG_SAVE
673: AC_LANG_C
674: AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
675: AC_LANG_RESTORE])
676: if test x"$lt_cv_cc_needs_belf" != x"yes"; then
677: # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
678: CFLAGS="$SAVE_CFLAGS"
679: fi
680: ;;
681: sparc*-*solaris*)
682: # Find out which ABI we are using.
683: echo 'int i;' > conftest.$ac_ext
684: if AC_TRY_EVAL(ac_compile); then
685: case `/usr/bin/file conftest.o` in
686: *64-bit*)
687: case $lt_cv_prog_gnu_ld in
688: yes*) LD="${LD-ld} -m elf64_sparc" ;;
689: *)
690: if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
691: LD="${LD-ld} -64"
692: fi
693: ;;
694: esac
695: ;;
696: esac
697: fi
698: rm -rf conftest*
699: ;;
700:
701: AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
702: [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
703: AC_CHECK_TOOL(DLLTOOL, dlltool, false)
704: AC_CHECK_TOOL(AS, as, false)
705: AC_CHECK_TOOL(OBJDUMP, objdump, false)
706: ;;
707: ])
708: esac
709:
710: need_locks="$enable_libtool_lock"
711:
712: ])# _LT_AC_LOCK
713:
714:
715: # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
716: # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
717: # ----------------------------------------------------------------
718: # Check whether the given compiler option works
719: AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
720: [AC_REQUIRE([LT_AC_PROG_SED])
721: AC_CACHE_CHECK([$1], [$2],
722: [$2=no
723: ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
724: echo "$lt_simple_compile_test_code" > conftest.$ac_ext
725: lt_compiler_flag="$3"
726: # Insert the option either (1) after the last *FLAGS variable, or
727: # (2) before a word containing "conftest.", or (3) at the end.
728: # Note that $ac_compile itself does not contain backslashes and begins
729: # with a dollar sign (not a hyphen), so the echo should work correctly.
730: # The option is referenced via a variable to avoid confusing sed.
731: lt_compile=`echo "$ac_compile" | $SED \
732: -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
733: -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
734: -e 's:$: $lt_compiler_flag:'`
735: (eval echo "\"configure:__oline__: $lt_compile\"" >&5)
736: (eval "$lt_compile" 2>conftest.err)
737: ac_status=$?
738: cat conftest.err >&5
739: echo "configure:__oline__: \$? = $ac_status" >&5
740: if (exit $ac_status) && test -s "$ac_outfile"; then
741: # The compiler can only warn and ignore the option if not recognized
742: # So say no if there are warnings other than the usual output.
743: $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
744: $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
745: if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
746: $2=yes
747: fi
748: fi
749: $rm conftest*
750: ])
751:
752: if test x"[$]$2" = xyes; then
753: ifelse([$5], , :, [$5])
754: else
755: ifelse([$6], , :, [$6])
756: fi
757: ])# AC_LIBTOOL_COMPILER_OPTION
758:
759:
760: # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
761: # [ACTION-SUCCESS], [ACTION-FAILURE])
762: # ------------------------------------------------------------
763: # Check whether the given compiler option works
764: AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
765: [AC_REQUIRE([LT_AC_PROG_SED])dnl
766: AC_CACHE_CHECK([$1], [$2],
767: [$2=no
768: save_LDFLAGS="$LDFLAGS"
769: LDFLAGS="$LDFLAGS $3"
770: echo "$lt_simple_link_test_code" > conftest.$ac_ext
771: if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
772: # The linker can only warn and ignore the option if not recognized
773: # So say no if there are warnings
774: if test -s conftest.err; then
775: # Append any errors to the config.log.
776: cat conftest.err 1>&5
777: $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
778: $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
779: if diff conftest.exp conftest.er2 >/dev/null; then
780: $2=yes
781: fi
782: else
783: $2=yes
784: fi
785: fi
786: $rm -r conftest*
787: LDFLAGS="$save_LDFLAGS"
788: ])
789:
790: if test x"[$]$2" = xyes; then
791: ifelse([$4], , :, [$4])
792: else
793: ifelse([$5], , :, [$5])
794: fi
795: ])# AC_LIBTOOL_LINKER_OPTION
796:
797:
798: # AC_LIBTOOL_SYS_MAX_CMD_LEN
799: # --------------------------
800: AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
801: [# find the maximum length of command line arguments
802: AC_MSG_CHECKING([the maximum length of command line arguments])
803: AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
804: i=0
805: teststring="ABCD"
806:
807: case $build_os in
808: msdosdjgpp*)
809: # On DJGPP, this test can blow up pretty badly due to problems in libc
810: # (any single argument exceeding 2000 bytes causes a buffer overrun
811: # during glob expansion). Even if it were fixed, the result of this
812: # check would be larger than it should be.
813: lt_cv_sys_max_cmd_len=12288; # 12K is about right
814: ;;
815:
816: gnu*)
817: # Under GNU Hurd, this test is not required because there is
818: # no limit to the length of command line arguments.
819: # Libtool will interpret -1 as no limit whatsoever
820: lt_cv_sys_max_cmd_len=-1;
821: ;;
822:
823: cygwin* | mingw*)
824: # On Win9x/ME, this test blows up -- it succeeds, but takes
825: # about 5 minutes as the teststring grows exponentially.
826: # Worse, since 9x/ME are not pre-emptively multitasking,
827: # you end up with a "frozen" computer, even though with patience
828: # the test eventually succeeds (with a max line length of 256k).
829: # Instead, let's just punt: use the minimum linelength reported by
830: # all of the supported platforms: 8192 (on NT/2K/XP).
831: lt_cv_sys_max_cmd_len=8192;
832: ;;
833:
834: amigaos*)
835: # On AmigaOS with pdksh, this test takes hours, literally.
836: # So we just punt and use a minimum line length of 8192.
837: lt_cv_sys_max_cmd_len=8192;
838: ;;
839:
840: netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
841: # This has been around since 386BSD, at least. Likely further.
842: if test -x /sbin/sysctl; then
843: lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
844: elif test -x /usr/sbin/sysctl; then
845: lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
846: else
847: lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
848: fi
849: # And add a safety zone
850: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
851: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
852: ;;
853:
854: interix*)
855: # We know the value 262144 and hardcode it with a safety zone (like BSD)
856: lt_cv_sys_max_cmd_len=196608
857: ;;
858:
859: osf*)
860: # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
861: # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
862: # nice to cause kernel panics so lets avoid the loop below.
863: # First set a reasonable default.
864: lt_cv_sys_max_cmd_len=16384
865: #
866: if test -x /sbin/sysconfig; then
867: case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
868: *1*) lt_cv_sys_max_cmd_len=-1 ;;
869: esac
870: fi
871: ;;
872: sco3.2v5*)
873: lt_cv_sys_max_cmd_len=102400
874: ;;
875: sysv5* | sco5v6* | sysv4.2uw2*)
876: kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
877: if test -n "$kargmax"; then
878: lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
879: else
880: lt_cv_sys_max_cmd_len=32768
881: fi
882: ;;
883: *)
884: lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
885: if test -n "$lt_cv_sys_max_cmd_len"; then
886: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
887: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
888: else
889: SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
890: while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
891: = "XX$teststring") >/dev/null 2>&1 &&
892: new_result=`expr "X$teststring" : ".*" 2>&1` &&
893: lt_cv_sys_max_cmd_len=$new_result &&
894: test $i != 17 # 1/2 MB should be enough
895: do
896: i=`expr $i + 1`
897: teststring=$teststring$teststring
898: done
899: teststring=
900: # Add a significant safety factor because C++ compilers can tack on massive
901: # amounts of additional arguments before passing them to the linker.
902: # It appears as though 1/2 is a usable value.
903: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
904: fi
905: ;;
906: esac
907: ])
908: if test -n $lt_cv_sys_max_cmd_len ; then
909: AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
910: else
911: AC_MSG_RESULT(none)
912: fi
913: ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
914:
915:
916: # _LT_AC_CHECK_DLFCN
917: # ------------------
918: AC_DEFUN([_LT_AC_CHECK_DLFCN],
919: [AC_CHECK_HEADERS(dlfcn.h)dnl
920: ])# _LT_AC_CHECK_DLFCN
921:
922:
923: # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
924: # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
925: # ---------------------------------------------------------------------
926: AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
927: [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
928: if test "$cross_compiling" = yes; then :
929: [$4]
930: else
931: lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
932: lt_status=$lt_dlunknown
933: cat > conftest.$ac_ext <<EOF
934: [#line __oline__ "configure"
935: #include "confdefs.h"
936:
937: #if HAVE_DLFCN_H
938: #include <dlfcn.h>
939: #endif
940:
941: #include <stdio.h>
942:
943: #ifdef RTLD_GLOBAL
944: # define LT_DLGLOBAL RTLD_GLOBAL
945: #else
946: # ifdef DL_GLOBAL
947: # define LT_DLGLOBAL DL_GLOBAL
948: # else
949: # define LT_DLGLOBAL 0
950: # endif
951: #endif
952:
953: /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
954: find out it does not work in some platform. */
955: #ifndef LT_DLLAZY_OR_NOW
956: # ifdef RTLD_LAZY
957: # define LT_DLLAZY_OR_NOW RTLD_LAZY
958: # else
959: # ifdef DL_LAZY
960: # define LT_DLLAZY_OR_NOW DL_LAZY
961: # else
962: # ifdef RTLD_NOW
963: # define LT_DLLAZY_OR_NOW RTLD_NOW
964: # else
965: # ifdef DL_NOW
966: # define LT_DLLAZY_OR_NOW DL_NOW
967: # else
968: # define LT_DLLAZY_OR_NOW 0
969: # endif
970: # endif
971: # endif
972: # endif
973: #endif
974:
975: #ifdef __cplusplus
976: extern "C" void exit (int);
977: #endif
978:
979: void fnord() { int i=42;}
980: int main ()
981: {
982: void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
983: int status = $lt_dlunknown;
984:
985: if (self)
986: {
987: if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
988: else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
989: /* dlclose (self); */
990: }
991: else
992: puts (dlerror ());
993:
994: exit (status);
995: }]
996: EOF
997: if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
998: (./conftest; exit; ) >&5 2>/dev/null
999: lt_status=$?
1000: case x$lt_status in
1001: x$lt_dlno_uscore) $1 ;;
1002: x$lt_dlneed_uscore) $2 ;;
1003: x$lt_dlunknown|x*) $3 ;;
1004: esac
1005: else :
1006: # compilation failed
1007: $3
1008: fi
1009: fi
1010: rm -fr conftest*
1011: ])# _LT_AC_TRY_DLOPEN_SELF
1012:
1013:
1014: # AC_LIBTOOL_DLOPEN_SELF
1015: # ----------------------
1016: AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
1017: [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1018: if test "x$enable_dlopen" != xyes; then
1019: enable_dlopen=unknown
1020: enable_dlopen_self=unknown
1021: enable_dlopen_self_static=unknown
1022: else
1023: lt_cv_dlopen=no
1024: lt_cv_dlopen_libs=
1025:
1026: case $host_os in
1027: beos*)
1028: lt_cv_dlopen="load_add_on"
1029: lt_cv_dlopen_libs=
1030: lt_cv_dlopen_self=yes
1031: ;;
1032:
1033: mingw* | pw32*)
1034: lt_cv_dlopen="LoadLibrary"
1035: lt_cv_dlopen_libs=
1036: ;;
1037:
1038: cygwin*)
1039: lt_cv_dlopen="dlopen"
1040: lt_cv_dlopen_libs=
1041: ;;
1042:
1043: darwin*)
1044: # if libdl is installed we need to link against it
1045: AC_CHECK_LIB([dl], [dlopen],
1046: [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1047: lt_cv_dlopen="dyld"
1048: lt_cv_dlopen_libs=
1049: lt_cv_dlopen_self=yes
1050: ])
1051: ;;
1052:
1053: *)
1054: AC_CHECK_FUNC([shl_load],
1055: [lt_cv_dlopen="shl_load"],
1056: [AC_CHECK_LIB([dld], [shl_load],
1057: [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1058: [AC_CHECK_FUNC([dlopen],
1059: [lt_cv_dlopen="dlopen"],
1060: [AC_CHECK_LIB([dl], [dlopen],
1061: [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1062: [AC_CHECK_LIB([svld], [dlopen],
1063: [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1064: [AC_CHECK_LIB([dld], [dld_link],
1065: [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1066: ])
1067: ])
1068: ])
1069: ])
1070: ])
1071: ;;
1072: esac
1073:
1074: if test "x$lt_cv_dlopen" != xno; then
1075: enable_dlopen=yes
1076: else
1077: enable_dlopen=no
1078: fi
1079:
1080: case $lt_cv_dlopen in
1081: dlopen)
1082: save_CPPFLAGS="$CPPFLAGS"
1083: test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1084:
1085: save_LDFLAGS="$LDFLAGS"
1086: wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1087:
1088: save_LIBS="$LIBS"
1089: LIBS="$lt_cv_dlopen_libs $LIBS"
1090:
1091: AC_CACHE_CHECK([whether a program can dlopen itself],
1092: lt_cv_dlopen_self, [dnl
1093: _LT_AC_TRY_DLOPEN_SELF(
1094: lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1095: lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1096: ])
1097:
1098: if test "x$lt_cv_dlopen_self" = xyes; then
1099: wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1100: AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1101: lt_cv_dlopen_self_static, [dnl
1102: _LT_AC_TRY_DLOPEN_SELF(
1103: lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1104: lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1105: ])
1106: fi
1107:
1108: CPPFLAGS="$save_CPPFLAGS"
1109: LDFLAGS="$save_LDFLAGS"
1110: LIBS="$save_LIBS"
1111: ;;
1112: esac
1113:
1114: case $lt_cv_dlopen_self in
1115: yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1116: *) enable_dlopen_self=unknown ;;
1117: esac
1118:
1119: case $lt_cv_dlopen_self_static in
1120: yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1121: *) enable_dlopen_self_static=unknown ;;
1122: esac
1123: fi
1124: ])# AC_LIBTOOL_DLOPEN_SELF
1125:
1126:
1127: # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
1128: # ---------------------------------
1129: # Check to see if options -c and -o are simultaneously supported by compiler
1130: AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
1131: [AC_REQUIRE([LT_AC_PROG_SED])dnl
1132: AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
1133: AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1134: [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1135: [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1136: $rm -r conftest 2>/dev/null
1137: mkdir conftest
1138: cd conftest
1139: mkdir out
1140: echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1141:
1142: lt_compiler_flag="-o out/conftest2.$ac_objext"
1143: # Insert the option either (1) after the last *FLAGS variable, or
1144: # (2) before a word containing "conftest.", or (3) at the end.
1145: # Note that $ac_compile itself does not contain backslashes and begins
1146: # with a dollar sign (not a hyphen), so the echo should work correctly.
1147: lt_compile=`echo "$ac_compile" | $SED \
1148: -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1149: -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1150: -e 's:$: $lt_compiler_flag:'`
1151: (eval echo "\"configure:__oline__: $lt_compile\"" >&5)
1152: (eval "$lt_compile" 2>out/conftest.err)
1153: ac_status=$?
1154: cat out/conftest.err >&5
1155: echo "configure:__oline__: \$? = $ac_status" >&5
1156: if (exit $ac_status) && test -s out/conftest2.$ac_objext
1157: then
1158: # The compiler can only warn and ignore the option if not recognized
1159: # So say no if there are warnings
1160: $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1161: $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1162: if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1163: _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1164: fi
1165: fi
1166: chmod u+w . 2>&5
1167: $rm conftest*
1168: # SGI C++ compiler will create directory out/ii_files/ for
1169: # template instantiation
1170: test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
1171: $rm out/* && rmdir out
1172: cd ..
1173: rmdir conftest
1174: $rm conftest*
1175: ])
1176: ])# AC_LIBTOOL_PROG_CC_C_O
1177:
1178:
1179: # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
1180: # -----------------------------------------
1181: # Check to see if we can do hard links to lock some files if needed
1182: AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
1183: [AC_REQUIRE([_LT_AC_LOCK])dnl
1184:
1185: hard_links="nottested"
1186: if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1187: # do not overwrite the value of need_locks provided by the user
1188: AC_MSG_CHECKING([if we can lock with hard links])
1189: hard_links=yes
1190: $rm conftest*
1191: ln conftest.a conftest.b 2>/dev/null && hard_links=no
1192: touch conftest.a
1193: ln conftest.a conftest.b 2>&5 || hard_links=no
1194: ln conftest.a conftest.b 2>/dev/null && hard_links=no
1195: AC_MSG_RESULT([$hard_links])
1196: if test "$hard_links" = no; then
1197: AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
1198: need_locks=warn
1199: fi
1200: else
1201: need_locks=no
1202: fi
1203: ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
1204:
1205:
1206: # AC_LIBTOOL_OBJDIR
1207: # -----------------
1208: AC_DEFUN([AC_LIBTOOL_OBJDIR],
1209: [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1210: [rm -f .libs 2>/dev/null
1211: mkdir .libs 2>/dev/null
1212: if test -d .libs; then
1213: lt_cv_objdir=.libs
1214: else
1215: # MS-DOS does not allow filenames that begin with a dot.
1216: lt_cv_objdir=_libs
1217: fi
1218: rmdir .libs 2>/dev/null])
1219: objdir=$lt_cv_objdir
1220: ])# AC_LIBTOOL_OBJDIR
1221:
1222:
1223: # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
1224: # ----------------------------------------------
1225: # Check hardcoding attributes.
1226: AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
1227: [AC_MSG_CHECKING([how to hardcode library paths into programs])
1228: _LT_AC_TAGVAR(hardcode_action, $1)=
1229: if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
1230: test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
1231: test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1232:
1233: # We can hardcode non-existent directories.
1234: if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
1235: # If the only mechanism to avoid hardcoding is shlibpath_var, we
1236: # have to relink, otherwise we might link with an installed library
1237: # when we should be linking with a yet-to-be-installed one
1238: ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1239: test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
1240: # Linking always hardcodes the temporary library directory.
1241: _LT_AC_TAGVAR(hardcode_action, $1)=relink
1242: else
1243: # We can link without hardcoding, and we can hardcode nonexisting dirs.
1244: _LT_AC_TAGVAR(hardcode_action, $1)=immediate
1245: fi
1246: else
1247: # We cannot hardcode anything, or else we can only hardcode existing
1248: # directories.
1249: _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
1250: fi
1251: AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
1252:
1253: if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
1254: # Fast installation is not supported
1255: enable_fast_install=no
1256: elif test "$shlibpath_overrides_runpath" = yes ||
1257: test "$enable_shared" = no; then
1258: # Fast installation is not necessary
1259: enable_fast_install=needless
1260: fi
1261: ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
1262:
1263:
1264: # AC_LIBTOOL_SYS_LIB_STRIP
1265: # ------------------------
1266: AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
1267: [striplib=
1268: old_striplib=
1269: AC_MSG_CHECKING([whether stripping libraries is possible])
1270: if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
1271: test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
1272: test -z "$striplib" && striplib="$STRIP --strip-unneeded"
1273: AC_MSG_RESULT([yes])
1274: else
1275: # FIXME - insert some real tests, host_os isn't really good enough
1276: case $host_os in
1277: darwin*)
1278: if test -n "$STRIP" ; then
1279: striplib="$STRIP -x"
1280: old_striplib="$STRIP -S"
1281: AC_MSG_RESULT([yes])
1282: else
1283: AC_MSG_RESULT([no])
1284: fi
1285: ;;
1286: *)
1287: AC_MSG_RESULT([no])
1288: ;;
1289: esac
1290: fi
1291: ])# AC_LIBTOOL_SYS_LIB_STRIP
1292:
1293:
1294: # AC_LIBTOOL_SYS_DYNAMIC_LINKER
1295: # -----------------------------
1296: # PORTME Fill in your ld.so characteristics
1297: AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
1298: [AC_REQUIRE([LT_AC_PROG_SED])dnl
1299: AC_MSG_CHECKING([dynamic linker characteristics])
1300: library_names_spec=
1301: libname_spec='lib$name'
1302: soname_spec=
1303: shrext_cmds=".so"
1304: postinstall_cmds=
1305: postuninstall_cmds=
1306: finish_cmds=
1307: finish_eval=
1308: shlibpath_var=
1309: shlibpath_overrides_runpath=unknown
1310: version_type=none
1311: dynamic_linker="$host_os ld.so"
1312: sys_lib_dlsearch_path_spec="/lib /usr/lib"
1313: ifelse($1,[],[
1314: if test "$GCC" = yes; then
1315: case $host_os in
1316: darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
1317: *) lt_awk_arg="/^libraries:/" ;;
1318: esac
1319: lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
1320: if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
1321: # if the path contains ";" then we assume it to be the separator
1322: # otherwise default to the standard path separator (i.e. ":") - it is
1323: # assumed that no part of a normal pathname contains ";" but that should
1324: # okay in the real world where ";" in dirpaths is itself problematic.
1325: lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
1326: else
1327: lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
1328: fi
1329: # Ok, now we have the path, separated by spaces, we can step through it
1330: # and add multilib dir if necessary.
1331: lt_tmp_lt_search_path_spec=
1332: lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
1333: for lt_sys_path in $lt_search_path_spec; do
1334: if test -d "$lt_sys_path/$lt_multi_os_dir"; then
1335: lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
1336: else
1337: test -d "$lt_sys_path" && \
1338: lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
1339: fi
1340: done
1341: lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
1342: BEGIN {RS=" "; FS="/|\n";} {
1343: lt_foo="";
1344: lt_count=0;
1345: for (lt_i = NF; lt_i > 0; lt_i--) {
1346: if ($lt_i != "" && $lt_i != ".") {
1347: if ($lt_i == "..") {
1348: lt_count++;
1349: } else {
1350: if (lt_count == 0) {
1351: lt_foo="/" $lt_i lt_foo;
1352: } else {
1353: lt_count--;
1354: }
1355: }
1356: }
1357: }
1358: if (lt_foo != "") { lt_freq[[lt_foo]]++; }
1359: if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
1360: }'`
1361: sys_lib_search_path_spec=`echo $lt_search_path_spec`
1362: else
1363: sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1364: fi])
1365: need_lib_prefix=unknown
1366: hardcode_into_libs=no
1367:
1368: # when you set need_version to no, make sure it does not cause -set_version
1369: # flags to be left without arguments
1370: need_version=unknown
1371:
1372: case $host_os in
1373: aix3*)
1374: version_type=linux
1375: library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
1376: shlibpath_var=LIBPATH
1377:
1378: # AIX 3 has no versioning support, so we append a major version to the name.
1379: soname_spec='${libname}${release}${shared_ext}$major'
1380: ;;
1381:
1382: aix[[4-9]]*)
1383: version_type=linux
1384: need_lib_prefix=no
1385: need_version=no
1386: hardcode_into_libs=yes
1387: if test "$host_cpu" = ia64; then
1388: # AIX 5 supports IA64
1389: library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
1390: shlibpath_var=LD_LIBRARY_PATH
1391: else
1392: # With GCC up to 2.95.x, collect2 would create an import file
1393: # for dependence libraries. The import file would start with
1394: # the line `#! .'. This would cause the generated library to
1395: # depend on `.', always an invalid library. This was fixed in
1396: # development snapshots of GCC prior to 3.0.
1397: case $host_os in
1398: aix4 | aix4.[[01]] | aix4.[[01]].*)
1399: if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1400: echo ' yes '
1401: echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1402: :
1403: else
1404: can_build_shared=no
1405: fi
1406: ;;
1407: esac
1408: # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
1409: # soname into executable. Probably we can add versioning support to
1410: # collect2, so additional links can be useful in future.
1411: if test "$aix_use_runtimelinking" = yes; then
1412: # If using run time linking (on AIX 4.2 or later) use lib<name>.so
1413: # instead of lib<name>.a to let people know that these are not
1414: # typical AIX shared libraries.
1415: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1416: else
1417: # We preserve .a as extension for shared libraries through AIX4.2
1418: # and later when we are not doing run time linking.
1419: library_names_spec='${libname}${release}.a $libname.a'
1420: soname_spec='${libname}${release}${shared_ext}$major'
1421: fi
1422: shlibpath_var=LIBPATH
1423: fi
1424: ;;
1425:
1426: amigaos*)
1427: library_names_spec='$libname.ixlibrary $libname.a'
1428: # Create ${libname}_ixlibrary.a entries in /sys/libs.
1429: 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'
1430: ;;
1431:
1432: beos*)
1433: library_names_spec='${libname}${shared_ext}'
1434: dynamic_linker="$host_os ld.so"
1435: shlibpath_var=LIBRARY_PATH
1436: ;;
1437:
1438: bsdi[[45]]*)
1439: version_type=linux
1440: need_version=no
1441: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1442: soname_spec='${libname}${release}${shared_ext}$major'
1443: finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
1444: shlibpath_var=LD_LIBRARY_PATH
1445: sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1446: sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
1447: # the default ld.so.conf also contains /usr/contrib/lib and
1448: # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1449: # libtool to hard-code these into programs
1450: ;;
1451:
1452: cygwin* | mingw* | pw32*)
1453: version_type=windows
1454: shrext_cmds=".dll"
1455: need_version=no
1456: need_lib_prefix=no
1457:
1458: case $GCC,$host_os in
1459: yes,cygwin* | yes,mingw* | yes,pw32*)
1460: library_names_spec='$libname.dll.a'
1461: # DLL is installed to $(libdir)/../bin by postinstall_cmds
1462: postinstall_cmds='base_file=`basename \${file}`~
1463: dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
1464: dldir=$destdir/`dirname \$dlpath`~
1465: test -d \$dldir || mkdir -p \$dldir~
1466: $install_prog $dir/$dlname \$dldir/$dlname~
1467: chmod a+x \$dldir/$dlname'
1468: postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
1469: dlpath=$dir/\$dldll~
1470: $rm \$dlpath'
1471: shlibpath_overrides_runpath=yes
1472:
1473: case $host_os in
1474: cygwin*)
1475: # Cygwin DLLs use 'cyg' prefix rather than 'lib'
1476: soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1477: sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
1478: ;;
1479: mingw*)
1480: # MinGW DLLs use traditional 'lib' prefix
1481: soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1482: sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
1483: if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
1484: # It is most probably a Windows format PATH printed by
1485: # mingw gcc, but we are running on Cygwin. Gcc prints its search
1486: # path with ; separators, and with drive letters. We can handle the
1487: # drive letters (cygwin fileutils understands them), so leave them,
1488: # especially as we might pass files found there to a mingw objdump,
1489: # which wouldn't understand a cygwinified path. Ahh.
1490: sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
1491: else
1492: sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
1493: fi
1494: ;;
1495: pw32*)
1496: # pw32 DLLs use 'pw' prefix rather than 'lib'
1497: library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
1498: ;;
1499: esac
1500: ;;
1501:
1502: *)
1503: library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
1504: ;;
1505: esac
1506: dynamic_linker='Win32 ld.exe'
1507: # FIXME: first we should search . and the directory the executable is in
1508: shlibpath_var=PATH
1509: ;;
1510:
1511: darwin* | rhapsody*)
1512: dynamic_linker="$host_os dyld"
1513: version_type=darwin
1514: need_lib_prefix=no
1515: need_version=no
1516: library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
1517: soname_spec='${libname}${release}${major}$shared_ext'
1518: shlibpath_overrides_runpath=yes
1519: shlibpath_var=DYLD_LIBRARY_PATH
1520: shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
1521: ifelse([$1], [],[
1522: sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
1523: sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
1524: ;;
1525:
1526: dgux*)
1527: version_type=linux
1528: need_lib_prefix=no
1529: need_version=no
1530: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
1531: soname_spec='${libname}${release}${shared_ext}$major'
1532: shlibpath_var=LD_LIBRARY_PATH
1533: ;;
1534:
1535: freebsd1*)
1536: dynamic_linker=no
1537: ;;
1538:
1539: freebsd* | dragonfly*)
1540: # DragonFly does not have aout. When/if they implement a new
1541: # versioning mechanism, adjust this.
1542: if test -x /usr/bin/objformat; then
1543: objformat=`/usr/bin/objformat`
1544: else
1545: case $host_os in
1546: freebsd[[123]]*) objformat=aout ;;
1547: *) objformat=elf ;;
1548: esac
1549: fi
1550: version_type=freebsd-$objformat
1551: case $version_type in
1552: freebsd-elf*)
1553: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
1554: need_version=no
1555: need_lib_prefix=no
1556: ;;
1557: freebsd-*)
1558: library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
1559: need_version=yes
1560: ;;
1561: esac
1562: shlibpath_var=LD_LIBRARY_PATH
1563: case $host_os in
1564: freebsd2*)
1565: shlibpath_overrides_runpath=yes
1566: ;;
1567: freebsd3.[[01]]* | freebsdelf3.[[01]]*)
1568: shlibpath_overrides_runpath=yes
1569: hardcode_into_libs=yes
1570: ;;
1571: freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
1572: freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
1573: shlibpath_overrides_runpath=no
1574: hardcode_into_libs=yes
1575: ;;
1576: *) # from 4.6 on, and DragonFly
1577: shlibpath_overrides_runpath=yes
1578: hardcode_into_libs=yes
1579: ;;
1580: esac
1581: ;;
1582:
1583: gnu*)
1584: version_type=linux
1585: need_lib_prefix=no
1586: need_version=no
1587: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
1588: soname_spec='${libname}${release}${shared_ext}$major'
1589: shlibpath_var=LD_LIBRARY_PATH
1590: hardcode_into_libs=yes
1591: ;;
1592:
1593: hpux9* | hpux10* | hpux11*)
1594: # Give a soname corresponding to the major version so that dld.sl refuses to
1595: # link against other versions.
1596: version_type=sunos
1597: need_lib_prefix=no
1598: need_version=no
1599: case $host_cpu in
1600: ia64*)
1601: shrext_cmds='.so'
1602: hardcode_into_libs=yes
1603: dynamic_linker="$host_os dld.so"
1604: shlibpath_var=LD_LIBRARY_PATH
1605: shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1606: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1607: soname_spec='${libname}${release}${shared_ext}$major'
1608: if test "X$HPUX_IA64_MODE" = X32; then
1609: sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
1610: else
1611: sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
1612: fi
1613: sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1614: ;;
1615: hppa*64*)
1616: shrext_cmds='.sl'
1617: hardcode_into_libs=yes
1618: dynamic_linker="$host_os dld.sl"
1619: shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
1620: shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1621: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1622: soname_spec='${libname}${release}${shared_ext}$major'
1623: sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
1624: sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1625: ;;
1626: *)
1627: shrext_cmds='.sl'
1628: dynamic_linker="$host_os dld.sl"
1629: shlibpath_var=SHLIB_PATH
1630: shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
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: ;;
1634: esac
1635: # HP-UX runs *really* slowly unless shared libraries are mode 555.
1636: postinstall_cmds='chmod 555 $lib'
1637: ;;
1638:
1639: interix[[3-9]]*)
1640: version_type=linux
1641: need_lib_prefix=no
1642: need_version=no
1643: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1644: soname_spec='${libname}${release}${shared_ext}$major'
1645: dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
1646: shlibpath_var=LD_LIBRARY_PATH
1647: shlibpath_overrides_runpath=no
1648: hardcode_into_libs=yes
1649: ;;
1650:
1651: irix5* | irix6* | nonstopux*)
1652: case $host_os in
1653: nonstopux*) version_type=nonstopux ;;
1654: *)
1655: if test "$lt_cv_prog_gnu_ld" = yes; then
1656: version_type=linux
1657: else
1658: version_type=irix
1659: fi ;;
1660: esac
1661: need_lib_prefix=no
1662: need_version=no
1663: soname_spec='${libname}${release}${shared_ext}$major'
1664: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
1665: case $host_os in
1666: irix5* | nonstopux*)
1667: libsuff= shlibsuff=
1668: ;;
1669: *)
1670: case $LD in # libtool.m4 will add one of these switches to LD
1671: *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
1672: libsuff= shlibsuff= libmagic=32-bit;;
1673: *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
1674: libsuff=32 shlibsuff=N32 libmagic=N32;;
1675: *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
1676: libsuff=64 shlibsuff=64 libmagic=64-bit;;
1677: *) libsuff= shlibsuff= libmagic=never-match;;
1678: esac
1679: ;;
1680: esac
1681: shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1682: shlibpath_overrides_runpath=no
1683: sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1684: sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
1685: hardcode_into_libs=yes
1686: ;;
1687:
1688: # No shared lib support for Linux oldld, aout, or coff.
1689: linux*oldld* | linux*aout* | linux*coff*)
1690: dynamic_linker=no
1691: ;;
1692:
1693: # This must be Linux ELF.
1694: linux* | k*bsd*-gnu)
1695: version_type=linux
1696: need_lib_prefix=no
1697: need_version=no
1698: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1699: soname_spec='${libname}${release}${shared_ext}$major'
1700: finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1701: shlibpath_var=LD_LIBRARY_PATH
1702: shlibpath_overrides_runpath=no
1703: # This implies no fast_install, which is unacceptable.
1704: # Some rework will be needed to allow for fast_install
1705: # before this can be enabled.
1706: hardcode_into_libs=yes
1707:
1708: # Append ld.so.conf contents to the search path
1709: if test -f /etc/ld.so.conf; then
1710: lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
1711: sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
1712: fi
1713:
1714: # We used to test for /lib/ld.so.1 and disable shared libraries on
1715: # powerpc, because MkLinux only supported shared libraries with the
1716: # GNU dynamic linker. Since this was broken with cross compilers,
1717: # most powerpc-linux boxes support dynamic linking these days and
1718: # people can always --disable-shared, the test was removed, and we
1719: # assume the GNU/Linux dynamic linker is in use.
1720: dynamic_linker='GNU/Linux ld.so'
1721: ;;
1722:
1723: netbsd*)
1724: version_type=sunos
1725: need_lib_prefix=no
1726: need_version=no
1727: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1728: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1729: finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1730: dynamic_linker='NetBSD (a.out) ld.so'
1731: else
1732: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1733: soname_spec='${libname}${release}${shared_ext}$major'
1734: dynamic_linker='NetBSD ld.elf_so'
1735: fi
1736: shlibpath_var=LD_LIBRARY_PATH
1737: shlibpath_overrides_runpath=yes
1738: hardcode_into_libs=yes
1739: ;;
1740:
1741: newsos6)
1742: version_type=linux
1743: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1744: shlibpath_var=LD_LIBRARY_PATH
1745: shlibpath_overrides_runpath=yes
1746: ;;
1747:
1748: nto-qnx*)
1749: version_type=linux
1750: need_lib_prefix=no
1751: need_version=no
1752: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1753: soname_spec='${libname}${release}${shared_ext}$major'
1754: shlibpath_var=LD_LIBRARY_PATH
1755: shlibpath_overrides_runpath=yes
1756: ;;
1757:
1758: openbsd*)
1759: version_type=sunos
1760: sys_lib_dlsearch_path_spec="/usr/lib"
1761: need_lib_prefix=no
1762: # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
1763: case $host_os in
1764: openbsd3.3 | openbsd3.3.*) need_version=yes ;;
1765: *) need_version=no ;;
1766: esac
1767: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1768: finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1769: shlibpath_var=LD_LIBRARY_PATH
1770: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1771: case $host_os in
1772: openbsd2.[[89]] | openbsd2.[[89]].*)
1773: shlibpath_overrides_runpath=no
1774: ;;
1775: *)
1776: shlibpath_overrides_runpath=yes
1777: ;;
1778: esac
1779: else
1780: shlibpath_overrides_runpath=yes
1781: fi
1782: ;;
1783:
1784: os2*)
1785: libname_spec='$name'
1786: shrext_cmds=".dll"
1787: need_lib_prefix=no
1788: library_names_spec='$libname${shared_ext} $libname.a'
1789: dynamic_linker='OS/2 ld.exe'
1790: shlibpath_var=LIBPATH
1791: ;;
1792:
1793: osf3* | osf4* | osf5*)
1794: version_type=osf
1795: need_lib_prefix=no
1796: need_version=no
1797: soname_spec='${libname}${release}${shared_ext}$major'
1798: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1799: shlibpath_var=LD_LIBRARY_PATH
1800: sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1801: sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
1802: ;;
1803:
1804: rdos*)
1805: dynamic_linker=no
1806: ;;
1807:
1808: solaris*)
1809: version_type=linux
1810: need_lib_prefix=no
1811: need_version=no
1812: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1813: soname_spec='${libname}${release}${shared_ext}$major'
1814: shlibpath_var=LD_LIBRARY_PATH
1815: shlibpath_overrides_runpath=yes
1816: hardcode_into_libs=yes
1817: # ldd complains unless libraries are executable
1818: postinstall_cmds='chmod +x $lib'
1819: ;;
1820:
1821: sunos4*)
1822: version_type=sunos
1823: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
1824: finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1825: shlibpath_var=LD_LIBRARY_PATH
1826: shlibpath_overrides_runpath=yes
1827: if test "$with_gnu_ld" = yes; then
1828: need_lib_prefix=no
1829: fi
1830: need_version=yes
1831: ;;
1832:
1833: sysv4 | sysv4.3*)
1834: version_type=linux
1835: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1836: soname_spec='${libname}${release}${shared_ext}$major'
1837: shlibpath_var=LD_LIBRARY_PATH
1838: case $host_vendor in
1839: sni)
1840: shlibpath_overrides_runpath=no
1841: need_lib_prefix=no
1842: export_dynamic_flag_spec='${wl}-Blargedynsym'
1843: runpath_var=LD_RUN_PATH
1844: ;;
1845: siemens)
1846: need_lib_prefix=no
1847: ;;
1848: motorola)
1849: need_lib_prefix=no
1850: need_version=no
1851: shlibpath_overrides_runpath=no
1852: sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
1853: ;;
1854: esac
1855: ;;
1856:
1857: sysv4*MP*)
1858: if test -d /usr/nec ;then
1859: version_type=linux
1860: library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
1861: soname_spec='$libname${shared_ext}.$major'
1862: shlibpath_var=LD_LIBRARY_PATH
1863: fi
1864: ;;
1865:
1866: sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
1867: version_type=freebsd-elf
1868: need_lib_prefix=no
1869: need_version=no
1870: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
1871: soname_spec='${libname}${release}${shared_ext}$major'
1872: shlibpath_var=LD_LIBRARY_PATH
1873: hardcode_into_libs=yes
1874: if test "$with_gnu_ld" = yes; then
1875: sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
1876: shlibpath_overrides_runpath=no
1877: else
1878: sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
1879: shlibpath_overrides_runpath=yes
1880: case $host_os in
1881: sco3.2v5*)
1882: sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
1883: ;;
1884: esac
1885: fi
1886: sys_lib_dlsearch_path_spec='/usr/lib'
1887: ;;
1888:
1889: uts4*)
1890: version_type=linux
1891: library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1892: soname_spec='${libname}${release}${shared_ext}$major'
1893: shlibpath_var=LD_LIBRARY_PATH
1894: ;;
1895:
1896: *)
1897: dynamic_linker=no
1898: ;;
1899: esac
1900: AC_MSG_RESULT([$dynamic_linker])
1901: test "$dynamic_linker" = no && can_build_shared=no
1902:
1903: AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
1904: [lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
1905: sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
1906: AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
1907: [lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
1908: sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
1909:
1910: variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
1911: if test "$GCC" = yes; then
1912: variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
1913: fi
1914: ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1915:
1916:
1917: # _LT_AC_TAGCONFIG
1918: # ----------------
1919: AC_DEFUN([_LT_AC_TAGCONFIG],
1920: [AC_REQUIRE([LT_AC_PROG_SED])dnl
1921: AC_ARG_WITH([tags],
1922: [ --with-tags[=TAGS] include additional configurations [automatic]
1923: ],
1924: [tagnames="$withval"])
1925:
1926: if test -f "$ltmain" && test -n "$tagnames"; then
1927: if test ! -f "${ofile}"; then
1928: AC_MSG_WARN([output file \`$ofile' does not exist])
1929: fi
1930:
1931: if test -z "$LTCC"; then
1932: eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
1933: if test -z "$LTCC"; then
1934: AC_MSG_WARN([output file \`$ofile' does not look like a libtool script])
1935: else
1936: AC_MSG_WARN([using \`LTCC=$LTCC', extracted from \`$ofile'])
1937: fi
1938: fi
1939: if test -z "$LTCFLAGS"; then
1940: eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
1941: fi
1942:
1943: # Extract list of available tagged configurations in $ofile.
1944: # Note that this assumes the entire list is on one line.
1945: available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
1946:
1947: lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1948: for tagname in $tagnames; do
1949: IFS="$lt_save_ifs"
1950: # Check whether tagname contains only valid characters
1951: case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
1952: "") ;;
1953: *) AC_MSG_ERROR([invalid tag name: $tagname])
1954: ;;
1955: esac
1956:
1957: if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
1958: then
1959: AC_MSG_ERROR([tag name \"$tagname\" already exists])
1960: fi
1961:
1962: # Update the list of available tags.
1963: if test -n "$tagname"; then
1964: echo appending configuration tag \"$tagname\" to $ofile
1965:
1966: case $tagname in
1967: CXX)
1968: if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
1969: ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
1970: (test "X$CXX" != "Xg++"))) ; then
1971: AC_LIBTOOL_LANG_CXX_CONFIG
1972: else
1973: tagname=""
1974: fi
1975: ;;
1976:
1977: *)
1978: AC_MSG_ERROR([Unsupported tag name: $tagname])
1979: ;;
1980: esac
1981:
1982: # Append the new tag name to the list of available tags.
1983: if test -n "$tagname" ; then
1984: available_tags="$available_tags $tagname"
1985: fi
1986: fi
1987: done
1988: IFS="$lt_save_ifs"
1989:
1990: # Now substitute the updated list of available tags.
1991: if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
1992: mv "${ofile}T" "$ofile"
1993: chmod +x "$ofile"
1994: else
1995: rm -f "${ofile}T"
1996: AC_MSG_ERROR([unable to update list of available tagged configurations.])
1997: fi
1998: fi
1999: ])# _LT_AC_TAGCONFIG
2000:
2001:
2002: # AC_LIBTOOL_DLOPEN
2003: # -----------------
2004: # enable checks for dlopen support
2005: AC_DEFUN([AC_LIBTOOL_DLOPEN],
2006: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
2007: ])# AC_LIBTOOL_DLOPEN
2008:
2009:
2010: # AC_LIBTOOL_WIN32_DLL
2011: # --------------------
2012: # declare package support for building win32 DLLs
2013: AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
2014: [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
2015: ])# AC_LIBTOOL_WIN32_DLL
2016:
2017:
2018: # AC_ENABLE_SHARED([DEFAULT])
2019: # ---------------------------
2020: # implement the --enable-shared flag
2021: # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
2022: AC_DEFUN([AC_ENABLE_SHARED],
2023: [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
2024: AC_ARG_ENABLE([shared],
2025: changequote(<<, >>)dnl
2026: << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
2027: changequote([, ])dnl
2028: [p=${PACKAGE-default}
2029: case $enableval in
2030: yes) enable_shared=yes ;;
2031: no) enable_shared=no ;;
2032: *)
2033: enable_shared=no
2034: # Look at the argument we got. We use all the common list separators.
2035: lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2036: for pkg in $enableval; do
2037: IFS="$lt_save_ifs"
2038: if test "X$pkg" = "X$p"; then
2039: enable_shared=yes
2040: fi
2041: done
2042: IFS="$lt_save_ifs"
2043: ;;
2044: esac],
2045: [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
2046: ])# AC_ENABLE_SHARED
2047:
2048:
2049: # AC_DISABLE_SHARED
2050: # -----------------
2051: # set the default shared flag to --disable-shared
2052: AC_DEFUN([AC_DISABLE_SHARED],
2053: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2054: AC_ENABLE_SHARED(no)
2055: ])# AC_DISABLE_SHARED
2056:
2057:
2058: # AC_ENABLE_STATIC([DEFAULT])
2059: # ---------------------------
2060: # implement the --enable-static flag
2061: # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
2062: AC_DEFUN([AC_ENABLE_STATIC],
2063: [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
2064: AC_ARG_ENABLE([static],
2065: changequote(<<, >>)dnl
2066: << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
2067: changequote([, ])dnl
2068: [p=${PACKAGE-default}
2069: case $enableval in
2070: yes) enable_static=yes ;;
2071: no) enable_static=no ;;
2072: *)
2073: enable_static=no
2074: # Look at the argument we got. We use all the common list separators.
2075: lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2076: for pkg in $enableval; do
2077: IFS="$lt_save_ifs"
2078: if test "X$pkg" = "X$p"; then
2079: enable_static=yes
2080: fi
2081: done
2082: IFS="$lt_save_ifs"
2083: ;;
2084: esac],
2085: [enable_static=]AC_ENABLE_STATIC_DEFAULT)
2086: ])# AC_ENABLE_STATIC
2087:
2088:
2089: # AC_DISABLE_STATIC
2090: # -----------------
2091: # set the default static flag to --disable-static
2092: AC_DEFUN([AC_DISABLE_STATIC],
2093: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2094: AC_ENABLE_STATIC(no)
2095: ])# AC_DISABLE_STATIC
2096:
2097:
2098: # AC_ENABLE_FAST_INSTALL([DEFAULT])
2099: # ---------------------------------
2100: # implement the --enable-fast-install flag
2101: # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
2102: AC_DEFUN([AC_ENABLE_FAST_INSTALL],
2103: [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
2104: AC_ARG_ENABLE([fast-install],
2105: changequote(<<, >>)dnl
2106: << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
2107: changequote([, ])dnl
2108: [p=${PACKAGE-default}
2109: case $enableval in
2110: yes) enable_fast_install=yes ;;
2111: no) enable_fast_install=no ;;
2112: *)
2113: enable_fast_install=no
2114: # Look at the argument we got. We use all the common list separators.
2115: lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2116: for pkg in $enableval; do
2117: IFS="$lt_save_ifs"
2118: if test "X$pkg" = "X$p"; then
2119: enable_fast_install=yes
2120: fi
2121: done
2122: IFS="$lt_save_ifs"
2123: ;;
2124: esac],
2125: [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
2126: ])# AC_ENABLE_FAST_INSTALL
2127:
2128:
2129: # AC_DISABLE_FAST_INSTALL
2130: # -----------------------
2131: # set the default to --disable-fast-install
2132: AC_DEFUN([AC_DISABLE_FAST_INSTALL],
2133: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2134: AC_ENABLE_FAST_INSTALL(no)
2135: ])# AC_DISABLE_FAST_INSTALL
2136:
2137:
2138: # AC_LIBTOOL_PICMODE([MODE])
2139: # --------------------------
2140: # implement the --with-pic flag
2141: # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
2142: AC_DEFUN([AC_LIBTOOL_PICMODE],
2143: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2144: pic_mode=ifelse($#,1,$1,default)
2145: ])# AC_LIBTOOL_PICMODE
2146:
2147:
2148: # AC_PROG_EGREP
2149: # -------------
2150: ifdef([AC_PROG_EGREP], [], [AC_DEFUN([AC_PROG_EGREP],
2151: [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2152: [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2153: then ac_cv_prog_egrep='grep -E'
2154: else ac_cv_prog_egrep='egrep'
2155: fi])
2156: EGREP=$ac_cv_prog_egrep
2157: AC_SUBST([EGREP])
2158: ])])
2159:
2160:
2161: # AC_PATH_TOOL_PREFIX
2162: # -------------------
2163: # find a file program which can recognize shared library
2164: AC_DEFUN([AC_PATH_TOOL_PREFIX],
2165: [AC_REQUIRE([AC_PROG_EGREP])dnl
2166: AC_MSG_CHECKING([for $1])
2167: AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2168: [case $MAGIC_CMD in
2169: [[\\/*] | ?:[\\/]*])
2170: lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2171: ;;
2172: *)
2173: lt_save_MAGIC_CMD="$MAGIC_CMD"
2174: lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2175: dnl $ac_dummy forces splitting on constant user-supplied paths.
2176: dnl POSIX.2 word splitting is done only on the output of word expansions,
2177: dnl not every word. This closes a longstanding sh security hole.
2178: ac_dummy="ifelse([$2], , $PATH, [$2])"
2179: for ac_dir in $ac_dummy; do
2180: IFS="$lt_save_ifs"
2181: test -z "$ac_dir" && ac_dir=.
2182: if test -f $ac_dir/$1; then
2183: lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2184: if test -n "$file_magic_test_file"; then
2185: case $deplibs_check_method in
2186: "file_magic "*)
2187: file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2188: MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2189: if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2190: $EGREP "$file_magic_regex" > /dev/null; then
2191: :
2192: else
2193: cat <<EOF 1>&2
2194:
2195: *** Warning: the command libtool uses to detect shared libraries,
2196: *** $file_magic_cmd, produces output that libtool cannot recognize.
2197: *** The result is that libtool may fail to recognize shared libraries
2198: *** as such. This will affect the creation of libtool libraries that
2199: *** depend on shared libraries, but programs linked with such libtool
2200: *** libraries will work regardless of this problem. Nevertheless, you
2201: *** may want to report the problem to your system manager and/or to
2202: *** bug-libtool@gnu.org
2203:
2204: EOF
2205: fi ;;
2206: esac
2207: fi
2208: break
2209: fi
2210: done
2211: IFS="$lt_save_ifs"
2212: MAGIC_CMD="$lt_save_MAGIC_CMD"
2213: ;;
2214: esac])
2215: MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2216: if test -n "$MAGIC_CMD"; then
2217: AC_MSG_RESULT($MAGIC_CMD)
2218: else
2219: AC_MSG_RESULT(no)
2220: fi
2221: ])# AC_PATH_TOOL_PREFIX
2222:
2223:
2224: # AC_PATH_MAGIC
2225: # -------------
2226: # find a file program which can recognize a shared library
2227: AC_DEFUN([AC_PATH_MAGIC],
2228: [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2229: if test -z "$lt_cv_path_MAGIC_CMD"; then
2230: if test -n "$ac_tool_prefix"; then
2231: AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2232: else
2233: MAGIC_CMD=:
2234: fi
2235: fi
2236: ])# AC_PATH_MAGIC
2237:
2238:
2239: # AC_PROG_LD
2240: # ----------
2241: # find the pathname to the GNU or non-GNU linker
2242: AC_DEFUN([AC_PROG_LD],
2243: [AC_ARG_WITH([gnu-ld],
2244: [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
2245: [test "$withval" = no || with_gnu_ld=yes],
2246: [with_gnu_ld=no])
2247: AC_REQUIRE([LT_AC_PROG_SED])dnl
2248: AC_REQUIRE([AC_PROG_CC])dnl
2249: AC_REQUIRE([AC_CANONICAL_HOST])dnl
2250: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2251: ac_prog=ld
2252: if test "$GCC" = yes; then
2253: # Check if gcc -print-prog-name=ld gives a path.
2254: AC_MSG_CHECKING([for ld used by $CC])
2255: case $host in
2256: *-*-mingw*)
2257: # gcc leaves a trailing carriage return which upsets mingw
2258: ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2259: *)
2260: ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2261: esac
2262: case $ac_prog in
2263: # Accept absolute paths.
2264: [[\\/]]* | ?:[[\\/]]*)
2265: re_direlt='/[[^/]][[^/]]*/\.\./'
2266: # Canonicalize the pathname of ld
2267: ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
2268: while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
2269: ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
2270: done
2271: test -z "$LD" && LD="$ac_prog"
2272: ;;
2273: "")
2274: # If it fails, then pretend we aren't using GCC.
2275: ac_prog=ld
2276: ;;
2277: *)
2278: # If it is relative, then search for the first ld in PATH.
2279: with_gnu_ld=unknown
2280: ;;
2281: esac
2282: elif test "$with_gnu_ld" = yes; then
2283: AC_MSG_CHECKING([for GNU ld])
2284: else
2285: AC_MSG_CHECKING([for non-GNU ld])
2286: fi
2287: AC_CACHE_VAL(lt_cv_path_LD,
2288: [if test -z "$LD"; then
2289: lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2290: for ac_dir in $PATH; do
2291: IFS="$lt_save_ifs"
2292: test -z "$ac_dir" && ac_dir=.
2293: if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2294: lt_cv_path_LD="$ac_dir/$ac_prog"
2295: # Check to see if the program is GNU ld. I'd rather use --version,
2296: # but apparently some variants of GNU ld only accept -v.
2297: # Break only if it was the GNU/non-GNU ld that we prefer.
2298: case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2299: *GNU* | *'with BFD'*)
2300: test "$with_gnu_ld" != no && break
2301: ;;
2302: *)
2303: test "$with_gnu_ld" != yes && break
2304: ;;
2305: esac
2306: fi
2307: done
2308: IFS="$lt_save_ifs"
2309: else
2310: lt_cv_path_LD="$LD" # Let the user override the test with a path.
2311: fi])
2312: LD="$lt_cv_path_LD"
2313: if test -n "$LD"; then
2314: AC_MSG_RESULT($LD)
2315: else
2316: AC_MSG_RESULT(no)
2317: fi
2318: test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2319: AC_PROG_LD_GNU
2320: ])# AC_PROG_LD
2321:
2322:
2323: # AC_PROG_LD_GNU
2324: # --------------
2325: AC_DEFUN([AC_PROG_LD_GNU],
2326: [AC_REQUIRE([AC_PROG_EGREP])dnl
2327: AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2328: [# I'd rather use --version here, but apparently some GNU lds only accept -v.
2329: case `$LD -v 2>&1 </dev/null` in
2330: *GNU* | *'with BFD'*)
2331: lt_cv_prog_gnu_ld=yes
2332: ;;
2333: *)
2334: lt_cv_prog_gnu_ld=no
2335: ;;
2336: esac])
2337: with_gnu_ld=$lt_cv_prog_gnu_ld
2338: ])# AC_PROG_LD_GNU
2339:
2340:
2341: # AC_PROG_LD_RELOAD_FLAG
2342: # ----------------------
2343: # find reload flag for linker
2344: # -- PORTME Some linkers may need a different reload flag.
2345: AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
2346: [AC_CACHE_CHECK([for $LD option to reload object files],
2347: lt_cv_ld_reload_flag,
2348: [lt_cv_ld_reload_flag='-r'])
2349: reload_flag=$lt_cv_ld_reload_flag
2350: case $reload_flag in
2351: "" | " "*) ;;
2352: *) reload_flag=" $reload_flag" ;;
2353: esac
2354: reload_cmds='$LD$reload_flag -o $output$reload_objs'
2355: case $host_os in
2356: darwin*)
2357: if test "$GCC" = yes; then
2358: reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2359: else
2360: reload_cmds='$LD$reload_flag -o $output$reload_objs'
2361: fi
2362: ;;
2363: esac
2364: ])# AC_PROG_LD_RELOAD_FLAG
2365:
2366:
2367: # AC_DEPLIBS_CHECK_METHOD
2368: # -----------------------
2369: # how to check for library dependencies
2370: # -- PORTME fill in with the dynamic library characteristics
2371: AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
2372: [AC_CACHE_CHECK([how to recognize dependent libraries],
2373: lt_cv_deplibs_check_method,
2374: [lt_cv_file_magic_cmd='$MAGIC_CMD'
2375: lt_cv_file_magic_test_file=
2376: lt_cv_deplibs_check_method='unknown'
2377: # Need to set the preceding variable on all platforms that support
2378: # interlibrary dependencies.
2379: # 'none' -- dependencies not supported.
2380: # `unknown' -- same as none, but documents that we really don't know.
2381: # 'pass_all' -- all dependencies passed with no checks.
2382: # 'test_compile' -- check by making test program.
2383: # 'file_magic [[regex]]' -- check by looking for files in library path
2384: # which responds to the $file_magic_cmd with a given extended regex.
2385: # If you have `file' or equivalent on your system and you're not sure
2386: # whether `pass_all' will *always* work, you probably want this one.
2387:
2388: case $host_os in
2389: aix[[4-9]]*)
2390: lt_cv_deplibs_check_method=pass_all
2391: ;;
2392:
2393: beos*)
2394: lt_cv_deplibs_check_method=pass_all
2395: ;;
2396:
2397: bsdi[[45]]*)
2398: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
2399: lt_cv_file_magic_cmd='/usr/bin/file -L'
2400: lt_cv_file_magic_test_file=/shlib/libc.so
2401: ;;
2402:
2403: cygwin*)
2404: # func_win32_libid is a shell function defined in ltmain.sh
2405: lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
2406: lt_cv_file_magic_cmd='func_win32_libid'
2407: ;;
2408:
2409: mingw* | pw32*)
2410: # Base MSYS/MinGW do not provide the 'file' command needed by
2411: # func_win32_libid shell function, so use a weaker test based on 'objdump',
2412: # unless we find 'file', for example because we are cross-compiling.
2413: if ( file / ) >/dev/null 2>&1; then
2414: lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
2415: lt_cv_file_magic_cmd='func_win32_libid'
2416: else
2417: lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
2418: lt_cv_file_magic_cmd='$OBJDUMP -f'
2419: fi
2420: ;;
2421:
2422: darwin* | rhapsody*)
2423: lt_cv_deplibs_check_method=pass_all
2424: ;;
2425:
2426: freebsd* | dragonfly*)
2427: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2428: case $host_cpu in
2429: i*86 )
2430: # Not sure whether the presence of OpenBSD here was a mistake.
2431: # Let's accept both of them until this is cleared up.
2432: lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
2433: lt_cv_file_magic_cmd=/usr/bin/file
2434: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
2435: ;;
2436: esac
2437: else
2438: lt_cv_deplibs_check_method=pass_all
2439: fi
2440: ;;
2441:
2442: gnu*)
2443: lt_cv_deplibs_check_method=pass_all
2444: ;;
2445:
2446: hpux10.20* | hpux11*)
2447: lt_cv_file_magic_cmd=/usr/bin/file
2448: case $host_cpu in
2449: ia64*)
2450: lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
2451: lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
2452: ;;
2453: hppa*64*)
2454: [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]']
2455: lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
2456: ;;
2457: *)
2458: lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
2459: lt_cv_file_magic_test_file=/usr/lib/libc.sl
2460: ;;
2461: esac
2462: ;;
2463:
2464: interix[[3-9]]*)
2465: # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
2466: lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
2467: ;;
2468:
2469: irix5* | irix6* | nonstopux*)
2470: case $LD in
2471: *-32|*"-32 ") libmagic=32-bit;;
2472: *-n32|*"-n32 ") libmagic=N32;;
2473: *-64|*"-64 ") libmagic=64-bit;;
2474: *) libmagic=never-match;;
2475: esac
2476: lt_cv_deplibs_check_method=pass_all
2477: ;;
2478:
2479: # This must be Linux ELF.
2480: linux* | k*bsd*-gnu)
2481: lt_cv_deplibs_check_method=pass_all
2482: ;;
2483:
2484: netbsd*)
2485: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2486: lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2487: else
2488: lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
2489: fi
2490: ;;
2491:
2492: newos6*)
2493: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
2494: lt_cv_file_magic_cmd=/usr/bin/file
2495: lt_cv_file_magic_test_file=/usr/lib/libnls.so
2496: ;;
2497:
2498: nto-qnx*)
2499: lt_cv_deplibs_check_method=unknown
2500: ;;
2501:
2502: openbsd*)
2503: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2504: lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
2505: else
2506: lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2507: fi
2508: ;;
2509:
2510: osf3* | osf4* | osf5*)
2511: lt_cv_deplibs_check_method=pass_all
2512: ;;
2513:
2514: rdos*)
2515: lt_cv_deplibs_check_method=pass_all
2516: ;;
2517:
2518: solaris*)
2519: lt_cv_deplibs_check_method=pass_all
2520: ;;
2521:
2522: sysv4 | sysv4.3*)
2523: case $host_vendor in
2524: motorola)
2525: 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]]'
2526: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
2527: ;;
2528: ncr)
2529: lt_cv_deplibs_check_method=pass_all
2530: ;;
2531: sequent)
2532: lt_cv_file_magic_cmd='/bin/file'
2533: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
2534: ;;
2535: sni)
2536: lt_cv_file_magic_cmd='/bin/file'
2537: lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
2538: lt_cv_file_magic_test_file=/lib/libc.so
2539: ;;
2540: siemens)
2541: lt_cv_deplibs_check_method=pass_all
2542: ;;
2543: pc)
2544: lt_cv_deplibs_check_method=pass_all
2545: ;;
2546: esac
2547: ;;
2548:
2549: sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2550: lt_cv_deplibs_check_method=pass_all
2551: ;;
2552: esac
2553: ])
2554: file_magic_cmd=$lt_cv_file_magic_cmd
2555: deplibs_check_method=$lt_cv_deplibs_check_method
2556: test -z "$deplibs_check_method" && deplibs_check_method=unknown
2557: ])# AC_DEPLIBS_CHECK_METHOD
2558:
2559:
2560: # AC_PROG_NM
2561: # ----------
2562: # find the pathname to a BSD-compatible name lister
2563: AC_DEFUN([AC_PROG_NM],
2564: [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
2565: [if test -n "$NM"; then
2566: # Let the user override the test.
2567: lt_cv_path_NM="$NM"
2568: else
2569: lt_nm_to_check="${ac_tool_prefix}nm"
2570: if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
2571: lt_nm_to_check="$lt_nm_to_check nm"
2572: fi
2573: for lt_tmp_nm in $lt_nm_to_check; do
2574: lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2575: for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
2576: IFS="$lt_save_ifs"
2577: test -z "$ac_dir" && ac_dir=.
2578: tmp_nm="$ac_dir/$lt_tmp_nm"
2579: if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
2580: # Check to see if the nm accepts a BSD-compat flag.
2581: # Adding the `sed 1q' prevents false positives on HP-UX, which says:
2582: # nm: unknown option "B" ignored
2583: # Tru64's nm complains that /dev/null is an invalid object file
2584: case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
2585: */dev/null* | *'Invalid file or object type'*)
2586: lt_cv_path_NM="$tmp_nm -B"
2587: break
2588: ;;
2589: *)
2590: case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
2591: */dev/null*)
2592: lt_cv_path_NM="$tmp_nm -p"
2593: break
2594: ;;
2595: *)
2596: lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
2597: continue # so that we can try to find one that supports BSD flags
2598: ;;
2599: esac
2600: ;;
2601: esac
2602: fi
2603: done
2604: IFS="$lt_save_ifs"
2605: done
2606: test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
2607: fi])
2608: NM="$lt_cv_path_NM"
2609: ])# AC_PROG_NM
2610:
2611:
2612: # AC_CHECK_LIBM
2613: # -------------
2614: # check for math library
2615: AC_DEFUN([AC_CHECK_LIBM],
2616: [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2617: LIBM=
2618: case $host in
2619: *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
2620: # These system don't have libm, or don't need it
2621: ;;
2622: *-ncr-sysv4.3*)
2623: AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
2624: AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
2625: ;;
2626: *)
2627: AC_CHECK_LIB(m, cos, LIBM="-lm")
2628: ;;
2629: esac
2630: ])# AC_CHECK_LIBM
2631:
2632:
2633: # AC_LIBLTDL_CONVENIENCE([DIRECTORY])
2634: # -----------------------------------
2635: # sets LIBLTDL to the link flags for the libltdl convenience library and
2636: # LTDLINCL to the include flags for the libltdl header and adds
2637: # --enable-ltdl-convenience to the configure arguments. Note that
2638: # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
2639: # it is assumed to be `libltdl'. LIBLTDL will be prefixed with
2640: # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
2641: # (note the single quotes!). If your package is not flat and you're not
2642: # using automake, define top_builddir and top_srcdir appropriately in
2643: # the Makefiles.
2644: AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
2645: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2646: case $enable_ltdl_convenience in
2647: no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
2648: "") enable_ltdl_convenience=yes
2649: ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
2650: esac
2651: LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
2652: LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2653: # For backwards non-gettext consistent compatibility...
2654: INCLTDL="$LTDLINCL"
2655: ])# AC_LIBLTDL_CONVENIENCE
2656:
2657:
2658: # AC_LIBLTDL_INSTALLABLE([DIRECTORY])
2659: # -----------------------------------
2660: # sets LIBLTDL to the link flags for the libltdl installable library and
2661: # LTDLINCL to the include flags for the libltdl header and adds
2662: # --enable-ltdl-install to the configure arguments. Note that
2663: # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
2664: # and an installed libltdl is not found, it is assumed to be `libltdl'.
2665: # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
2666: # '${top_srcdir}/' (note the single quotes!). If your package is not
2667: # flat and you're not using automake, define top_builddir and top_srcdir
2668: # appropriately in the Makefiles.
2669: # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
2670: AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
2671: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2672: AC_CHECK_LIB(ltdl, lt_dlinit,
2673: [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
2674: [if test x"$enable_ltdl_install" = xno; then
2675: AC_MSG_WARN([libltdl not installed, but installation disabled])
2676: else
2677: enable_ltdl_install=yes
2678: fi
2679: ])
2680: if test x"$enable_ltdl_install" = x"yes"; then
2681: ac_configure_args="$ac_configure_args --enable-ltdl-install"
2682: LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
2683: LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2684: else
2685: ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
2686: LIBLTDL="-lltdl"
2687: LTDLINCL=
2688: fi
2689: # For backwards non-gettext consistent compatibility...
2690: INCLTDL="$LTDLINCL"
2691: ])# AC_LIBLTDL_INSTALLABLE
2692:
2693:
2694: # AC_LIBTOOL_CXX
2695: # --------------
2696: # enable support for C++ libraries
2697: AC_DEFUN([AC_LIBTOOL_CXX],
2698: [AC_REQUIRE([_LT_AC_LANG_CXX])
2699: ])# AC_LIBTOOL_CXX
2700:
2701:
2702: # _LT_AC_LANG_CXX
2703: # ---------------
2704: AC_DEFUN([_LT_AC_LANG_CXX],
2705: [AC_REQUIRE([AC_PROG_CXX])
2706: AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2707: _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
2708: ])# _LT_AC_LANG_CXX
2709:
2710: # _LT_AC_PROG_CXXCPP
2711: # ------------------
2712: AC_DEFUN([_LT_AC_PROG_CXXCPP],
2713: [
2714: AC_REQUIRE([AC_PROG_CXX])
2715: if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2716: ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2717: (test "X$CXX" != "Xg++"))) ; then
2718: AC_PROG_CXXCPP
2719: fi
2720: ])# _LT_AC_PROG_CXXCPP
2721:
2722: # AC_LIBTOOL_LANG_C_CONFIG
2723: # ------------------------
2724: # Ensure that the configuration vars for the C compiler are
2725: # suitably defined. Those variables are subsequently used by
2726: # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2727: AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
2728: AC_DEFUN([_LT_AC_LANG_C_CONFIG],
2729: [lt_save_CC="$CC"
2730: AC_LANG_SAVE
2731: AC_LANG_C
2732:
2733: # Source file extension for C test sources.
2734: ac_ext=c
2735:
2736: # Object file extension for compiled C test sources.
2737: objext=o
2738: _LT_AC_TAGVAR(objext, $1)=$objext
2739:
2740: # Code to be used in simple compile tests
2741: lt_simple_compile_test_code="int some_variable = 0;"
2742:
2743: # Code to be used in simple link tests
2744: lt_simple_link_test_code='int main(){return(0);}'
2745:
2746: _LT_AC_SYS_COMPILER
2747:
2748: # save warnings/boilerplate of simple test code
2749: _LT_COMPILER_BOILERPLATE
2750: _LT_LINKER_BOILERPLATE
2751:
2752: ## CAVEAT EMPTOR:
2753: ## There is no encapsulation within the following macros, do not change
2754: ## the running order or otherwise move them around unless you know exactly
2755: ## what you are doing...
2756: AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
2757: AC_LIBTOOL_PROG_COMPILER_PIC($1)
2758: AC_LIBTOOL_PROG_CC_C_O($1)
2759: AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
2760: AC_LIBTOOL_PROG_LD_SHLIBS($1)
2761: AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
2762: AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
2763: AC_LIBTOOL_SYS_LIB_STRIP
2764: AC_LIBTOOL_DLOPEN_SELF
2765:
2766: # Report which library types will actually be built
2767: AC_MSG_CHECKING([if libtool supports shared libraries])
2768: AC_MSG_RESULT([$can_build_shared])
2769:
2770: AC_MSG_CHECKING([whether to build shared libraries])
2771: test "$can_build_shared" = "no" && enable_shared=no
2772:
2773: # On AIX, shared libraries and static libraries use the same namespace, and
2774: # are all built from PIC.
2775: case $host_os in
2776: aix3*)
2777: test "$enable_shared" = yes && enable_static=no
2778: if test -n "$RANLIB"; then
2779: archive_cmds="$archive_cmds~\$RANLIB \$lib"
2780: postinstall_cmds='$RANLIB $lib'
2781: fi
2782: ;;
2783:
2784: aix[[4-9]]*)
2785: if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2786: test "$enable_shared" = yes && enable_static=no
2787: fi
2788: ;;
2789: esac
2790: AC_MSG_RESULT([$enable_shared])
2791:
2792: AC_MSG_CHECKING([whether to build static libraries])
2793: # Make sure either enable_shared or enable_static is yes.
2794: test "$enable_shared" = yes || enable_static=yes
2795: AC_MSG_RESULT([$enable_static])
2796:
2797: AC_LIBTOOL_CONFIG($1)
2798:
2799: AC_LANG_RESTORE
2800: CC="$lt_save_CC"
2801: ])# AC_LIBTOOL_LANG_C_CONFIG
2802:
2803:
2804: # AC_LIBTOOL_LANG_CXX_CONFIG
2805: # --------------------------
2806: # Ensure that the configuration vars for the C compiler are
2807: # suitably defined. Those variables are subsequently used by
2808: # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2809: AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
2810: AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
2811: [AC_LANG_SAVE
2812: AC_LANG_CPLUSPLUS
2813: AC_REQUIRE([AC_PROG_CXX])
2814: AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2815:
2816: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2817: _LT_AC_TAGVAR(allow_undefined_flag, $1)=
2818: _LT_AC_TAGVAR(always_export_symbols, $1)=no
2819: _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
2820: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
2821: _LT_AC_TAGVAR(hardcode_direct, $1)=no
2822: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
2823: _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
2824: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2825: _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
2826: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
2827: _LT_AC_TAGVAR(hardcode_automatic, $1)=no
2828: _LT_AC_TAGVAR(module_cmds, $1)=
2829: _LT_AC_TAGVAR(module_expsym_cmds, $1)=
2830: _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
2831: _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
2832: _LT_AC_TAGVAR(no_undefined_flag, $1)=
2833: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2834: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
2835:
2836: # Dependencies to place before and after the object being linked:
2837: _LT_AC_TAGVAR(predep_objects, $1)=
2838: _LT_AC_TAGVAR(postdep_objects, $1)=
2839: _LT_AC_TAGVAR(predeps, $1)=
2840: _LT_AC_TAGVAR(postdeps, $1)=
2841: _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2842: _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
2843:
2844: # Source file extension for C++ test sources.
2845: ac_ext=cpp
2846:
2847: # Object file extension for compiled C++ test sources.
2848: objext=o
2849: _LT_AC_TAGVAR(objext, $1)=$objext
2850:
2851: # Code to be used in simple compile tests
2852: lt_simple_compile_test_code="int some_variable = 0;"
2853:
2854: # Code to be used in simple link tests
2855: lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
2856:
2857: # ltmain only uses $CC for tagged configurations so make sure $CC is set.
2858: _LT_AC_SYS_COMPILER
2859:
2860: # save warnings/boilerplate of simple test code
2861: _LT_COMPILER_BOILERPLATE
2862: _LT_LINKER_BOILERPLATE
2863:
2864: # Allow CC to be a program name with arguments.
2865: lt_save_CC=$CC
2866: lt_save_LD=$LD
2867: lt_save_GCC=$GCC
2868: GCC=$GXX
2869: lt_save_with_gnu_ld=$with_gnu_ld
2870: lt_save_path_LD=$lt_cv_path_LD
2871: if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
2872: lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
2873: else
2874: unset lt_cv_prog_gnu_ld
2875: fi
2876: if test -n "${lt_cv_path_LDCXX+set}"; then
2877: lt_cv_path_LD=$lt_cv_path_LDCXX
2878: else
2879: unset lt_cv_path_LD
2880: fi
2881: test -z "${LDCXX+set}" || LD=$LDCXX
2882: CC=${CXX-"c++"}
2883: compiler=$CC
2884: _LT_AC_TAGVAR(compiler, $1)=$CC
2885: _LT_CC_BASENAME([$compiler])
2886:
2887: # We don't want -fno-exception wen compiling C++ code, so set the
2888: # no_builtin_flag separately
2889: if test "$GXX" = yes; then
2890: _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
2891: else
2892: _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
2893: fi
2894:
2895: if test "$GXX" = yes; then
2896: # Set up default GNU C++ configuration
2897:
2898: AC_PROG_LD
2899:
2900: # Check if GNU C++ uses GNU ld as the underlying linker, since the
2901: # archiving commands below assume that GNU ld is being used.
2902: if test "$with_gnu_ld" = yes; then
2903: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2904: _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'
2905:
2906: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
2907: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2908:
2909: # If archive_cmds runs LD, not CC, wlarc should be empty
2910: # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
2911: # investigate it a little bit more. (MM)
2912: wlarc='${wl}'
2913:
2914: # ancient GNU ld didn't support --whole-archive et. al.
2915: if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
2916: grep 'no-whole-archive' > /dev/null; then
2917: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
2918: else
2919: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2920: fi
2921: else
2922: with_gnu_ld=no
2923: wlarc=
2924:
2925: # A generic and very simple default shared library creation
2926: # command for GNU C++ for the case where it uses the native
2927: # linker, instead of GNU ld. If possible, this setting should
2928: # overridden to take advantage of the native linker features on
2929: # the platform it is being used on.
2930: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
2931: fi
2932:
2933: # Commands to make compiler produce verbose output that lists
2934: # what "hidden" libraries, object files and flags are used when
2935: # linking a shared library.
2936: output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
2937:
2938: else
2939: GXX=no
2940: with_gnu_ld=no
2941: wlarc=
2942: fi
2943:
2944: # PORTME: fill in a description of your system's C++ link characteristics
2945: AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
2946: _LT_AC_TAGVAR(ld_shlibs, $1)=yes
2947: case $host_os in
2948: aix3*)
2949: # FIXME: insert proper C++ library support
2950: _LT_AC_TAGVAR(ld_shlibs, $1)=no
2951: ;;
2952: aix[[4-9]]*)
2953: if test "$host_cpu" = ia64; then
2954: # On IA64, the linker does run time linking by default, so we don't
2955: # have to do anything special.
2956: aix_use_runtimelinking=no
2957: exp_sym_flag='-Bexport'
2958: no_entry_flag=""
2959: else
2960: aix_use_runtimelinking=no
2961:
2962: # Test if we are trying to use run time linking or normal
2963: # AIX style linking. If -brtl is somewhere in LDFLAGS, we
2964: # need to do runtime linking.
2965: case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
2966: for ld_flag in $LDFLAGS; do
2967: case $ld_flag in
2968: *-brtl*)
2969: aix_use_runtimelinking=yes
2970: break
2971: ;;
2972: esac
2973: done
2974: ;;
2975: esac
2976:
2977: exp_sym_flag='-bexport'
2978: no_entry_flag='-bnoentry'
2979: fi
2980:
2981: # When large executables or shared objects are built, AIX ld can
2982: # have problems creating the table of contents. If linking a library
2983: # or program results in "error TOC overflow" add -mminimal-toc to
2984: # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
2985: # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
2986:
2987: _LT_AC_TAGVAR(archive_cmds, $1)=''
2988: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2989: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
2990: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2991:
2992: if test "$GXX" = yes; then
2993: case $host_os in aix4.[[012]]|aix4.[[012]].*)
2994: # We only want to do this on AIX 4.2 and lower, the check
2995: # below for broken collect2 doesn't work under 4.3+
2996: collect2name=`${CC} -print-prog-name=collect2`
2997: if test -f "$collect2name" && \
2998: strings "$collect2name" | grep resolve_lib_name >/dev/null
2999: then
3000: # We have reworked collect2
3001: :
3002: else
3003: # We have old collect2
3004: _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
3005: # It fails to find uninstalled libraries when the uninstalled
3006: # path is not listed in the libpath. Setting hardcode_minus_L
3007: # to unsupported forces relinking
3008: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
3009: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
3010: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3011: fi
3012: ;;
3013: esac
3014: shared_flag='-shared'
3015: if test "$aix_use_runtimelinking" = yes; then
3016: shared_flag="$shared_flag "'${wl}-G'
3017: fi
3018: else
3019: # not using gcc
3020: if test "$host_cpu" = ia64; then
3021: # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
3022: # chokes on -Wl,-G. The following line is correct:
3023: shared_flag='-G'
3024: else
3025: if test "$aix_use_runtimelinking" = yes; then
3026: shared_flag='${wl}-G'
3027: else
3028: shared_flag='${wl}-bM:SRE'
3029: fi
3030: fi
3031: fi
3032:
3033: # It seems that -bexpall does not export symbols beginning with
3034: # underscore (_), so it is better to generate a list of symbols to export.
3035: _LT_AC_TAGVAR(always_export_symbols, $1)=yes
3036: if test "$aix_use_runtimelinking" = yes; then
3037: # Warning - without using the other runtime loading flags (-brtl),
3038: # -berok will link without error, but may produce a broken library.
3039: _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
3040: # Determine the default libpath from the value encoded in an empty executable.
3041: _LT_AC_SYS_LIBPATH_AIX
3042: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
3043:
3044: _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"
3045: else
3046: if test "$host_cpu" = ia64; then
3047: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
3048: _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
3049: _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"
3050: else
3051: # Determine the default libpath from the value encoded in an empty executable.
3052: _LT_AC_SYS_LIBPATH_AIX
3053: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
3054: # Warning - without using the other run time loading flags,
3055: # -berok will link without error, but may produce a broken library.
3056: _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
3057: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
3058: # Exported symbols can be pulled into shared objects from archives
3059: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
3060: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
3061: # This is similar to how AIX traditionally builds its shared libraries.
3062: _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'
3063: fi
3064: fi
3065: ;;
3066:
3067: beos*)
3068: if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
3069: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
3070: # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
3071: # support --undefined. This deserves some investigation. FIXME
3072: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
3073: else
3074: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3075: fi
3076: ;;
3077:
3078: chorus*)
3079: case $cc_basename in
3080: *)
3081: # FIXME: insert proper C++ library support
3082: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3083: ;;
3084: esac
3085: ;;
3086:
3087: cygwin* | mingw* | pw32*)
3088: # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
3089: # as there is no search path for DLLs.
3090: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
3091: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
3092: _LT_AC_TAGVAR(always_export_symbols, $1)=no
3093: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
3094:
3095: if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
3096: _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'
3097: # If the export-symbols file already is a .def file (1st line
3098: # is EXPORTS), use it as is; otherwise, prepend...
3099: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
3100: cp $export_symbols $output_objdir/$soname.def;
3101: else
3102: echo EXPORTS > $output_objdir/$soname.def;
3103: cat $export_symbols >> $output_objdir/$soname.def;
3104: fi~
3105: $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'
3106: else
3107: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3108: fi
3109: ;;
3110: darwin* | rhapsody*)
3111: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3112: _LT_AC_TAGVAR(hardcode_direct, $1)=no
3113: _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3114: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3115: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
3116: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3117: _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
3118: if test "$GXX" = yes ; then
3119: output_verbose_link_cmd='echo'
3120: _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
3121: _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
3122: _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
3123: _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
3124: if test "$lt_cv_apple_cc_single_mod" != "yes"; then
3125: _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${_lt_dsymutil}"
3126: _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
3127: fi
3128: else
3129: case $cc_basename in
3130: xlc*)
3131: output_verbose_link_cmd='echo'
3132: _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` $xlcverstring'
3133: _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3134: # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3135: _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 $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3136: _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}'
3137: ;;
3138: *)
3139: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3140: ;;
3141: esac
3142: fi
3143: ;;
3144:
3145: dgux*)
3146: case $cc_basename in
3147: ec++*)
3148: # FIXME: insert proper C++ library support
3149: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3150: ;;
3151: ghcx*)
3152: # Green Hills C++ Compiler
3153: # FIXME: insert proper C++ library support
3154: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3155: ;;
3156: *)
3157: # FIXME: insert proper C++ library support
3158: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3159: ;;
3160: esac
3161: ;;
3162: freebsd[[12]]*)
3163: # C++ shared libraries reported to be fairly broken before switch to ELF
3164: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3165: ;;
3166: freebsd-elf*)
3167: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3168: ;;
3169: freebsd* | dragonfly*)
3170: # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
3171: # conventions
3172: _LT_AC_TAGVAR(ld_shlibs, $1)=yes
3173: ;;
3174: gnu*)
3175: ;;
3176: hpux9*)
3177: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3178: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3179: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
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: case $cc_basename in
3186: CC*)
3187: # FIXME: insert proper C++ library support
3188: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3189: ;;
3190: aCC*)
3191: _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'
3192: # Commands to make compiler produce verbose output that lists
3193: # what "hidden" libraries, object files and flags are used when
3194: # linking a shared library.
3195: #
3196: # There doesn't appear to be a way to prevent this compiler from
3197: # explicitly linking system object files so we need to strip them
3198: # from the output so that they don't get included in the library
3199: # dependencies.
3200: 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'
3201: ;;
3202: *)
3203: if test "$GXX" = yes; then
3204: _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'
3205: else
3206: # FIXME: insert proper C++ library support
3207: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3208: fi
3209: ;;
3210: esac
3211: ;;
3212: hpux10*|hpux11*)
3213: if test $with_gnu_ld = no; then
3214: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3215: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3216:
3217: case $host_cpu in
3218: hppa*64*|ia64*) ;;
3219: *)
3220: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3221: ;;
3222: esac
3223: fi
3224: case $host_cpu in
3225: hppa*64*|ia64*)
3226: _LT_AC_TAGVAR(hardcode_direct, $1)=no
3227: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3228: ;;
3229: *)
3230: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3231: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
3232: # but as the default
3233: # location of the library.
3234: ;;
3235: esac
3236:
3237: case $cc_basename in
3238: CC*)
3239: # FIXME: insert proper C++ library support
3240: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3241: ;;
3242: aCC*)
3243: case $host_cpu in
3244: hppa*64*)
3245: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3246: ;;
3247: ia64*)
3248: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3249: ;;
3250: *)
3251: _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'
3252: ;;
3253: esac
3254: # Commands to make compiler produce verbose output that lists
3255: # what "hidden" libraries, object files and flags are used when
3256: # linking a shared library.
3257: #
3258: # There doesn't appear to be a way to prevent this compiler from
3259: # explicitly linking system object files so we need to strip them
3260: # from the output so that they don't get included in the library
3261: # dependencies.
3262: 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'
3263: ;;
3264: *)
3265: if test "$GXX" = yes; then
3266: if test $with_gnu_ld = no; then
3267: case $host_cpu in
3268: hppa*64*)
3269: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3270: ;;
3271: ia64*)
3272: _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'
3273: ;;
3274: *)
3275: _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'
3276: ;;
3277: esac
3278: fi
3279: else
3280: # FIXME: insert proper C++ library support
3281: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3282: fi
3283: ;;
3284: esac
3285: ;;
3286: interix[[3-9]]*)
3287: _LT_AC_TAGVAR(hardcode_direct, $1)=no
3288: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3289: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3290: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3291: # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
3292: # Instead, shared libraries are loaded at an image base (0x10000000 by
3293: # default) and relocated if they conflict, which is a slow very memory
3294: # consuming and fragmenting process. To avoid this, we pick a random,
3295: # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
3296: # time. Moving up from 0x10000000 also allows more sbrk(2) space.
3297: _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'
3298: _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'
3299: ;;
3300: irix5* | irix6*)
3301: case $cc_basename in
3302: CC*)
3303: # SGI C++
3304: _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'
3305:
3306: # Archives containing C++ object files must be created using
3307: # "CC -ar", where "CC" is the IRIX C++ compiler. This is
3308: # necessary to make sure instantiated templates are included
3309: # in the archive.
3310: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
3311: ;;
3312: *)
3313: if test "$GXX" = yes; then
3314: if test "$with_gnu_ld" = no; then
3315: _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'
3316: else
3317: _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'
3318: fi
3319: fi
3320: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3321: ;;
3322: esac
3323: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3324: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3325: ;;
3326: linux* | k*bsd*-gnu)
3327: case $cc_basename in
3328: KCC*)
3329: # Kuck and Associates, Inc. (KAI) C++ Compiler
3330:
3331: # KCC will only create a shared library if the output file
3332: # ends with ".so" (or ".sl" for HP-UX), so rename the library
3333: # to its proper name (with version) after linking.
3334: _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'
3335: _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'
3336: # Commands to make compiler produce verbose output that lists
3337: # what "hidden" libraries, object files and flags are used when
3338: # linking a shared library.
3339: #
3340: # There doesn't appear to be a way to prevent this compiler from
3341: # explicitly linking system object files so we need to strip them
3342: # from the output so that they don't get included in the library
3343: # dependencies.
3344: 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'
3345:
3346: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
3347: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3348:
3349: # Archives containing C++ object files must be created using
3350: # "CC -Bstatic", where "CC" is the KAI C++ compiler.
3351: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3352: ;;
3353: icpc*)
3354: # Intel C++
3355: with_gnu_ld=yes
3356: # version 8.0 and above of icpc choke on multiply defined symbols
3357: # if we add $predep_objects and $postdep_objects, however 7.1 and
3358: # earlier do not add the objects themselves.
3359: case `$CC -V 2>&1` in
3360: *"Version 7."*)
3361: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3362: _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'
3363: ;;
3364: *) # Version 8.0 or newer
3365: tmp_idyn=
3366: case $host_cpu in
3367: ia64*) tmp_idyn=' -i_dynamic';;
3368: esac
3369: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
3370: _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'
3371: ;;
3372: esac
3373: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3374: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3375: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3376: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
3377: ;;
3378: pgCC* | pgcpp*)
3379: # Portland Group C++ compiler
3380: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
3381: _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'
3382:
3383: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3384: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3385: _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'
3386: ;;
3387: cxx*)
3388: # Compaq C++
3389: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3390: _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'
3391:
3392: runpath_var=LD_RUN_PATH
3393: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3394: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3395:
3396: # Commands to make compiler produce verbose output that lists
3397: # what "hidden" libraries, object files and flags are used when
3398: # linking a shared library.
3399: #
3400: # There doesn't appear to be a way to prevent this compiler from
3401: # explicitly linking system object files so we need to strip them
3402: # from the output so that they don't get included in the library
3403: # dependencies.
3404: 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'
3405: ;;
3406: *)
3407: case `$CC -V 2>&1 | sed 5q` in
3408: *Sun\ C*)
3409: # Sun C++ 5.9
3410: _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
3411: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3412: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
3413: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3414: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
3415:
3416: # Not sure whether something based on
3417: # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
3418: # would be better.
3419: output_verbose_link_cmd='echo'
3420:
3421: # Archives containing C++ object files must be created using
3422: # "CC -xar", where "CC" is the Sun C++ compiler. This is
3423: # necessary to make sure instantiated templates are included
3424: # in the archive.
3425: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
3426: ;;
3427: esac
3428: ;;
3429: esac
3430: ;;
3431: lynxos*)
3432: # FIXME: insert proper C++ library support
3433: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3434: ;;
3435: m88k*)
3436: # FIXME: insert proper C++ library support
3437: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3438: ;;
3439: mvs*)
3440: case $cc_basename in
3441: cxx*)
3442: # FIXME: insert proper C++ library support
3443: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3444: ;;
3445: *)
3446: # FIXME: insert proper C++ library support
3447: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3448: ;;
3449: esac
3450: ;;
3451: netbsd*)
3452: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
3453: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
3454: wlarc=
3455: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3456: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3457: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3458: fi
3459: # Workaround some broken pre-1.5 toolchains
3460: output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
3461: ;;
3462: openbsd2*)
3463: # C++ shared libraries are fairly broken
3464: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3465: ;;
3466: openbsd*)
3467: if test -f /usr/libexec/ld.so; then
3468: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3469: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3470: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3471: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3472: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3473: _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'
3474: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3475: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3476: fi
3477: output_verbose_link_cmd='echo'
3478: else
3479: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3480: fi
3481: ;;
3482: osf3*)
3483: case $cc_basename in
3484: KCC*)
3485: # Kuck and Associates, Inc. (KAI) C++ Compiler
3486:
3487: # KCC will only create a shared library if the output file
3488: # ends with ".so" (or ".sl" for HP-UX), so rename the library
3489: # to its proper name (with version) after linking.
3490: _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'
3491:
3492: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3493: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3494:
3495: # Archives containing C++ object files must be created using
3496: # "CC -Bstatic", where "CC" is the KAI C++ compiler.
3497: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3498:
3499: ;;
3500: RCC*)
3501: # Rational C++ 2.4.1
3502: # FIXME: insert proper C++ library support
3503: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3504: ;;
3505: cxx*)
3506: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3507: _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'
3508:
3509: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3510: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3511:
3512: # Commands to make compiler produce verbose output that lists
3513: # what "hidden" libraries, object files and flags are used when
3514: # linking a shared library.
3515: #
3516: # There doesn't appear to be a way to prevent this compiler from
3517: # explicitly linking system object files so we need to strip them
3518: # from the output so that they don't get included in the library
3519: # dependencies.
3520: 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'
3521: ;;
3522: *)
3523: if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3524: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3525: _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'
3526:
3527: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3528: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3529:
3530: # Commands to make compiler produce verbose output that lists
3531: # what "hidden" libraries, object files and flags are used when
3532: # linking a shared library.
3533: output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3534:
3535: else
3536: # FIXME: insert proper C++ library support
3537: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3538: fi
3539: ;;
3540: esac
3541: ;;
3542: osf4* | osf5*)
3543: case $cc_basename in
3544: KCC*)
3545: # Kuck and Associates, Inc. (KAI) C++ Compiler
3546:
3547: # KCC will only create a shared library if the output file
3548: # ends with ".so" (or ".sl" for HP-UX), so rename the library
3549: # to its proper name (with version) after linking.
3550: _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'
3551:
3552: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3553: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3554:
3555: # Archives containing C++ object files must be created using
3556: # the KAI C++ compiler.
3557: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
3558: ;;
3559: RCC*)
3560: # Rational C++ 2.4.1
3561: # FIXME: insert proper C++ library support
3562: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3563: ;;
3564: cxx*)
3565: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
3566: _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'
3567: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
3568: echo "-hidden">> $lib.exp~
3569: $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~
3570: $rm $lib.exp'
3571:
3572: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3573: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3574:
3575: # Commands to make compiler produce verbose output that lists
3576: # what "hidden" libraries, object files and flags are used when
3577: # linking a shared library.
3578: #
3579: # There doesn't appear to be a way to prevent this compiler from
3580: # explicitly linking system object files so we need to strip them
3581: # from the output so that they don't get included in the library
3582: # dependencies.
3583: 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'
3584: ;;
3585: *)
3586: if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3587: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3588: _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'
3589:
3590: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3591: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3592:
3593: # Commands to make compiler produce verbose output that lists
3594: # what "hidden" libraries, object files and flags are used when
3595: # linking a shared library.
3596: output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3597:
3598: else
3599: # FIXME: insert proper C++ library support
3600: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3601: fi
3602: ;;
3603: esac
3604: ;;
3605: psos*)
3606: # FIXME: insert proper C++ library support
3607: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3608: ;;
3609: sunos4*)
3610: case $cc_basename in
3611: CC*)
3612: # Sun C++ 4.x
3613: # FIXME: insert proper C++ library support
3614: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3615: ;;
3616: lcc*)
3617: # Lucid
3618: # FIXME: insert proper C++ library support
3619: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3620: ;;
3621: *)
3622: # FIXME: insert proper C++ library support
3623: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3624: ;;
3625: esac
3626: ;;
3627: solaris*)
3628: case $cc_basename in
3629: CC*)
3630: # Sun C++ 4.2, 5.x and Centerline C++
3631: _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
3632: _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
3633: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3634: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3635: $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'
3636:
3637: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3638: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3639: case $host_os in
3640: solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
3641: *)
3642: # The compiler driver will combine and reorder linker options,
3643: # but understands `-z linker_flag'.
3644: # Supported since Solaris 2.6 (maybe 2.5.1?)
3645: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
3646: ;;
3647: esac
3648: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3649:
3650: output_verbose_link_cmd='echo'
3651:
3652: # Archives containing C++ object files must be created using
3653: # "CC -xar", where "CC" is the Sun C++ compiler. This is
3654: # necessary to make sure instantiated templates are included
3655: # in the archive.
3656: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
3657: ;;
3658: gcx*)
3659: # Green Hills C++ Compiler
3660: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3661:
3662: # The C++ compiler must be used to create the archive.
3663: _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
3664: ;;
3665: *)
3666: # GNU C++ compiler with Solaris linker
3667: if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3668: _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
3669: if $CC --version | grep -v '^2\.7' > /dev/null; then
3670: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3671: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3672: $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3673:
3674: # Commands to make compiler produce verbose output that lists
3675: # what "hidden" libraries, object files and flags are used when
3676: # linking a shared library.
3677: output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3678: else
3679: # g++ 2.7 appears to require `-G' NOT `-shared' on this
3680: # platform.
3681: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3682: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3683: $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3684:
3685: # Commands to make compiler produce verbose output that lists
3686: # what "hidden" libraries, object files and flags are used when
3687: # linking a shared library.
3688: output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3689: fi
3690:
3691: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
3692: case $host_os in
3693: solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
3694: *)
3695: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
3696: ;;
3697: esac
3698: fi
3699: ;;
3700: esac
3701: ;;
3702: sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
3703: _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3704: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3705: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3706: runpath_var='LD_RUN_PATH'
3707:
3708: case $cc_basename in
3709: CC*)
3710: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3711: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3712: ;;
3713: *)
3714: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3715: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3716: ;;
3717: esac
3718: ;;
3719: sysv5* | sco3.2v5* | sco5v6*)
3720: # Note: We can NOT use -z defs as we might desire, because we do not
3721: # link with -lc, and that would cause any symbols used from libc to
3722: # always be unresolved, which means just about no library would
3723: # ever link correctly. If we're not using GNU ld we use -z text
3724: # though, which does catch some bad symbols but isn't as heavy-handed
3725: # as -z defs.
3726: # For security reasons, it is highly recommended that you always
3727: # use absolute paths for naming shared libraries, and exclude the
3728: # DT_RUNPATH tag from executables and libraries. But doing so
3729: # requires that you compile everything twice, which is a pain.
3730: # So that behaviour is only enabled if SCOABSPATH is set to a
3731: # non-empty value in the environment. Most likely only useful for
3732: # creating official distributions of packages.
3733: # This is a hack until libtool officially supports absolute path
3734: # names for shared libraries.
3735: _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3736: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
3737: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3738: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3739: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
3740: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3741: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3742: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
3743: runpath_var='LD_RUN_PATH'
3744:
3745: case $cc_basename in
3746: CC*)
3747: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3748: _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'
3749: ;;
3750: *)
3751: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3752: _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'
3753: ;;
3754: esac
3755: ;;
3756: tandem*)
3757: case $cc_basename in
3758: NCC*)
3759: # NonStop-UX NCC 3.20
3760: # FIXME: insert proper C++ library support
3761: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3762: ;;
3763: *)
3764: # FIXME: insert proper C++ library support
3765: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3766: ;;
3767: esac
3768: ;;
3769: vxworks*)
3770: # FIXME: insert proper C++ library support
3771: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3772: ;;
3773: *)
3774: # FIXME: insert proper C++ library support
3775: _LT_AC_TAGVAR(ld_shlibs, $1)=no
3776: ;;
3777: esac
3778: AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
3779: test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
3780:
3781: _LT_AC_TAGVAR(GCC, $1)="$GXX"
3782: _LT_AC_TAGVAR(LD, $1)="$LD"
3783:
3784: ## CAVEAT EMPTOR:
3785: ## There is no encapsulation within the following macros, do not change
3786: ## the running order or otherwise move them around unless you know exactly
3787: ## what you are doing...
3788: AC_LIBTOOL_POSTDEP_PREDEP($1)
3789: AC_LIBTOOL_PROG_COMPILER_PIC($1)
3790: AC_LIBTOOL_PROG_CC_C_O($1)
3791: AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3792: AC_LIBTOOL_PROG_LD_SHLIBS($1)
3793: AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3794: AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3795:
3796: AC_LIBTOOL_CONFIG($1)
3797:
3798: AC_LANG_RESTORE
3799: CC=$lt_save_CC
3800: LDCXX=$LD
3801: LD=$lt_save_LD
3802: GCC=$lt_save_GCC
3803: with_gnu_ldcxx=$with_gnu_ld
3804: with_gnu_ld=$lt_save_with_gnu_ld
3805: lt_cv_path_LDCXX=$lt_cv_path_LD
3806: lt_cv_path_LD=$lt_save_path_LD
3807: lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
3808: lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
3809: ])# AC_LIBTOOL_LANG_CXX_CONFIG
3810:
3811: # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
3812: # ------------------------------------
3813: # Figure out "hidden" library dependencies from verbose
3814: # compiler output when linking a shared library.
3815: # Parse the compiler output and extract the necessary
3816: # objects, libraries and library flags.
3817: AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
3818: [AC_REQUIRE([LT_AC_PROG_SED])dnl
3819: dnl we can't use the lt_simple_compile_test_code here,
3820: dnl because it contains code intended for an executable,
3821: dnl not a library. It's possible we should let each
3822: dnl tag define a new lt_????_link_test_code variable,
3823: dnl but it's only used here...
3824: ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
3825: int a;
3826: void foo (void) { a = 0; }
3827: EOF
3828: ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
3829: class Foo
3830: {
3831: public:
3832: Foo (void) { a = 0; }
3833: private:
3834: int a;
3835: };
3836: EOF
3837: ],[$1],[F77],[cat > conftest.$ac_ext <<EOF
3838: subroutine foo
3839: implicit none
3840: integer*4 a
3841: a=0
3842: return
3843: end
3844: EOF
3845: ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
3846: public class foo {
3847: private int a;
3848: public void bar (void) {
3849: a = 0;
3850: }
3851: };
3852: EOF
3853: ])
3854: dnl Parse the compiler output and extract the necessary
3855: dnl objects, libraries and library flags.
3856: if AC_TRY_EVAL(ac_compile); then
3857: # Parse the compiler output and extract the necessary
3858: # objects, libraries and library flags.
3859:
3860: # Sentinel used to keep track of whether or not we are before
3861: # the conftest object file.
3862: pre_test_object_deps_done=no
3863:
3864: # The `*' in the case matches for architectures that use `case' in
3865: # $output_verbose_cmd can trigger glob expansion during the loop
3866: # eval without this substitution.
3867: output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
3868:
3869: for p in `eval $output_verbose_link_cmd`; do
3870: case $p in
3871:
3872: -L* | -R* | -l*)
3873: # Some compilers place space between "-{L,R}" and the path.
3874: # Remove the space.
3875: if test $p = "-L" \
3876: || test $p = "-R"; then
3877: prev=$p
3878: continue
3879: else
3880: prev=
3881: fi
3882:
3883: if test "$pre_test_object_deps_done" = no; then
3884: case $p in
3885: -L* | -R*)
3886: # Internal compiler library paths should come after those
3887: # provided the user. The postdeps already come after the
3888: # user supplied libs so there is no need to process them.
3889: if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3890: _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
3891: else
3892: _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
3893: fi
3894: ;;
3895: # The "-l" case would never come before the object being
3896: # linked, so don't bother handling this case.
3897: esac
3898: else
3899: if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
3900: _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
3901: else
3902: _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
3903: fi
3904: fi
3905: ;;
3906:
3907: *.$objext)
3908: # This assumes that the test object file only shows up
3909: # once in the compiler output.
3910: if test "$p" = "conftest.$objext"; then
3911: pre_test_object_deps_done=yes
3912: continue
3913: fi
3914:
3915: if test "$pre_test_object_deps_done" = no; then
3916: if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
3917: _LT_AC_TAGVAR(predep_objects, $1)="$p"
3918: else
3919: _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
3920: fi
3921: else
3922: if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
3923: _LT_AC_TAGVAR(postdep_objects, $1)="$p"
3924: else
3925: _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
3926: fi
3927: fi
3928: ;;
3929:
3930: *) ;; # Ignore the rest.
3931:
3932: esac
3933: done
3934:
3935: # Clean up.
3936: rm -f a.out a.exe
3937: else
3938: echo "libtool.m4: error: problem compiling $1 test program"
3939: fi
3940:
3941: $rm -f confest.$objext
3942:
3943: _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
3944: if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3945: _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
3946: fi
3947:
3948: # PORTME: override above test on systems where it is broken
3949: ifelse([$1],[CXX],
3950: [case $host_os in
3951: interix[[3-9]]*)
3952: # Interix 3.5 installs completely hosed .la files for C++, so rather than
3953: # hack all around it, let's just trust "g++" to DTRT.
3954: _LT_AC_TAGVAR(predep_objects,$1)=
3955: _LT_AC_TAGVAR(postdep_objects,$1)=
3956: _LT_AC_TAGVAR(postdeps,$1)=
3957: ;;
3958:
3959: linux*)
3960: case `$CC -V 2>&1 | sed 5q` in
3961: *Sun\ C*)
3962: # Sun C++ 5.9
3963: #
3964: # The more standards-conforming stlport4 library is
3965: # incompatible with the Cstd library. Avoid specifying
3966: # it if it's in CXXFLAGS. Ignore libCrun as
3967: # -library=stlport4 depends on it.
3968: case " $CXX $CXXFLAGS " in
3969: *" -library=stlport4 "*)
3970: solaris_use_stlport4=yes
3971: ;;
3972: esac
3973: if test "$solaris_use_stlport4" != yes; then
3974: _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
3975: fi
3976: ;;
3977: esac
3978: ;;
3979:
3980: solaris*)
3981: case $cc_basename in
3982: CC*)
3983: # The more standards-conforming stlport4 library is
3984: # incompatible with the Cstd library. Avoid specifying
3985: # it if it's in CXXFLAGS. Ignore libCrun as
3986: # -library=stlport4 depends on it.
3987: case " $CXX $CXXFLAGS " in
3988: *" -library=stlport4 "*)
3989: solaris_use_stlport4=yes
3990: ;;
3991: esac
3992:
3993: # Adding this requires a known-good setup of shared libraries for
3994: # Sun compiler versions before 5.6, else PIC objects from an old
3995: # archive will be linked into the output, leading to subtle bugs.
3996: if test "$solaris_use_stlport4" != yes; then
3997: _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
3998: fi
3999: ;;
4000: esac
4001: ;;
4002: esac
4003: ])
4004: case " $_LT_AC_TAGVAR(postdeps, $1) " in
4005: *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
4006: esac
4007: ])# AC_LIBTOOL_POSTDEP_PREDEP
4008:
4009: # AC_LIBTOOL_CONFIG([TAGNAME])
4010: # ----------------------------
4011: # If TAGNAME is not passed, then create an initial libtool script
4012: # with a default configuration from the untagged config vars. Otherwise
4013: # add code to config.status for appending the configuration named by
4014: # TAGNAME from the matching tagged config vars.
4015: AC_DEFUN([AC_LIBTOOL_CONFIG],
4016: [# The else clause should only fire when bootstrapping the
4017: # libtool distribution, otherwise you forgot to ship ltmain.sh
4018: # with your package, and you will get complaints that there are
4019: # no rules to generate ltmain.sh.
4020: if test -f "$ltmain"; then
4021: # See if we are running on zsh, and set the options which allow our commands through
4022: # without removal of \ escapes.
4023: if test -n "${ZSH_VERSION+set}" ; then
4024: setopt NO_GLOB_SUBST
4025: fi
4026: # Now quote all the things that may contain metacharacters while being
4027: # careful not to overquote the AC_SUBSTed values. We take copies of the
4028: # variables and quote the copies for generation of the libtool script.
4029: for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
4030: SED SHELL STRIP \
4031: libname_spec library_names_spec soname_spec extract_expsyms_cmds \
4032: old_striplib striplib file_magic_cmd finish_cmds finish_eval \
4033: deplibs_check_method reload_flag reload_cmds need_locks \
4034: lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
4035: lt_cv_sys_global_symbol_to_c_name_address \
4036: sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
4037: old_postinstall_cmds old_postuninstall_cmds \
4038: _LT_AC_TAGVAR(compiler, $1) \
4039: _LT_AC_TAGVAR(CC, $1) \
4040: _LT_AC_TAGVAR(LD, $1) \
4041: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
4042: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
4043: _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
4044: _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
4045: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
4046: _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
4047: _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
4048: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
4049: _LT_AC_TAGVAR(old_archive_cmds, $1) \
4050: _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
4051: _LT_AC_TAGVAR(predep_objects, $1) \
4052: _LT_AC_TAGVAR(postdep_objects, $1) \
4053: _LT_AC_TAGVAR(predeps, $1) \
4054: _LT_AC_TAGVAR(postdeps, $1) \
4055: _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
4056: _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
4057: _LT_AC_TAGVAR(archive_cmds, $1) \
4058: _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
4059: _LT_AC_TAGVAR(postinstall_cmds, $1) \
4060: _LT_AC_TAGVAR(postuninstall_cmds, $1) \
4061: _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
4062: _LT_AC_TAGVAR(allow_undefined_flag, $1) \
4063: _LT_AC_TAGVAR(no_undefined_flag, $1) \
4064: _LT_AC_TAGVAR(export_symbols_cmds, $1) \
4065: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
4066: _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
4067: _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
4068: _LT_AC_TAGVAR(hardcode_automatic, $1) \
4069: _LT_AC_TAGVAR(module_cmds, $1) \
4070: _LT_AC_TAGVAR(module_expsym_cmds, $1) \
4071: _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
4072: _LT_AC_TAGVAR(fix_srcfile_path, $1) \
4073: _LT_AC_TAGVAR(exclude_expsyms, $1) \
4074: _LT_AC_TAGVAR(include_expsyms, $1); do
4075:
4076: case $var in
4077: _LT_AC_TAGVAR(old_archive_cmds, $1) | \
4078: _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
4079: _LT_AC_TAGVAR(archive_cmds, $1) | \
4080: _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
4081: _LT_AC_TAGVAR(module_cmds, $1) | \
4082: _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
4083: _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
4084: _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
4085: extract_expsyms_cmds | reload_cmds | finish_cmds | \
4086: postinstall_cmds | postuninstall_cmds | \
4087: old_postinstall_cmds | old_postuninstall_cmds | \
4088: sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
4089: # Double-quote double-evaled strings.
4090: eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
4091: ;;
4092: *)
4093: eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
4094: ;;
4095: esac
4096: done
4097:
4098: case $lt_echo in
4099: *'\[$]0 --fallback-echo"')
4100: lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
4101: ;;
4102: esac
4103:
4104: ifelse([$1], [],
4105: [cfgfile="${ofile}T"
4106: trap "$rm \"$cfgfile\"; exit 1" 1 2 15
4107: $rm -f "$cfgfile"
4108: AC_MSG_RESULT([
4109: creating $ofile])],
4110: [cfgfile="$ofile"])
4111:
4112: cat <<__EOF__ >> "$cfgfile"
4113: ifelse([$1], [],
4114: [#! $SHELL
4115:
4116: # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
4117: # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
4118: # NOTE: Changes made to this file will be lost: look at ltmain.sh.
4119: #
4120: # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4121: # Free Software Foundation, Inc.
4122: #
4123: # This file is part of GNU Libtool:
4124: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4125: #
4126: # This program is free software; you can redistribute it and/or modify
4127: # it under the terms of the GNU General Public License as published by
4128: # the Free Software Foundation; either version 2 of the License, or
4129: # (at your option) any later version.
4130: #
4131: # This program is distributed in the hope that it will be useful, but
4132: # WITHOUT ANY WARRANTY; without even the implied warranty of
4133: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4134: # General Public License for more details.
4135: #
4136: # You should have received a copy of the GNU General Public License
4137: # along with this program; if not, write to the Free Software
4138: # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
4139: #
4140: # As a special exception to the GNU General Public License, if you
4141: # distribute this file as part of a program that contains a
4142: # configuration script generated by Autoconf, you may include it under
4143: # the same distribution terms that you use for the rest of that program.
4144:
4145: # A sed program that does not truncate output.
4146: SED=$lt_SED
4147:
4148: # Sed that helps us avoid accidentally triggering echo(1) options like -n.
4149: Xsed="$SED -e 1s/^X//"
4150:
4151: # The HP-UX ksh and POSIX shell print the target directory to stdout
4152: # if CDPATH is set.
4153: (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
4154:
4155: # The names of the tagged configurations supported by this script.
4156: available_tags=
4157:
4158: # ### BEGIN LIBTOOL CONFIG],
4159: [# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
4160:
4161: # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
4162:
4163: # Shell to use when invoking shell scripts.
4164: SHELL=$lt_SHELL
4165:
4166: # Whether or not to build shared libraries.
4167: build_libtool_libs=$enable_shared
4168:
4169: # Whether or not to build static libraries.
4170: build_old_libs=$enable_static
4171:
4172: # Whether or not to add -lc for building shared libraries.
4173: build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
4174:
4175: # Whether or not to disallow shared libs when runtime libs are static
4176: allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
4177:
4178: # Whether or not to optimize for fast installation.
4179: fast_install=$enable_fast_install
4180:
4181: # The host system.
4182: host_alias=$host_alias
4183: host=$host
4184: host_os=$host_os
4185:
4186: # The build system.
4187: build_alias=$build_alias
4188: build=$build
4189: build_os=$build_os
4190:
4191: # An echo program that does not interpret backslashes.
4192: echo=$lt_echo
4193:
4194: # The archiver.
4195: AR=$lt_AR
4196: AR_FLAGS=$lt_AR_FLAGS
4197:
4198: # A C compiler.
4199: LTCC=$lt_LTCC
4200:
4201: # LTCC compiler flags.
4202: LTCFLAGS=$lt_LTCFLAGS
4203:
4204: # A language-specific compiler.
4205: CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
4206:
4207: # Is the compiler the GNU C compiler?
4208: with_gcc=$_LT_AC_TAGVAR(GCC, $1)
4209:
4210: # An ERE matcher.
4211: EGREP=$lt_EGREP
4212:
4213: # The linker used to build libraries.
4214: LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
4215:
4216: # Whether we need hard or soft links.
4217: LN_S=$lt_LN_S
4218:
4219: # A BSD-compatible nm program.
4220: NM=$lt_NM
4221:
4222: # A symbol stripping program
4223: STRIP=$lt_STRIP
4224:
4225: # Used to examine libraries when file_magic_cmd begins "file"
4226: MAGIC_CMD=$MAGIC_CMD
4227:
4228: # Used on cygwin: DLL creation program.
4229: DLLTOOL="$DLLTOOL"
4230:
4231: # Used on cygwin: object dumper.
4232: OBJDUMP="$OBJDUMP"
4233:
4234: # Used on cygwin: assembler.
4235: AS="$AS"
4236:
4237: # The name of the directory that contains temporary libtool files.
4238: objdir=$objdir
4239:
4240: # How to create reloadable object files.
4241: reload_flag=$lt_reload_flag
4242: reload_cmds=$lt_reload_cmds
4243:
4244: # How to pass a linker flag through the compiler.
4245: wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
4246:
4247: # Object file suffix (normally "o").
4248: objext="$ac_objext"
4249:
4250: # Old archive suffix (normally "a").
4251: libext="$libext"
4252:
4253: # Shared library suffix (normally ".so").
4254: shrext_cmds='$shrext_cmds'
4255:
4256: # Executable file suffix (normally "").
4257: exeext="$exeext"
4258:
4259: # Additional compiler flags for building library objects.
4260: pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
4261: pic_mode=$pic_mode
4262:
4263: # What is the maximum length of a command?
4264: max_cmd_len=$lt_cv_sys_max_cmd_len
4265:
4266: # Does compiler simultaneously support -c and -o options?
4267: compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
4268:
4269: # Must we lock files when doing compilation?
4270: need_locks=$lt_need_locks
4271:
4272: # Do we need the lib prefix for modules?
4273: need_lib_prefix=$need_lib_prefix
4274:
4275: # Do we need a version for libraries?
4276: need_version=$need_version
4277:
4278: # Whether dlopen is supported.
4279: dlopen_support=$enable_dlopen
4280:
4281: # Whether dlopen of programs is supported.
4282: dlopen_self=$enable_dlopen_self
4283:
4284: # Whether dlopen of statically linked programs is supported.
4285: dlopen_self_static=$enable_dlopen_self_static
4286:
4287: # Compiler flag to prevent dynamic linking.
4288: link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
4289:
4290: # Compiler flag to turn off builtin functions.
4291: no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
4292:
4293: # Compiler flag to allow reflexive dlopens.
4294: export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
4295:
4296: # Compiler flag to generate shared objects directly from archives.
4297: whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
4298:
4299: # Compiler flag to generate thread-safe objects.
4300: thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
4301:
4302: # Library versioning type.
4303: version_type=$version_type
4304:
4305: # Format of library name prefix.
4306: libname_spec=$lt_libname_spec
4307:
4308: # List of archive names. First name is the real one, the rest are links.
4309: # The last name is the one that the linker finds with -lNAME.
4310: library_names_spec=$lt_library_names_spec
4311:
4312: # The coded name of the library, if different from the real name.
4313: soname_spec=$lt_soname_spec
4314:
4315: # Commands used to build and install an old-style archive.
4316: RANLIB=$lt_RANLIB
4317: old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
4318: old_postinstall_cmds=$lt_old_postinstall_cmds
4319: old_postuninstall_cmds=$lt_old_postuninstall_cmds
4320:
4321: # Create an old-style archive from a shared archive.
4322: old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
4323:
4324: # Create a temporary old-style archive to link instead of a shared archive.
4325: old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
4326:
4327: # Commands used to build and install a shared archive.
4328: archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
4329: archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
4330: postinstall_cmds=$lt_postinstall_cmds
4331: postuninstall_cmds=$lt_postuninstall_cmds
4332:
4333: # Commands used to build a loadable module (assumed same as above if empty)
4334: module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
4335: module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
4336:
4337: # Commands to strip libraries.
4338: old_striplib=$lt_old_striplib
4339: striplib=$lt_striplib
4340:
4341: # Dependencies to place before the objects being linked to create a
4342: # shared library.
4343: predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
4344:
4345: # Dependencies to place after the objects being linked to create a
4346: # shared library.
4347: postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
4348:
4349: # Dependencies to place before the objects being linked to create a
4350: # shared library.
4351: predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
4352:
4353: # Dependencies to place after the objects being linked to create a
4354: # shared library.
4355: postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
4356:
4357: # The directories searched by this compiler when creating a shared
4358: # library
4359: compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
4360:
4361: # The library search path used internally by the compiler when linking
4362: # a shared library.
4363: compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
4364:
4365: # Method to check whether dependent libraries are shared objects.
4366: deplibs_check_method=$lt_deplibs_check_method
4367:
4368: # Command to use when deplibs_check_method == file_magic.
4369: file_magic_cmd=$lt_file_magic_cmd
4370:
4371: # Flag that allows shared libraries with undefined symbols to be built.
4372: allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
4373:
4374: # Flag that forces no undefined symbols.
4375: no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
4376:
4377: # Commands used to finish a libtool library installation in a directory.
4378: finish_cmds=$lt_finish_cmds
4379:
4380: # Same as above, but a single script fragment to be evaled but not shown.
4381: finish_eval=$lt_finish_eval
4382:
4383: # Take the output of nm and produce a listing of raw symbols and C names.
4384: global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
4385:
4386: # Transform the output of nm in a proper C declaration
4387: global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
4388:
4389: # Transform the output of nm in a C name address pair
4390: global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
4391:
4392: # This is the shared library runtime path variable.
4393: runpath_var=$runpath_var
4394:
4395: # This is the shared library path variable.
4396: shlibpath_var=$shlibpath_var
4397:
4398: # Is shlibpath searched before the hard-coded library search path?
4399: shlibpath_overrides_runpath=$shlibpath_overrides_runpath
4400:
4401: # How to hardcode a shared library path into an executable.
4402: hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
4403:
4404: # Whether we should hardcode library paths into libraries.
4405: hardcode_into_libs=$hardcode_into_libs
4406:
4407: # Flag to hardcode \$libdir into a binary during linking.
4408: # This must work even if \$libdir does not exist.
4409: hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
4410:
4411: # If ld is used when linking, flag to hardcode \$libdir into
4412: # a binary during linking. This must work even if \$libdir does
4413: # not exist.
4414: hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
4415:
4416: # Whether we need a single -rpath flag with a separated argument.
4417: hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
4418:
4419: # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
4420: # resulting binary.
4421: hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
4422:
4423: # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
4424: # resulting binary.
4425: hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
4426:
4427: # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
4428: # the resulting binary.
4429: hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
4430:
4431: # Set to yes if building a shared library automatically hardcodes DIR into the library
4432: # and all subsequent libraries and executables linked against it.
4433: hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
4434:
4435: # Variables whose values should be saved in libtool wrapper scripts and
4436: # restored at relink time.
4437: variables_saved_for_relink="$variables_saved_for_relink"
4438:
4439: # Whether libtool must link a program against all its dependency libraries.
4440: link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
4441:
4442: # Compile-time system search path for libraries
4443: sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
4444:
4445: # Run-time system search path for libraries
4446: sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
4447:
4448: # Fix the shell variable \$srcfile for the compiler.
4449: fix_srcfile_path=$lt_fix_srcfile_path
4450:
4451: # Set to yes if exported symbols are required.
4452: always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
4453:
4454: # The commands to list exported symbols.
4455: export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
4456:
4457: # The commands to extract the exported symbol list from a shared archive.
4458: extract_expsyms_cmds=$lt_extract_expsyms_cmds
4459:
4460: # Symbols that should not be listed in the preloaded symbols.
4461: exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
4462:
4463: # Symbols that must always be exported.
4464: include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
4465:
4466: ifelse([$1],[],
4467: [# ### END LIBTOOL CONFIG],
4468: [# ### END LIBTOOL TAG CONFIG: $tagname])
4469:
4470: __EOF__
4471:
4472: ifelse([$1],[], [
4473: case $host_os in
4474: aix3*)
4475: cat <<\EOF >> "$cfgfile"
4476:
4477: # AIX sometimes has problems with the GCC collect2 program. For some
4478: # reason, if we set the COLLECT_NAMES environment variable, the problems
4479: # vanish in a puff of smoke.
4480: if test "X${COLLECT_NAMES+set}" != Xset; then
4481: COLLECT_NAMES=
4482: export COLLECT_NAMES
4483: fi
4484: EOF
4485: ;;
4486: esac
4487:
4488: # We use sed instead of cat because bash on DJGPP gets confused if
4489: # if finds mixed CR/LF and LF-only lines. Since sed operates in
4490: # text mode, it properly converts lines to CR/LF. This bash problem
4491: # is reportedly fixed, but why not run on old versions too?
4492: sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
4493:
4494: mv -f "$cfgfile" "$ofile" || \
4495: (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
4496: chmod +x "$ofile"
4497: ])
4498: else
4499: # If there is no Makefile yet, we rely on a make rule to execute
4500: # `config.status --recheck' to rerun these tests and create the
4501: # libtool script then.
4502: ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
4503: if test -f "$ltmain_in"; then
4504: test -f Makefile && make "$ltmain"
4505: fi
4506: fi
4507: ])# AC_LIBTOOL_CONFIG
4508:
4509:
4510: # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
4511: # -------------------------------------------
4512: AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
4513: [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
4514:
4515: _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4516:
4517: if test "$GCC" = yes; then
4518: _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
4519:
4520: AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4521: lt_cv_prog_compiler_rtti_exceptions,
4522: [-fno-rtti -fno-exceptions], [],
4523: [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4524: fi
4525: ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
4526:
4527:
4528: # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4529: # ---------------------------------
4530: AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
4531: [AC_REQUIRE([AC_CANONICAL_HOST])
4532: AC_REQUIRE([LT_AC_PROG_SED])
4533: AC_REQUIRE([AC_PROG_NM])
4534: AC_REQUIRE([AC_OBJEXT])
4535: # Check for command to grab the raw symbol name followed by C symbol from nm.
4536: AC_MSG_CHECKING([command to parse $NM output from $compiler object])
4537: AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
4538: [
4539: # These are sane defaults that work on at least a few old systems.
4540: # [They come from Ultrix. What could be older than Ultrix?!! ;)]
4541:
4542: # Character class describing NM global symbol codes.
4543: symcode='[[BCDEGRST]]'
4544:
4545: # Regexp to match symbols that can be accessed directly from C.
4546: sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
4547:
4548: # Transform an extracted symbol line into a proper C declaration
4549: lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
4550:
4551: # Transform an extracted symbol line into symbol name and symbol address
4552: 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'"
4553:
4554: # Define system-specific variables.
4555: case $host_os in
4556: aix*)
4557: symcode='[[BCDT]]'
4558: ;;
4559: cygwin* | mingw* | pw32*)
4560: symcode='[[ABCDGISTW]]'
4561: ;;
4562: hpux*) # Its linker distinguishes data from code symbols
4563: if test "$host_cpu" = ia64; then
4564: symcode='[[ABCDEGRST]]'
4565: fi
4566: lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4567: 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'"
4568: ;;
4569: linux* | k*bsd*-gnu)
4570: if test "$host_cpu" = ia64; then
4571: symcode='[[ABCDGIRSTW]]'
4572: lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4573: 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'"
4574: fi
4575: ;;
4576: irix* | nonstopux*)
4577: symcode='[[BCDEGRST]]'
4578: ;;
4579: osf*)
4580: symcode='[[BCDEGQRST]]'
4581: ;;
4582: solaris*)
4583: symcode='[[BDRT]]'
4584: ;;
4585: sco3.2v5*)
4586: symcode='[[DT]]'
4587: ;;
4588: sysv4.2uw2*)
4589: symcode='[[DT]]'
4590: ;;
4591: sysv5* | sco5v6* | unixware* | OpenUNIX*)
4592: symcode='[[ABDT]]'
4593: ;;
4594: sysv4)
4595: symcode='[[DFNSTU]]'
4596: ;;
4597: esac
4598:
4599: # Handle CRLF in mingw tool chain
4600: opt_cr=
4601: case $build_os in
4602: mingw*)
4603: opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4604: ;;
4605: esac
4606:
4607: # If we're using GNU nm, then use its standard symbol codes.
4608: case `$NM -V 2>&1` in
4609: *GNU* | *'with BFD'*)
4610: symcode='[[ABCDGIRSTW]]' ;;
4611: esac
4612:
4613: # Try without a prefix undercore, then with it.
4614: for ac_symprfx in "" "_"; do
4615:
4616: # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4617: symxfrm="\\1 $ac_symprfx\\2 \\2"
4618:
4619: # Write the raw and C identifiers.
4620: lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4621:
4622: # Check to see that the pipe works correctly.
4623: pipe_works=no
4624:
4625: rm -f conftest*
4626: cat > conftest.$ac_ext <<EOF
4627: #ifdef __cplusplus
4628: extern "C" {
4629: #endif
4630: char nm_test_var;
4631: void nm_test_func(){}
4632: #ifdef __cplusplus
4633: }
4634: #endif
4635: int main(){nm_test_var='a';nm_test_func();return(0);}
4636: EOF
4637:
4638: if AC_TRY_EVAL(ac_compile); then
4639: # Now try to grab the symbols.
4640: nlist=conftest.nm
4641: if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
4642: # Try sorting and uniquifying the output.
4643: if sort "$nlist" | uniq > "$nlist"T; then
4644: mv -f "$nlist"T "$nlist"
4645: else
4646: rm -f "$nlist"T
4647: fi
4648:
4649: # Make sure that we snagged all the symbols we need.
4650: if grep ' nm_test_var$' "$nlist" >/dev/null; then
4651: if grep ' nm_test_func$' "$nlist" >/dev/null; then
4652: cat <<EOF > conftest.$ac_ext
4653: #ifdef __cplusplus
4654: extern "C" {
4655: #endif
4656:
4657: EOF
4658: # Now generate the symbol file.
4659: eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
4660:
4661: cat <<EOF >> conftest.$ac_ext
4662: #if defined (__STDC__) && __STDC__
4663: # define lt_ptr_t void *
4664: #else
4665: # define lt_ptr_t char *
4666: # define const
4667: #endif
4668:
4669: /* The mapping between symbol names and symbols. */
4670: const struct {
4671: const char *name;
4672: lt_ptr_t address;
4673: }
4674: lt_preloaded_symbols[[]] =
4675: {
4676: EOF
4677: $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
4678: cat <<\EOF >> conftest.$ac_ext
4679: {0, (lt_ptr_t) 0}
4680: };
4681:
4682: #ifdef __cplusplus
4683: }
4684: #endif
4685: EOF
4686: # Now try linking the two files.
4687: mv conftest.$ac_objext conftstm.$ac_objext
4688: lt_save_LIBS="$LIBS"
4689: lt_save_CFLAGS="$CFLAGS"
4690: LIBS="conftstm.$ac_objext"
4691: CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4692: if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
4693: pipe_works=yes
4694: fi
4695: LIBS="$lt_save_LIBS"
4696: CFLAGS="$lt_save_CFLAGS"
4697: else
4698: echo "cannot find nm_test_func in $nlist" >&5
4699: fi
4700: else
4701: echo "cannot find nm_test_var in $nlist" >&5
4702: fi
4703: else
4704: echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
4705: fi
4706: else
4707: echo "$progname: failed program was:" >&5
4708: cat conftest.$ac_ext >&5
4709: fi
4710: rm -rf conftest* conftst*
4711:
4712: # Do not use the global_symbol_pipe unless it works.
4713: if test "$pipe_works" = yes; then
4714: break
4715: else
4716: lt_cv_sys_global_symbol_pipe=
4717: fi
4718: done
4719: ])
4720: if test -z "$lt_cv_sys_global_symbol_pipe"; then
4721: lt_cv_sys_global_symbol_to_cdecl=
4722: fi
4723: if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4724: AC_MSG_RESULT(failed)
4725: else
4726: AC_MSG_RESULT(ok)
4727: fi
4728: ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4729:
4730:
4731: # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
4732: # ---------------------------------------
4733: AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
4734: [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
4735: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4736: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
4737:
4738: AC_MSG_CHECKING([for $compiler option to produce PIC])
4739: ifelse([$1],[CXX],[
4740: # C++ specific cases for pic, static, wl, etc.
4741: if test "$GXX" = yes; then
4742: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4743: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4744:
4745: case $host_os in
4746: aix*)
4747: # All AIX code is PIC.
4748: if test "$host_cpu" = ia64; then
4749: # AIX 5 now supports IA64 processor
4750: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4751: fi
4752: ;;
4753: amigaos*)
4754: # FIXME: we need at least 68020 code to build shared libraries, but
4755: # adding the `-m68020' flag to GCC prevents building anything better,
4756: # like `-m68040'.
4757: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4758: ;;
4759: beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4760: # PIC is the default for these OSes.
4761: ;;
4762: mingw* | cygwin* | os2* | pw32*)
4763: # This hack is so that the source file can tell whether it is being
4764: # built for inclusion in a dll (and should export symbols for example).
4765: # Although the cygwin gcc ignores -fPIC, still need this for old-style
4766: # (--disable-auto-import) libraries
4767: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4768: ;;
4769: darwin* | rhapsody*)
4770: # PIC is the default on this platform
4771: # Common symbols not allowed in MH_DYLIB files
4772: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4773: ;;
4774: *djgpp*)
4775: # DJGPP does not support shared libraries at all
4776: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4777: ;;
4778: interix[[3-9]]*)
4779: # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4780: # Instead, we relocate shared libraries at runtime.
4781: ;;
4782: sysv4*MP*)
4783: if test -d /usr/nec; then
4784: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4785: fi
4786: ;;
4787: hpux*)
4788: # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4789: # not for PA HP-UX.
4790: case $host_cpu in
4791: hppa*64*|ia64*)
4792: ;;
4793: *)
4794: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4795: ;;
4796: esac
4797: ;;
4798: *)
4799: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4800: ;;
4801: esac
4802: else
4803: case $host_os in
4804: aix[[4-9]]*)
4805: # All AIX code is PIC.
4806: if test "$host_cpu" = ia64; then
4807: # AIX 5 now supports IA64 processor
4808: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4809: else
4810: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4811: fi
4812: ;;
4813: chorus*)
4814: case $cc_basename in
4815: cxch68*)
4816: # Green Hills C++ Compiler
4817: # _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"
4818: ;;
4819: esac
4820: ;;
4821: darwin*)
4822: # PIC is the default on this platform
4823: # Common symbols not allowed in MH_DYLIB files
4824: case $cc_basename in
4825: xlc*)
4826: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
4827: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4828: ;;
4829: esac
4830: ;;
4831: dgux*)
4832: case $cc_basename in
4833: ec++*)
4834: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4835: ;;
4836: ghcx*)
4837: # Green Hills C++ Compiler
4838: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4839: ;;
4840: *)
4841: ;;
4842: esac
4843: ;;
4844: freebsd* | dragonfly*)
4845: # FreeBSD uses GNU C++
4846: ;;
4847: hpux9* | hpux10* | hpux11*)
4848: case $cc_basename in
4849: CC*)
4850: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4851: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4852: if test "$host_cpu" != ia64; then
4853: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4854: fi
4855: ;;
4856: aCC*)
4857: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4858: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4859: case $host_cpu in
4860: hppa*64*|ia64*)
4861: # +Z the default
4862: ;;
4863: *)
4864: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4865: ;;
4866: esac
4867: ;;
4868: *)
4869: ;;
4870: esac
4871: ;;
4872: interix*)
4873: # This is c89, which is MS Visual C++ (no shared libs)
4874: # Anyone wants to do a port?
4875: ;;
4876: irix5* | irix6* | nonstopux*)
4877: case $cc_basename in
4878: CC*)
4879: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4880: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4881: # CC pic flag -KPIC is the default.
4882: ;;
4883: *)
4884: ;;
4885: esac
4886: ;;
4887: linux* | k*bsd*-gnu)
4888: case $cc_basename in
4889: KCC*)
4890: # KAI C++ Compiler
4891: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4892: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4893: ;;
4894: ecpc*)
4895: # old Intel C++ for x86_64 which still supported -KPIC.
4896: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4897: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4898: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4899: ;;
4900: icpc*)
4901: # Intel C++, used to be incompatible with GCC.
4902: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4903: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4904: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4905: ;;
4906: pgCC* | pgcpp*)
4907: # Portland Group C++ compiler.
4908: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4909: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4910: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4911: ;;
4912: cxx*)
4913: # Compaq C++
4914: # Make sure the PIC flag is empty. It appears that all Alpha
4915: # Linux and Compaq Tru64 Unix objects are PIC.
4916: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4917: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4918: ;;
4919: *)
4920: case `$CC -V 2>&1 | sed 5q` in
4921: *Sun\ C*)
4922: # Sun C++ 5.9
4923: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4924: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4925: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4926: ;;
4927: esac
4928: ;;
4929: esac
4930: ;;
4931: lynxos*)
4932: ;;
4933: m88k*)
4934: ;;
4935: mvs*)
4936: case $cc_basename in
4937: cxx*)
4938: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4939: ;;
4940: *)
4941: ;;
4942: esac
4943: ;;
4944: netbsd*)
4945: ;;
4946: osf3* | osf4* | osf5*)
4947: case $cc_basename in
4948: KCC*)
4949: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4950: ;;
4951: RCC*)
4952: # Rational C++ 2.4.1
4953: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4954: ;;
4955: cxx*)
4956: # Digital/Compaq C++
4957: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4958: # Make sure the PIC flag is empty. It appears that all Alpha
4959: # Linux and Compaq Tru64 Unix objects are PIC.
4960: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4961: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4962: ;;
4963: *)
4964: ;;
4965: esac
4966: ;;
4967: psos*)
4968: ;;
4969: solaris*)
4970: case $cc_basename in
4971: CC*)
4972: # Sun C++ 4.2, 5.x and Centerline C++
4973: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4974: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4975: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4976: ;;
4977: gcx*)
4978: # Green Hills C++ Compiler
4979: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4980: ;;
4981: *)
4982: ;;
4983: esac
4984: ;;
4985: sunos4*)
4986: case $cc_basename in
4987: CC*)
4988: # Sun C++ 4.x
4989: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4990: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4991: ;;
4992: lcc*)
4993: # Lucid
4994: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4995: ;;
4996: *)
4997: ;;
4998: esac
4999: ;;
5000: tandem*)
5001: case $cc_basename in
5002: NCC*)
5003: # NonStop-UX NCC 3.20
5004: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5005: ;;
5006: *)
5007: ;;
5008: esac
5009: ;;
5010: sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5011: case $cc_basename in
5012: CC*)
5013: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5014: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5015: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5016: ;;
5017: esac
5018: ;;
5019: vxworks*)
5020: ;;
5021: *)
5022: _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5023: ;;
5024: esac
5025: fi
5026: ],
5027: [
5028: if test "$GCC" = yes; then
5029: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5030: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5031:
5032: case $host_os in
5033: aix*)
5034: # All AIX code is PIC.
5035: if test "$host_cpu" = ia64; then
5036: # AIX 5 now supports IA64 processor
5037: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5038: fi
5039: ;;
5040:
5041: amigaos*)
5042: # FIXME: we need at least 68020 code to build shared libraries, but
5043: # adding the `-m68020' flag to GCC prevents building anything better,
5044: # like `-m68040'.
5045: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5046: ;;
5047:
5048: beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
5049: # PIC is the default for these OSes.
5050: ;;
5051:
5052: mingw* | cygwin* | pw32* | os2*)
5053: # This hack is so that the source file can tell whether it is being
5054: # built for inclusion in a dll (and should export symbols for example).
5055: # Although the cygwin gcc ignores -fPIC, still need this for old-style
5056: # (--disable-auto-import) libraries
5057: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5058: ;;
5059:
5060: darwin* | rhapsody*)
5061: # PIC is the default on this platform
5062: # Common symbols not allowed in MH_DYLIB files
5063: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
5064: ;;
5065:
5066: interix[[3-9]]*)
5067: # Interix 3.x gcc -fpic/-fPIC options generate broken code.
5068: # Instead, we relocate shared libraries at runtime.
5069: ;;
5070:
5071: msdosdjgpp*)
5072: # Just because we use GCC doesn't mean we suddenly get shared libraries
5073: # on systems that don't support them.
5074: _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5075: enable_shared=no
5076: ;;
5077:
5078: sysv4*MP*)
5079: if test -d /usr/nec; then
5080: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
5081: fi
5082: ;;
5083:
5084: hpux*)
5085: # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5086: # not for PA HP-UX.
5087: case $host_cpu in
5088: hppa*64*|ia64*)
5089: # +Z the default
5090: ;;
5091: *)
5092: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5093: ;;
5094: esac
5095: ;;
5096:
5097: *)
5098: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5099: ;;
5100: esac
5101: else
5102: # PORTME Check for flag to pass linker flags through the system compiler.
5103: case $host_os in
5104: aix*)
5105: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5106: if test "$host_cpu" = ia64; then
5107: # AIX 5 now supports IA64 processor
5108: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5109: else
5110: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
5111: fi
5112: ;;
5113: darwin*)
5114: # PIC is the default on this platform
5115: # Common symbols not allowed in MH_DYLIB files
5116: case $cc_basename in
5117: xlc*)
5118: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
5119: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5120: ;;
5121: esac
5122: ;;
5123:
5124: mingw* | cygwin* | pw32* | os2*)
5125: # This hack is so that the source file can tell whether it is being
5126: # built for inclusion in a dll (and should export symbols for example).
5127: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5128: ;;
5129:
5130: hpux9* | hpux10* | hpux11*)
5131: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5132: # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5133: # not for PA HP-UX.
5134: case $host_cpu in
5135: hppa*64*|ia64*)
5136: # +Z the default
5137: ;;
5138: *)
5139: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
5140: ;;
5141: esac
5142: # Is there a better lt_prog_compiler_static that works with the bundled CC?
5143: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
5144: ;;
5145:
5146: irix5* | irix6* | nonstopux*)
5147: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5148: # PIC (with -KPIC) is the default.
5149: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5150: ;;
5151:
5152: newsos6)
5153: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5154: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5155: ;;
5156:
5157: linux* | k*bsd*-gnu)
5158: case $cc_basename in
5159: # old Intel for x86_64 which still supported -KPIC.
5160: ecc*)
5161: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5162: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5163: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5164: ;;
5165: # icc used to be incompatible with GCC.
5166: # ICC 10 doesn't accept -KPIC any more.
5167: icc*)
5168: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5169: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5170: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5171: ;;
5172: pgcc* | pgf77* | pgf90* | pgf95*)
5173: # Portland Group compilers (*not* the Pentium gcc compiler,
5174: # which looks to be a dead project)
5175: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5176: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
5177: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5178: ;;
5179: ccc*)
5180: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5181: # All Alpha code is PIC.
5182: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5183: ;;
5184: *)
5185: case `$CC -V 2>&1 | sed 5q` in
5186: *Sun\ C*)
5187: # Sun C 5.9
5188: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5189: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5190: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5191: ;;
5192: *Sun\ F*)
5193: # Sun Fortran 8.3 passes all unrecognized flags to the linker
5194: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5195: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5196: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
5197: ;;
5198: esac
5199: ;;
5200: esac
5201: ;;
5202:
5203: osf3* | osf4* | osf5*)
5204: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5205: # All OSF/1 code is PIC.
5206: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5207: ;;
5208:
5209: rdos*)
5210: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5211: ;;
5212:
5213: solaris*)
5214: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5215: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5216: case $cc_basename in
5217: f77* | f90* | f95*)
5218: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
5219: *)
5220: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
5221: esac
5222: ;;
5223:
5224: sunos4*)
5225: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
5226: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
5227: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5228: ;;
5229:
5230: sysv4 | sysv4.2uw2* | sysv4.3*)
5231: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5232: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5233: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5234: ;;
5235:
5236: sysv4*MP*)
5237: if test -d /usr/nec ;then
5238: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
5239: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5240: fi
5241: ;;
5242:
5243: sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5244: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5245: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5246: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5247: ;;
5248:
5249: unicos*)
5250: _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5251: _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5252: ;;
5253:
5254: uts4*)
5255: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5256: _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5257: ;;
5258:
5259: *)
5260: _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5261: ;;
5262: esac
5263: fi
5264: ])
5265: AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
5266:
5267: #
5268: # Check to make sure the PIC flag actually works.
5269: #
5270: if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
5271: AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
5272: _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
5273: [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
5274: [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
5275: "" | " "*) ;;
5276: *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5277: esac],
5278: [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5279: _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5280: fi
5281: case $host_os in
5282: # For platforms which do not support PIC, -DPIC is meaningless:
5283: *djgpp*)
5284: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5285: ;;
5286: *)
5287: _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
5288: ;;
5289: esac
5290:
5291: #
5292: # Check to make sure the static flag actually works.
5293: #
5294: wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
5295: AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5296: _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
5297: $lt_tmp_static_flag,
5298: [],
5299: [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
5300: ])
5301:
5302:
5303: # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
5304: # ------------------------------------
5305: # See if the linker supports building shared libraries.
5306: AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
5307: [AC_REQUIRE([LT_AC_PROG_SED])dnl
5308: AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5309: ifelse([$1],[CXX],[
5310: _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5311: case $host_os in
5312: aix[[4-9]]*)
5313: # If we're using GNU nm, then we don't want the "-C" option.
5314: # -C means demangle to AIX nm, but means don't demangle with GNU nm
5315: if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5316: _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'
5317: else
5318: _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'
5319: fi
5320: ;;
5321: pw32*)
5322: _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
5323: ;;
5324: cygwin* | mingw*)
5325: _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'
5326: ;;
5327: *)
5328: _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5329: ;;
5330: esac
5331: _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5332: ],[
5333: runpath_var=
5334: _LT_AC_TAGVAR(allow_undefined_flag, $1)=
5335: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5336: _LT_AC_TAGVAR(archive_cmds, $1)=
5337: _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
5338: _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
5339: _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5340: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5341: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5342: _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
5343: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5344: _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5345: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5346: _LT_AC_TAGVAR(hardcode_direct, $1)=no
5347: _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5348: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5349: _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
5350: _LT_AC_TAGVAR(hardcode_automatic, $1)=no
5351: _LT_AC_TAGVAR(module_cmds, $1)=
5352: _LT_AC_TAGVAR(module_expsym_cmds, $1)=
5353: _LT_AC_TAGVAR(always_export_symbols, $1)=no
5354: _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5355: # include_expsyms should be a list of space-separated symbols to be *always*
5356: # included in the symbol list
5357: _LT_AC_TAGVAR(include_expsyms, $1)=
5358: # exclude_expsyms can be an extended regexp of symbols to exclude
5359: # it will be wrapped by ` (' and `)$', so one must not match beginning or
5360: # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
5361: # as well as any symbol that contains `d'.
5362: _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5363: # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5364: # platforms (ab)use it in PIC code, but their linkers get confused if
5365: # the symbol is explicitly referenced. Since portable code cannot
5366: # rely on this symbol name, it's probably fine to never include it in
5367: # preloaded symbol tables.
5368: # Exclude shared library initialization/finalization symbols.
5369: dnl Note also adjust exclude_expsyms for C++ above.
5370: extract_expsyms_cmds=
5371: # Just being paranoid about ensuring that cc_basename is set.
5372: _LT_CC_BASENAME([$compiler])
5373: case $host_os in
5374: cygwin* | mingw* | pw32*)
5375: # FIXME: the MSVC++ port hasn't been tested in a loooong time
5376: # When not using gcc, we currently assume that we are using
5377: # Microsoft Visual C++.
5378: if test "$GCC" != yes; then
5379: with_gnu_ld=no
5380: fi
5381: ;;
5382: interix*)
5383: # we just hope/assume this is gcc and not c89 (= MSVC++)
5384: with_gnu_ld=yes
5385: ;;
5386: openbsd*)
5387: with_gnu_ld=no
5388: ;;
5389: esac
5390:
5391: _LT_AC_TAGVAR(ld_shlibs, $1)=yes
5392: if test "$with_gnu_ld" = yes; then
5393: # If archive_cmds runs LD, not CC, wlarc should be empty
5394: wlarc='${wl}'
5395:
5396: # Set some defaults for GNU ld with shared library support. These
5397: # are reset later if shared libraries are not supported. Putting them
5398: # here allows them to be overridden if necessary.
5399: runpath_var=LD_RUN_PATH
5400: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5401: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5402: # ancient GNU ld didn't support --whole-archive et. al.
5403: if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
5404: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5405: else
5406: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5407: fi
5408: supports_anon_versioning=no
5409: case `$LD -v 2>/dev/null` in
5410: *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5411: *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5412: *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5413: *\ 2.11.*) ;; # other 2.11 versions
5414: *) supports_anon_versioning=yes ;;
5415: esac
5416:
5417: # See if GNU ld supports shared libraries.
5418: case $host_os in
5419: aix[[3-9]]*)
5420: # On AIX/PPC, the GNU linker is very broken
5421: if test "$host_cpu" != ia64; then
5422: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5423: cat <<EOF 1>&2
5424:
5425: *** Warning: the GNU linker, at least up to release 2.9.1, is reported
5426: *** to be unable to reliably create shared libraries on AIX.
5427: *** Therefore, libtool is disabling shared libraries support. If you
5428: *** really care for shared libraries, you may want to modify your PATH
5429: *** so that a non-GNU linker is found, and then restart.
5430:
5431: EOF
5432: fi
5433: ;;
5434:
5435: amigaos*)
5436: _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)'
5437: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5438: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5439:
5440: # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
5441: # that the semantics of dynamic libraries on AmigaOS, at least up
5442: # to version 4, is to share data among multiple programs linked
5443: # with the same dynamic library. Since this doesn't match the
5444: # behavior of shared libraries on other platforms, we can't use
5445: # them.
5446: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5447: ;;
5448:
5449: beos*)
5450: if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5451: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5452: # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5453: # support --undefined. This deserves some investigation. FIXME
5454: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5455: else
5456: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5457: fi
5458: ;;
5459:
5460: cygwin* | mingw* | pw32*)
5461: # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5462: # as there is no search path for DLLs.
5463: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5464: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5465: _LT_AC_TAGVAR(always_export_symbols, $1)=no
5466: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5467: _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5468:
5469: if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
5470: _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'
5471: # If the export-symbols file already is a .def file (1st line
5472: # is EXPORTS), use it as is; otherwise, prepend...
5473: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5474: cp $export_symbols $output_objdir/$soname.def;
5475: else
5476: echo EXPORTS > $output_objdir/$soname.def;
5477: cat $export_symbols >> $output_objdir/$soname.def;
5478: fi~
5479: $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5480: else
5481: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5482: fi
5483: ;;
5484:
5485: interix[[3-9]]*)
5486: _LT_AC_TAGVAR(hardcode_direct, $1)=no
5487: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5488: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5489: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5490: # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5491: # Instead, shared libraries are loaded at an image base (0x10000000 by
5492: # default) and relocated if they conflict, which is a slow very memory
5493: # consuming and fragmenting process. To avoid this, we pick a random,
5494: # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5495: # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5496: _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'
5497: _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'
5498: ;;
5499:
5500: gnu* | linux* | k*bsd*-gnu)
5501: if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5502: tmp_addflag=
5503: case $cc_basename,$host_cpu in
5504: pgcc*) # Portland Group C compiler
5505: _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'
5506: tmp_addflag=' $pic_flag'
5507: ;;
5508: pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
5509: _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'
5510: tmp_addflag=' $pic_flag -Mnomain' ;;
5511: ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5512: tmp_addflag=' -i_dynamic' ;;
5513: efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5514: tmp_addflag=' -i_dynamic -nofor_main' ;;
5515: ifc* | ifort*) # Intel Fortran compiler
5516: tmp_addflag=' -nofor_main' ;;
5517: esac
5518: case `$CC -V 2>&1 | sed 5q` in
5519: *Sun\ C*) # Sun C 5.9
5520: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5521: tmp_sharedflag='-G' ;;
5522: *Sun\ F*) # Sun Fortran 8.3
5523: tmp_sharedflag='-G' ;;
5524: *)
5525: tmp_sharedflag='-shared' ;;
5526: esac
5527: _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5528:
5529: if test $supports_anon_versioning = yes; then
5530: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
5531: cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5532: $echo "local: *; };" >> $output_objdir/$libname.ver~
5533: $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5534: fi
5535: else
5536: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5537: fi
5538: ;;
5539:
5540: netbsd*)
5541: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5542: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5543: wlarc=
5544: else
5545: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5546: _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'
5547: fi
5548: ;;
5549:
5550: solaris*)
5551: if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
5552: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5553: cat <<EOF 1>&2
5554:
5555: *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5556: *** create shared libraries on Solaris systems. Therefore, libtool
5557: *** is disabling shared libraries support. We urge you to upgrade GNU
5558: *** binutils to release 2.9.1 or newer. Another option is to modify
5559: *** your PATH or compiler configuration so that the native linker is
5560: *** used, and then restart.
5561:
5562: EOF
5563: elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5564: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5565: _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'
5566: else
5567: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5568: fi
5569: ;;
5570:
5571: sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5572: case `$LD -v 2>&1` in
5573: *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5574: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5575: cat <<_LT_EOF 1>&2
5576:
5577: *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
5578: *** reliably create shared libraries on SCO systems. Therefore, libtool
5579: *** is disabling shared libraries support. We urge you to upgrade GNU
5580: *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5581: *** your PATH or compiler configuration so that the native linker is
5582: *** used, and then restart.
5583:
5584: _LT_EOF
5585: ;;
5586: *)
5587: if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5588: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
5589: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
5590: _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'
5591: else
5592: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5593: fi
5594: ;;
5595: esac
5596: ;;
5597:
5598: sunos4*)
5599: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5600: wlarc=
5601: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5602: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5603: ;;
5604:
5605: *)
5606: if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5607: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5608: _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'
5609: else
5610: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5611: fi
5612: ;;
5613: esac
5614:
5615: if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
5616: runpath_var=
5617: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5618: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5619: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5620: fi
5621: else
5622: # PORTME fill in a description of your system's linker (not GNU ld)
5623: case $host_os in
5624: aix3*)
5625: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5626: _LT_AC_TAGVAR(always_export_symbols, $1)=yes
5627: _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'
5628: # Note: this linker hardcodes the directories in LIBPATH if there
5629: # are no directories specified by -L.
5630: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5631: if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
5632: # Neither direct hardcoding nor static linking is supported with a
5633: # broken collect2.
5634: _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5635: fi
5636: ;;
5637:
5638: aix[[4-9]]*)
5639: if test "$host_cpu" = ia64; then
5640: # On IA64, the linker does run time linking by default, so we don't
5641: # have to do anything special.
5642: aix_use_runtimelinking=no
5643: exp_sym_flag='-Bexport'
5644: no_entry_flag=""
5645: else
5646: # If we're using GNU nm, then we don't want the "-C" option.
5647: # -C means demangle to AIX nm, but means don't demangle with GNU nm
5648: if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5649: _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'
5650: else
5651: _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'
5652: fi
5653: aix_use_runtimelinking=no
5654:
5655: # Test if we are trying to use run time linking or normal
5656: # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5657: # need to do runtime linking.
5658: case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5659: for ld_flag in $LDFLAGS; do
5660: if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5661: aix_use_runtimelinking=yes
5662: break
5663: fi
5664: done
5665: ;;
5666: esac
5667:
5668: exp_sym_flag='-bexport'
5669: no_entry_flag='-bnoentry'
5670: fi
5671:
5672: # When large executables or shared objects are built, AIX ld can
5673: # have problems creating the table of contents. If linking a library
5674: # or program results in "error TOC overflow" add -mminimal-toc to
5675: # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5676: # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5677:
5678: _LT_AC_TAGVAR(archive_cmds, $1)=''
5679: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5680: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
5681: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5682:
5683: if test "$GCC" = yes; then
5684: case $host_os in aix4.[[012]]|aix4.[[012]].*)
5685: # We only want to do this on AIX 4.2 and lower, the check
5686: # below for broken collect2 doesn't work under 4.3+
5687: collect2name=`${CC} -print-prog-name=collect2`
5688: if test -f "$collect2name" && \
5689: strings "$collect2name" | grep resolve_lib_name >/dev/null
5690: then
5691: # We have reworked collect2
5692: :
5693: else
5694: # We have old collect2
5695: _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5696: # It fails to find uninstalled libraries when the uninstalled
5697: # path is not listed in the libpath. Setting hardcode_minus_L
5698: # to unsupported forces relinking
5699: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5700: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5701: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5702: fi
5703: ;;
5704: esac
5705: shared_flag='-shared'
5706: if test "$aix_use_runtimelinking" = yes; then
5707: shared_flag="$shared_flag "'${wl}-G'
5708: fi
5709: else
5710: # not using gcc
5711: if test "$host_cpu" = ia64; then
5712: # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5713: # chokes on -Wl,-G. The following line is correct:
5714: shared_flag='-G'
5715: else
5716: if test "$aix_use_runtimelinking" = yes; then
5717: shared_flag='${wl}-G'
5718: else
5719: shared_flag='${wl}-bM:SRE'
5720: fi
5721: fi
5722: fi
5723:
5724: # It seems that -bexpall does not export symbols beginning with
5725: # underscore (_), so it is better to generate a list of symbols to export.
5726: _LT_AC_TAGVAR(always_export_symbols, $1)=yes
5727: if test "$aix_use_runtimelinking" = yes; then
5728: # Warning - without using the other runtime loading flags (-brtl),
5729: # -berok will link without error, but may produce a broken library.
5730: _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
5731: # Determine the default libpath from the value encoded in an empty executable.
5732: _LT_AC_SYS_LIBPATH_AIX
5733: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5734: _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"
5735: else
5736: if test "$host_cpu" = ia64; then
5737: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5738: _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5739: _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"
5740: else
5741: # Determine the default libpath from the value encoded in an empty executable.
5742: _LT_AC_SYS_LIBPATH_AIX
5743: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5744: # Warning - without using the other run time loading flags,
5745: # -berok will link without error, but may produce a broken library.
5746: _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5747: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5748: # Exported symbols can be pulled into shared objects from archives
5749: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5750: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5751: # This is similar to how AIX traditionally builds its shared libraries.
5752: _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'
5753: fi
5754: fi
5755: ;;
5756:
5757: amigaos*)
5758: _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)'
5759: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5760: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5761: # see comment about different semantics on the GNU ld section
5762: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5763: ;;
5764:
5765: bsdi[[45]]*)
5766: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5767: ;;
5768:
5769: cygwin* | mingw* | pw32*)
5770: # When not using gcc, we currently assume that we are using
5771: # Microsoft Visual C++.
5772: # hardcode_libdir_flag_spec is actually meaningless, as there is
5773: # no search path for DLLs.
5774: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5775: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5776: # Tell ltmain to make .lib files, not .a files.
5777: libext=lib
5778: # Tell ltmain to make .dll files, not .so files.
5779: shrext_cmds=".dll"
5780: # FIXME: Setting linknames here is a bad hack.
5781: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
5782: # The linker will automatically build a .lib file if we build a DLL.
5783: _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
5784: # FIXME: Should let the user specify the lib program.
5785: _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5786: _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
5787: _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5788: ;;
5789:
5790: darwin* | rhapsody*)
5791: case $host_os in
5792: rhapsody* | darwin1.[[012]])
5793: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
5794: ;;
5795: *) # Darwin 1.3 on
5796: if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
5797: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5798: else
5799: case ${MACOSX_DEPLOYMENT_TARGET} in
5800: 10.[[012]])
5801: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5802: ;;
5803: 10.*)
5804: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
5805: ;;
5806: esac
5807: fi
5808: ;;
5809: esac
5810: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5811: _LT_AC_TAGVAR(hardcode_direct, $1)=no
5812: _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
5813: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5814: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
5815: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5816: if test "$GCC" = yes ; then
5817: output_verbose_link_cmd='echo'
5818: _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
5819: _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
5820: _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
5821: _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
5822: else
5823: case $cc_basename in
5824: xlc*)
5825: output_verbose_link_cmd='echo'
5826: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
5827: _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
5828: # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
5829: _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 $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5830: _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}'
5831: ;;
5832: *)
5833: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5834: ;;
5835: esac
5836: fi
5837: ;;
5838:
5839: dgux*)
5840: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5841: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5842: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5843: ;;
5844:
5845: freebsd1*)
5846: _LT_AC_TAGVAR(ld_shlibs, $1)=no
5847: ;;
5848:
5849: # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5850: # support. Future versions do this automatically, but an explicit c++rt0.o
5851: # does not break anything, and helps significantly (at the cost of a little
5852: # extra space).
5853: freebsd2.2*)
5854: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5855: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5856: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5857: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5858: ;;
5859:
5860: # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5861: freebsd2*)
5862: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5863: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5864: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5865: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5866: ;;
5867:
5868: # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5869: freebsd* | dragonfly*)
5870: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
5871: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5872: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5873: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5874: ;;
5875:
5876: hpux9*)
5877: if test "$GCC" = yes; then
5878: _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'
5879: else
5880: _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'
5881: fi
5882: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5883: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5884: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5885:
5886: # hardcode_minus_L: Not really in the search PATH,
5887: # but as the default location of the library.
5888: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5889: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5890: ;;
5891:
5892: hpux10*)
5893: if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5894: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5895: else
5896: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5897: fi
5898: if test "$with_gnu_ld" = no; then
5899: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5900: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5901:
5902: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5903: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5904:
5905: # hardcode_minus_L: Not really in the search PATH,
5906: # but as the default location of the library.
5907: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5908: fi
5909: ;;
5910:
5911: hpux11*)
5912: if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5913: case $host_cpu in
5914: hppa*64*)
5915: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5916: ;;
5917: ia64*)
5918: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5919: ;;
5920: *)
5921: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5922: ;;
5923: esac
5924: else
5925: case $host_cpu in
5926: hppa*64*)
5927: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5928: ;;
5929: ia64*)
5930: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5931: ;;
5932: *)
5933: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5934: ;;
5935: esac
5936: fi
5937: if test "$with_gnu_ld" = no; then
5938: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5939: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5940:
5941: case $host_cpu in
5942: hppa*64*|ia64*)
5943: _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5944: _LT_AC_TAGVAR(hardcode_direct, $1)=no
5945: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5946: ;;
5947: *)
5948: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5949: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5950:
5951: # hardcode_minus_L: Not really in the search PATH,
5952: # but as the default location of the library.
5953: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5954: ;;
5955: esac
5956: fi
5957: ;;
5958:
5959: irix5* | irix6* | nonstopux*)
5960: if test "$GCC" = yes; then
5961: _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'
5962: else
5963: _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'
5964: _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5965: fi
5966: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5967: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5968: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5969: ;;
5970:
5971: netbsd*)
5972: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5973: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5974: else
5975: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5976: fi
5977: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5978: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5979: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5980: ;;
5981:
5982: newsos6)
5983: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5984: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5985: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5986: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5987: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5988: ;;
5989:
5990: openbsd*)
5991: if test -f /usr/libexec/ld.so; then
5992: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5993: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5994: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5995: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5996: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5997: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5998: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5999: else
6000: case $host_os in
6001: openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
6002: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6003: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6004: ;;
6005: *)
6006: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6007: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6008: ;;
6009: esac
6010: fi
6011: else
6012: _LT_AC_TAGVAR(ld_shlibs, $1)=no
6013: fi
6014: ;;
6015:
6016: os2*)
6017: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6018: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6019: _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6020: _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'
6021: _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
6022: ;;
6023:
6024: osf3*)
6025: if test "$GCC" = yes; then
6026: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6027: _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'
6028: else
6029: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6030: _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'
6031: fi
6032: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6033: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6034: ;;
6035:
6036: osf4* | osf5*) # as osf3* with the addition of -msym flag
6037: if test "$GCC" = yes; then
6038: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6039: _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'
6040: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6041: else
6042: _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6043: _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'
6044: _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~
6045: $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'
6046:
6047: # Both c and cxx compiler support -rpath directly
6048: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6049: fi
6050: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6051: ;;
6052:
6053: solaris*)
6054: _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
6055: if test "$GCC" = yes; then
6056: wlarc='${wl}'
6057: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
6058: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6059: $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
6060: else
6061: wlarc=''
6062: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
6063: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6064: $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
6065: fi
6066: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6067: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6068: case $host_os in
6069: solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6070: *)
6071: # The compiler driver will combine and reorder linker options,
6072: # but understands `-z linker_flag'. GCC discards it without `$wl',
6073: # but is careful enough not to reorder.
6074: # Supported since Solaris 2.6 (maybe 2.5.1?)
6075: if test "$GCC" = yes; then
6076: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6077: else
6078: _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6079: fi
6080: ;;
6081: esac
6082: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6083: ;;
6084:
6085: sunos4*)
6086: if test "x$host_vendor" = xsequent; then
6087: # Use $CC to link under sequent, because it throws in some extra .o
6088: # files that make .init and .fini sections work.
6089: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
6090: else
6091: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
6092: fi
6093: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6094: _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6095: _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6096: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6097: ;;
6098:
6099: sysv4)
6100: case $host_vendor in
6101: sni)
6102: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6103: _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
6104: ;;
6105: siemens)
6106: ## LD is ld it makes a PLAMLIB
6107: ## CC just makes a GrossModule.
6108: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
6109: _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
6110: _LT_AC_TAGVAR(hardcode_direct, $1)=no
6111: ;;
6112: motorola)
6113: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6114: _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
6115: ;;
6116: esac
6117: runpath_var='LD_RUN_PATH'
6118: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6119: ;;
6120:
6121: sysv4.3*)
6122: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6123: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6124: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6125: ;;
6126:
6127: sysv4*MP*)
6128: if test -d /usr/nec; then
6129: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6130: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6131: runpath_var=LD_RUN_PATH
6132: hardcode_runpath_var=yes
6133: _LT_AC_TAGVAR(ld_shlibs, $1)=yes
6134: fi
6135: ;;
6136:
6137: sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6138: _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6139: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6140: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6141: runpath_var='LD_RUN_PATH'
6142:
6143: if test "$GCC" = yes; then
6144: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6145: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6146: else
6147: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6148: _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6149: fi
6150: ;;
6151:
6152: sysv5* | sco3.2v5* | sco5v6*)
6153: # Note: We can NOT use -z defs as we might desire, because we do not
6154: # link with -lc, and that would cause any symbols used from libc to
6155: # always be unresolved, which means just about no library would
6156: # ever link correctly. If we're not using GNU ld we use -z text
6157: # though, which does catch some bad symbols but isn't as heavy-handed
6158: # as -z defs.
6159: _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6160: _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6161: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6162: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6163: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
6164: _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6165: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6166: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6167: runpath_var='LD_RUN_PATH'
6168:
6169: if test "$GCC" = yes; then
6170: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6171: _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'
6172: else
6173: _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6174: _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'
6175: fi
6176: ;;
6177:
6178: uts4*)
6179: _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6180: _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6181: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6182: ;;
6183:
6184: *)
6185: _LT_AC_TAGVAR(ld_shlibs, $1)=no
6186: ;;
6187: esac
6188: fi
6189: ])
6190: AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
6191: test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6192:
6193: #
6194: # Do we need to explicitly link libc?
6195: #
6196: case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
6197: x|xyes)
6198: # Assume -lc should be added
6199: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6200:
6201: if test "$enable_shared" = yes && test "$GCC" = yes; then
6202: case $_LT_AC_TAGVAR(archive_cmds, $1) in
6203: *'~'*)
6204: # FIXME: we may have to deal with multi-command sequences.
6205: ;;
6206: '$CC '*)
6207: # Test whether the compiler implicitly links with -lc since on some
6208: # systems, -lgcc has to come before -lc. If gcc already passes -lc
6209: # to ld, don't add -lc before -lgcc.
6210: AC_MSG_CHECKING([whether -lc should be explicitly linked in])
6211: $rm conftest*
6212: echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6213:
6214: if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6215: soname=conftest
6216: lib=conftest
6217: libobjs=conftest.$ac_objext
6218: deplibs=
6219: wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
6220: pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
6221: compiler_flags=-v
6222: linker_flags=-v
6223: verstring=
6224: output_objdir=.
6225: libname=conftest
6226: lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
6227: _LT_AC_TAGVAR(allow_undefined_flag, $1)=
6228: if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
6229: then
6230: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6231: else
6232: _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6233: fi
6234: _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6235: else
6236: cat conftest.err 1>&5
6237: fi
6238: $rm conftest*
6239: AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
6240: ;;
6241: esac
6242: fi
6243: ;;
6244: esac
6245: ])# AC_LIBTOOL_PROG_LD_SHLIBS
6246:
6247:
6248: # _LT_AC_FILE_LTDLL_C
6249: # -------------------
6250: # Be careful that the start marker always follows a newline.
6251: AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
6252: # /* ltdll.c starts here */
6253: # #define WIN32_LEAN_AND_MEAN
6254: # #include <windows.h>
6255: # #undef WIN32_LEAN_AND_MEAN
6256: # #include <stdio.h>
6257: #
6258: # #ifndef __CYGWIN__
6259: # # ifdef __CYGWIN32__
6260: # # define __CYGWIN__ __CYGWIN32__
6261: # # endif
6262: # #endif
6263: #
6264: # #ifdef __cplusplus
6265: # extern "C" {
6266: # #endif
6267: # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
6268: # #ifdef __cplusplus
6269: # }
6270: # #endif
6271: #
6272: # #ifdef __CYGWIN__
6273: # #include <cygwin/cygwin_dll.h>
6274: # DECLARE_CYGWIN_DLL( DllMain );
6275: # #endif
6276: # HINSTANCE __hDllInstance_base;
6277: #
6278: # BOOL APIENTRY
6279: # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
6280: # {
6281: # __hDllInstance_base = hInst;
6282: # return TRUE;
6283: # }
6284: # /* ltdll.c ends here */
6285: ])# _LT_AC_FILE_LTDLL_C
6286:
6287:
6288: # _LT_AC_TAGVAR(VARNAME, [TAGNAME])
6289: # ---------------------------------
6290: AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
6291:
6292:
6293: # old names
6294: AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
6295: AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
6296: AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
6297: AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
6298: AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
6299: AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
6300: AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
6301:
6302: # This is just to silence aclocal about the macro not being used
6303: ifelse([AC_DISABLE_FAST_INSTALL])
6304:
6305: ############################################################
6306: # NOTE: This macro has been submitted for inclusion into #
6307: # GNU Autoconf as AC_PROG_SED. When it is available in #
6308: # a released version of Autoconf we should remove this #
6309: # macro and use it instead. #
6310: ############################################################
6311: # LT_AC_PROG_SED
6312: # --------------
6313: # Check for a fully-functional sed program, that truncates
6314: # as few characters as possible. Prefer GNU sed if found.
6315: AC_DEFUN([LT_AC_PROG_SED],
6316: [AC_MSG_CHECKING([for a sed that does not truncate output])
6317: AC_CACHE_VAL(lt_cv_path_SED,
6318: [# Loop through the user's path and test for sed and gsed.
6319: # Then use that list of sed's as ones to test for truncation.
6320: as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6321: for as_dir in $PATH
6322: do
6323: IFS=$as_save_IFS
6324: test -z "$as_dir" && as_dir=.
6325: for lt_ac_prog in sed gsed; do
6326: for ac_exec_ext in '' $ac_executable_extensions; do
6327: if test -f "$as_dir/$lt_ac_prog$ac_exec_ext"; then
6328: lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
6329: fi
6330: done
6331: done
6332: done
6333: lt_ac_max=0
6334: lt_ac_count=0
6335: # Add /usr/xpg4/bin/sed as it is typically found on Solaris
6336: # along with /bin/sed that truncates output.
6337: for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
6338: test ! -f $lt_ac_sed && continue
6339: cat /dev/null > conftest.in
6340: lt_ac_count=0
6341: echo $ECHO_N "0123456789$ECHO_C" >conftest.in
6342: # Check for GNU sed and select it if it is found.
6343: if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
6344: lt_cv_path_SED=$lt_ac_sed
6345: break
6346: fi
6347: while true; do
6348: cat conftest.in conftest.in >conftest.tmp
6349: mv conftest.tmp conftest.in
6350: cp conftest.in conftest.nl
6351: echo >>conftest.nl
6352: $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
6353: cmp -s conftest.out conftest.nl || break
6354: # 10000 chars as input seems more than enough
6355: test $lt_ac_count -gt 10 && break
6356: lt_ac_count=`expr $lt_ac_count + 1`
6357: if test $lt_ac_count -gt $lt_ac_max; then
6358: lt_ac_max=$lt_ac_count
6359: lt_cv_path_SED=$lt_ac_sed
6360: fi
6361: done
6362: done
6363: ])
6364: SED=$lt_cv_path_SED
6365: AC_MSG_RESULT([$SED])
6366: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>