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