1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72: PROGRAM=ltmain.sh
73: PACKAGE=libtool
74: VERSION=2.1a
75: TIMESTAMP=" 1.2435 2007/03/18 18:44:42"
76: package_revision=1.2435
77:
78:
79: if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
80: emulate sh
81: NULLCMD=:
82:
83:
84: alias -g '${1+"$@"}'='"$@"'
85: setopt NO_GLOB_SUBST
86: else
87: case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
88: fi
89: BIN_SH=xpg4; export BIN_SH
90: DUALCASE=1; export DUALCASE
91:
92:
93:
94:
95:
96: for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
97: do
98: eval "if test \"\${$lt_var+set}\" = set; then
99: save_$lt_var=\$$lt_var
100: $lt_var=C
101: export $lt_var
102: fi"
103: done
104:
105: $lt_unset CDPATH
106:
107:
108:
109:
110:
111: : ${CP="cp -f"}
112: : ${ECHO="echo"}
113: : ${EGREP="/bin/grep -E"}
114: : ${FGREP="/bin/grep -F"}
115: : ${GREP="/bin/grep"}
116: : ${LN_S="ln -s"}
117: : ${MAKE="make"}
118: : ${MKDIR="mkdir"}
119: : ${MV="mv -f"}
120: : ${RM="rm -f"}
121: : ${SED="/bin/sed"}
122: : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
123: : ${Xsed="$SED -e 1s/^X//"}
124:
125:
126: EXIT_SUCCESS=0
127: EXIT_FAILURE=1
128: EXIT_MISMATCH=63
129: EXIT_SKIP=77
130:
131: exit_status=$EXIT_SUCCESS
132:
133:
134: lt_nl='
135: '
136: IFS=" $lt_nl"
137:
138: dirname="s,/[^/]*$,,"
139: basename="s,^.*/,,"
140:
141:
142:
143:
144:
145:
146: progpath="$0"
147:
148:
149:
150:
151: progname=`$ECHO "X$progpath" | $Xsed -e "$basename" -e 's,^-,./-,'`
152:
153:
154: case $progpath in
155: [\\/]*|[A-Za-z]:\\*) ;;
156: *[\\/]*)
157: progdir=`$ECHO "X$progpath" | $Xsed -e "$dirname"`
158: progdir=`cd "$progdir" && pwd`
159: progpath="$progdir/$progname"
160: ;;
161: *)
162: save_IFS="$IFS"
163: IFS=:
164: for progdir in $PATH; do
165: IFS="$save_IFS"
166: test -x "$progdir/$progname" && break
167: done
168: IFS="$save_IFS"
169: test -n "$progdir" || progdir=`pwd`
170: progpath="$progdir/$progname"
171: ;;
172: esac
173:
174:
175:
176: Xsed="${SED}"' -e 1s/^X//'
177: sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
178:
179:
180: double_quote_subst='s/\(["`\\]\)/\\\1/g'
181:
182:
183:
184:
185:
186:
187: bs='\\'
188: bs2='\\\\'
189: bs4='\\\\\\\\'
190: dollar='\$'
191: sed_double_backslash="\
192: s/$bs4/&\\
193: /g
194: s/^$bs2$dollar/$bs&/
195: s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
196: s/\n//g"
197:
198:
199: opt_dry_run=false
200: opt_help=false
201: opt_quiet=false
202: opt_verbose=false
203:
204:
205:
206:
207: func_echo ()
208: {
209: $ECHO "$progname${mode+: }$mode: "${1+"$@"}
210: }
211:
212:
213:
214: func_verbose ()
215: {
216: $opt_verbose && func_echo ${1+"$@"}
217:
218:
219:
220:
221: :
222: }
223:
224:
225:
226: func_error ()
227: {
228: $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
229: }
230:
231:
232:
233: func_warning ()
234: {
235: $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
236: }
237:
238:
239:
240: func_fatal_error ()
241: {
242: func_error ${1+"$@"}
243: exit $EXIT_FAILURE
244: }
245:
246:
247:
248:
249: func_fatal_help ()
250: {
251: func_error ${1+"$@"}
252: func_fatal_error "$help"
253: }
254: help="Try \`$progname --help' for more information."
255:
256:
257:
258:
259: func_grep ()
260: {
261: $GREP "$1" "$2" >/dev/null 2>&1
262: }
263:
264:
265:
266:
267: func_mkdir_p ()
268: {
269: my_directory_path="$1"
270: my_dir_list=
271:
272: if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
273:
274:
275: case $my_directory_path in
276: -*) my_directory_path="./$my_directory_path" ;;
277: esac
278:
279:
280: while test ! -d "$my_directory_path"; do
281:
282:
283: my_dir_list="$my_directory_path:$my_dir_list"
284:
285:
286: case $my_directory_path in */*) ;; *) break ;; esac
287:
288:
289: my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
290: done
291: my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
292:
293: save_mkdir_p_IFS="$IFS"; IFS=':'
294: for my_dir in $my_dir_list; do
295: IFS="$save_mkdir_p_IFS"
296:
297:
298:
299: $MKDIR "$my_dir" 2>/dev/null || :
300: done
301: IFS="$save_mkdir_p_IFS"
302:
303:
304: test -d "$my_directory_path" || \
305: func_fatal_error "Failed to create \`$1'"
306: fi
307: }
308:
309:
310:
311:
312:
313:
314: func_mktempdir ()
315: {
316: my_template="${TMPDIR-/tmp}/${1-$progname}"
317:
318: if test "$opt_dry_run" = ":"; then
319:
320: my_tmpdir="${my_template}-$$"
321: else
322:
323:
324: my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
325:
326: if test ! -d "$my_tmpdir"; then
327:
328: my_tmpdir="${my_template}-${RANDOM-0}$$"
329:
330: save_mktempdir_umask=`umask`
331: umask 0077
332: $MKDIR "$my_tmpdir"
333: umask $save_mktempdir_umask
334: fi
335:
336:
337: test -d "$my_tmpdir" || \
338: func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
339: fi
340:
341: $ECHO "X$my_tmpdir" | $Xsed
342: }
343:
344:
345:
346:
347:
348:
349:
350:
351: func_quote_for_eval ()
352: {
353: case $1 in
354: *[\\\`\"\$]*)
355: func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
356: *)
357: func_quote_for_eval_unquoted_result="$1" ;;
358: esac
359:
360: case $func_quote_for_eval_unquoted_result in
361:
362:
363:
364:
365:
366: *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
367: func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
368: ;;
369: *)
370: func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
371: esac
372: }
373:
374:
375:
376:
377:
378: func_quote_for_expand ()
379: {
380: case $1 in
381: *[\\\`\"]*)
382: my_arg=`$ECHO "X$1" | $Xsed \
383: -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
384: *)
385: my_arg="$1" ;;
386: esac
387:
388: case $my_arg in
389:
390:
391:
392:
393: *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
394: my_arg="\"$my_arg\""
395: ;;
396: esac
397:
398: func_quote_for_expand_result="$my_arg"
399: }
400:
401:
402:
403:
404:
405:
406: func_show_eval ()
407: {
408: my_cmd="$1"
409: my_fail_exp="${2-:}"
410:
411: ${opt_silent-false} || {
412: func_quote_for_expand "$my_cmd"
413: eval "func_echo $func_quote_for_expand_result"
414: }
415:
416: if ${opt_dry_run-false}; then :; else
417: eval "$my_cmd"
418: my_status=$?
419: if test "$my_status" -eq 0; then :; else
420: eval "(exit $my_status); $my_fail_exp"
421: fi
422: fi
423: }
424:
425:
426:
427:
428:
429:
430:
431: func_version ()
432: {
433: $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
434: s/^# //
435: s/^# *$//
436: s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
437: p
438: }' < "$progpath"
439: exit $?
440: }
441:
442:
443:
444: func_usage ()
445: {
446: $SED -n '/^# Usage:/,/# -h/ {
447: s/^# //
448: s/^# *$//
449: s/\$progname/'$progname'/
450: p
451: }' < "$progpath"
452: $ECHO
453: $ECHO "run \`$progname --help | more' for full usage"
454: exit $?
455: }
456:
457:
458:
459: func_help ()
460: {
461: $SED -n '/^# Usage:/,/# Report bugs to/ {
462: s/^# //
463: s/^# *$//
464: s*\$progname*'$progname'*
465: s*\$host*'"$host"'*
466: s*\$SHELL*'"$SHELL"'*
467: s*\$LTCC*'"$LTCC"'*
468: s*\$LTCFLAGS*'"$LTCFLAGS"'*
469: s*\$LD*'"$LD"'*
470: s/\$with_gnu_ld/'"$with_gnu_ld"'/
471: s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
472: s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
473: p
474: }' < "$progpath"
475: exit $?
476: }
477:
478:
479:
480:
481: func_missing_arg ()
482: {
483: func_error "missing argument for $1"
484: exit_cmd=exit
485: }
486:
487: exit_cmd=:
488:
489:
490:
491:
492:
493:
494: if test "X$1" = X--no-reexec; then
495:
496: shift
497: elif test "X$1" = X--fallback-echo; then
498:
499: :
500: elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
501:
502: :
503: else
504:
505: exec $SHELL "$progpath" --no-reexec ${1+"$@"}
506: fi
507:
508: if test "X$1" = X--fallback-echo; then
509:
510: shift
511: cat <<EOF
512: $*
513: EOF
514: exit $EXIT_SUCCESS
515: fi
516:
517: magic="%%%MAGIC variable%%%"
518:
519:
520:
521:
522: nonopt=
523: execute_dlfiles=
524: preserve_args=
525: lo2o="s/\\.lo\$/.${objext}/"
526: o2lo="s/\\.${objext}\$/.lo/"
527: extracted_archives=
528: extracted_serial=0
529:
530: opt_dry_run=false
531: opt_duplicate_deps=false
532: opt_silent=false
533: opt_debug=:
534:
535:
536:
537:
538: exec_cmd=
539:
540:
541:
542:
543: func_fatal_configuration ()
544: {
545: func_error ${1+"$@"}
546: func_error "See the $PACKAGE documentation for more information."
547: func_fatal_error "Fatal configuration error."
548: }
549:
550:
551:
552:
553: func_config ()
554: {
555: re_begincf='^# ### BEGIN LIBTOOL'
556: re_endcf='^# ### END LIBTOOL'
557:
558:
559: $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
560:
561:
562: for tagname in $taglist; do
563: $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
564: done
565:
566: exit $?
567: }
568:
569:
570:
571: func_features ()
572: {
573: $ECHO "host: $host"
574: if test "$build_libtool_libs" = yes; then
575: $ECHO "enable shared libraries"
576: else
577: $ECHO "disable shared libraries"
578: fi
579: if test "$build_old_libs" = yes; then
580: $ECHO "enable static libraries"
581: else
582: $ECHO "disable static libraries"
583: fi
584:
585: exit $?
586: }
587:
588:
589:
590:
591:
592: func_enable_tag ()
593: {
594:
595: tagname="$1"
596:
597: re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
598: re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
599: sed_extractcf="/$re_begincf/,/$re_endcf/p"
600:
601:
602: case $tagname in
603: *[!-_A-Za-z0-9,/]*)
604: func_fatal_error "invalid tag name: $tagname"
605: ;;
606: esac
607:
608:
609:
610: case $tagname in
611: CC) ;;
612: *)
613: if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
614: taglist="$taglist $tagname"
615:
616:
617:
618:
619:
620: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
621: eval "$extractedcf"
622: else
623: func_error "ignoring unknown tag $tagname"
624: fi
625: ;;
626: esac
627: }
628:
629:
630: func_mode_help ()
631: {
632:
633: case $mode in
634: "")
635:
636:
637: func_help
638: ;;
639:
640: clean)
641: $ECHO \
642: "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
643:
644: Remove files from the build directory.
645:
646: RM is the name of the program to use to delete files associated wit