Annotation of sql/sqlite/libltdl/acinclude.m4, revision 1.3
1.1 misha 1: # libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
2: ## Copyright 1996, 1997, 1998, 1999, 2000, 2001
3: ## Free Software Foundation, Inc.
4: ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5: ##
6: ## This program is free software; you can redistribute it and/or modify
7: ## it under the terms of the GNU General Public License as published by
8: ## the Free Software Foundation; either version 2 of the License, or
9: ## (at your option) any later version.
10: ##
11: ## This program is distributed in the hope that it will be useful, but
12: ## WITHOUT ANY WARRANTY; without even the implied warranty of
13: ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: ## General Public License for more details.
15: ##
16: ## You should have received a copy of the GNU General Public License
17: ## along with this program; if not, write to the Free Software
18: ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: ##
20: ## As a special exception to the GNU General Public License, if you
21: ## distribute this file as part of a program that contains a
22: ## configuration script generated by Autoconf, you may include it under
23: ## the same distribution terms that you use for the rest of that program.
24:
25: # serial 46 AC_PROG_LIBTOOL
26:
27: AC_DEFUN([AC_PROG_LIBTOOL],
28: [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
29:
30: # This can be used to rebuild libtool when needed
31: LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
32:
33: # Always use rootdir libtool.
34: LIBTOOL="$ac_aux_dir/libtool"
35: AC_SUBST(LIBTOOL)dnl
36:
37: # Prevent multiple expansion
38: define([AC_PROG_LIBTOOL], [])
39: ])
40:
41: AC_DEFUN([AC_LIBTOOL_SETUP],
42: [AC_PREREQ(2.13)dnl
43: AC_REQUIRE([AC_ENABLE_SHARED])dnl
44: AC_REQUIRE([AC_ENABLE_STATIC])dnl
45: AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
46: AC_REQUIRE([AC_CANONICAL_HOST])dnl
47: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
48: AC_REQUIRE([AC_PROG_CC])dnl
49: AC_REQUIRE([AC_PROG_LD])dnl
50: AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
51: AC_REQUIRE([AC_PROG_NM])dnl
52: AC_REQUIRE([LT_AC_PROG_SED])dnl
53:
54: AC_REQUIRE([AC_PROG_LN_S])dnl
55: AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
56: AC_REQUIRE([AC_OBJEXT])dnl
57: AC_REQUIRE([AC_EXEEXT])dnl
58: dnl
59:
60: _LT_AC_PROG_ECHO_BACKSLASH
61: # Only perform the check for file, if the check method requires it
62: case $deplibs_check_method in
63: file_magic*)
64: if test "$file_magic_cmd" = '$MAGIC_CMD'; then
65: AC_PATH_MAGIC
66: fi
67: ;;
68: esac
69:
70: AC_CHECK_TOOL(RANLIB, ranlib, :)
71: AC_CHECK_TOOL(STRIP, strip, :)
72:
73: ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
74: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
75: enable_win32_dll=yes, enable_win32_dll=no)
76:
77: AC_ARG_ENABLE(libtool-lock,
78: [ --disable-libtool-lock avoid locking (might break parallel builds)])
79: test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
80:
81: # Some flags need to be propagated to the compiler or linker for good
82: # libtool support.
83: case $host in
84: *-*-irix6*)
85: # Find out which ABI we are using.
86: echo '[#]line __oline__ "configure"' > conftest.$ac_ext
87: if AC_TRY_EVAL(ac_compile); then
88: case `/usr/bin/file conftest.$ac_objext` in
89: *32-bit*)
90: LD="${LD-ld} -32"
91: ;;
92: *N32*)
93: LD="${LD-ld} -n32"
94: ;;
95: *64-bit*)
96: LD="${LD-ld} -64"
97: ;;
98: esac
99: fi
100: rm -rf conftest*
101: ;;
102:
103: *-*-sco3.2v5*)
104: # On SCO OpenServer 5, we need -belf to get full-featured binaries.
105: SAVE_CFLAGS="$CFLAGS"
106: CFLAGS="$CFLAGS -belf"
107: AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
108: [AC_LANG_SAVE
109: AC_LANG_C
110: AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
111: AC_LANG_RESTORE])
112: if test x"$lt_cv_cc_needs_belf" != x"yes"; then
113: # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
114: CFLAGS="$SAVE_CFLAGS"
115: fi
116: ;;
117:
118: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
119: [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
120: AC_CHECK_TOOL(DLLTOOL, dlltool, false)
121: AC_CHECK_TOOL(AS, as, false)
122: AC_CHECK_TOOL(OBJDUMP, objdump, false)
123:
124: # recent cygwin and mingw systems supply a stub DllMain which the user
125: # can override, but on older systems we have to supply one
126: AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
127: [AC_TRY_LINK([],
128: [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
129: DllMain (0, 0, 0);],
130: [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
131:
132: case $host/$CC in
133: *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
134: # old mingw systems require "-dll" to link a DLL, while more recent ones
135: # require "-mdll"
136: SAVE_CFLAGS="$CFLAGS"
137: CFLAGS="$CFLAGS -mdll"
138: AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
139: [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
140: CFLAGS="$SAVE_CFLAGS" ;;
141: *-*-cygwin* | *-*-pw32*)
142: # cygwin systems need to pass --dll to the linker, and not link
143: # crt.o which will require a WinMain@16 definition.
144: lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
145: esac
146: ;;
147: ])
148: esac
149:
150: _LT_AC_LTCONFIG_HACK
151:
152: ])
153:
154: # AC_LIBTOOL_HEADER_ASSERT
155: # ------------------------
156: AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
157: [AC_CACHE_CHECK([whether $CC supports assert without backlinking],
158: [lt_cv_func_assert_works],
159: [case $host in
160: *-*-solaris*)
161: if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
162: case `$CC --version 2>/dev/null` in
163: [[12]].*) lt_cv_func_assert_works=no ;;
164: *) lt_cv_func_assert_works=yes ;;
165: esac
166: fi
167: ;;
168: esac])
169:
170: if test "x$lt_cv_func_assert_works" = xyes; then
171: AC_CHECK_HEADERS(assert.h)
172: fi
173: ])# AC_LIBTOOL_HEADER_ASSERT
174:
175: # _LT_AC_CHECK_DLFCN
176: # --------------------
177: AC_DEFUN([_LT_AC_CHECK_DLFCN],
178: [AC_CHECK_HEADERS(dlfcn.h)
179: ])# _LT_AC_CHECK_DLFCN
180:
181: # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
182: # ---------------------------------
183: AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
184: [AC_REQUIRE([AC_CANONICAL_HOST])
185: AC_REQUIRE([AC_PROG_NM])
186: AC_REQUIRE([AC_OBJEXT])
187: # Check for command to grab the raw symbol name followed by C symbol from nm.
188: AC_MSG_CHECKING([command to parse $NM output])
189: AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl
190:
191: # These are sane defaults that work on at least a few old systems.
192: # [They come from Ultrix. What could be older than Ultrix?!! ;)]
193:
194: # Character class describing NM global symbol codes.
195: symcode='[[BCDEGRST]]'
196:
197: # Regexp to match symbols that can be accessed directly from C.
198: sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
199:
200: # Transform the above into a raw symbol and a C symbol.
201: symxfrm='\1 \2\3 \3'
202:
203: # Transform an extracted symbol line into a proper C declaration
204: lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
205:
206: # Transform an extracted symbol line into symbol name and symbol address
207: lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
208:
209: # Define system-specific variables.
210: case $host_os in
211: aix*)
212: symcode='[[BCDT]]'
213: ;;
214: cygwin* | mingw* | pw32*)
215: symcode='[[ABCDGISTW]]'
216: ;;
217: hpux*) # Its linker distinguishes data from code symbols
218: lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
219: lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
220: ;;
221: irix* | nonstopux*)
222: symcode='[[BCDEGRST]]'
223: ;;
224: osf*)
225: symcode='[[BCDEGQRST]]'
226: ;;
227: solaris* | sysv5*)
228: symcode='[[BDT]]'
229: ;;
230: sysv4)
231: symcode='[[DFNSTU]]'
232: ;;
233: esac
234:
235: # Handle CRLF in mingw tool chain
236: opt_cr=
237: case $host_os in
238: mingw*)
239: opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
240: ;;
241: esac
242:
243: # If we're using GNU nm, then use its standard symbol codes.
244: if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
245: symcode='[[ABCDGISTW]]'
246: fi
247:
248: # Try without a prefix undercore, then with it.
249: for ac_symprfx in "" "_"; do
250:
251: # Write the raw and C identifiers.
252: lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
253:
254: # Check to see that the pipe works correctly.
255: pipe_works=no
256: rm -f conftest*
257: cat > conftest.$ac_ext <<EOF
258: #ifdef __cplusplus
259: extern "C" {
260: #endif
261: char nm_test_var;
262: void nm_test_func(){}
263: #ifdef __cplusplus
264: }
265: #endif
266: int main(){nm_test_var='a';nm_test_func();return(0);}
267: EOF
268:
269: if AC_TRY_EVAL(ac_compile); then
270: # Now try to grab the symbols.
271: nlist=conftest.nm
272: if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
273: # Try sorting and uniquifying the output.
274: if sort "$nlist" | uniq > "$nlist"T; then
275: mv -f "$nlist"T "$nlist"
276: else
277: rm -f "$nlist"T
278: fi
279:
280: # Make sure that we snagged all the symbols we need.
281: if egrep ' nm_test_var$' "$nlist" >/dev/null; then
282: if egrep ' nm_test_func$' "$nlist" >/dev/null; then
283: cat <<EOF > conftest.$ac_ext
284: #ifdef __cplusplus
285: extern "C" {
286: #endif
287:
288: EOF
289: # Now generate the symbol file.
290: eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
291:
292: cat <<EOF >> conftest.$ac_ext
293: #if defined (__STDC__) && __STDC__
294: # define lt_ptr void *
295: #else
296: # define lt_ptr char *
297: # define const
298: #endif
299:
300: /* The mapping between symbol names and symbols. */
301: const struct {
302: const char *name;
303: lt_ptr address;
304: }
305: lt_preloaded_symbols[[]] =
306: {
307: EOF
308: sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
309: cat <<\EOF >> conftest.$ac_ext
310: {0, (lt_ptr) 0}
311: };
312:
313: #ifdef __cplusplus
314: }
315: #endif
316: EOF
317: # Now try linking the two files.
318: mv conftest.$ac_objext conftstm.$ac_objext
319: save_LIBS="$LIBS"
320: save_CFLAGS="$CFLAGS"
321: LIBS="conftstm.$ac_objext"
322: CFLAGS="$CFLAGS$no_builtin_flag"
323: if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
324: pipe_works=yes
325: fi
326: LIBS="$save_LIBS"
327: CFLAGS="$save_CFLAGS"
328: else
329: echo "cannot find nm_test_func in $nlist" >&AC_FD_CC
330: fi
331: else
332: echo "cannot find nm_test_var in $nlist" >&AC_FD_CC
333: fi
334: else
335: echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC
336: fi
337: else
338: echo "$progname: failed program was:" >&AC_FD_CC
339: cat conftest.$ac_ext >&5
340: fi
341: rm -f conftest* conftst*
342:
343: # Do not use the global_symbol_pipe unless it works.
344: if test "$pipe_works" = yes; then
345: break
346: else
347: lt_cv_sys_global_symbol_pipe=
348: fi
349: done
350: ])
351: global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
352: if test -z "$lt_cv_sys_global_symbol_pipe"; then
353: global_symbol_to_cdecl=
354: global_symbol_to_c_name_address=
355: else
356: global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
357: global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
358: fi
359: if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
360: then
361: AC_MSG_RESULT(failed)
362: else
363: AC_MSG_RESULT(ok)
364: fi
365: ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
366:
367: # _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
368: # ---------------------------------
369: AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
370: [# Find the correct PATH separator. Usually this is `:', but
371: # DJGPP uses `;' like DOS.
372: if test "X${PATH_SEPARATOR+set}" != Xset; then
373: UNAME=${UNAME-`uname 2>/dev/null`}
374: case X$UNAME in
375: *-DOS) lt_cv_sys_path_separator=';' ;;
376: *) lt_cv_sys_path_separator=':' ;;
377: esac
378: PATH_SEPARATOR=$lt_cv_sys_path_separator
379: fi
380: ])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
381:
382: # _LT_AC_PROG_ECHO_BACKSLASH
383: # --------------------------
384: # Add some code to the start of the generated configure script which
385: # will find an echo command which doesn't interpret backslashes.
386: AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
387: [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
388: [AC_DIVERT_PUSH(NOTICE)])
389: _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
390:
391: # Check that we are running under the correct shell.
392: SHELL=${CONFIG_SHELL-/bin/sh}
393:
394: case X$ECHO in
395: X*--fallback-echo)
396: # Remove one level of quotation (which was required for Make).
397: ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
398: ;;
399: esac
400:
401: echo=${ECHO-echo}
402: if test "X[$]1" = X--no-reexec; then
403: # Discard the --no-reexec flag, and continue.
404: shift
405: elif test "X[$]1" = X--fallback-echo; then
406: # Avoid inline document here, it may be left over
407: :
408: elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
409: # Yippee, $echo works!
410: :
411: else
412: # Restart under the correct shell.
413: exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
414: fi
415:
416: if test "X[$]1" = X--fallback-echo; then
417: # used as fallback echo
418: shift
419: cat <<EOF
420: $*
421: EOF
422: exit 0
423: fi
424:
425: # The HP-UX ksh and POSIX shell print the target directory to stdout
426: # if CDPATH is set.
427: if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
428:
429: if test -z "$ECHO"; then
430: if test "X${echo_test_string+set}" != Xset; then
431: # find a string as large as possible, as long as the shell can cope with it
432: for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
433: # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
434: if (echo_test_string="`eval $cmd`") 2>/dev/null &&
435: echo_test_string="`eval $cmd`" &&
436: (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
437: then
438: break
439: fi
440: done
441: fi
442:
443: if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
444: echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
445: test "X$echo_testing_string" = "X$echo_test_string"; then
446: :
447: else
448: # The Solaris, AIX, and Digital Unix default echo programs unquote
449: # backslashes. This makes it impossible to quote backslashes using
450: # echo "$something" | sed 's/\\/\\\\/g'
451: #
452: # So, first we look for a working echo in the user's PATH.
453:
454: IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
455: for dir in $PATH /usr/ucb; do
456: if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
457: test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
458: echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
459: test "X$echo_testing_string" = "X$echo_test_string"; then
460: echo="$dir/echo"
461: break
462: fi
463: done
464: IFS="$save_ifs"
465:
466: if test "X$echo" = Xecho; then
467: # We didn't find a better echo, so look for alternatives.
468: if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
469: echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
470: test "X$echo_testing_string" = "X$echo_test_string"; then
471: # This shell has a builtin print -r that does the trick.
472: echo='print -r'
473: elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
474: test "X$CONFIG_SHELL" != X/bin/ksh; then
475: # If we have ksh, try running configure again with it.
476: ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
477: export ORIGINAL_CONFIG_SHELL
478: CONFIG_SHELL=/bin/ksh
479: export CONFIG_SHELL
480: exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
481: else
482: # Try using printf.
483: echo='printf %s\n'
484: if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
485: echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
486: test "X$echo_testing_string" = "X$echo_test_string"; then
487: # Cool, printf works
488: :
489: elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
490: test "X$echo_testing_string" = 'X\t' &&
491: echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
492: test "X$echo_testing_string" = "X$echo_test_string"; then
493: CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
494: export CONFIG_SHELL
495: SHELL="$CONFIG_SHELL"
496: export SHELL
497: echo="$CONFIG_SHELL [$]0 --fallback-echo"
498: elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
499: test "X$echo_testing_string" = 'X\t' &&
500: echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
501: test "X$echo_testing_string" = "X$echo_test_string"; then
502: echo="$CONFIG_SHELL [$]0 --fallback-echo"
503: else
504: # maybe with a smaller string...
505: prev=:
506:
507: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
508: if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
509: then
510: break
511: fi
512: prev="$cmd"
513: done
514:
515: if test "$prev" != 'sed 50q "[$]0"'; then
516: echo_test_string=`eval $prev`
517: export echo_test_string
518: exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
519: else
520: # Oops. We lost completely, so just stick with echo.
521: echo=echo
522: fi
523: fi
524: fi
525: fi
526: fi
527: fi
528:
529: # Copy echo and quote the copy suitably for passing to libtool from
530: # the Makefile, instead of quoting the original, which is used later.
531: ECHO=$echo
532: if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
533: ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
534: fi
535:
536: AC_SUBST(ECHO)
537: AC_DIVERT_POP
538: ])# _LT_AC_PROG_ECHO_BACKSLASH
539:
540: # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
541: # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
542: # ------------------------------------------------------------------
543: AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
544: [if test "$cross_compiling" = yes; then :
545: [$4]
546: else
547: AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
548: lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
549: lt_status=$lt_dlunknown
550: cat > conftest.$ac_ext <<EOF
551: [#line __oline__ "configure"
552: #include "confdefs.h"
553:
554: #if HAVE_DLFCN_H
555: #include <dlfcn.h>
556: #endif
557:
558: #include <stdio.h>
559:
560: #ifdef RTLD_GLOBAL
561: # define LT_DLGLOBAL RTLD_GLOBAL
562: #else
563: # ifdef DL_GLOBAL
564: # define LT_DLGLOBAL DL_GLOBAL
565: # else
566: # define LT_DLGLOBAL 0
567: # endif
568: #endif
569:
570: /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
571: find out it does not work in some platform. */
572: #ifndef LT_DLLAZY_OR_NOW
573: # ifdef RTLD_LAZY
574: # define LT_DLLAZY_OR_NOW RTLD_LAZY
575: # else
576: # ifdef DL_LAZY
577: # define LT_DLLAZY_OR_NOW DL_LAZY
578: # else
579: # ifdef RTLD_NOW
580: # define LT_DLLAZY_OR_NOW RTLD_NOW
581: # else
582: # ifdef DL_NOW
583: # define LT_DLLAZY_OR_NOW DL_NOW
584: # else
585: # define LT_DLLAZY_OR_NOW 0
586: # endif
587: # endif
588: # endif
589: # endif
590: #endif
591:
592: #ifdef __cplusplus
593: extern "C" void exit (int);
594: #endif
595:
596: void fnord() { int i=42;}
597: int main ()
598: {
599: void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
600: int status = $lt_dlunknown;
601:
602: if (self)
603: {
604: if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
605: else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
606: /* dlclose (self); */
607: }
608:
609: exit (status);
610: }]
611: EOF
612: if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
613: (./conftest; exit; ) 2>/dev/null
614: lt_status=$?
615: case x$lt_status in
616: x$lt_dlno_uscore) $1 ;;
617: x$lt_dlneed_uscore) $2 ;;
618: x$lt_unknown|x*) $3 ;;
619: esac
620: else :
621: # compilation failed
622: $3
623: fi
624: fi
625: rm -fr conftest*
626: ])# _LT_AC_TRY_DLOPEN_SELF
627:
628: # AC_LIBTOOL_DLOPEN_SELF
629: # -------------------
630: AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
631: [if test "x$enable_dlopen" != xyes; then
632: enable_dlopen=unknown
633: enable_dlopen_self=unknown
634: enable_dlopen_self_static=unknown
635: else
636: lt_cv_dlopen=no
637: lt_cv_dlopen_libs=
638:
639: case $host_os in
640: beos*)
641: lt_cv_dlopen="load_add_on"
642: lt_cv_dlopen_libs=
643: lt_cv_dlopen_self=yes
644: ;;
645:
646: cygwin* | mingw* | pw32*)
647: lt_cv_dlopen="LoadLibrary"
648: lt_cv_dlopen_libs=
649: ;;
650:
651: *)
652: AC_CHECK_FUNC([shl_load],
653: [lt_cv_dlopen="shl_load"],
654: [AC_CHECK_LIB([dld], [shl_load],
655: [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
656: [AC_CHECK_FUNC([dlopen],
657: [lt_cv_dlopen="dlopen"],
658: [AC_CHECK_LIB([dl], [dlopen],
659: [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
660: [AC_CHECK_LIB([svld], [dlopen],
661: [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
662: [AC_CHECK_LIB([dld], [dld_link],
663: [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
664: ])
665: ])
666: ])
667: ])
668: ])
669: ;;
670: esac
671:
672: if test "x$lt_cv_dlopen" != xno; then
673: enable_dlopen=yes
674: else
675: enable_dlopen=no
676: fi
677:
678: case $lt_cv_dlopen in
679: dlopen)
680: save_CPPFLAGS="$CPPFLAGS"
681: AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
682: test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
683:
684: save_LDFLAGS="$LDFLAGS"
685: eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
686:
687: save_LIBS="$LIBS"
688: LIBS="$lt_cv_dlopen_libs $LIBS"
689:
690: AC_CACHE_CHECK([whether a program can dlopen itself],
691: lt_cv_dlopen_self, [dnl
692: _LT_AC_TRY_DLOPEN_SELF(
693: lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
694: lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
695: ])
696:
697: if test "x$lt_cv_dlopen_self" = xyes; then
698: LDFLAGS="$LDFLAGS $link_static_flag"
699: AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
700: lt_cv_dlopen_self_static, [dnl
701: _LT_AC_TRY_DLOPEN_SELF(
702: lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
703: lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
704: ])
705: fi
706:
707: CPPFLAGS="$save_CPPFLAGS"
708: LDFLAGS="$save_LDFLAGS"
709: LIBS="$save_LIBS"
710: ;;
711: esac
712:
713: case $lt_cv_dlopen_self in
714: yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
715: *) enable_dlopen_self=unknown ;;
716: esac
717:
718: case $lt_cv_dlopen_self_static in
719: yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
720: *) enable_dlopen_self_static=unknown ;;
721: esac
722: fi
723: ])# AC_LIBTOOL_DLOPEN_SELF
724:
725: AC_DEFUN([_LT_AC_LTCONFIG_HACK],
726: [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
727: # Sed substitution that helps us do robust quoting. It backslashifies
728: # metacharacters that are still active within double-quoted strings.
729: Xsed='sed -e s/^X//'
730: sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
731:
732: # Same as above, but do not quote variable references.
733: double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
734:
735: # Sed substitution to delay expansion of an escaped shell variable in a
736: # double_quote_subst'ed string.
737: delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
738:
739: # Constants:
740: rm="rm -f"
741:
742: # Global variables:
743: default_ofile=libtool
744: can_build_shared=yes
745:
746: # All known linkers require a `.a' archive for static linking (except M$VC,
747: # which needs '.lib').
748: libext=a
749: ltmain="$ac_aux_dir/ltmain.sh"
750: ofile="$default_ofile"
751: with_gnu_ld="$lt_cv_prog_gnu_ld"
752: need_locks="$enable_libtool_lock"
753:
754: old_CC="$CC"
755: old_CFLAGS="$CFLAGS"
756:
757: # Set sane defaults for various variables
758: test -z "$AR" && AR=ar
759: test -z "$AR_FLAGS" && AR_FLAGS=cru
760: test -z "$AS" && AS=as
761: test -z "$CC" && CC=cc
762: test -z "$DLLTOOL" && DLLTOOL=dlltool
763: test -z "$LD" && LD=ld
764: test -z "$LN_S" && LN_S="ln -s"
765: test -z "$MAGIC_CMD" && MAGIC_CMD=file
766: test -z "$NM" && NM=nm
767: test -z "$OBJDUMP" && OBJDUMP=objdump
768: test -z "$RANLIB" && RANLIB=:
769: test -z "$STRIP" && STRIP=:
770: test -z "$ac_objext" && ac_objext=o
771:
772: if test x"$host" != x"$build"; then
773: ac_tool_prefix=${host_alias}-
774: else
775: ac_tool_prefix=
776: fi
777:
778: # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
779: case $host_os in
780: linux-gnu*) ;;
781: linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
782: esac
783:
784: case $host_os in
785: aix3*)
786: # AIX sometimes has problems with the GCC collect2 program. For some
787: # reason, if we set the COLLECT_NAMES environment variable, the problems
788: # vanish in a puff of smoke.
789: if test "X${COLLECT_NAMES+set}" != Xset; then
790: COLLECT_NAMES=
791: export COLLECT_NAMES
792: fi
793: ;;
794: esac
795:
796: # Determine commands to create old-style static archives.
797: old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
798: old_postinstall_cmds='chmod 644 $oldlib'
799: old_postuninstall_cmds=
800:
801: if test -n "$RANLIB"; then
802: case $host_os in
803: openbsd*)
804: old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
805: ;;
806: *)
807: old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
808: ;;
809: esac
810: old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
811: fi
812:
813: # Allow CC to be a program name with arguments.
814: set dummy $CC
815: compiler="[$]2"
816:
817: ## FIXME: this should be a separate macro
818: ##
819: AC_MSG_CHECKING([for objdir])
820: rm -f .libs 2>/dev/null
821: mkdir .libs 2>/dev/null
822: if test -d .libs; then
823: objdir=.libs
824: else
825: # MS-DOS does not allow filenames that begin with a dot.
826: objdir=_libs
827: fi
828: rmdir .libs 2>/dev/null
829: AC_MSG_RESULT($objdir)
830: ##
831: ## END FIXME
832:
833:
834: ## FIXME: this should be a separate macro
835: ##
836: AC_ARG_WITH(pic,
837: [ --with-pic try to use only PIC/non-PIC objects [default=use both]],
838: pic_mode="$withval", pic_mode=default)
839: test -z "$pic_mode" && pic_mode=default
840:
841: # We assume here that the value for lt_cv_prog_cc_pic will not be cached
842: # in isolation, and that seeing it set (from the cache) indicates that
843: # the associated values are set (in the cache) correctly too.
844: AC_MSG_CHECKING([for $compiler option to produce PIC])
845: AC_CACHE_VAL(lt_cv_prog_cc_pic,
846: [ lt_cv_prog_cc_pic=
847: lt_cv_prog_cc_shlib=
848: lt_cv_prog_cc_wl=
849: lt_cv_prog_cc_static=
850: lt_cv_prog_cc_no_builtin=
851: lt_cv_prog_cc_can_build_shared=$can_build_shared
852:
853: if test "$GCC" = yes; then
854: lt_cv_prog_cc_wl='-Wl,'
855: lt_cv_prog_cc_static='-static'
856:
857: case $host_os in
858: aix*)
859: # Below there is a dirty hack to force normal static linking with -ldl
860: # The problem is because libdl dynamically linked with both libc and
861: # libC (AIX C++ library), which obviously doesn't included in libraries
862: # list by gcc. This cause undefined symbols with -static flags.
863: # This hack allows C programs to be linked with "-static -ldl", but
864: # not sure about C++ programs.
865: lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
866: ;;
867: amigaos*)
868: # FIXME: we need at least 68020 code to build shared libraries, but
869: # adding the `-m68020' flag to GCC prevents building anything better,
870: # like `-m68040'.
871: lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
872: ;;
873: beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
874: # PIC is the default for these OSes.
875: ;;
876: darwin* | rhapsody*)
877: # PIC is the default on this platform
878: # Common symbols not allowed in MH_DYLIB files
879: lt_cv_prog_cc_pic='-fno-common'
880: ;;
881: cygwin* | mingw* | pw32* | os2*)
882: # This hack is so that the source file can tell whether it is being
883: # built for inclusion in a dll (and should export symbols for example).
884: lt_cv_prog_cc_pic='-DDLL_EXPORT'
885: ;;
886: sysv4*MP*)
887: if test -d /usr/nec; then
888: lt_cv_prog_cc_pic=-Kconform_pic
889: fi
890: ;;
891: *)
892: lt_cv_prog_cc_pic='-fPIC'
893: ;;
894: esac
895: else
896: # PORTME Check for PIC flags for the system compiler.
897: case $host_os in
898: aix3* | aix4* | aix5*)
899: lt_cv_prog_cc_wl='-Wl,'
900: # All AIX code is PIC.
901: if test "$host_cpu" = ia64; then
902: # AIX 5 now supports IA64 processor
903: lt_cv_prog_cc_static='-Bstatic'
904: else
905: lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
906: fi
907: ;;
908:
909: hpux9* | hpux10* | hpux11*)
910: # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
911: lt_cv_prog_cc_wl='-Wl,'
912: lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
913: lt_cv_prog_cc_pic='+Z'
914: ;;
915:
916: irix5* | irix6* | nonstopux*)
917: lt_cv_prog_cc_wl='-Wl,'
918: lt_cv_prog_cc_static='-non_shared'
919: # PIC (with -KPIC) is the default.
920: ;;
921:
922: cygwin* | mingw* | pw32* | os2*)
923: # This hack is so that the source file can tell whether it is being
924: # built for inclusion in a dll (and should export symbols for example).
925: lt_cv_prog_cc_pic='-DDLL_EXPORT'
926: ;;
927:
928: newsos6)
929: lt_cv_prog_cc_pic='-KPIC'
930: lt_cv_prog_cc_static='-Bstatic'
931: ;;
932:
933: osf3* | osf4* | osf5*)
934: # All OSF/1 code is PIC.
935: lt_cv_prog_cc_wl='-Wl,'
936: lt_cv_prog_cc_static='-non_shared'
937: ;;
938:
939: sco3.2v5*)
940: lt_cv_prog_cc_pic='-Kpic'
941: lt_cv_prog_cc_static='-dn'
942: lt_cv_prog_cc_shlib='-belf'
943: ;;
944:
945: solaris*)
946: lt_cv_prog_cc_pic='-KPIC'
947: lt_cv_prog_cc_static='-Bstatic'
948: lt_cv_prog_cc_wl='-Wl,'
949: ;;
950:
951: sunos4*)
952: lt_cv_prog_cc_pic='-PIC'
953: lt_cv_prog_cc_static='-Bstatic'
954: lt_cv_prog_cc_wl='-Qoption ld '
955: ;;
956:
957: sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
958: lt_cv_prog_cc_pic='-KPIC'
959: lt_cv_prog_cc_static='-Bstatic'
960: lt_cv_prog_cc_wl='-Wl,'
961: ;;
962:
963: uts4*)
964: lt_cv_prog_cc_pic='-pic'
965: lt_cv_prog_cc_static='-Bstatic'
966: ;;
967:
968: sysv4*MP*)
969: if test -d /usr/nec ;then
970: lt_cv_prog_cc_pic='-Kconform_pic'
971: lt_cv_prog_cc_static='-Bstatic'
972: fi
973: ;;
974:
975: *)
976: lt_cv_prog_cc_can_build_shared=no
977: ;;
978: esac
979: fi
980: ])
981: if test -z "$lt_cv_prog_cc_pic"; then
982: AC_MSG_RESULT([none])
983: else
984: AC_MSG_RESULT([$lt_cv_prog_cc_pic])
985:
986: # Check to make sure the pic_flag actually works.
987: AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works])
988: AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl
989: save_CFLAGS="$CFLAGS"
990: CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
991: AC_TRY_COMPILE([], [], [dnl
992: case $host_os in
993: hpux9* | hpux10* | hpux11*)
994: # On HP-UX, both CC and GCC only warn that PIC is supported... then
995: # they create non-PIC objects. So, if there were any warnings, we
996: # assume that PIC is not supported.
997: if test -s conftest.err; then
998: lt_cv_prog_cc_pic_works=no
999: else
1000: lt_cv_prog_cc_pic_works=yes
1001: fi
1002: ;;
1003: *)
1004: lt_cv_prog_cc_pic_works=yes
1005: ;;
1006: esac
1007: ], [dnl
1008: lt_cv_prog_cc_pic_works=no
1009: ])
1010: CFLAGS="$save_CFLAGS"
1011: ])
1012:
1013: if test "X$lt_cv_prog_cc_pic_works" = Xno; then
1014: lt_cv_prog_cc_pic=
1015: lt_cv_prog_cc_can_build_shared=no
1016: else
1017: lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
1018: fi
1019:
1020: AC_MSG_RESULT([$lt_cv_prog_cc_pic_works])
1021: fi
1022: ##
1023: ## END FIXME
1024:
1025: # Check for any special shared library compilation flags.
1026: if test -n "$lt_cv_prog_cc_shlib"; then
1027: AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
1028: if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then :
1029: else
1030: AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
1031: lt_cv_prog_cc_can_build_shared=no
1032: fi
1033: fi
1034:
1035: ## FIXME: this should be a separate macro
1036: ##
1037: AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works])
1038: AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl
1039: lt_cv_prog_cc_static_works=no
1040: save_LDFLAGS="$LDFLAGS"
1041: LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
1042: AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes])
1043: LDFLAGS="$save_LDFLAGS"
1044: ])
1045:
1046: # Belt *and* braces to stop my trousers falling down:
1047: test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
1048: AC_MSG_RESULT([$lt_cv_prog_cc_static_works])
1049:
1050: pic_flag="$lt_cv_prog_cc_pic"
1051: special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
1052: wl="$lt_cv_prog_cc_wl"
1053: link_static_flag="$lt_cv_prog_cc_static"
1054: no_builtin_flag="$lt_cv_prog_cc_no_builtin"
1055: can_build_shared="$lt_cv_prog_cc_can_build_shared"
1056: ##
1057: ## END FIXME
1058:
1059:
1060: ## FIXME: this should be a separate macro
1061: ##
1062: # Check to see if options -o and -c are simultaneously supported by compiler
1063: AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext])
1064: AC_CACHE_VAL([lt_cv_compiler_c_o], [
1065: $rm -r conftest 2>/dev/null
1066: mkdir conftest
1067: cd conftest
1068: echo "int some_variable = 0;" > conftest.$ac_ext
1069: mkdir out
1070: # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
1071: # that will create temporary files in the current directory regardless of
1072: # the output directory. Thus, making CWD read-only will cause this test
1073: # to fail, enabling locking or at least warning the user not to do parallel
1074: # builds.
1075: chmod -w .
1076: save_CFLAGS="$CFLAGS"
1077: CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
1078: compiler_c_o=no
1079: if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
1080: # The compiler can only warn and ignore the option if not recognized
1081: # So say no if there are warnings
1082: if test -s out/conftest.err; then
1083: lt_cv_compiler_c_o=no
1084: else
1085: lt_cv_compiler_c_o=yes
1086: fi
1087: else
1088: # Append any errors to the config.log.
1089: cat out/conftest.err 1>&AC_FD_CC
1090: lt_cv_compiler_c_o=no
1091: fi
1092: CFLAGS="$save_CFLAGS"
1093: chmod u+w .
1094: $rm conftest* out/*
1095: rmdir out
1096: cd ..
1097: rmdir conftest
1098: $rm -r conftest 2>/dev/null
1099: ])
1100: compiler_c_o=$lt_cv_compiler_c_o
1101: AC_MSG_RESULT([$compiler_c_o])
1102:
1103: if test x"$compiler_c_o" = x"yes"; then
1104: # Check to see if we can write to a .lo
1105: AC_MSG_CHECKING([if $compiler supports -c -o file.lo])
1106: AC_CACHE_VAL([lt_cv_compiler_o_lo], [
1107: lt_cv_compiler_o_lo=no
1108: save_CFLAGS="$CFLAGS"
1109: CFLAGS="$CFLAGS -c -o conftest.lo"
1110: save_objext="$ac_objext"
1111: ac_objext=lo
1112: AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
1113: # The compiler can only warn and ignore the option if not recognized
1114: # So say no if there are warnings
1115: if test -s conftest.err; then
1116: lt_cv_compiler_o_lo=no
1117: else
1118: lt_cv_compiler_o_lo=yes
1119: fi
1120: ])
1121: ac_objext="$save_objext"
1122: CFLAGS="$save_CFLAGS"
1123: ])
1124: compiler_o_lo=$lt_cv_compiler_o_lo
1125: AC_MSG_RESULT([$compiler_o_lo])
1126: else
1127: compiler_o_lo=no
1128: fi
1129: ##
1130: ## END FIXME
1131:
1132: ## FIXME: this should be a separate macro
1133: ##
1134: # Check to see if we can do hard links to lock some files if needed
1135: hard_links="nottested"
1136: if test "$compiler_c_o" = no && test "$need_locks" != no; then
1137: # do not overwrite the value of need_locks provided by the user
1138: AC_MSG_CHECKING([if we can lock with hard links])
1139: hard_links=yes
1140: $rm conftest*
1141: ln conftest.a conftest.b 2>/dev/null && hard_links=no
1142: touch conftest.a
1143: ln conftest.a conftest.b 2>&5 || hard_links=no
1144: ln conftest.a conftest.b 2>/dev/null && hard_links=no
1145: AC_MSG_RESULT([$hard_links])
1146: if test "$hard_links" = no; then
1147: AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
1148: need_locks=warn
1149: fi
1150: else
1151: need_locks=no
1152: fi
1153: ##
1154: ## END FIXME
1155:
1156: ## FIXME: this should be a separate macro
1157: ##
1158: if test "$GCC" = yes; then
1159: # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
1160: AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions])
1161: echo "int some_variable = 0;" > conftest.$ac_ext
1162: save_CFLAGS="$CFLAGS"
1163: CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
1164: compiler_rtti_exceptions=no
1165: AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
1166: # The compiler can only warn and ignore the option if not recognized
1167: # So say no if there are warnings
1168: if test -s conftest.err; then
1169: compiler_rtti_exceptions=no
1170: else
1171: compiler_rtti_exceptions=yes
1172: fi
1173: ])
1174: CFLAGS="$save_CFLAGS"
1175: AC_MSG_RESULT([$compiler_rtti_exceptions])
1176:
1177: if test "$compiler_rtti_exceptions" = "yes"; then
1178: no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
1179: else
1180: no_builtin_flag=' -fno-builtin'
1181: fi
1182: fi
1183: ##
1184: ## END FIXME
1185:
1186: ## FIXME: this should be a separate macro
1187: ##
1188: # See if the linker supports building shared libraries.
1189: AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries])
1190:
1191: allow_undefined_flag=
1192: no_undefined_flag=
1193: need_lib_prefix=unknown
1194: need_version=unknown
1195: # when you set need_version to no, make sure it does not cause -set_version
1196: # flags to be left without arguments
1197: archive_cmds=
1198: archive_expsym_cmds=
1199: old_archive_from_new_cmds=
1200: old_archive_from_expsyms_cmds=
1201: export_dynamic_flag_spec=
1202: whole_archive_flag_spec=
1203: thread_safe_flag_spec=
1204: hardcode_into_libs=no
1205: hardcode_libdir_flag_spec=
1206: hardcode_libdir_separator=
1207: hardcode_direct=no
1208: hardcode_minus_L=no
1209: hardcode_shlibpath_var=unsupported
1210: runpath_var=
1211: link_all_deplibs=unknown
1212: always_export_symbols=no
1213: export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
1214: # include_expsyms should be a list of space-separated symbols to be *always*
1215: # included in the symbol list
1216: include_expsyms=
1217: # exclude_expsyms can be an egrep regular expression of symbols to exclude
1218: # it will be wrapped by ` (' and `)$', so one must not match beginning or
1219: # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
1220: # as well as any symbol that contains `d'.
1221: exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
1222: # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
1223: # platforms (ab)use it in PIC code, but their linkers get confused if
1224: # the symbol is explicitly referenced. Since portable code cannot
1225: # rely on this symbol name, it's probably fine to never include it in
1226: # preloaded symbol tables.
1227: extract_expsyms_cmds=
1228:
1229: case $host_os in
1230: cygwin* | mingw* | pw32*)
1231: # FIXME: the MSVC++ port hasn't been tested in a loooong time
1232: # When not using gcc, we currently assume that we are using
1233: # Microsoft Visual C++.
1234: if test "$GCC" != yes; then
1235: with_gnu_ld=no
1236: fi
1237: ;;
1238: openbsd*)
1239: with_gnu_ld=no
1240: ;;
1241: esac
1242:
1243: ld_shlibs=yes
1244: if test "$with_gnu_ld" = yes; then
1245: # If archive_cmds runs LD, not CC, wlarc should be empty
1246: wlarc='${wl}'
1247:
1248: # See if GNU ld supports shared libraries.
1249: case $host_os in
1250: aix3* | aix4* | aix5*)
1251: # On AIX, the GNU linker is very broken
1252: # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
1253: ld_shlibs=no
1254: cat <<EOF 1>&2
1255:
1256: *** Warning: the GNU linker, at least up to release 2.9.1, is reported
1257: *** to be unable to reliably create shared libraries on AIX.
1258: *** Therefore, libtool is disabling shared libraries support. If you
1259: *** really care for shared libraries, you may want to modify your PATH
1260: *** so that a non-GNU linker is found, and then restart.
1261:
1262: EOF
1263: ;;
1264:
1265: amigaos*)
1266: archive_cmds='$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)'
1267: hardcode_libdir_flag_spec='-L$libdir'
1268: hardcode_minus_L=yes
1269:
1270: # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
1271: # that the semantics of dynamic libraries on AmigaOS, at least up
1272: # to version 4, is to share data among multiple programs linked
1273: # with the same dynamic library. Since this doesn't match the
1274: # behavior of shared libraries on other platforms, we can use
1275: # them.
1276: ld_shlibs=no
1277: ;;
1278:
1279: beos*)
1280: if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1281: allow_undefined_flag=unsupported
1282: # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
1283: # support --undefined. This deserves some investigation. FIXME
1284: archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1285: else
1286: ld_shlibs=no
1287: fi
1288: ;;
1289:
1290: cygwin* | mingw* | pw32*)
1291: # hardcode_libdir_flag_spec is actually meaningless, as there is
1292: # no search path for DLLs.
1293: hardcode_libdir_flag_spec='-L$libdir'
1294: allow_undefined_flag=unsupported
1295: always_export_symbols=yes
1296:
1297: extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
1298: sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
1299: test -f $output_objdir/impgen.exe || (cd $output_objdir && \
1300: if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
1301: else $CC -o impgen impgen.c ; fi)~
1302: $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
1303:
1304: old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
1305:
1306: # cygwin and mingw dlls have different entry points and sets of symbols
1307: # to exclude.
1308: # FIXME: what about values for MSVC?
1309: dll_entry=__cygwin_dll_entry@12
1310: dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
1311: case $host_os in
1312: mingw*)
1313: # mingw values
1314: dll_entry=_DllMainCRTStartup@12
1315: dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
1316: ;;
1317: esac
1318:
1319: # mingw and cygwin differ, and it's simplest to just exclude the union
1320: # of the two symbol sets.
1321: dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
1322:
1323: # recent cygwin and mingw systems supply a stub DllMain which the user
1324: # can override, but on older systems we have to supply one (in ltdll.c)
1325: if test "x$lt_cv_need_dllmain" = "xyes"; then
1326: ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
1327: ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
1328: test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
1329: else
1330: ltdll_obj=
1331: ltdll_cmds=
1332: fi
1333:
1334: # Extract the symbol export list from an `--export-all' def file,
1335: # then regenerate the def file from the symbol export list, so that
1336: # the compiled dll only exports the symbol export list.
1337: # Be careful not to strip the DATA tag left be newer dlltools.
1338: export_symbols_cmds="$ltdll_cmds"'
1339: $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
1340: sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
1341:
1342: # If the export-symbols file already is a .def file (1st line
1343: # is EXPORTS), use it as is.
1344: # If DATA tags from a recent dlltool are present, honour them!
1345: archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
1346: cp $export_symbols $output_objdir/$soname-def;
1347: else
1348: echo EXPORTS > $output_objdir/$soname-def;
1349: _lt_hint=1;
1350: cat $export_symbols | while read symbol; do
1351: set dummy \$symbol;
1352: case \[$]# in
1353: 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
1354: 4) echo " \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
1355: *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
1356: esac;
1357: _lt_hint=`expr 1 + \$_lt_hint`;
1358: done;
1359: fi~
1360: '"$ltdll_cmds"'
1361: $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1362: $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
1363: $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1364: $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
1365: $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
1366: ;;
1367:
1368: netbsd*)
1369: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1370: archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
1371: wlarc=
1372: else
1373: archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1374: archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1375: fi
1376: ;;
1377:
1378: solaris* | sysv5*)
1379: if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
1380: ld_shlibs=no
1381: cat <<EOF 1>&2
1382:
1383: *** Warning: The releases 2.8.* of the GNU linker cannot reliably
1384: *** create shared libraries on Solaris systems. Therefore, libtool
1385: *** is disabling shared libraries support. We urge you to upgrade GNU
1386: *** binutils to release 2.9.1 or newer. Another option is to modify
1387: *** your PATH or compiler configuration so that the native linker is
1388: *** used, and then restart.
1389:
1390: EOF
1391: elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1392: archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1393: archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1394: else
1395: ld_shlibs=no
1396: fi
1397: ;;
1398:
1399: sunos4*)
1400: archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1401: wlarc=
1402: hardcode_direct=yes
1403: hardcode_shlibpath_var=no
1404: ;;
1405:
1406: *)
1407: if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1408: archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1409: archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1410: else
1411: ld_shlibs=no
1412: fi
1413: ;;
1414: esac
1415:
1416: if test "$ld_shlibs" = yes; then
1417: runpath_var=LD_RUN_PATH
1418: hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
1419: export_dynamic_flag_spec='${wl}--export-dynamic'
1420: case $host_os in
1421: cygwin* | mingw* | pw32*)
1422: # dlltool doesn't understand --whole-archive et. al.
1423: whole_archive_flag_spec=
1424: ;;
1425: *)
1426: # ancient GNU ld didn't support --whole-archive et. al.
1427: if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
1428: whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
1429: else
1430: whole_archive_flag_spec=
1431: fi
1432: ;;
1433: esac
1434: fi
1435: else
1436: # PORTME fill in a description of your system's linker (not GNU ld)
1437: case $host_os in
1438: aix3*)
1439: allow_undefined_flag=unsupported
1440: always_export_symbols=yes
1441: archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
1442: # Note: this linker hardcodes the directories in LIBPATH if there
1443: # are no directories specified by -L.
1444: hardcode_minus_L=yes
1445: if test "$GCC" = yes && test -z "$link_static_flag"; then
1446: # Neither direct hardcoding nor static linking is supported with a
1447: # broken collect2.
1448: hardcode_direct=unsupported
1449: fi
1450: ;;
1451:
1452: aix4* | aix5*)
1453: if test "$host_cpu" = ia64; then
1454: # On IA64, the linker does run time linking by default, so we don't
1455: # have to do anything special.
1456: aix_use_runtimelinking=no
1457: exp_sym_flag='-Bexport'
1458: no_entry_flag=""
1459: else
1460: aix_use_runtimelinking=no
1461:
1462: # Test if we are trying to use run time linking or normal
1463: # AIX style linking. If -brtl is somewhere in LDFLAGS, we
1464: # need to do runtime linking.
1465: case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
1466: for ld_flag in $LDFLAGS; do
1467: case $ld_flag in
1468: *-brtl*)
1469: aix_use_runtimelinking=yes
1470: break
1471: ;;
1472: esac
1473: done
1474: esac
1475:
1476: exp_sym_flag='-bexport'
1477: no_entry_flag='-bnoentry'
1478: fi
1479:
1480: # When large executables or shared objects are built, AIX ld can
1481: # have problems creating the table of contents. If linking a library
1482: # or program results in "error TOC overflow" add -mminimal-toc to
1483: # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
1484: # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
1485:
1486: hardcode_direct=yes
1487: archive_cmds=''
1488: hardcode_libdir_separator=':'
1489: if test "$GCC" = yes; then
1490: case $host_os in aix4.[[012]]|aix4.[[012]].*)
1491: collect2name=`${CC} -print-prog-name=collect2`
1492: if test -f "$collect2name" && \
1493: strings "$collect2name" | grep resolve_lib_name >/dev/null
1494: then
1495: # We have reworked collect2
1496: hardcode_direct=yes
1497: else
1498: # We have old collect2
1499: hardcode_direct=unsupported
1500: # It fails to find uninstalled libraries when the uninstalled
1501: # path is not listed in the libpath. Setting hardcode_minus_L
1502: # to unsupported forces relinking
1503: hardcode_minus_L=yes
1504: hardcode_libdir_flag_spec='-L$libdir'
1505: hardcode_libdir_separator=
1506: fi
1507: esac
1508:
1509: shared_flag='-shared'
1510: else
1511: # not using gcc
1512: if test "$host_cpu" = ia64; then
1513: shared_flag='${wl}-G'
1514: else
1515: if test "$aix_use_runtimelinking" = yes; then
1516: shared_flag='${wl}-G'
1517: else
1518: shared_flag='${wl}-bM:SRE'
1519: fi
1520: fi
1521: fi
1522:
1523: # It seems that -bexpall can do strange things, so it is better to
1524: # generate a list of symbols to export.
1525: always_export_symbols=yes
1526: if test "$aix_use_runtimelinking" = yes; then
1527: # Warning - without using the other runtime loading flags (-brtl),
1528: # -berok will link without error, but may produce a broken library.
1529: allow_undefined_flag='-berok'
1530: hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
1531: archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
1532: else
1533: if test "$host_cpu" = ia64; then
1534: hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
1535: allow_undefined_flag="-z nodefs"
1536: archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
1537: else
1538: hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
1539: # Warning - without using the other run time loading flags,
1540: # -berok will link without error, but may produce a broken library.
1541: allow_undefined_flag='${wl}-berok'
1542: # This is a bit strange, but is similar to how AIX traditionally builds
1543: # it's shared libraries.
1544: archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
1545: fi
1546: fi
1547: ;;
1548:
1549: amigaos*)
1550: archive_cmds='$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)'
1551: hardcode_libdir_flag_spec='-L$libdir'
1552: hardcode_minus_L=yes
1553: # see comment about different semantics on the GNU ld section
1554: ld_shlibs=no
1555: ;;
1556:
1557: cygwin* | mingw* | pw32*)
1558: # When not using gcc, we currently assume that we are using
1559: # Microsoft Visual C++.
1560: # hardcode_libdir_flag_spec is actually meaningless, as there is
1561: # no search path for DLLs.
1562: hardcode_libdir_flag_spec=' '
1563: allow_undefined_flag=unsupported
1564: # Tell ltmain to make .lib files, not .a files.
1565: libext=lib
1566: # FIXME: Setting linknames here is a bad hack.
1567: archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
1568: # The linker will automatically build a .lib file if we build a DLL.
1569: old_archive_from_new_cmds='true'
1570: # FIXME: Should let the user specify the lib program.
1571: old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
1572: fix_srcfile_path='`cygpath -w "$srcfile"`'
1573: ;;
1574:
1575: darwin* | rhapsody*)
1576: case "$host_os" in
1577: rhapsody* | darwin1.[[012]])
1578: allow_undefined_flag='-undefined suppress'
1579: ;;
1580: *) # Darwin 1.3 on
1581: allow_undefined_flag='-flat_namespace -undefined suppress'
1582: ;;
1583: esac
1584: # FIXME: Relying on posixy $() will cause problems for
1585: # cross-compilation, but unfortunately the echo tests do not
1586: # yet detect zsh echo's removal of \ escapes. Also zsh mangles
1587: # `"' quotes if we put them in here... so don't!
1588: archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
1589: # We need to add '_' to the symbols in $export_symbols first
1590: #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
1591: hardcode_direct=yes
1592: hardcode_shlibpath_var=no
1593: whole_archive_flag_spec='-all_load $convenience'
1594: ;;
1595:
1596: freebsd1*)
1597: ld_shlibs=no
1598: ;;
1599:
1600: # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
1601: # support. Future versions do this automatically, but an explicit c++rt0.o
1602: # does not break anything, and helps significantly (at the cost of a little
1603: # extra space).
1604: freebsd2.2*)
1605: archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
1606: hardcode_libdir_flag_spec='-R$libdir'
1607: hardcode_direct=yes
1608: hardcode_shlibpath_var=no
1609: ;;
1610:
1611: # Unfortunately, older versions of FreeBSD 2 do not have this feature.
1612: freebsd2*)
1613: archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1614: hardcode_direct=yes
1615: hardcode_minus_L=yes
1616: hardcode_shlibpath_var=no
1617: ;;
1618:
1619: # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
1620: freebsd*)
1621: archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
1622: hardcode_libdir_flag_spec='-R$libdir'
1623: hardcode_direct=yes
1624: hardcode_shlibpath_var=no
1625: ;;
1626:
1627: hpux9* | hpux10* | hpux11*)
1628: case $host_os in
1629: hpux9*) archive_cmds='$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' ;;
1630: *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
1631: esac
1632: hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
1633: hardcode_libdir_separator=:
1634: hardcode_direct=yes
1635: hardcode_minus_L=yes # Not in the search PATH, but as the default
1636: # location of the library.
1637: export_dynamic_flag_spec='${wl}-E'
1638: ;;
1639:
1640: irix5* | irix6* | nonstopux*)
1641: if test "$GCC" = yes; then
1642: archive_cmds='$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'
1643: hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1644: else
1645: archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
1646: hardcode_libdir_flag_spec='-rpath $libdir'
1647: fi
1648: hardcode_libdir_separator=:
1649: link_all_deplibs=yes
1650: ;;
1651:
1652: netbsd*)
1653: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1654: archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
1655: else
1656: archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
1657: fi
1658: hardcode_libdir_flag_spec='-R$libdir'
1659: hardcode_direct=yes
1660: hardcode_shlibpath_var=no
1661: ;;
1662:
1663: newsos6)
1664: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1665: hardcode_direct=yes
1666: hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1667: hardcode_libdir_separator=:
1668: hardcode_shlibpath_var=no
1669: ;;
1670:
1671: openbsd*)
1672: hardcode_direct=yes
1673: hardcode_shlibpath_var=no
1674: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1675: archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
1676: hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
1677: export_dynamic_flag_spec='${wl}-E'
1678: else
1679: case "$host_os" in
1680: openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
1681: archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1682: hardcode_libdir_flag_spec='-R$libdir'
1683: ;;
1684: *)
1685: archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
1686: hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
1687: ;;
1688: esac
1689: fi
1690: ;;
1691:
1692: os2*)
1693: hardcode_libdir_flag_spec='-L$libdir'
1694: hardcode_minus_L=yes
1695: allow_undefined_flag=unsupported
1696: archive_cmds='$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'
1697: old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
1698: ;;
1699:
1700: osf3*)
1701: if test "$GCC" = yes; then
1702: allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1703: archive_cmds='$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'
1704: else
1705: allow_undefined_flag=' -expect_unresolved \*'
1706: archive_cmds='$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'
1707: fi
1708: hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1709: hardcode_libdir_separator=:
1710: ;;
1711:
1712: osf4* | osf5*) # as osf3* with the addition of -msym flag
1713: if test "$GCC" = yes; then
1714: allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1715: archive_cmds='$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'
1716: hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1717: else
1718: allow_undefined_flag=' -expect_unresolved \*'
1719: archive_cmds='$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'
1720: archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
1721: $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
1722:
1723: #Both c and cxx compiler support -rpath directly
1724: hardcode_libdir_flag_spec='-rpath $libdir'
1725: fi
1726: hardcode_libdir_separator=:
1727: ;;
1728:
1729: sco3.2v5*)
1730: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1731: hardcode_shlibpath_var=no
1732: runpath_var=LD_RUN_PATH
1733: hardcode_runpath_var=yes
1734: export_dynamic_flag_spec='${wl}-Bexport'
1735: ;;
1736:
1737: solaris*)
1738: # gcc --version < 3.0 without binutils cannot create self contained
1739: # shared libraries reliably, requiring libgcc.a to resolve some of
1740: # the object symbols generated in some cases. Libraries that use
1741: # assert need libgcc.a to resolve __eprintf, for example. Linking
1742: # a copy of libgcc.a into every shared library to guarantee resolving
1743: # such symbols causes other problems: According to Tim Van Holder
1744: # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
1745: # (to the application) exception stack for one thing.
1746: no_undefined_flag=' -z defs'
1747: if test "$GCC" = yes; then
1748: case `$CC --version 2>/dev/null` in
1749: [[12]].*)
1750: cat <<EOF 1>&2
1751:
1752: *** Warning: Releases of GCC earlier than version 3.0 cannot reliably
1753: *** create self contained shared libraries on Solaris systems, without
1754: *** introducing a dependency on libgcc.a. Therefore, libtool is disabling
1755: *** -no-undefined support, which will at least allow you to build shared
1756: *** libraries. However, you may find that when you link such libraries
1757: *** into an application without using GCC, you have to manually add
1758: *** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
1759: *** upgrade to a newer version of GCC. Another option is to rebuild your
1760: *** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
1761:
1762: EOF
1763: no_undefined_flag=
1764: ;;
1765: esac
1766: fi
1767: # $CC -shared without GNU ld will not create a library from C++
1768: # object files and a static libstdc++, better avoid it by now
1769: archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1770: archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1771: $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1772: hardcode_libdir_flag_spec='-R$libdir'
1773: hardcode_shlibpath_var=no
1774: case $host_os in
1775: solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
1776: *) # Supported since Solaris 2.6 (maybe 2.5.1?)
1777: whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
1778: esac
1779: link_all_deplibs=yes
1780: ;;
1781:
1782: sunos4*)
1783: if test "x$host_vendor" = xsequent; then
1784: # Use $CC to link under sequent, because it throws in some extra .o
1785: # files that make .init and .fini sections work.
1786: archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
1787: else
1788: archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
1789: fi
1790: hardcode_libdir_flag_spec='-L$libdir'
1791: hardcode_direct=yes
1792: hardcode_minus_L=yes
1793: hardcode_shlibpath_var=no
1794: ;;
1795:
1796: sysv4)
1797: case $host_vendor in
1798: sni)
1799: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1800: hardcode_direct=yes # is this really true???
1801: ;;
1802: siemens)
1803: ## LD is ld it makes a PLAMLIB
1804: ## CC just makes a GrossModule.
1805: archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
1806: reload_cmds='$CC -r -o $output$reload_objs'
1807: hardcode_direct=no
1808: ;;
1809: motorola)
1810: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1811: hardcode_direct=no #Motorola manual says yes, but my tests say they lie
1812: ;;
1813: esac
1814: runpath_var='LD_RUN_PATH'
1815: hardcode_shlibpath_var=no
1816: ;;
1817:
1818: sysv4.3*)
1819: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1820: hardcode_shlibpath_var=no
1821: export_dynamic_flag_spec='-Bexport'
1822: ;;
1823:
1824: sysv5*)
1825: no_undefined_flag=' -z text'
1826: # $CC -shared without GNU ld will not create a library from C++
1827: # object files and a static libstdc++, better avoid it by now
1828: archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1829: archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1830: $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1831: hardcode_libdir_flag_spec=
1832: hardcode_shlibpath_var=no
1833: runpath_var='LD_RUN_PATH'
1834: ;;
1835:
1836: uts4*)
1837: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1838: hardcode_libdir_flag_spec='-L$libdir'
1839: hardcode_shlibpath_var=no
1840: ;;
1841:
1842: dgux*)
1843: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1844: hardcode_libdir_flag_spec='-L$libdir'
1845: hardcode_shlibpath_var=no
1846: ;;
1847:
1848: sysv4*MP*)
1849: if test -d /usr/nec; then
1850: archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1851: hardcode_shlibpath_var=no
1852: runpath_var=LD_RUN_PATH
1853: hardcode_runpath_var=yes
1854: ld_shlibs=yes
1855: fi
1856: ;;
1857:
1858: sysv4.2uw2*)
1859: archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
1860: hardcode_direct=yes
1861: hardcode_minus_L=no
1862: hardcode_shlibpath_var=no
1863: hardcode_runpath_var=yes
1864: runpath_var=LD_RUN_PATH
1865: ;;
1866:
1867: sysv5uw7* | unixware7*)
1868: no_undefined_flag='${wl}-z ${wl}text'
1869: if test "$GCC" = yes; then
1870: archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
1871: else
1872: archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
1873: fi
1874: runpath_var='LD_RUN_PATH'
1875: hardcode_shlibpath_var=no
1876: ;;
1877:
1878: *)
1879: ld_shlibs=no
1880: ;;
1881: esac
1882: fi
1883: AC_MSG_RESULT([$ld_shlibs])
1884: test "$ld_shlibs" = no && can_build_shared=no
1885: ##
1886: ## END FIXME
1887:
1888: ## FIXME: this should be a separate macro
1889: ##
1890: # Check hardcoding attributes.
1891: AC_MSG_CHECKING([how to hardcode library paths into programs])
1892: hardcode_action=
1893: if test -n "$hardcode_libdir_flag_spec" || \
1894: test -n "$runpath_var"; then
1895:
1896: # We can hardcode non-existant directories.
1897: if test "$hardcode_direct" != no &&
1898: # If the only mechanism to avoid hardcoding is shlibpath_var, we
1899: # have to relink, otherwise we might link with an installed library
1900: # when we should be linking with a yet-to-be-installed one
1901: ## test "$hardcode_shlibpath_var" != no &&
1902: test "$hardcode_minus_L" != no; then
1903: # Linking always hardcodes the temporary library directory.
1904: hardcode_action=relink
1905: else
1906: # We can link without hardcoding, and we can hardcode nonexisting dirs.
1907: hardcode_action=immediate
1908: fi
1909: else
1910: # We cannot hardcode anything, or else we can only hardcode existing
1911: # directories.
1912: hardcode_action=unsupported
1913: fi
1914: AC_MSG_RESULT([$hardcode_action])
1915: ##
1916: ## END FIXME
1917:
1918: ## FIXME: this should be a separate macro
1919: ##
1920: striplib=
1921: old_striplib=
1922: AC_MSG_CHECKING([whether stripping libraries is possible])
1923: if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
1924: test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
1925: test -z "$striplib" && striplib="$STRIP --strip-unneeded"
1926: AC_MSG_RESULT([yes])
1927: else
1928: AC_MSG_RESULT([no])
1929: fi
1930: ##
1931: ## END FIXME
1932:
1933: reload_cmds='$LD$reload_flag -o $output$reload_objs'
1934: test -z "$deplibs_check_method" && deplibs_check_method=unknown
1935:
1936: ## FIXME: this should be a separate macro
1937: ##
1938: # PORTME Fill in your ld.so characteristics
1939: AC_MSG_CHECKING([dynamic linker characteristics])
1940: library_names_spec=
1941: libname_spec='lib$name'
1942: soname_spec=
1943: postinstall_cmds=
1944: postuninstall_cmds=
1945: finish_cmds=
1946: finish_eval=
1947: shlibpath_var=
1948: shlibpath_overrides_runpath=unknown
1949: version_type=none
1950: dynamic_linker="$host_os ld.so"
1951: sys_lib_dlsearch_path_spec="/lib /usr/lib"
1952: sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1953:
1954: case $host_os in
1955: aix3*)
1956: version_type=linux
1957: library_names_spec='${libname}${release}.so$versuffix $libname.a'
1958: shlibpath_var=LIBPATH
1959:
1960: # AIX has no versioning support, so we append a major version to the name.
1961: soname_spec='${libname}${release}.so$major'
1962: ;;
1963:
1964: aix4* | aix5*)
1965: version_type=linux
1966: need_lib_prefix=no
1967: need_version=no
1968: hardcode_into_libs=yes
1969: if test "$host_cpu" = ia64; then
1970: # AIX 5 supports IA64
1971: library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
1972: shlibpath_var=LD_LIBRARY_PATH
1973: else
1974: # With GCC up to 2.95.x, collect2 would create an import file
1975: # for dependence libraries. The import file would start with
1976: # the line `#! .'. This would cause the generated library to
1977: # depend on `.', always an invalid library. This was fixed in
1978: # development snapshots of GCC prior to 3.0.
1979: case $host_os in
1980: aix4 | aix4.[[01]] | aix4.[[01]].*)
1981: if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1982: echo ' yes '
1983: echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1984: :
1985: else
1986: can_build_shared=no
1987: fi
1988: ;;
1989: esac
1990: # AIX (on Power*) has no versioning support, so currently we can
1991: # not hardcode correct soname into executable. Probably we can
1992: # add versioning support to collect2, so additional links can
1993: # be useful in future.
1994: if test "$aix_use_runtimelinking" = yes; then
1995: # If using run time linking (on AIX 4.2 or later) use lib<name>.so
1996: # instead of lib<name>.a to let people know that these are not
1997: # typical AIX shared libraries.
1998: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1999: else
2000: # We preserve .a as extension for shared libraries through AIX4.2
2001: # and later when we are not doing run time linking.
2002: library_names_spec='${libname}${release}.a $libname.a'
2003: soname_spec='${libname}${release}.so$major'
2004: fi
2005: shlibpath_var=LIBPATH
2006: fi
2007: hardcode_into_libs=yes
2008: ;;
2009:
2010: amigaos*)
2011: library_names_spec='$libname.ixlibrary $libname.a'
2012: # Create ${libname}_ixlibrary.a entries in /sys/libs.
2013: 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'
2014: ;;
2015:
2016: beos*)
2017: library_names_spec='${libname}.so'
2018: dynamic_linker="$host_os ld.so"
2019: shlibpath_var=LIBRARY_PATH
2020: ;;
2021:
2022: bsdi4*)
2023: version_type=linux
2024: need_version=no
2025: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2026: soname_spec='${libname}${release}.so$major'
2027: finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2028: shlibpath_var=LD_LIBRARY_PATH
2029: sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2030: sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2031: export_dynamic_flag_spec=-rdynamic
2032: # the default ld.so.conf also contains /usr/contrib/lib and
2033: # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2034: # libtool to hard-code these into programs
2035: ;;
2036:
2037: cygwin* | mingw* | pw32*)
2038: version_type=windows
2039: need_version=no
2040: need_lib_prefix=no
2041: case $GCC,$host_os in
2042: yes,cygwin*)
2043: library_names_spec='$libname.dll.a'
2044: soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
2045: postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
2046: dldir=$destdir/`dirname \$dlpath`~
2047: test -d \$dldir || mkdir -p \$dldir~
2048: $install_prog .libs/$dlname \$dldir/$dlname'
2049: postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
2050: dlpath=$dir/\$dldll~
2051: $rm \$dlpath'
2052: ;;
2053: yes,mingw*)
2054: library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
2055: sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
2056: ;;
2057: yes,pw32*)
2058: library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
2059: ;;
2060: *)
2061: library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
2062: ;;
2063: esac
2064: dynamic_linker='Win32 ld.exe'
2065: # FIXME: first we should search . and the directory the executable is in
2066: shlibpath_var=PATH
2067: ;;
2068:
2069: darwin* | rhapsody*)
2070: dynamic_linker="$host_os dyld"
2071: version_type=darwin
2072: need_lib_prefix=no
2073: need_version=no
2074: # FIXME: Relying on posixy $() will cause problems for
2075: # cross-compilation, but unfortunately the echo tests do not
2076: # yet detect zsh echo's removal of \ escapes.
2077: library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
2078: soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
2079: shlibpath_overrides_runpath=yes
2080: shlibpath_var=DYLD_LIBRARY_PATH
2081: ;;
2082:
2083: freebsd1*)
2084: dynamic_linker=no
2085: ;;
2086:
2087: freebsd*)
2088: objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
2089: version_type=freebsd-$objformat
2090: case $version_type in
2091: freebsd-elf*)
2092: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
2093: need_version=no
2094: need_lib_prefix=no
2095: ;;
2096: freebsd-*)
2097: library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
2098: need_version=yes
2099: ;;
2100: esac
2101: shlibpath_var=LD_LIBRARY_PATH
2102: case $host_os in
2103: freebsd2*)
2104: shlibpath_overrides_runpath=yes
2105: ;;
2106: *)
2107: shlibpath_overrides_runpath=no
2108: hardcode_into_libs=yes
2109: ;;
2110: esac
2111: ;;
2112:
2113: gnu*)
2114: version_type=linux
2115: need_lib_prefix=no
2116: need_version=no
2117: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
2118: soname_spec='${libname}${release}.so$major'
2119: shlibpath_var=LD_LIBRARY_PATH
2120: hardcode_into_libs=yes
2121: ;;
2122:
2123: hpux9* | hpux10* | hpux11*)
2124: # Give a soname corresponding to the major version so that dld.sl refuses to
2125: # link against other versions.
2126: dynamic_linker="$host_os dld.sl"
2127: version_type=sunos
2128: need_lib_prefix=no
2129: need_version=no
2130: shlibpath_var=SHLIB_PATH
2131: shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2132: library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
2133: soname_spec='${libname}${release}.sl$major'
2134: # HP-UX runs *really* slowly unless shared libraries are mode 555.
2135: postinstall_cmds='chmod 555 $lib'
2136: ;;
2137:
2138: irix5* | irix6* | nonstopux*)
2139: case $host_os in
2140: nonstopux*) version_type=nonstopux ;;
2141: *) version_type=irix ;;
2142: esac
2143: need_lib_prefix=no
2144: need_version=no
2145: soname_spec='${libname}${release}.so$major'
2146: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
2147: case $host_os in
2148: irix5* | nonstopux*)
2149: libsuff= shlibsuff=
2150: ;;
2151: *)
2152: case $LD in # libtool.m4 will add one of these switches to LD
2153: *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
2154: *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
2155: *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
2156: *) libsuff= shlibsuff= libmagic=never-match;;
2157: esac
2158: ;;
2159: esac
2160: shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2161: shlibpath_overrides_runpath=no
2162: sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2163: sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2164: ;;
2165:
2166: # No shared lib support for Linux oldld, aout, or coff.
2167: linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
2168: dynamic_linker=no
2169: ;;
2170:
2171: # This must be Linux ELF.
2172: linux-gnu*)
2173: version_type=linux
2174: need_lib_prefix=no
2175: need_version=no
2176: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2177: soname_spec='${libname}${release}.so$major'
2178: finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2179: shlibpath_var=LD_LIBRARY_PATH
2180: shlibpath_overrides_runpath=no
2181: # This implies no fast_install, which is unacceptable.
2182: # Some rework will be needed to allow for fast_install
2183: # before this can be enabled.
2184: hardcode_into_libs=yes
2185:
2186: # We used to test for /lib/ld.so.1 and disable shared libraries on
2187: # powerpc, because MkLinux only supported shared libraries with the
2188: # GNU dynamic linker. Since this was broken with cross compilers,
2189: # most powerpc-linux boxes support dynamic linking these days and
2190: # people can always --disable-shared, the test was removed, and we
2191: # assume the GNU/Linux dynamic linker is in use.
2192: dynamic_linker='GNU/Linux ld.so'
2193: ;;
2194:
2195: netbsd*)
2196: version_type=sunos
2197: need_lib_prefix=no
2198: need_version=no
2199: if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
2200: library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2201: finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2202: dynamic_linker='NetBSD (a.out) ld.so'
2203: else
2204: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
2205: soname_spec='${libname}${release}.so$major'
2206: dynamic_linker='NetBSD ld.elf_so'
2207: fi
2208: shlibpath_var=LD_LIBRARY_PATH
2209: shlibpath_overrides_runpath=yes
2210: hardcode_into_libs=yes
2211: ;;
2212:
2213: newsos6)
2214: version_type=linux
2215: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2216: shlibpath_var=LD_LIBRARY_PATH
2217: shlibpath_overrides_runpath=yes
2218: ;;
2219:
2220: openbsd*)
2221: version_type=sunos
2222: need_lib_prefix=no
2223: need_version=no
2224: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2225: case "$host_os" in
2226: openbsd2.[[89]] | openbsd2.[[89]].*)
2227: shlibpath_overrides_runpath=no
2228: ;;
2229: *)
2230: shlibpath_overrides_runpath=yes
2231: ;;
2232: esac
2233: else
2234: shlibpath_overrides_runpath=yes
2235: fi
2236: library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2237: finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2238: shlibpath_var=LD_LIBRARY_PATH
2239: ;;
2240:
2241: os2*)
2242: libname_spec='$name'
2243: need_lib_prefix=no
2244: library_names_spec='$libname.dll $libname.a'
2245: dynamic_linker='OS/2 ld.exe'
2246: shlibpath_var=LIBPATH
2247: ;;
2248:
2249: osf3* | osf4* | osf5*)
2250: version_type=osf
2251: need_version=no
2252: soname_spec='${libname}${release}.so$major'
2253: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2254: shlibpath_var=LD_LIBRARY_PATH
2255: sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2256: sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2257: hardcode_into_libs=yes
2258: ;;
2259:
2260: sco3.2v5*)
2261: version_type=osf
2262: soname_spec='${libname}${release}.so$major'
2263: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2264: shlibpath_var=LD_LIBRARY_PATH
2265: ;;
2266:
2267: solaris*)
2268: version_type=linux
2269: need_lib_prefix=no
2270: need_version=no
2271: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2272: soname_spec='${libname}${release}.so$major'
2273: shlibpath_var=LD_LIBRARY_PATH
2274: shlibpath_overrides_runpath=yes
2275: hardcode_into_libs=yes
2276: # ldd complains unless libraries are executable
2277: postinstall_cmds='chmod +x $lib'
2278: ;;
2279:
2280: sunos4*)
2281: version_type=sunos
2282: library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2283: finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2284: shlibpath_var=LD_LIBRARY_PATH
2285: shlibpath_overrides_runpath=yes
2286: if test "$with_gnu_ld" = yes; then
2287: need_lib_prefix=no
2288: fi
2289: need_version=yes
2290: ;;
2291:
2292: sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
2293: version_type=linux
2294: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2295: soname_spec='${libname}${release}.so$major'
2296: shlibpath_var=LD_LIBRARY_PATH
2297: case $host_vendor in
2298: sni)
2299: shlibpath_overrides_runpath=no
2300: need_lib_prefix=no
2301: export_dynamic_flag_spec='${wl}-Blargedynsym'
2302: runpath_var=LD_RUN_PATH
2303: ;;
2304: siemens)
2305: need_lib_prefix=no
2306: ;;
2307: motorola)
2308: need_lib_prefix=no
2309: need_version=no
2310: shlibpath_overrides_runpath=no
2311: sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2312: ;;
2313: esac
2314: ;;
2315:
2316: uts4*)
2317: version_type=linux
2318: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2319: soname_spec='${libname}${release}.so$major'
2320: shlibpath_var=LD_LIBRARY_PATH
2321: ;;
2322:
2323: dgux*)
2324: version_type=linux
2325: need_lib_prefix=no
2326: need_version=no
2327: library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2328: soname_spec='${libname}${release}.so$major'
2329: shlibpath_var=LD_LIBRARY_PATH
2330: ;;
2331:
2332: sysv4*MP*)
2333: if test -d /usr/nec ;then
2334: version_type=linux
2335: library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
2336: soname_spec='$libname.so.$major'
2337: shlibpath_var=LD_LIBRARY_PATH
2338: fi
2339: ;;
2340:
2341: *)
2342: dynamic_linker=no
2343: ;;
2344: esac
2345: AC_MSG_RESULT([$dynamic_linker])
2346: test "$dynamic_linker" = no && can_build_shared=no
2347: ##
2348: ## END FIXME
2349:
2350: ## FIXME: this should be a separate macro
2351: ##
2352: # Report the final consequences.
2353: AC_MSG_CHECKING([if libtool supports shared libraries])
2354: AC_MSG_RESULT([$can_build_shared])
2355: ##
2356: ## END FIXME
2357:
2358: ## FIXME: this should be a separate macro
2359: ##
2360: AC_MSG_CHECKING([whether to build shared libraries])
2361: test "$can_build_shared" = "no" && enable_shared=no
2362:
2363: # On AIX, shared libraries and static libraries use the same namespace, and
2364: # are all built from PIC.
2365: case "$host_os" in
2366: aix3*)
2367: test "$enable_shared" = yes && enable_static=no
2368: if test -n "$RANLIB"; then
2369: archive_cmds="$archive_cmds~\$RANLIB \$lib"
2370: postinstall_cmds='$RANLIB $lib'
2371: fi
2372: ;;
2373:
2374: aix4*)
2375: if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2376: test "$enable_shared" = yes && enable_static=no
2377: fi
2378: ;;
2379: esac
2380: AC_MSG_RESULT([$enable_shared])
2381: ##
2382: ## END FIXME
2383:
2384: ## FIXME: this should be a separate macro
2385: ##
2386: AC_MSG_CHECKING([whether to build static libraries])
2387: # Make sure either enable_shared or enable_static is yes.
2388: test "$enable_shared" = yes || enable_static=yes
2389: AC_MSG_RESULT([$enable_static])
2390: ##
2391: ## END FIXME
2392:
2393: if test "$hardcode_action" = relink; then
2394: # Fast installation is not supported
2395: enable_fast_install=no
2396: elif test "$shlibpath_overrides_runpath" = yes ||
2397: test "$enable_shared" = no; then
2398: # Fast installation is not necessary
2399: enable_fast_install=needless
2400: fi
2401:
2402: variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2403: if test "$GCC" = yes; then
2404: variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2405: fi
2406:
2407: AC_LIBTOOL_DLOPEN_SELF
2408:
2409: ## FIXME: this should be a separate macro
2410: ##
2411: if test "$enable_shared" = yes && test "$GCC" = yes; then
2412: case $archive_cmds in
2413: *'~'*)
2414: # FIXME: we may have to deal with multi-command sequences.
2415: ;;
2416: '$CC '*)
2417: # Test whether the compiler implicitly links with -lc since on some
2418: # systems, -lgcc has to come before -lc. If gcc already passes -lc
2419: # to ld, don't add -lc before -lgcc.
2420: AC_MSG_CHECKING([whether -lc should be explicitly linked in])
2421: AC_CACHE_VAL([lt_cv_archive_cmds_need_lc],
2422: [$rm conftest*
2423: echo 'static int dummy;' > conftest.$ac_ext
2424:
2425: if AC_TRY_EVAL(ac_compile); then
2426: soname=conftest
2427: lib=conftest
2428: libobjs=conftest.$ac_objext
2429: deplibs=
2430: wl=$lt_cv_prog_cc_wl
2431: compiler_flags=-v
2432: linker_flags=-v
2433: verstring=
2434: output_objdir=.
2435: libname=conftest
2436: save_allow_undefined_flag=$allow_undefined_flag
2437: allow_undefined_flag=
2438: if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
2439: then
2440: lt_cv_archive_cmds_need_lc=no
2441: else
2442: lt_cv_archive_cmds_need_lc=yes
2443: fi
2444: allow_undefined_flag=$save_allow_undefined_flag
2445: else
2446: cat conftest.err 1>&5
2447: fi])
2448: AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc])
2449: ;;
2450: esac
2451: fi
2452: need_lc=${lt_cv_archive_cmds_need_lc-yes}
2453: ##
2454: ## END FIXME
2455:
2456: ## FIXME: this should be a separate macro
2457: ##
2458: # The second clause should only fire when bootstrapping the
2459: # libtool distribution, otherwise you forgot to ship ltmain.sh
2460: # with your package, and you will get complaints that there are
2461: # no rules to generate ltmain.sh.
2462: if test -f "$ltmain"; then
2463: :
2464: else
2465: # If there is no Makefile yet, we rely on a make rule to execute
2466: # `config.status --recheck' to rerun these tests and create the
2467: # libtool script then.
2468: test -f Makefile && make "$ltmain"
2469: fi
2470:
2471: if test -f "$ltmain"; then
2472: trap "$rm \"${ofile}T\"; exit 1" 1 2 15
2473: $rm -f "${ofile}T"
2474:
2475: echo creating $ofile
2476:
2477: # Now quote all the things that may contain metacharacters while being
2478: # careful not to overquote the AC_SUBSTed values. We take copies of the
2479: # variables and quote the copies for generation of the libtool script.
2480: for var in echo old_CC old_CFLAGS SED \
2481: AR AR_FLAGS CC LD LN_S NM SHELL \
2482: reload_flag reload_cmds wl \
2483: pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
2484: thread_safe_flag_spec whole_archive_flag_spec libname_spec \
2485: library_names_spec soname_spec \
2486: RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
2487: old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
2488: postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
2489: old_striplib striplib file_magic_cmd export_symbols_cmds \
2490: deplibs_check_method allow_undefined_flag no_undefined_flag \
2491: finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
2492: global_symbol_to_c_name_address \
2493: hardcode_libdir_flag_spec hardcode_libdir_separator \
2494: sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
2495: compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
2496:
2497: case $var in
2498: reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
2499: old_postinstall_cmds | old_postuninstall_cmds | \
2500: export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
2501: extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
2502: postinstall_cmds | postuninstall_cmds | \
2503: finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
2504: # Double-quote double-evaled strings.
2505: eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
2506: ;;
2507: *)
2508: eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
2509: ;;
2510: esac
2511: done
2512:
2513: cat <<__EOF__ > "${ofile}T"
2514: #! $SHELL
2515:
2516: # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
2517: # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
2518: # NOTE: Changes made to this file will be lost: look at ltmain.sh.
2519: #
2520: # Copyright (C) 1996-2000 Free Software Foundation, Inc.
2521: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
2522: #
2523: # This program is free software; you can redistribute it and/or modify
2524: # it under the terms of the GNU General Public License as published by
2525: # the Free Software Foundation; either version 2 of the License, or
2526: # (at your option) any later version.
2527: #
2528: # This program is distributed in the hope that it will be useful, but
2529: # WITHOUT ANY WARRANTY; without even the implied warranty of
2530: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2531: # General Public License for more details.
2532: #
2533: # You should have received a copy of the GNU General Public License
2534: # along with this program; if not, write to the Free Software
2535: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2536: #
2537: # As a special exception to the GNU General Public License, if you
2538: # distribute this file as part of a program that contains a
2539: # configuration script generated by Autoconf, you may include it under
2540: # the same distribution terms that you use for the rest of that program.
2541:
2542: # A sed that does not truncate output.
2543: SED=$lt_SED
2544:
2545: # Sed that helps us avoid accidentally triggering echo(1) options like -n.
2546: Xsed="${SED} -e s/^X//"
2547:
2548: # The HP-UX ksh and POSIX shell print the target directory to stdout
2549: # if CDPATH is set.
2550: if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
2551:
2552: # ### BEGIN LIBTOOL CONFIG
2553:
2554: # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
2555:
2556: # Shell to use when invoking shell scripts.
2557: SHELL=$lt_SHELL
2558:
2559: # Whether or not to build shared libraries.
2560: build_libtool_libs=$enable_shared
2561:
2562: # Whether or not to build static libraries.
2563: build_old_libs=$enable_static
2564:
2565: # Whether or not to add -lc for building shared libraries.
2566: build_libtool_need_lc=$need_lc
2567:
2568: # Whether or not to optimize for fast installation.
2569: fast_install=$enable_fast_install
2570:
2571: # The host system.
2572: host_alias=$host_alias
2573: host=$host
2574:
2575: # An echo program that does not interpret backslashes.
2576: echo=$lt_echo
2577:
2578: # The archiver.
2579: AR=$lt_AR
2580: AR_FLAGS=$lt_AR_FLAGS
2581:
2582: # The default C compiler.
2583: CC=$lt_CC
2584:
2585: # Is the compiler the GNU C compiler?
2586: with_gcc=$GCC
2587:
2588: # The linker used to build libraries.
2589: LD=$lt_LD
2590:
2591: # Whether we need hard or soft links.
2592: LN_S=$lt_LN_S
2593:
2594: # A BSD-compatible nm program.
2595: NM=$lt_NM
2596:
2597: # A symbol stripping program
2598: STRIP=$STRIP
2599:
2600: # Used to examine libraries when file_magic_cmd begins "file"
2601: MAGIC_CMD=$MAGIC_CMD
2602:
2603: # Used on cygwin: DLL creation program.
2604: DLLTOOL="$DLLTOOL"
2605:
2606: # Used on cygwin: object dumper.
2607: OBJDUMP="$OBJDUMP"
2608:
2609: # Used on cygwin: assembler.
2610: AS="$AS"
2611:
2612: # The name of the directory that contains temporary libtool files.
2613: objdir=$objdir
2614:
2615: # How to create reloadable object files.
2616: reload_flag=$lt_reload_flag
2617: reload_cmds=$lt_reload_cmds
2618:
2619: # How to pass a linker flag through the compiler.
2620: wl=$lt_wl
2621:
2622: # Object file suffix (normally "o").
2623: objext="$ac_objext"
2624:
2625: # Old archive suffix (normally "a").
2626: libext="$libext"
2627:
2628: # Executable file suffix (normally "").
2629: exeext="$exeext"
2630:
2631: # Additional compiler flags for building library objects.
2632: pic_flag=$lt_pic_flag
2633: pic_mode=$pic_mode
2634:
2635: # Does compiler simultaneously support -c and -o options?
2636: compiler_c_o=$lt_compiler_c_o
2637:
2638: # Can we write directly to a .lo ?
2639: compiler_o_lo=$lt_compiler_o_lo
2640:
2641: # Must we lock files when doing compilation ?
2642: need_locks=$lt_need_locks
2643:
2644: # Do we need the lib prefix for modules?
2645: need_lib_prefix=$need_lib_prefix
2646:
2647: # Do we need a version for libraries?
2648: need_version=$need_version
2649:
2650: # Whether dlopen is supported.
2651: dlopen_support=$enable_dlopen
2652:
2653: # Whether dlopen of programs is supported.
2654: dlopen_self=$enable_dlopen_self
2655:
2656: # Whether dlopen of statically linked programs is supported.
2657: dlopen_self_static=$enable_dlopen_self_static
2658:
2659: # Compiler flag to prevent dynamic linking.
2660: link_static_flag=$lt_link_static_flag
2661:
2662: # Compiler flag to turn off builtin functions.
2663: no_builtin_flag=$lt_no_builtin_flag
2664:
2665: # Compiler flag to allow reflexive dlopens.
2666: export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
2667:
2668: # Compiler flag to generate shared objects directly from archives.
2669: whole_archive_flag_spec=$lt_whole_archive_flag_spec
2670:
2671: # Compiler flag to generate thread-safe objects.
2672: thread_safe_flag_spec=$lt_thread_safe_flag_spec
2673:
2674: # Library versioning type.
2675: version_type=$version_type
2676:
2677: # Format of library name prefix.
2678: libname_spec=$lt_libname_spec
2679:
2680: # List of archive names. First name is the real one, the rest are links.
2681: # The last name is the one that the linker finds with -lNAME.
2682: library_names_spec=$lt_library_names_spec
2683:
2684: # The coded name of the library, if different from the real name.
2685: soname_spec=$lt_soname_spec
2686:
2687: # Commands used to build and install an old-style archive.
2688: RANLIB=$lt_RANLIB
2689: old_archive_cmds=$lt_old_archive_cmds
2690: old_postinstall_cmds=$lt_old_postinstall_cmds
2691: old_postuninstall_cmds=$lt_old_postuninstall_cmds
2692:
2693: # Create an old-style archive from a shared archive.
2694: old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
2695:
2696: # Create a temporary old-style archive to link instead of a shared archive.
2697: old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
2698:
2699: # Commands used to build and install a shared archive.
2700: archive_cmds=$lt_archive_cmds
2701: archive_expsym_cmds=$lt_archive_expsym_cmds
2702: postinstall_cmds=$lt_postinstall_cmds
2703: postuninstall_cmds=$lt_postuninstall_cmds
2704:
2705: # Commands to strip libraries.
2706: old_striplib=$lt_old_striplib
2707: striplib=$lt_striplib
2708:
2709: # Method to check whether dependent libraries are shared objects.
2710: deplibs_check_method=$lt_deplibs_check_method
2711:
2712: # Command to use when deplibs_check_method == file_magic.
2713: file_magic_cmd=$lt_file_magic_cmd
2714:
2715: # Flag that allows shared libraries with undefined symbols to be built.
2716: allow_undefined_flag=$lt_allow_undefined_flag
2717:
2718: # Flag that forces no undefined symbols.
2719: no_undefined_flag=$lt_no_undefined_flag
2720:
2721: # Commands used to finish a libtool library installation in a directory.
2722: finish_cmds=$lt_finish_cmds
2723:
2724: # Same as above, but a single script fragment to be evaled but not shown.
2725: finish_eval=$lt_finish_eval
2726:
2727: # Take the output of nm and produce a listing of raw symbols and C names.
2728: global_symbol_pipe=$lt_global_symbol_pipe
2729:
2730: # Transform the output of nm in a proper C declaration
2731: global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
2732:
2733: # Transform the output of nm in a C name address pair
2734: global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
2735:
2736: # This is the shared library runtime path variable.
2737: runpath_var=$runpath_var
2738:
2739: # This is the shared library path variable.
2740: shlibpath_var=$shlibpath_var
2741:
2742: # Is shlibpath searched before the hard-coded library search path?
2743: shlibpath_overrides_runpath=$shlibpath_overrides_runpath
2744:
2745: # How to hardcode a shared library path into an executable.
2746: hardcode_action=$hardcode_action
2747:
2748: # Whether we should hardcode library paths into libraries.
2749: hardcode_into_libs=$hardcode_into_libs
2750:
2751: # Flag to hardcode \$libdir into a binary during linking.
2752: # This must work even if \$libdir does not exist.
2753: hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
2754:
2755: # Whether we need a single -rpath flag with a separated argument.
2756: hardcode_libdir_separator=$lt_hardcode_libdir_separator
2757:
2758: # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
2759: # resulting binary.
2760: hardcode_direct=$hardcode_direct
2761:
2762: # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
2763: # resulting binary.
2764: hardcode_minus_L=$hardcode_minus_L
2765:
2766: # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
2767: # the resulting binary.
2768: hardcode_shlibpath_var=$hardcode_shlibpath_var
2769:
2770: # Variables whose values should be saved in libtool wrapper scripts and
2771: # restored at relink time.
2772: variables_saved_for_relink="$variables_saved_for_relink"
2773:
2774: # Whether libtool must link a program against all its dependency libraries.
2775: link_all_deplibs=$link_all_deplibs
2776:
2777: # Compile-time system search path for libraries
2778: sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
2779:
2780: # Run-time system search path for libraries
2781: sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
2782:
2783: # Fix the shell variable \$srcfile for the compiler.
2784: fix_srcfile_path="$fix_srcfile_path"
2785:
2786: # Set to yes if exported symbols are required.
2787: always_export_symbols=$always_export_symbols
2788:
2789: # The commands to list exported symbols.
2790: export_symbols_cmds=$lt_export_symbols_cmds
2791:
2792: # The commands to extract the exported symbol list from a shared archive.
2793: extract_expsyms_cmds=$lt_extract_expsyms_cmds
2794:
2795: # Symbols that should not be listed in the preloaded symbols.
2796: exclude_expsyms=$lt_exclude_expsyms
2797:
2798: # Symbols that must always be exported.
2799: include_expsyms=$lt_include_expsyms
2800:
2801: # ### END LIBTOOL CONFIG
2802:
2803: __EOF__
2804:
2805: case $host_os in
2806: aix3*)
2807: cat <<\EOF >> "${ofile}T"
2808:
2809: # AIX sometimes has problems with the GCC collect2 program. For some
2810: # reason, if we set the COLLECT_NAMES environment variable, the problems
2811: # vanish in a puff of smoke.
2812: if test "X${COLLECT_NAMES+set}" != Xset; then
2813: COLLECT_NAMES=
2814: export COLLECT_NAMES
2815: fi
2816: EOF
2817: ;;
2818: esac
2819:
2820: case $host_os in
2821: cygwin* | mingw* | pw32* | os2*)
2822: cat <<'EOF' >> "${ofile}T"
2823: # This is a source program that is used to create dlls on Windows
2824: # Don't remove nor modify the starting and closing comments
2825: # /* ltdll.c starts here */
2826: # #define WIN32_LEAN_AND_MEAN
2827: # #include <windows.h>
2828: # #undef WIN32_LEAN_AND_MEAN
2829: # #include <stdio.h>
2830: #
2831: # #ifndef __CYGWIN__
2832: # # ifdef __CYGWIN32__
2833: # # define __CYGWIN__ __CYGWIN32__
2834: # # endif
2835: # #endif
2836: #
2837: # #ifdef __cplusplus
2838: # extern "C" {
2839: # #endif
2840: # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
2841: # #ifdef __cplusplus
2842: # }
2843: # #endif
2844: #
2845: # #ifdef __CYGWIN__
2846: # #include <cygwin/cygwin_dll.h>
2847: # DECLARE_CYGWIN_DLL( DllMain );
2848: # #endif
2849: # HINSTANCE __hDllInstance_base;
2850: #
2851: # BOOL APIENTRY
2852: # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
2853: # {
2854: # __hDllInstance_base = hInst;
2855: # return TRUE;
2856: # }
2857: # /* ltdll.c ends here */
2858: # This is a source program that is used to create import libraries
2859: # on Windows for dlls which lack them. Don't remove nor modify the
2860: # starting and closing comments
2861: # /* impgen.c starts here */
2862: # /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
2863: #
2864: # This file is part of GNU libtool.
2865: #
2866: # This program is free software; you can redistribute it and/or modify
2867: # it under the terms of the GNU General Public License as published by
2868: # the Free Software Foundation; either version 2 of the License, or
2869: # (at your option) any later version.
2870: #
2871: # This program is distributed in the hope that it will be useful,
2872: # but WITHOUT ANY WARRANTY; without even the implied warranty of
2873: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2874: # GNU General Public License for more details.
2875: #
2876: # You should have received a copy of the GNU General Public License
2877: # along with this program; if not, write to the Free Software
2878: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2879: # */
2880: #
2881: # #include <stdio.h> /* for printf() */
2882: # #include <unistd.h> /* for open(), lseek(), read() */
2883: # #include <fcntl.h> /* for O_RDONLY, O_BINARY */
2884: # #include <string.h> /* for strdup() */
2885: #
2886: # /* O_BINARY isn't required (or even defined sometimes) under Unix */
2887: # #ifndef O_BINARY
2888: # #define O_BINARY 0
2889: # #endif
2890: #
2891: # static unsigned int
2892: # pe_get16 (fd, offset)
2893: # int fd;
2894: # int offset;
2895: # {
2896: # unsigned char b[2];
2897: # lseek (fd, offset, SEEK_SET);
2898: # read (fd, b, 2);
2899: # return b[0] + (b[1]<<8);
2900: # }
2901: #
2902: # static unsigned int
2903: # pe_get32 (fd, offset)
2904: # int fd;
2905: # int offset;
2906: # {
2907: # unsigned char b[4];
2908: # lseek (fd, offset, SEEK_SET);
2909: # read (fd, b, 4);
2910: # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2911: # }
2912: #
2913: # static unsigned int
2914: # pe_as32 (ptr)
2915: # void *ptr;
2916: # {
2917: # unsigned char *b = ptr;
2918: # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2919: # }
2920: #
2921: # int
2922: # main (argc, argv)
2923: # int argc;
2924: # char *argv[];
2925: # {
2926: # int dll;
2927: # unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
2928: # unsigned long export_rva, export_size, nsections, secptr, expptr;
2929: # unsigned long name_rvas, nexp;
2930: # unsigned char *expdata, *erva;
2931: # char *filename, *dll_name;
2932: #
2933: # filename = argv[1];
2934: #
2935: # dll = open(filename, O_RDONLY|O_BINARY);
2936: # if (dll < 1)
2937: # return 1;
2938: #
2939: # dll_name = filename;
2940: #
2941: # for (i=0; filename[i]; i++)
2942: # if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
2943: # dll_name = filename + i +1;
2944: #
2945: # pe_header_offset = pe_get32 (dll, 0x3c);
2946: # opthdr_ofs = pe_header_offset + 4 + 20;
2947: # num_entries = pe_get32 (dll, opthdr_ofs + 92);
2948: #
2949: # if (num_entries < 1) /* no exports */
2950: # return 1;
2951: #
2952: # export_rva = pe_get32 (dll, opthdr_ofs + 96);
2953: # export_size = pe_get32 (dll, opthdr_ofs + 100);
2954: # nsections = pe_get16 (dll, pe_header_offset + 4 +2);
2955: # secptr = (pe_header_offset + 4 + 20 +
2956: # pe_get16 (dll, pe_header_offset + 4 + 16));
2957: #
2958: # expptr = 0;
2959: # for (i = 0; i < nsections; i++)
2960: # {
2961: # char sname[8];
2962: # unsigned long secptr1 = secptr + 40 * i;
2963: # unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
2964: # unsigned long vsize = pe_get32 (dll, secptr1 + 16);
2965: # unsigned long fptr = pe_get32 (dll, secptr1 + 20);
2966: # lseek(dll, secptr1, SEEK_SET);
2967: # read(dll, sname, 8);
2968: # if (vaddr <= export_rva && vaddr+vsize > export_rva)
2969: # {
2970: # expptr = fptr + (export_rva - vaddr);
2971: # if (export_rva + export_size > vaddr + vsize)
2972: # export_size = vsize - (export_rva - vaddr);
2973: # break;
2974: # }
2975: # }
2976: #
2977: # expdata = (unsigned char*)malloc(export_size);
2978: # lseek (dll, expptr, SEEK_SET);
2979: # read (dll, expdata, export_size);
2980: # erva = expdata - export_rva;
2981: #
2982: # nexp = pe_as32 (expdata+24);
2983: # name_rvas = pe_as32 (expdata+32);
2984: #
2985: # printf ("EXPORTS\n");
2986: # for (i = 0; i<nexp; i++)
2987: # {
2988: # unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
2989: # printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
2990: # }
2991: #
2992: # return 0;
2993: # }
2994: # /* impgen.c ends here */
2995:
2996: EOF
2997: ;;
2998: esac
2999:
3000: # We use sed instead of cat because bash on DJGPP gets confused if
3001: # if finds mixed CR/LF and LF-only lines. Since sed operates in
3002: # text mode, it properly converts lines to CR/LF. This bash problem
3003: # is reportedly fixed, but why not run on old versions too?
3004: sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
3005:
3006: mv -f "${ofile}T" "$ofile" || \
3007: (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
3008: chmod +x "$ofile"
3009: fi
3010: ##
3011: ## END FIXME
3012:
3013: ])# _LT_AC_LTCONFIG_HACK
3014:
3015: # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
3016: AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
3017:
3018: # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
3019: AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
3020:
3021: # AC_ENABLE_SHARED - implement the --enable-shared flag
3022: # Usage: AC_ENABLE_SHARED[(DEFAULT)]
3023: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
3024: # `yes'.
3025: AC_DEFUN([AC_ENABLE_SHARED],
3026: [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
3027: AC_ARG_ENABLE(shared,
3028: changequote(<<, >>)dnl
3029: << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
3030: changequote([, ])dnl
3031: [p=${PACKAGE-default}
3032: case $enableval in
3033: yes) enable_shared=yes ;;
3034: no) enable_shared=no ;;
3035: *)
3036: enable_shared=no
3037: # Look at the argument we got. We use all the common list separators.
3038: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3039: for pkg in $enableval; do
3040: if test "X$pkg" = "X$p"; then
3041: enable_shared=yes
3042: fi
3043: done
3044: IFS="$ac_save_ifs"
3045: ;;
3046: esac],
3047: enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
3048: ])
3049:
3050: # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
3051: AC_DEFUN([AC_DISABLE_SHARED],
3052: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3053: AC_ENABLE_SHARED(no)])
3054:
3055: # AC_ENABLE_STATIC - implement the --enable-static flag
3056: # Usage: AC_ENABLE_STATIC[(DEFAULT)]
3057: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
3058: # `yes'.
3059: AC_DEFUN([AC_ENABLE_STATIC],
3060: [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
3061: AC_ARG_ENABLE(static,
3062: changequote(<<, >>)dnl
3063: << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
3064: changequote([, ])dnl
3065: [p=${PACKAGE-default}
3066: case $enableval in
3067: yes) enable_static=yes ;;
3068: no) enable_static=no ;;
3069: *)
3070: enable_static=no
3071: # Look at the argument we got. We use all the common list separators.
3072: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3073: for pkg in $enableval; do
3074: if test "X$pkg" = "X$p"; then
3075: enable_static=yes
3076: fi
3077: done
3078: IFS="$ac_save_ifs"
3079: ;;
3080: esac],
3081: enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
3082: ])
3083:
3084: # AC_DISABLE_STATIC - set the default static flag to --disable-static
3085: AC_DEFUN([AC_DISABLE_STATIC],
3086: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3087: AC_ENABLE_STATIC(no)])
3088:
3089:
3090: # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
3091: # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
3092: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
3093: # `yes'.
3094: AC_DEFUN([AC_ENABLE_FAST_INSTALL],
3095: [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
3096: AC_ARG_ENABLE(fast-install,
3097: changequote(<<, >>)dnl
3098: << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
3099: changequote([, ])dnl
3100: [p=${PACKAGE-default}
3101: case $enableval in
3102: yes) enable_fast_install=yes ;;
3103: no) enable_fast_install=no ;;
3104: *)
3105: enable_fast_install=no
3106: # Look at the argument we got. We use all the common list separators.
3107: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3108: for pkg in $enableval; do
3109: if test "X$pkg" = "X$p"; then
3110: enable_fast_install=yes
3111: fi
3112: done
3113: IFS="$ac_save_ifs"
3114: ;;
3115: esac],
3116: enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
3117: ])
3118:
3119: # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
3120: AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3121: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3122: AC_ENABLE_FAST_INSTALL(no)])
3123:
3124: # AC_LIBTOOL_PICMODE - implement the --with-pic flag
3125: # Usage: AC_LIBTOOL_PICMODE[(MODE)]
3126: # Where MODE is either `yes' or `no'. If omitted, it defaults to
3127: # `both'.
3128: AC_DEFUN([AC_LIBTOOL_PICMODE],
3129: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3130: pic_mode=ifelse($#,1,$1,default)])
3131:
3132:
3133: # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
3134: AC_DEFUN([AC_PATH_TOOL_PREFIX],
3135: [AC_MSG_CHECKING([for $1])
3136: AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3137: [case $MAGIC_CMD in
3138: /*)
3139: lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3140: ;;
3141: ?:/*)
3142: lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
3143: ;;
3144: *)
3145: ac_save_MAGIC_CMD="$MAGIC_CMD"
3146: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
3147: dnl $ac_dummy forces splitting on constant user-supplied paths.
3148: dnl POSIX.2 word splitting is done only on the output of word expansions,
3149: dnl not every word. This closes a longstanding sh security hole.
3150: ac_dummy="ifelse([$2], , $PATH, [$2])"
3151: for ac_dir in $ac_dummy; do
3152: test -z "$ac_dir" && ac_dir=.
3153: if test -f $ac_dir/$1; then
3154: lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3155: if test -n "$file_magic_test_file"; then
3156: case $deplibs_check_method in
3157: "file_magic "*)
3158: file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
3159: MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3160: if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3161: egrep "$file_magic_regex" > /dev/null; then
3162: :
3163: else
3164: cat <<EOF 1>&2
3165:
3166: *** Warning: the command libtool uses to detect shared libraries,
3167: *** $file_magic_cmd, produces output that libtool cannot recognize.
3168: *** The result is that libtool may fail to recognize shared libraries
3169: *** as such. This will affect the creation of libtool libraries that
3170: *** depend on shared libraries, but programs linked with such libtool
3171: *** libraries will work regardless of this problem. Nevertheless, you
3172: *** may want to report the problem to your system manager and/or to
3173: *** bug-libtool@gnu.org
3174:
3175: EOF
3176: fi ;;
3177: esac
3178: fi
3179: break
3180: fi
3181: done
3182: IFS="$ac_save_ifs"
3183: MAGIC_CMD="$ac_save_MAGIC_CMD"
3184: ;;
3185: esac])
3186: MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3187: if test -n "$MAGIC_CMD"; then
3188: AC_MSG_RESULT($MAGIC_CMD)
3189: else
3190: AC_MSG_RESULT(no)
3191: fi
3192: ])
3193:
3194:
3195: # AC_PATH_MAGIC - find a file program which can recognise a shared library
3196: AC_DEFUN([AC_PATH_MAGIC],
3197: [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
3198: AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
3199: if test -z "$lt_cv_path_MAGIC_CMD"; then
3200: if test -n "$ac_tool_prefix"; then
3201: AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
3202: else
3203: MAGIC_CMD=:
3204: fi
3205: fi
3206: ])
3207:
3208:
3209: # AC_PROG_LD - find the path to the GNU or non-GNU linker
3210: AC_DEFUN([AC_PROG_LD],
3211: [AC_ARG_WITH(gnu-ld,
3212: [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
3213: test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
3214: AC_REQUIRE([AC_PROG_CC])dnl
3215: AC_REQUIRE([AC_CANONICAL_HOST])dnl
3216: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3217: AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3218: ac_prog=ld
3219: if test "$GCC" = yes; then
3220: # Check if gcc -print-prog-name=ld gives a path.
3221: AC_MSG_CHECKING([for ld used by GCC])
3222: case $host in
3223: *-*-mingw*)
3224: # gcc leaves a trailing carriage return which upsets mingw
3225: ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3226: *)
3227: ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3228: esac
3229: case $ac_prog in
3230: # Accept absolute paths.
3231: [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
3232: re_direlt='/[[^/]][[^/]]*/\.\./'
3233: # Canonicalize the path of ld
3234: ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3235: while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3236: ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3237: done
3238: test -z "$LD" && LD="$ac_prog"
3239: ;;
3240: "")
3241: # If it fails, then pretend we aren't using GCC.
3242: ac_prog=ld
3243: ;;
3244: *)
3245: # If it is relative, then search for the first ld in PATH.
3246: with_gnu_ld=unknown
3247: ;;
3248: esac
3249: elif test "$with_gnu_ld" = yes; then
3250: AC_MSG_CHECKING([for GNU ld])
3251: else
3252: AC_MSG_CHECKING([for non-GNU ld])
3253: fi
3254: AC_CACHE_VAL(lt_cv_path_LD,
3255: [if test -z "$LD"; then
3256: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3257: for ac_dir in $PATH; do
3258: test -z "$ac_dir" && ac_dir=.
3259: if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3260: lt_cv_path_LD="$ac_dir/$ac_prog"
3261: # Check to see if the program is GNU ld. I'd rather use --version,
3262: # but apparently some GNU ld's only accept -v.
3263: # Break only if it was the GNU/non-GNU ld that we prefer.
3264: if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3265: test "$with_gnu_ld" != no && break
3266: else
3267: test "$with_gnu_ld" != yes && break
3268: fi
3269: fi
3270: done
3271: IFS="$ac_save_ifs"
3272: else
3273: lt_cv_path_LD="$LD" # Let the user override the test with a path.
3274: fi])
3275: LD="$lt_cv_path_LD"
3276: if test -n "$LD"; then
3277: AC_MSG_RESULT($LD)
3278: else
3279: AC_MSG_RESULT(no)
3280: fi
3281: test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3282: AC_PROG_LD_GNU
3283: ])
3284:
3285: # AC_PROG_LD_GNU -
3286: AC_DEFUN([AC_PROG_LD_GNU],
3287: [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3288: [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
3289: if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3290: lt_cv_prog_gnu_ld=yes
3291: else
3292: lt_cv_prog_gnu_ld=no
3293: fi])
3294: with_gnu_ld=$lt_cv_prog_gnu_ld
3295: ])
3296:
3297: # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
3298: # -- PORTME Some linkers may need a different reload flag.
3299: AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3300: [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
3301: [lt_cv_ld_reload_flag='-r'])
3302: reload_flag=$lt_cv_ld_reload_flag
3303: test -n "$reload_flag" && reload_flag=" $reload_flag"
3304: ])
3305:
3306: # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
3307: # -- PORTME fill in with the dynamic library characteristics
3308: AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3309: [AC_CACHE_CHECK([how to recognise dependent libraries],
3310: lt_cv_deplibs_check_method,
3311: [lt_cv_file_magic_cmd='$MAGIC_CMD'
3312: lt_cv_file_magic_test_file=
3313: lt_cv_deplibs_check_method='unknown'
3314: # Need to set the preceding variable on all platforms that support
3315: # interlibrary dependencies.
3316: # 'none' -- dependencies not supported.
3317: # `unknown' -- same as none, but documents that we really don't know.
3318: # 'pass_all' -- all dependencies passed with no checks.
3319: # 'test_compile' -- check by making test program.
3320: # 'file_magic [[regex]]' -- check by looking for files in library path
3321: # which responds to the $file_magic_cmd with a given egrep regex.
3322: # If you have `file' or equivalent on your system and you're not sure
3323: # whether `pass_all' will *always* work, you probably want this one.
3324:
3325: case $host_os in
3326: aix4* | aix5*)
3327: lt_cv_deplibs_check_method=pass_all
3328: ;;
3329:
3330: beos*)
3331: lt_cv_deplibs_check_method=pass_all
3332: ;;
3333:
3334: bsdi4*)
3335: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3336: lt_cv_file_magic_cmd='/usr/bin/file -L'
3337: lt_cv_file_magic_test_file=/shlib/libc.so
3338: ;;
3339:
3340: cygwin* | mingw* | pw32*)
3341: lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3342: lt_cv_file_magic_cmd='$OBJDUMP -f'
3343: ;;
3344:
3345: darwin* | rhapsody*)
3346: lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
3347: lt_cv_file_magic_cmd='/usr/bin/file -L'
3348: case "$host_os" in
3349: rhapsody* | darwin1.[[012]])
3350: lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
3351: ;;
3352: *) # Darwin 1.3 on
3353: lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
3354: ;;
3355: esac
3356: ;;
3357:
3358: freebsd*)
3359: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3360: case $host_cpu in
3361: i*86 )
3362: # Not sure whether the presence of OpenBSD here was a mistake.
3363: # Let's accept both of them until this is cleared up.
3364: lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
3365: lt_cv_file_magic_cmd=/usr/bin/file
3366: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3367: ;;
3368: esac
3369: else
3370: lt_cv_deplibs_check_method=pass_all
3371: fi
3372: ;;
3373:
3374: gnu*)
3375: lt_cv_deplibs_check_method=pass_all
3376: ;;
3377:
3378: hpux10.20*|hpux11*)
3379: lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3380: lt_cv_file_magic_cmd=/usr/bin/file
3381: lt_cv_file_magic_test_file=/usr/lib/libc.sl
3382: ;;
3383:
3384: irix5* | irix6* | nonstopux*)
3385: case $host_os in
3386: irix5* | nonstopux*)
3387: # this will be overridden with pass_all, but let us keep it just in case
3388: lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
3389: ;;
3390: *)
3391: case $LD in
3392: *-32|*"-32 ") libmagic=32-bit;;
3393: *-n32|*"-n32 ") libmagic=N32;;
3394: *-64|*"-64 ") libmagic=64-bit;;
3395: *) libmagic=never-match;;
3396: esac
3397: # this will be overridden with pass_all, but let us keep it just in case
3398: lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
3399: ;;
3400: esac
3401: lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
3402: lt_cv_deplibs_check_method=pass_all
3403: ;;
3404:
3405: # This must be Linux ELF.
3406: linux-gnu*)
3407: case $host_cpu in
3408: alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
3409: lt_cv_deplibs_check_method=pass_all ;;
3410: *)
3411: # glibc up to 2.1.1 does not perform some relocations on ARM
3412: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
3413: esac
3414: lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
3415: ;;
3416:
3417: netbsd*)
3418: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3419: lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
3420: else
3421: lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
3422: fi
3423: ;;
3424:
3425: newos6*)
3426: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3427: lt_cv_file_magic_cmd=/usr/bin/file
3428: lt_cv_file_magic_test_file=/usr/lib/libnls.so
3429: ;;
3430:
3431: openbsd*)
3432: lt_cv_file_magic_cmd=/usr/bin/file
3433: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3434: if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3435: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
3436: else
3437: lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
3438: fi
3439: ;;
3440:
3441: osf3* | osf4* | osf5*)
3442: # this will be overridden with pass_all, but let us keep it just in case
3443: lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
3444: lt_cv_file_magic_test_file=/shlib/libc.so
3445: lt_cv_deplibs_check_method=pass_all
3446: ;;
3447:
3448: sco3.2v5*)
3449: lt_cv_deplibs_check_method=pass_all
3450: ;;
3451:
3452: solaris*)
3453: lt_cv_deplibs_check_method=pass_all
3454: lt_cv_file_magic_test_file=/lib/libc.so
3455: ;;
3456:
3457: sysv5uw[[78]]* | sysv4*uw2*)
3458: lt_cv_deplibs_check_method=pass_all
3459: ;;
3460:
3461: sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
3462: case $host_vendor in
3463: motorola)
3464: 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]]'
3465: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3466: ;;
3467: ncr)
3468: lt_cv_deplibs_check_method=pass_all
3469: ;;
3470: sequent)
3471: lt_cv_file_magic_cmd='/bin/file'
3472: lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3473: ;;
3474: sni)
3475: lt_cv_file_magic_cmd='/bin/file'
3476: lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3477: lt_cv_file_magic_test_file=/lib/libc.so
3478: ;;
3479: siemens)
3480: lt_cv_deplibs_check_method=pass_all
3481: ;;
3482: esac
3483: ;;
3484: esac
3485: ])
3486: file_magic_cmd=$lt_cv_file_magic_cmd
3487: deplibs_check_method=$lt_cv_deplibs_check_method
3488: ])
3489:
3490:
3491: # AC_PROG_NM - find the path to a BSD-compatible name lister
3492: AC_DEFUN([AC_PROG_NM],
3493: [AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3494: AC_MSG_CHECKING([for BSD-compatible nm])
3495: AC_CACHE_VAL(lt_cv_path_NM,
3496: [if test -n "$NM"; then
3497: # Let the user override the test.
3498: lt_cv_path_NM="$NM"
3499: else
3500: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3501: for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3502: test -z "$ac_dir" && ac_dir=.
3503: tmp_nm=$ac_dir/${ac_tool_prefix}nm
3504: if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3505: # Check to see if the nm accepts a BSD-compat flag.
3506: # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3507: # nm: unknown option "B" ignored
3508: # Tru64's nm complains that /dev/null is an invalid object file
3509: if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3510: lt_cv_path_NM="$tmp_nm -B"
3511: break
3512: elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3513: lt_cv_path_NM="$tmp_nm -p"
3514: break
3515: else
3516: lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3517: continue # so that we can try to find one that supports BSD flags
3518: fi
3519: fi
3520: done
3521: IFS="$ac_save_ifs"
3522: test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3523: fi])
3524: NM="$lt_cv_path_NM"
3525: AC_MSG_RESULT([$NM])
3526: ])
3527:
3528: # AC_CHECK_LIBM - check for math library
3529: AC_DEFUN([AC_CHECK_LIBM],
3530: [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3531: LIBM=
3532: case $host in
3533: *-*-beos* | *-*-cygwin* | *-*-pw32*)
3534: # These system don't have libm
3535: ;;
3536: *-ncr-sysv4.3*)
3537: AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3538: AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
3539: ;;
3540: *)
3541: AC_CHECK_LIB(m, main, LIBM="-lm")
3542: ;;
3543: esac
3544: ])
3545:
3546: # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
3547: # the libltdl convenience library and LTDLINCL to the include flags for
3548: # the libltdl header and adds --enable-ltdl-convenience to the
3549: # configure arguments. Note that LIBLTDL and LTDLINCL are not
3550: # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
3551: # provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
3552: # with '${top_builddir}/' and LTDLINCL will be prefixed with
3553: # '${top_srcdir}/' (note the single quotes!). If your package is not
3554: # flat and you're not using automake, define top_builddir and
3555: # top_srcdir appropriately in the Makefiles.
3556: AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3557: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3558: case $enable_ltdl_convenience in
3559: no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3560: "") enable_ltdl_convenience=yes
3561: ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3562: esac
3563: LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
3564: LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3565: # For backwards non-gettext consistent compatibility...
3566: INCLTDL="$LTDLINCL"
3567: ])
3568:
3569: # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
3570: # the libltdl installable library and LTDLINCL to the include flags for
3571: # the libltdl header and adds --enable-ltdl-install to the configure
3572: # arguments. Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is
3573: # AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
3574: # libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
3575: # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed
3576: # with '${top_srcdir}/' (note the single quotes!). If your package is
3577: # not flat and you're not using automake, define top_builddir and
3578: # top_srcdir appropriately in the Makefiles.
3579: # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
3580: AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
3581: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3582: AC_CHECK_LIB(ltdl, main,
3583: [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
3584: [if test x"$enable_ltdl_install" = xno; then
3585: AC_MSG_WARN([libltdl not installed, but installation disabled])
3586: else
3587: enable_ltdl_install=yes
3588: fi
3589: ])
3590: if test x"$enable_ltdl_install" = x"yes"; then
3591: ac_configure_args="$ac_configure_args --enable-ltdl-install"
3592: LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
3593: LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3594: else
3595: ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
3596: LIBLTDL="-lltdl"
3597: LTDLINCL=
3598: fi
3599: # For backwards non-gettext consistent compatibility...
3600: INCLTDL="$LTDLINCL"
3601: ])
3602:
3603: # old names
3604: AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
3605: AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
3606: AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
3607: AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
3608: AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
3609: AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
3610: AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
3611:
3612: # This is just to silence aclocal about the macro not being used
3613: ifelse([AC_DISABLE_FAST_INSTALL])
3614:
3615: ############################################################
3616: # NOTE: This macro has been submitted for inclusion into #
3617: # GNU Autoconf as AC_PROG_SED. When it is available in #
3618: # a released version of Autoconf we should remove this #
3619: # macro and use it instead. #
3620: ############################################################
3621: # LT_AC_PROG_SED
3622: # --------------
3623: # Check for a fully-functional sed program, that truncates
3624: # as few characters as possible. Prefer GNU sed if found.
3625: AC_DEFUN([LT_AC_PROG_SED],
3626: [AC_MSG_CHECKING([for a sed that does not truncate output])
3627: AC_CACHE_VAL(lt_cv_path_SED,
3628: [# Loop through the user's path and test for sed and gsed.
3629: # Then use that list of sed's as ones to test for truncation.
3630: as_executable_p="test -f"
3631: as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3632: for as_dir in $PATH
3633: do
3634: IFS=$as_save_IFS
3635: test -z "$as_dir" && as_dir=.
3636: for ac_prog in sed gsed; do
3637: for ac_exec_ext in '' $ac_executable_extensions; do
3638: if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
3639: _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
3640: fi
3641: done
3642: done
3643: done
3644:
3645: # Create a temporary directory, and hook for its removal unless debugging.
3646: $debug ||
3647: {
3648: trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
3649: trap '{ (exit 1); exit 1; }' 1 2 13 15
3650: }
3651:
3652: # Create a (secure) tmp directory for tmp files.
3653: : ${TMPDIR=/tmp}
3654: {
3655: tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
3656: test -n "$tmp" && test -d "$tmp"
3657: } ||
3658: {
3659: tmp=$TMPDIR/sed$$-$RANDOM
3660: (umask 077 && mkdir $tmp)
3661: } ||
3662: {
3663: echo "$me: cannot create a temporary directory in $TMPDIR" >&2
3664: { (exit 1); exit 1; }
3665: }
3666: _max=0
3667: _count=0
3668: # Add /usr/xpg4/bin/sed as it is typically found on Solaris
3669: # along with /bin/sed that truncates output.
3670: for _sed in $_sed_list /usr/xpg4/bin/sed; do
3671: test ! -f ${_sed} && break
3672: cat /dev/null > "$tmp/sed.in"
3673: _count=0
3674: echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
3675: # Check for GNU sed and select it if it is found.
3676: if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
3677: lt_cv_path_SED=${_sed}
3678: break
3679: fi
3680: while true; do
3681: cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
3682: mv "$tmp/sed.tmp" "$tmp/sed.in"
3683: cp "$tmp/sed.in" "$tmp/sed.nl"
3684: echo >>"$tmp/sed.nl"
3685: ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
3686: cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
3687: # 40000 chars as input seems more than enough
3688: test $_count -gt 10 && break
3689: _count=`expr $_count + 1`
3690: if test $_count -gt $_max; then
3691: _max=$_count
3692: lt_cv_path_SED=$_sed
3693: fi
3694: done
3695: done
3696: rm -rf "$tmp"
3697: ])
3698: if test "X$SED" != "X"; then
3699: lt_cv_path_SED=$SED
3700: else
3701: SED=$lt_cv_path_SED
3702: fi
3703: AC_MSG_RESULT([$SED])
3704: ])
3705: ## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*-
3706: ## Copyright (C) 1999-2000 Free Software Foundation, Inc.
3707: ##
3708: ## This program is free software; you can redistribute it and/or modify
3709: ## it under the terms of the GNU General Public License as published by
3710: ## the Free Software Foundation; either version 2 of the License, or
3711: ## (at your option) any later version.
3712: ##
3713: ## This program is distributed in the hope that it will be useful, but
3714: ## WITHOUT ANY WARRANTY; without even the implied warranty of
3715: ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3716: ## General Public License for more details.
3717: ##
3718: ## You should have received a copy of the GNU General Public License
3719: ## along with this program; if not, write to the Free Software
3720: ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3721: ##
3722: ## As a special exception to the GNU General Public License, if you
3723: ## distribute this file as part of a program that contains a
3724: ## configuration script generated by Autoconf, you may include it under
3725: ## the same distribution terms that you use for the rest of that program.
3726:
3727: # serial 5 AC_LIB_LTDL
3728:
3729: # AC_WITH_LTDL
3730: # ------------
3731: # Clients of libltdl can use this macro to allow the installer to
3732: # choose between a shipped copy of the ltdl sources or a preinstalled
3733: # version of the library.
3734: AC_DEFUN([AC_WITH_LTDL],
3735: [AC_REQUIRE([AC_LIB_LTDL])
3736: AC_SUBST([LIBLTDL])
3737: AC_SUBST([INCLTDL])
3738:
3739: # Unless the user asks us to check, assume no installed ltdl exists.
3740: use_installed_libltdl=no
3741:
3742: AC_ARG_WITH([included_ltdl],
3743: [ --with-included-ltdl use the GNU ltdl sources included here])
3744:
3745: if test "x$with_included_ltdl" != xyes; then
3746: # We are not being forced to use the included libltdl sources, so
3747: # decide whether there is a useful installed version we can use.
3748: AC_CHECK_HEADER([ltdl.h],
3749: [AC_CHECK_LIB([ltdl], [lt_dlcaller_register],
3750: [with_included_ltdl=no],
3751: [with_included_ltdl=yes])
3752: ])
3753: fi
3754:
3755: if test "x$enable_ltdl_install" != xyes; then
3756: # If the user did not specify an installable libltdl, then default
3757: # to a convenience lib.
3758: AC_LIBLTDL_CONVENIENCE
3759: fi
3760:
3761: if test "x$with_included_ltdl" = xno; then
3762: # If the included ltdl is not to be used. then Use the
3763: # preinstalled libltdl we found.
3764: AC_DEFINE([HAVE_LTDL], 1,
3765: [Define this if a modern libltdl is already installed])
3766: LIBLTDL=-lltdl
3767: fi
3768:
3769: # Report our decision...
3770: AC_MSG_CHECKING([whether to use included libltdl])
3771: AC_MSG_RESULT([$with_included_ltdl])
3772:
3773: AC_CONFIG_SUBDIRS([libltdl])
3774: ])# AC_WITH_LTDL
3775:
3776:
3777: # AC_LIB_LTDL
3778: # -----------
3779: # Perform all the checks necessary for compilation of the ltdl objects
3780: # -- including compiler checks and header checks.
3781: AC_DEFUN([AC_LIB_LTDL],
3782: [AC_PREREQ(2.13)
3783: AC_REQUIRE([AC_PROG_CC])
3784: AC_REQUIRE([AC_C_CONST])
3785: AC_REQUIRE([AC_HEADER_STDC])
3786: AC_REQUIRE([AC_HEADER_DIRENT])
3787: AC_REQUIRE([AC_LIBTOOL_HEADER_ASSERT])
3788: AC_REQUIRE([_LT_AC_CHECK_DLFCN])
3789: AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])
3790: AC_REQUIRE([AC_LTDL_SHLIBEXT])
3791: AC_REQUIRE([AC_LTDL_SHLIBPATH])
3792: AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])
3793: AC_REQUIRE([AC_LTDL_OBJDIR])
3794: AC_REQUIRE([AC_LTDL_DLPREOPEN])
3795: AC_REQUIRE([AC_LTDL_DLLIB])
3796: AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])
3797: AC_REQUIRE([AC_LTDL_DLSYM_USCORE])
3798: AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS])
3799: AC_REQUIRE([AC_LTDL_FUNC_ARGZ])
3800:
3801: AC_CHECK_HEADERS([errno.h malloc.h memory.h stdlib.h stdio.h ctype.h unistd.h])
3802: AC_CHECK_HEADERS([dl.h sys/dl.h dld.h])
3803: AC_CHECK_HEADERS([string.h strings.h], break)
3804:
3805: AC_CHECK_FUNCS([strchr index], break)
3806: AC_CHECK_FUNCS([strrchr rindex], break)
3807: AC_CHECK_FUNCS([memcpy bcopy], break)
3808: AC_CHECK_FUNCS([memmove strcmp])
3809:
3810: ])# AC_LIB_LTDL
3811:
3812: # AC_LTDL_ENABLE_INSTALL
3813: # ----------------------
3814: AC_DEFUN([AC_LTDL_ENABLE_INSTALL],
3815: [AC_ARG_ENABLE(ltdl-install,
3816: [ --enable-ltdl-install install libltdl])
3817:
3818: AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
3819: AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
3820: ])])# AC_LTDL_ENABLE_INSTALL
3821:
3822: # AC_LTDL_SYS_DLOPEN_DEPLIBS
3823: # --------------------------
3824: AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS],
3825: [AC_REQUIRE([AC_CANONICAL_HOST])
3826: AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
3827: libltdl_cv_sys_dlopen_deplibs, [dnl
3828: # PORTME does your system automatically load deplibs for dlopen()?
3829: libltdl_cv_sys_dlopen_deplibs=unknown
3830: case "$host_os" in
3831: hpux10*|hpux11*)
3832: libltdl_cv_sys_dlopen_deplibs=yes
3833: ;;
3834: linux*)
3835: libltdl_cv_sys_dlopen_deplibs=yes
3836: ;;
3837: netbsd*)
3838: libltdl_cv_sys_dlopen_deplibs=yes
3839: ;;
3840: openbsd*)
3841: libltdl_cv_sys_dlopen_deplibs=yes
3842: ;;
3843: solaris*)
3844: libltdl_cv_sys_dlopen_deplibs=yes
3845: ;;
3846: esac
3847: ])
3848: if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then
3849: AC_DEFINE(LTDL_DLOPEN_DEPLIBS, 1,
3850: [Define if the OS needs help to load dependent libraries for dlopen(). ])
3851: fi
3852: ])# AC_LTDL_SYS_DLOPEN_DEPLIBS
3853:
3854: # AC_LTDL_SHLIBEXT
3855: # ----------------
3856: AC_DEFUN([AC_LTDL_SHLIBEXT],
3857: [AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
3858: AC_CACHE_CHECK([which extension is used for shared libraries],
3859: libltdl_cv_shlibext,
3860: [ac_last=
3861: for ac_spec in $library_names_spec; do
3862: ac_last="$ac_spec"
3863: done
3864: echo "$ac_last" | [sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'] > conftest
3865: libltdl_cv_shlibext=`cat conftest`
3866: rm -f conftest
3867: ])
3868: if test -n "$libltdl_cv_shlibext"; then
3869: AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
3870: [Define to the extension used for shared libraries, say, ".so". ])
3871: fi
3872: ])# AC_LTDL_SHLIBEXT
3873:
3874: # AC_LTDL_SHLIBPATH
3875: # -----------------
3876: AC_DEFUN([AC_LTDL_SHLIBPATH],
3877: [AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
3878: AC_CACHE_CHECK([which variable specifies run-time library path],
3879: libltdl_cv_shlibpath_var, [libltdl_cv_shlibpath_var="$shlibpath_var"])
3880: if test -n "$libltdl_cv_shlibpath_var"; then
3881: AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var",
3882: [Define to the name of the environment variable that determines the dynamic library search path. ])
3883: fi
3884: ])# AC_LTDL_SHLIBPATH
3885:
3886: # AC_LTDL_SYSSEARCHPATH
3887: # ---------------------
3888: AC_DEFUN([AC_LTDL_SYSSEARCHPATH],
3889: [AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
3890: AC_CACHE_CHECK([for the default library search path],
3891: libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
3892: if test -n "$libltdl_cv_sys_search_path"; then
3893: case "$host" in
3894: *-*-mingw*) pathsep=";" ;;
3895: *) pathsep=":" ;;
3896: esac
3897: sys_search_path=
3898: for dir in $libltdl_cv_sys_search_path; do
3899: if test -z "$sys_search_path"; then
3900: sys_search_path="$dir"
3901: else
3902: sys_search_path="$sys_search_path$pathsep$dir"
3903: fi
3904: done
3905: AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
3906: [Define to the system default library search path. ])
3907: fi
3908: ])# AC_LTDL_SYSSEARCHPATH
3909:
3910: # AC_LTDL_OBJDIR
3911: # --------------
3912: AC_DEFUN([AC_LTDL_OBJDIR],
3913: [AC_CACHE_CHECK([for objdir],
3914: libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"
3915: if test -n "$objdir"; then
3916: :
3917: else
3918: rm -f .libs 2>/dev/null
3919: mkdir .libs 2>/dev/null
3920: if test -d .libs; then
3921: libltdl_cv_objdir=.libs
3922: else
3923: # MS-DOS does not allow filenames that begin with a dot.
3924: libltdl_cv_objdir=_libs
3925: fi
3926: rmdir .libs 2>/dev/null
3927: fi])
3928: AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
3929: [Define to the sub-directory in which libtool stores uninstalled libraries. ])
3930: ])# AC_LTDL_OBJDIR
3931:
3932: # AC_LTDL_DLPREOPEN
3933: # -----------------
3934: AC_DEFUN([AC_LTDL_DLPREOPEN],
3935: [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
3936: AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
3937: libltdl_cv_preloaded_symbols, [dnl
3938: if test -n "$global_symbol_pipe"; then
3939: libltdl_cv_preloaded_symbols=yes
3940: else
3941: libltdl_cv_preloaded_symbols=no
3942: fi
3943: ])
3944: if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
3945: AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
3946: [Define if libtool can extract symbol lists from object files. ])
3947: fi
3948: ])# AC_LTDL_DLPREOPEN
3949:
3950: # AC_LTDL_DLLIB
3951: # -------------
3952: AC_DEFUN([AC_LTDL_DLLIB],
3953: [LIBADD_DL=
3954: AC_SUBST(LIBADD_DL)
3955:
3956: AC_CHECK_FUNC([shl_load],
3957: [AC_DEFINE([HAVE_SHL_LOAD], [1],
3958: [Define if you have the shl_load function.])],
3959: [AC_CHECK_LIB([dld], [shl_load],
3960: [AC_DEFINE([HAVE_SHL_LOAD], [1],
3961: [Define if you have the shl_load function.])
3962: LIBADD_DL="$LIBADD_DL -ldld"],
3963: [AC_CHECK_LIB([dl], [dlopen],
3964: [AC_DEFINE([HAVE_LIBDL], [1],
3965: [Define if you have the libdl library or equivalent.])
3966: LIBADD_DL="-ldl"],
3967: [AC_TRY_LINK([#if HAVE_DLFCN_H
3968: # include <dlfcn.h>
3969: #endif
3970: ],
3971: [dlopen(0, 0);],
3972: [AC_DEFINE([HAVE_LIBDL], [1],
3973: [Define if you have the libdl library or equivalent.])],
3974: [AC_CHECK_LIB([svld], [dlopen],
3975: [AC_DEFINE([HAVE_LIBDL], [1],
3976: [Define if you have the libdl library or equivalent.])
3977: LIBADD_DL="-lsvld"],
3978: [AC_CHECK_LIB([dld], [dld_link],
3979: [AC_DEFINE([HAVE_DLD], [1],
3980: [Define if you have the GNU dld library.])
3981: LIBADD_DL="$LIBADD_DL -ldld"
3982: ])
3983: ])
3984: ])
3985: ])
3986: ])
3987: ])
3988:
3989: if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
3990: LIBS_SAVE="$LIBS"
3991: LIBS="$LIBS $LIBADD_DL"
3992: AC_CHECK_FUNCS(dlerror)
3993: LIBS="$LIBS_SAVE"
3994: fi
3995: ])# AC_LTDL_DLLIB
3996:
3997: # AC_LTDL_SYMBOL_USCORE
3998: # ---------------------
3999: AC_DEFUN([AC_LTDL_SYMBOL_USCORE],
4000: [dnl does the compiler prefix global symbols with an underscore?
4001: AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
4002: AC_MSG_CHECKING([for _ prefix in compiled symbols])
4003: AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
4004: [ac_cv_sys_symbol_underscore=no
4005: cat > conftest.$ac_ext <<EOF
4006: void nm_test_func(){}
4007: int main(){nm_test_func;return 0;}
4008: EOF
4009: if AC_TRY_EVAL(ac_compile); then
4010: # Now try to grab the symbols.
4011: ac_nlist=conftest.nm
4012: if AC_TRY_EVAL(NM conftest.$ac_objext \| $global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
4013: # See whether the symbols have a leading underscore.
4014: if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
4015: ac_cv_sys_symbol_underscore=yes
4016: else
4017: if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
4018: :
4019: else
4020: echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
4021: fi
4022: fi
4023: else
4024: echo "configure: cannot run $global_symbol_pipe" >&AC_FD_CC
4025: fi
4026: else
4027: echo "configure: failed program was:" >&AC_FD_CC
4028: cat conftest.c >&AC_FD_CC
4029: fi
4030: rm -rf conftest*
4031: ])
4032: AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
4033: ])# AC_LTDL_SYMBOL_USCORE
4034:
4035:
4036: # AC_LTDL_DLSYM_USCORE
4037: # --------------------
4038: AC_DEFUN([AC_LTDL_DLSYM_USCORE],
4039: [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
4040: if test x"$ac_cv_sys_symbol_underscore" = xyes; then
4041: if test x"$ac_cv_func_dlopen" = xyes ||
4042: test x"$ac_cv_lib_dl_dlopen" = xyes ; then
4043: AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
4044: libltdl_cv_need_uscore, [dnl
4045: libltdl_cv_need_uscore=unknown
4046: save_LIBS="$LIBS"
4047: LIBS="$LIBS $LIBADD_DL"
4048: _LT_AC_TRY_DLOPEN_SELF(
4049: libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
4050: [], libltdl_cv_need_uscore=cross)
4051: LIBS="$save_LIBS"
4052: ])
4053: fi
4054: fi
4055:
4056: if test x"$libltdl_cv_need_uscore" = xyes; then
4057: AC_DEFINE(NEED_USCORE, 1,
4058: [Define if dlsym() requires a leading underscore in symbol names. ])
4059: fi
4060: ])# AC_LTDL_DLSYM_USCORE
4061:
4062:
4063: # AC_CHECK_TYPES(TYPES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
4064: # [INCLUDES])
4065: # ---------------------------------------------------------------
4066: # This macro did not exist in Autoconf 2.13, which we do still support
4067: ifdef([AC_CHECK_TYPES], [],
4068: [define([AC_CHECK_TYPES],
4069: [AC_CACHE_CHECK([for $1], ac_Type,
4070: [AC_TRY_LINK([$4],
4071: [if (($1 *) 0)
4072: return 0;
4073: if (sizeof ($1))
4074: return 0;],
4075: [ac_Type=yes],
4076: [ac_Type=no])])
4077: if test "x$ac_Type" = xyes; then
4078: ifelse([$2], [], [:], [$2])
4079: else
4080: ifelse([$3], [], [:], [$3])
4081: fi])
4082: ])# AC_CHECK_TYPES
4083:
4084:
4085: # AC_LTDL_FUNC_ARGZ
4086: # -----------------
4087: AC_DEFUN([AC_LTDL_FUNC_ARGZ],
4088: [AC_CHECK_HEADERS([argz.h])
4089:
4090: AC_CHECK_TYPES([error_t],
4091: [],
4092: [AC_DEFINE([error_t], [int],
4093: [Define to a type to use for \`error_t' if it is not otherwise available.])],
4094: [#if HAVE_ARGZ_H
4095: # include <argz.h>
4096: #endif])
4097:
4098: AC_CHECK_FUNCS([argz_append argz_create_sep argz_insert argz_next argz_stringify])
4099: ])# AC_LTDL_FUNC_ARGZ
E-mail: