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