170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# ltmain.sh - Provide generalized library-building support services.
270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# NOTE: Changing this file will not affect anything until you rerun ltconfig.
370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Copyright (C) 1996-1998 Free Software Foundation, Inc.
570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# This program is free software; you can redistribute it and/or modify
870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# it under the terms of the GNU General Public License as published by
970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# the Free Software Foundation; either version 2 of the License, or
1070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# (at your option) any later version.
1170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
1270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# This program is distributed in the hope that it will be useful, but
1370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# WITHOUT ANY WARRANTY; without even the implied warranty of
1470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# General Public License for more details.
1670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
1770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# You should have received a copy of the GNU General Public License
1870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# along with this program; if not, write to the Free Software
1970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
2170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# As a special exception to the GNU General Public License, if you
2270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# distribute this file as part of a program that contains a
2370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# configuration script generated by Autoconf, you may include it under
2470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# the same distribution terms that you use for the rest of that program.
2570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
2670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# The name of this program.
2770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineprogname=`$echo "$0" | sed 's%^.*/%%'`
2870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinemodename="$progname"
2970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
3070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Constants.
3170a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkinePROGRAM=ltmain.sh
3270a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkinePACKAGE=libtool
3370a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineVERSION=1.2
3470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
3570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedefault_mode=
3670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinehelp="Try \`$progname --help' for more information."
3770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinemagic="%%%MAGIC variable%%%"
3870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinemkdir="mkdir"
3970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinemv="mv -f"
4070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinerm="rm -f"
4170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
4270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Sed substitution that helps us do robust quoting.  It backslashifies
4370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# metacharacters that are still active within double-quoted strings.
4470a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineXsed='sed -e s/^X//'
4570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinesed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
4670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
4770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# NLS nuisances.
4870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Only set LANG and LC_ALL to C if already set.
4970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# These must not be set unconditionally because not all systems understand
5070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# e.g. LANG=C (notably SCO).
5170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
5270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
5370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
5470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test "$LTCONFIG_VERSION" != "$VERSION"; then
5570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
5670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
5770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 1
5870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefi
5970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
6070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
6170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  echo "$modename: not configured to build any kind of library" 1>&2
6270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
6370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 1
6470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefi
6570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
6670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Global variables.
6770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinemode=$default_mode
6870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinenonopt=
6970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineprev=
7070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineprevopt=
7170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinerun=
7270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineshow="$echo"
7370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineshow_help=
7470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineexecute_dlfiles=
7570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
7670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Parse our command line options once, thoroughly.
7770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinewhile test $# -gt 0
7870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedo
7970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  arg="$1"
8070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  shift
8170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
8270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  case "$arg" in
8370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
8470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  *) optarg= ;;
8570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  esac
8670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
8770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # If the previous option needs an argument, assign it.
8870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  if test -n "$prev"; then
8970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$prev" in
9070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    execute_dlfiles)
9170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval "$prev=\"\$$prev \$arg\""
9270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
9370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *)
9470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval "$prev=\$arg"
9570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
9670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
9770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
9870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prev=
9970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prevopt=
10070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    continue
10170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  fi
10270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
10370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Have we seen a non-optional argument yet?
10470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  case "$arg" in
10570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --help)
10670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    show_help=yes
10770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
10870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
10970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --version)
11070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
11170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
11270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
11370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
11470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --dry-run | -n)
11570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    run=:
11670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
11770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
11870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --features)
11970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "host: $host"
12070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_libtool_libs" = yes; then
12170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "enable shared libraries"
12270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
12370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "disable shared libraries"
12470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
12570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_old_libs" = yes; then
12670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "enable static libraries"
12770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
12870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "disable static libraries"
12970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
13070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
13170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
13270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
13370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --finish) mode="finish" ;;
13470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
13570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --mode) prevopt="--mode" prev=mode ;;
13670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --mode=*) mode="$optarg" ;;
13770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
13870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  --quiet | --silent)
13970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    show=:
14070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
14170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
14270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -dlopen)
14370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prevopt="-dlopen"
14470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prev=execute_dlfiles
14570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
14670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
14770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -*)
14870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$modename: unrecognized option \`$arg'" 1>&2
14970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$help" 1>&2
15070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 1
15170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
15270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
15370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  *)
15470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    nonopt="$arg"
15570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    break
15670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
15770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  esac
15870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedone
15970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
16070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test -n "$prevopt"; then
16170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
16270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$help" 1>&2
16370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 1
16470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefi
16570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
16670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test -z "$show_help"; then
16770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
16870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Infer the operation mode.
16970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  if test -z "$mode"; then
17070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$nonopt" in
17170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *cc | *++ | gcc* | *-gcc*)
17270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      mode=link
17370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for arg
17470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      do
17570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$arg" in
17670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        -c)
17770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine           mode=compile
17870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine           break
17970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine           ;;
18070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
18170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
18270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
18370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *db | *dbx)
18470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      mode=execute
18570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
18670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *install*|cp|mv)
18770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      mode=install
18870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
18970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *rm)
19070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      mode=uninstall
19170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
19270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *)
19370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # If we have no mode, but dlfiles were specified, then do execute mode.
19470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$execute_dlfiles" && mode=execute
19570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
19670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Just use the default operation mode.
19770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$mode"; then
19870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$nonopt"; then
19970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
20070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
20170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
20270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
20370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
20470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
20570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
20670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  fi
20770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
20870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Only execute mode is allowed to have -dlopen flags.
20970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  if test -n "$execute_dlfiles" && test "$mode" != execute; then
21070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
21170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$help" 1>&2
21270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 1
21370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  fi
21470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
21570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Change the help message to a mode-specific one.
21670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  generic_help="$help"
21770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  help="Try \`$modename --help --mode=$mode' for more information."
21870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
21970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # These modes are in order of execution frequency so that they run quickly.
22070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  case "$mode" in
22170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool compile mode
22270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  compile)
22370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: compile"
22470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Get the compilation command and the source file.
22570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    base_compile=
22670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    lastarg=
22770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    srcfile="$nonopt"
22870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    suppress_output=
22970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
23070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for arg
23170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
23270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Accept any command-line options.
23370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
23470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -o)
23570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
23670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$help" 1>&2
23770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	exit 1
23870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
23970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
24070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -static)
24170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	build_libtool_libs=no
24270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	build_old_libs=yes
24370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
24470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
24570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
24670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
24770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Accept the current argument as the source file.
24870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      lastarg="$srcfile"
24970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      srcfile="$arg"
25070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
25170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Aesthetically quote the previous argument.
25270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
25370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Backslashify any backslashes, double quotes, and dollar signs.
25470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # These are the only characters that are still specially
25570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # interpreted inside of double-quoted scrings.
25670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
25770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
25870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Double-quote args containing other shell metacharacters.
25970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Many Bourne shells cannot handle close brackets correctly in scan
26070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # sets, so we specify it separately.
26170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$lastarg" in
26270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
26370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	lastarg="\"$lastarg\""
26470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
26570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
26670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
26770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Add the previous argument to base_compile.
26870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$base_compile"; then
26970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	base_compile="$lastarg"
27070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
27170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	base_compile="$base_compile $lastarg"
27270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
27370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
27470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
27570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Get the name of the library object.
27670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
27770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
27870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Recognize several different file suffixes.
27970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    xform='[cCFSfms]'
28070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$libobj" in
28170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.ada) xform=ada ;;
28270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.adb) xform=adb ;;
28370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.ads) xform=ads ;;
28470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.asm) xform=asm ;;
28570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.c++) xform=c++ ;;
28670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.cc) xform=cc ;;
28770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.cpp) xform=cpp ;;
28870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.cxx) xform=cxx ;;
28970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.f90) xform=f90 ;;
29070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.for) xform=for ;;
29170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
29270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
29370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
29470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
29570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$libobj" in
29670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
29770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *)
29870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
29970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
30070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
30170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
30270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
30370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$base_compile"; then
30470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you must specify a compilation command" 1>&2
30570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
30670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
30770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
30870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
30970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Delete any leftover library objects.
31070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_old_libs" = yes; then
31170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $rm $obj $libobj
31270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      trap "$run $rm $obj $libobj; exit 1" 1 2 15
31370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
31470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $rm $libobj
31570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      trap "$run $rm $libobj; exit 1" 1 2 15
31670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
31770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
31870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Only build a PIC object if we are building libtool libraries.
31970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_libtool_libs" = yes; then
32070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Without this assignment, base_compile gets emptied.
32170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fbsd_hideous_sh_bug=$base_compile
32270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
32370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # All platforms use -DPIC, to notify preprocessed assembler code.
32470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$base_compile$pic_flag -DPIC $srcfile"
32570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
32670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
32770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        test -n "$obj" && $run $rm $obj
32870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
32970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
33070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
33170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # If we have no pic_flag, then copy the object into place and finish.
33270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$pic_flag"; then
33370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$LN_S $obj $libobj"
33470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run $LN_S $obj $libobj
33570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit $?
33670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
33770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
33870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Just move the object, then go on to compile the next one
33970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$mv $obj $libobj"
34070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $mv $obj $libobj || exit 1
34170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
34270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Allow error messages only from the first compilation.
34370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      suppress_output=' >/dev/null 2>&1'
34470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
34570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
34670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Only build a position-dependent object if we build old libraries.
34770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_old_libs" = yes; then
34870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Suppress compiler output if we already did a PIC compilation.
34970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$base_compile $srcfile$suppress_output"
35070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if $run eval "$base_compile \$srcfile$suppress_output"; then :
35170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
35270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run $rm $obj $libobj
35370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
35470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
35570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
35670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
35770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Create an invalid libtool object if no PIC, so that we do not
35870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # accidentally link it into a program.
35970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_libtool_libs" != yes; then
36070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "echo timestamp > $libobj"
36170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run eval "echo timestamp > \$libobj" || exit $?
36270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
36370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
36470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
36570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
36670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
36770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool link mode
36870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  link)
36970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: link"
37070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    CC="$nonopt"
37170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    allow_undefined=yes
37270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    compile_command="$CC"
37370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    finalize_command="$CC"
37470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
37570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    compile_shlibpath=
37670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    finalize_shlibpath=
37770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    deplibs=
37870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    dlfiles=
37970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    dlprefiles=
38070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    export_dynamic=no
38170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    hardcode_libdirs=
38270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libobjs=
38370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    link_against_libtool_libs=
38470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ltlibs=
38570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    objs=
38670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prev=
38770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prevarg=
38870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    release=
38970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    rpath=
39070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    perm_rpath=
39170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    temp_rpath=
39270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    vinfo=
39370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
39470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # We need to know -static, to get the right output filenames.
39570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for arg
39670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
39770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
39870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -all-static | -static)
39970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
40070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
40170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
40270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        build_libtool_libs=no
40370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	build_old_libs=yes
40470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        break
40570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
40670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
40770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
40870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
40970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # See if our shared archives depend on static archives.
41070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
41170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
41270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Go through the arguments, transforming them on the way.
41370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for arg
41470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
41570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # If the previous option needs an argument, assign it.
41670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$prev"; then
41770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$prev" in
41870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        output)
41970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          compile_command="$compile_command @OUTPUT@"
42070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          finalize_command="$finalize_command @OUTPUT@"
42170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
42270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
42370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
42470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$prev" in
42570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dlfiles|dlprefiles)
42670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$arg" in
42770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *.la | *.lo) ;;  # We handle these cases below.
42870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *)
42970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            dlprefiles="$dlprefiles $arg"
43070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
43170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            prev=
43270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
43370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
43470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
43570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	release)
43670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  release="-$arg"
43770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  prev=
43870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  continue
43970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  ;;
44070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        rpath)
44170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          rpath="$rpath $arg"
44270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  prev=
44370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  continue
44470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  ;;
44570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *)
44670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          eval "$prev=\"\$arg\""
44770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          prev=
44870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          continue
44970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
45070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
45170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
45270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
45370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      prevarg="$arg"
45470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
45570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
45670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -all-static)
45770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -n "$link_static_flag"; then
45870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          compile_command="$compile_command $link_static_flag"
45970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  finalize_command="$finalize_command $link_static_flag"
46070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
46170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
46270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
46370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
46470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -allow-undefined)
46570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# FIXME: remove this flag sometime in the future.
46670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
46770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
46870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
46970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
47070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -dlopen)
47170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        prev=dlfiles
47270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
47370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
47470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
47570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -dlpreopen)
47670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        prev=dlprefiles
47770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
47870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
47970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
48070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -export-dynamic)
48170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$export_dynamic" != yes; then
48270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          export_dynamic=yes
48370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if test -n "$export_dynamic_flag_spec"; then
48470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    eval arg=\"$export_dynamic_flag_spec\"
48570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  else
48670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    arg=
48770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
48870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
48970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Add the symbol object into the linking commands.
49070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  compile_command="$compile_command @SYMFILE@"
49170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  finalize_command="$finalize_command @SYMFILE@"
49270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
49370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
49470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
49570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -L*)
49670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
49770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$dir" in
49870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        /* | [A-Za-z]:\\*)
49970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Add the corresponding hardcode_libdir_flag, if it is not identical.
50070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
50170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *)
50270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
50370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
50470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
50570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
50670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        deplibs="$deplibs $arg"
50770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
50870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
50970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -l*) deplibs="$deplibs $arg" ;;
51070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
51170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -no-undefined)
51270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	allow_undefined=no
51370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
51470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
51570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
51670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -o) prev=output ;;
51770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
51870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -release)
51970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	prev=release
52070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
52170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
52270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
52370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -rpath)
52470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        prev=rpath
52570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
52670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
52770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
52870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -static)
52970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# If we have no pic_flag, then this is the same as -all-static.
53070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -z "$pic_flag" && test -n "$link_static_flag"; then
53170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          compile_command="$compile_command $link_static_flag"
53270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  finalize_command="$finalize_command $link_static_flag"
53370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
53470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
53570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
53670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
53770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -version-info)
53870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        prev=vinfo
53970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
54070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
54170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
54270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Some other compiler flag.
54370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -* | +*)
54470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Unknown arguments in both finalize_command and compile_command need
54570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# to be aesthetically quoted because they are evaled later.
54670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
54770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	case "$arg" in
54870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
54970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  arg="\"$arg\""
55070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  ;;
55170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	esac
55270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
55370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
55470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.o | *.a)
55570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # A standard object.
55670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        objs="$objs $arg"
55770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
55870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
55970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.lo)
56070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # A library object.
56170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test "$prev" = dlfiles; then
56270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  dlfiles="$dlfiles $arg"
56370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if test "$build_libtool_libs" = yes; then
56470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    prev=
56570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    continue
56670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  else
56770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    # If libtool objects are unsupported, then we need to preload.
56870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    prev=dlprefiles
56970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
57070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
57170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
57270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test "$prev" = dlprefiles; then
57370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Preload the old-style object.
57470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
57570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  prev=
57670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
57770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	libobjs="$libobjs $arg"
57870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
57970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
58070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.la)
58170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # A libtool-controlled library.
58270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
58370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dlname=
58470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        libdir=
58570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        library_names=
58670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        old_library=
58770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
58870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Check to see that this really is a libtool archive.
58970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
59070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
59170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
59270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
59370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
59470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
59570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # If there is no directory component, then add one.
59670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$arg" in
59770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        */* | *\\*) . $arg ;;
59870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *) . ./$arg ;;
59970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
60070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
60170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -z "$libdir"; then
60270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
60370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
60470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
60570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
60670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Get the name of the library we link against.
60770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        linklib=
60870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for l in $old_library $library_names; do
60970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          linklib="$l"
61070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
61170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
61270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -z "$linklib"; then
61370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
61470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
61570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
61670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
61770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Find the relevant object directory and library name.
61870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
61970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
62070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "X$dir" = "X$arg"; then
62170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          dir="$objdir"
62270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
62370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          dir="$dir/$objdir"
62470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
62570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
62670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # This library was specified with -dlopen.
62770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$prev" = dlfiles; then
62870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          dlfiles="$dlfiles $arg"
62970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -z "$dlname"; then
63070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # If there is no dlname, we need to preload.
63170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            prev=dlprefiles
63270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          else
63370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # We should not create a dependency on this library, but we
63470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    # may need any libraries it requires.
63570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    compile_command="$compile_command$dependency_libs"
63670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    finalize_command="$finalize_command$dependency_libs"
63770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            prev=
63870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            continue
63970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
64070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
64170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
64270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # The library was specified with -dlpreopen.
64370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$prev" = dlprefiles; then
64470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Prefer using a static library (so that no silly _DYNAMIC symbols
64570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # are required to link).
64670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$old_library"; then
64770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            dlprefiles="$dlprefiles $dir/$old_library"
64870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          else
64970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            dlprefiles="$dlprefiles $dir/$linklib"
65070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
65170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          prev=
65270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
65370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
65470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
65570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          link_against_libtool_libs="$link_against_libtool_libs $arg"
65670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$shlibpath_var"; then
65770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Make sure the rpath contains only unique directories.
65870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            case "$temp_rpath " in
65970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *" $dir "*) ;;
66070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *) temp_rpath="$temp_rpath $dir" ;;
66170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            esac
66270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
66370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
66470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # This is the magic to use -rpath.
66570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$hardcode_libdir_flag_spec"; then
66670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -n "$hardcode_libdir_separator"; then
66770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              if test -z "$hardcode_libdirs"; then
66870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                # Put the magic libdir with the hardcode flag.
66970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                hardcode_libdirs="$libdir"
67070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                libdir="@HARDCODE_LIBDIRS@"
67170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              else
67270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                # Just accumulate the unique libdirs.
67370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
67470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
67570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  ;;
67670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		*)
67770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
67870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  ;;
67970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		esac
68070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                libdir=
68170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              fi
68270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
68370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
68470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -n "$libdir"; then
68570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              eval flag=\"$hardcode_libdir_flag_spec\"
68670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
68770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command $flag"
68870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              finalize_command="$finalize_command $flag"
68970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
69070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          elif test -n "$runpath_var"; then
69170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Do the same for the permanent run path.
69270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            case "$perm_rpath " in
69370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *" $libdir "*) ;;
69470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *) perm_rpath="$perm_rpath $libdir" ;;
69570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            esac
69670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
69770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
69870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
69970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$hardcode_action" in
70070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          immediate)
70170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test "$hardcode_direct" = no; then
70270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command $dir/$linklib"
70370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            elif test "$hardcode_minus_L" = no; then
70470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command -L$dir -l$name"
70570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            elif test "$hardcode_shlibpath_var" = no; then
70670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_shlibpath="$compile_shlibpath$dir:"
70770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command -l$name"
70870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
70970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
71070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
71170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          relink)
71270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # We need an absolute path.
71370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            case "$dir" in
71470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            /* | [A-Za-z]:\\*) ;;
71570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *)
71670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              absdir=`cd "$dir" && pwd`
71770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              if test -z "$absdir"; then
71870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
71970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                exit 1
72070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              fi
72170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              dir="$absdir"
72270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              ;;
72370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            esac
72470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
72570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test "$hardcode_direct" = yes; then
72670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command $dir/$linklib"
72770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            elif test "$hardcode_minus_L" = yes; then
72870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command -L$dir -l$name"
72970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            elif test "$hardcode_shlibpath_var" = yes; then
73070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_shlibpath="$compile_shlibpath$dir:"
73170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command -l$name"
73270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
73370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
73470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
73570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *)
73670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
73770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            exit 1
73870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
73970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
74070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
74170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Finalize command for both is simple: just hardcode it.
74270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test "$hardcode_direct" = yes; then
74370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            finalize_command="$finalize_command $libdir/$linklib"
74470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          elif test "$hardcode_minus_L" = yes; then
74570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            finalize_command="$finalize_command -L$libdir -l$name"
74670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          elif test "$hardcode_shlibpath_var" = yes; then
74770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            finalize_shlibpath="$finalize_shlibpath$libdir:"
74870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            finalize_command="$finalize_command -l$name"
74970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          else
75070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # We cannot seem to hardcode it, guess we'll fake it.
75170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            finalize_command="$finalize_command -L$libdir -l$name"
75270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
75370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
75470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Transform directly to old archives if we don't build new libraries.
75570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$pic_flag" && test -z "$old_library"; then
75670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $echo "$modename: cannot find static library for \`$arg'" 1>&2
75770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            exit 1
75870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
75970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
76070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Here we assume that one of hardcode_direct or hardcode_minus_L
76170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # is not unsupported.  This is valid on all known static and
76270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # shared platforms.
76370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if test "$hardcode_direct" != unsupported; then
76470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    test -n "$old_library" && linklib="$old_library"
76570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    compile_command="$compile_command $dir/$linklib"
76670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    finalize_command="$finalize_command $dir/$linklib"
76770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  else
76870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    compile_command="$compile_command -L$dir -l$name"
76970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    finalize_command="$finalize_command -L$dir -l$name"
77070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
77170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
77270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
77370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Add in any libraries that this one depends upon.
77470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	compile_command="$compile_command$dependency_libs"
77570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	finalize_command="$finalize_command$dependency_libs"
77670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	continue
77770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
77870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
77970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Some other compiler argument.
78070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
78170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Unknown arguments in both finalize_command and compile_command need
78270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# to be aesthetically quoted because they are evaled later.
78370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
78470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	case "$arg" in
78570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
78670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  arg="\"$arg\""
78770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  ;;
78870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	esac
78970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
79070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
79170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
79270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now actually substitute the argument into the commands.
79370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$arg"; then
79470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	compile_command="$compile_command $arg"
79570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	finalize_command="$finalize_command $arg"
79670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
79770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
79870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
79970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$prev"; then
80070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
80170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
80270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
80370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
80470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
80570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$vinfo" && test -n "$release"; then
80670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
80770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
80870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
80970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
81070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
81170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    oldlib=
81270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    oldobjs=
81370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$output" in
81470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    "")
81570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you must specify an output file" 1>&2
81670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
81770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
81870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
81970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
82070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    */* | *\\*)
82170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: output file \`$output' must have no directory components" 1>&2
82270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
82370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
82470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
82570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.a)
82670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now set the variables for building old libraries.
82770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      build_libtool_libs=no
82870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      build_old_libs=yes
82970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      oldlib="$output"
83070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$rm $oldlib"
83170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $rm $oldlib
83270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
83370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
83470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.la)
83570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Make sure we only generate libraries of the form `libNAME.la'.
83670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$output" in
83770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      lib*) ;;
83870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
83970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
84070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$help" 1>&2
84170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	exit 1
84270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
84370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
84470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
84570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
84670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval libname=\"$libname_spec\"
84770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
84870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # All the library-specific variables (install_libdir is set above).
84970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      library_names=
85070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      old_library=
85170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      dlname=
85270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      current=0
85370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      revision=0
85470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      age=0
85570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
85670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$objs"; then
85770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
85870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
85970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
86070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
86170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # How the heck are we supposed to write a wrapper for a shared library?
86270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$link_against_libtool_libs"; then
86370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
86470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
86570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
86670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
86770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$dlfiles$dlprefiles"; then
86870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
86970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Nullify the symbol file.
87070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
87170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
87270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
87370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
87470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$rpath"; then
87570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
87670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$help" 1>&2
87770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
87870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
87970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
88070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      set dummy $rpath
88170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test $# -gt 2; then
88270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
88370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
88470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      install_libdir="$2"
88570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
88670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Parse the version information argument.
88770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
88870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      set dummy $vinfo
88970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="$save_ifs"
89070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
89170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$5"; then
89270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: too many parameters to \`-version-info'" 1>&2
89370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$help" 1>&2
89470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
89570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
89670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
89770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$2" && current="$2"
89870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$3" && revision="$3"
89970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$4" && age="$4"
90070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
90170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Check that each of the things are valid numbers.
90270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$current" in
90370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      0 | [1-9] | [1-9][0-9]*) ;;
90470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
90570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
90670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
90770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
90870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
90970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
91070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
91170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$revision" in
91270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      0 | [1-9] | [1-9][0-9]*) ;;
91370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
91470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
91570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
91670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
91770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
91870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
91970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
92070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$age" in
92170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      0 | [1-9] | [1-9][0-9]*) ;;
92270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
92370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
92470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
92570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
92670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
92770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
92870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
92970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test $age -gt $current; then
93070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
93170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
93270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
93370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
93470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
93570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Calculate the version variables.
93670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      version_vars="version_type current age revision"
93770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$version_type" in
93870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      none) ;;
93970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
94070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      linux)
94170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        version_vars="$version_vars major versuffix"
94270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        major=`expr $current - $age`
94370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        versuffix="$major.$age.$revision"
94470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
94570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
94670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      osf)
94770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        version_vars="$version_vars versuffix verstring"
94870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        major=`expr $current - $age`
94970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        versuffix="$current.$age.$revision"
95070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        verstring="$versuffix"
95170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
95270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Add in all the interfaces that we are compatible with.
95370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        loop=$age
95470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        while test $loop != 0; do
95570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          iface=`expr $current - $loop`
95670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          loop=`expr $loop - 1`
95770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          verstring="$verstring:${iface}.0"
95870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
95970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
96070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Make executables depend on our current version.
96170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        verstring="$verstring:${current}.0"
96270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
96370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
96470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      sunos)
96570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        version_vars="$version_vars major versuffix"
96670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        major="$current"
96770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        versuffix="$current.$revision"
96870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
96970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
97070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
97170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: unknown library version type \`$version_type'" 1>&2
97270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
97370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
97470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
97570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
97670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
97770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Create the output directory, or remove our outputs if we need to.
97870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -d $objdir; then
97970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
98070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
98170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
98270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$mkdir $objdir"
98370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run $mkdir $objdir
98470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	status=$?
98570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test $status -eq 0 || test -d $objdir; then :
98670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	else
98770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  exit $status
98870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
98970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
99070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
99170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Check to see if the archive will have undefined symbols.
99270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test "$allow_undefined" = yes; then
99370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$allow_undefined_flag" = unsupported; then
99470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
99570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          build_libtool_libs=no
99670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  build_old_libs=yes
99770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
99870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
99970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Don't allow undefined symbols.
100070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        allow_undefined_flag="$no_undefined_flag"
100170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
100270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
100370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Add libc to deplibs on all systems.
100470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      dependency_libs="$deplibs"
100570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      deplibs="$deplibs -lc"
100670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
100770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test "$build_libtool_libs" = yes; then
100870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Get the real and link names of the library.
100970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        eval library_names=\"$library_names_spec\"
101070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        set dummy $library_names
101170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        realname="$2"
101270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        shift; shift
101370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
101470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$soname_spec"; then
101570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          eval soname=\"$soname_spec\"
101670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
101770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          soname="$realname"
101870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
101970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
102070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        lib="$objdir/$realname"
102170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	for link
102270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	do
102370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  linknames="$linknames $link"
102470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	done
102570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
102670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Use standard objects if they are PIC.
102770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
102870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
102970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Do each of the archive commands.
103070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        eval cmds=\"$archive_cmds\"
103170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
103270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for cmd in $cmds; do
103370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="$save_ifs"
103470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "$cmd"
103570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval "$cmd" || exit $?
103670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
103770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="$save_ifs"
103870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
103970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Create links to the real library.
104070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for linkname in $linknames; do
104170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "(cd $objdir && $LN_S $realname $linkname)"
104270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
104370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
104470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
104570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # If -export-dynamic was specified, set the dlname.
104670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$export_dynamic" = yes; then
104770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # On all known operating systems, these are identical.
104870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          dlname="$soname"
104970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
105070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
105170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
105270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now set the variables for building old libraries.
105370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      oldlib="$objdir/$libname.a"
105470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
105570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
105670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.lo | *.o)
105770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$link_against_libtool_libs"; then
105870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
105970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
106070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
106170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
106270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$deplibs"; then
106370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
106470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
106570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
106670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$dlfiles$dlprefiles"; then
106770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
106870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Nullify the symbol file.
106970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
107070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
107170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
107270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
107370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$rpath"; then
107470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
107570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
107670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
107770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$vinfo"; then
107870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
107970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
108070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
108170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$release"; then
108270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
108370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
108470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
108570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$output" in
108670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.lo)
108770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$objs"; then
108870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
108970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
109070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
109170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        libobj="$output"
109270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
109370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
109470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
109570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        libobj=
109670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        obj="$output"
109770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
109870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
109970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
110070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Delete the old objects.
110170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $rm $obj $libobj
110270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
110370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Create the old-style object.
110470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
110570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
110670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      output="$obj"
110770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval cmds=\"$reload_cmds\"
110870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
110970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for cmd in $cmds; do
111070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="$save_ifs"
111170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$cmd"
111270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$cmd" || exit $?
111370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
111470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="$save_ifs"
111570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
111670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Exit if we aren't doing a library object file.
111770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -z "$libobj" && exit 0
111870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
111970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test "$build_libtool_libs" != yes; then
112070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Create an invalid libtool object if no PIC, so that we don't
112170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # accidentally link it into a program.
112270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "echo timestamp > $libobj"
112370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "echo timestamp > $libobj" || exit $?
112470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 0
112570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
112670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
112770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$pic_flag"; then
112870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Only do commands if we really have different PIC objects.
112970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        reload_objs="$libobjs"
113070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        output="$libobj"
113170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        eval cmds=\"$reload_cmds\"
113270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
113370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for cmd in $cmds; do
113470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="$save_ifs"
113570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "$cmd"
113670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval "$cmd" || exit $?
113770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
113870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="$save_ifs"
113970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
114070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Just create a symlink.
114170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$LN_S $obj $libobj"
114270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run $LN_S $obj $libobj || exit 1
114370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
114470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
114570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 0
114670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
114770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
114870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *)
114970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$vinfo"; then
115070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
115170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
115270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
115370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$release"; then
115470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
115570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
115670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
115770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$rpath"; then
115870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# If the user specified any rpath flags, then add them.
115970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	for libdir in $rpath; do
116070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$hardcode_libdir_flag_spec"; then
116170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -n "$hardcode_libdir_separator"; then
116270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              if test -z "$hardcode_libdirs"; then
116370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                # Put the magic libdir with the hardcode flag.
116470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                hardcode_libdirs="$libdir"
116570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                libdir="@HARDCODE_LIBDIRS@"
116670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              else
116770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                # Just accumulate the unique libdirs.
116870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
116970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
117070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  ;;
117170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		*)
117270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
117370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		  ;;
117470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine		esac
117570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                libdir=
117670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              fi
117770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
117870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
117970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -n "$libdir"; then
118070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              eval flag=\"$hardcode_libdir_flag_spec\"
118170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
118270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              compile_command="$compile_command $flag"
118370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              finalize_command="$finalize_command $flag"
118470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
118570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          elif test -n "$runpath_var"; then
118670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            case "$perm_rpath " in
118770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *" $libdir "*) ;;
118870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            *) perm_rpath="$perm_rpath $libdir" ;;
118970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            esac
119070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
119170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	done
119270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
119370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
119470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Substitute the hardcoded libdirs into the compile commands.
119570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$hardcode_libdir_separator"; then
119670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
119770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
119870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
119970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
120070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$libobjs" && test "$build_old_libs" = yes; then
120170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Transform all the library objects into standard objects.
120270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
120370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
120470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
120570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
120670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
120770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dlsyms="${output}S.c"
120870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
120970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dlsyms=
121070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
121170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
121270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$dlsyms"; then
121370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Add our own program objects to the preloaded list.
121470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
121570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
121670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Discover the nlist of each of the dlfiles.
121770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        nlist="$objdir/${output}.nm"
121870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
121970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -d $objdir; then
122070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $show "$rm $nlist ${nlist}T"
122170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $run $rm "$nlist" "${nlist}T"
122270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	else
122370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $show "$mkdir $objdir"
122470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $run $mkdir $objdir
122570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  status=$?
122670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if test $status -eq 0 || test -d $objdir; then :
122770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  else
122870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    exit $status
122970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
123070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
123170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
123270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for arg in $dlprefiles; do
123370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $show "extracting global C symbols from \`$arg'"
123470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
123570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
123670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
123770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Parse the name list into a source file.
123870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "creating $objdir/$dlsyms"
123970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -z "$run"; then
124070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Make sure we at least have an empty file.
124170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  test -f "$nlist" || : > "$nlist"
124270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
124370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Try sorting and uniquifying the output.
124470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if sort "$nlist" | uniq > "$nlist"T; then
124570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    mv -f "$nlist"T "$nlist"
124670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    wcout=`wc "$nlist" 2>/dev/null`
124770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    count=`echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
124870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    (test "$count" -ge 0) 2>/dev/null || count=-1
124970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  else
125070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $rm "$nlist"T
125170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    count=-1
125270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
125370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
125470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  case "$dlsyms" in
125570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  "") ;;
125670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  *.c)
125770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $echo > "$objdir/$dlsyms" "\
125870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
125970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
126070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
126170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#ifdef __cplusplus
126270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineextern \"C\" {
126370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#endif
126470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
126570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Prevent the only kind of declaration conflicts we can make. */
126670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define dld_preloaded_symbol_count some_other_symbol
126770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define dld_preloaded_symbols some_other_symbol
126870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
126970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* External symbol declarations for the compiler. */\
127070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
127170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
127270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    if test -f "$nlist"; then
127370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
127470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    else
127570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      echo '/* NONE */' >> "$objdir/$dlsyms"
127670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    fi
127770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
127870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $echo >> "$objdir/$dlsyms" "\
127970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
128070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef dld_preloaded_symbol_count
128170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef dld_preloaded_symbols
128270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
128370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#if defined (__STDC__) && __STDC__
128470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# define __ptr_t void *
128570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#else
128670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# define __ptr_t char *
128770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#endif
128870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
128970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
129070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineint dld_preloaded_symbol_count = $count;
129170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
129270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* The mapping between symbol names and symbols. */
129370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinestruct {
129470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  char *name;
129570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  __ptr_t address;
129670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine}
129770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedld_preloaded_symbols[] =
129870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine{\
129970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
130070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
130170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    if test -f "$nlist"; then
130270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
130370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    fi
130470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
130570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $echo >> "$objdir/$dlsyms" "\
130670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  {0, (__ptr_t) 0}
130770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine};
130870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
130970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#ifdef __cplusplus
131070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine}
131170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#endif\
131270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
131370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    ;;
131470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
131570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  *)
131670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
131770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    exit 1
131870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    ;;
131970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  esac
132070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
132170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
132270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Now compile the dynamic symbol file.
132370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
132470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
132570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
132670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Transform the symbol file into the correct name.
132770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
132870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
132970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      elif test "$export_dynamic" != yes; then
133070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
133170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
133270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # We keep going just in case the user didn't refer to
133370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
133470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # really was required.
133570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
133670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
133770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Nullify the symbol file.
133870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
133970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
134070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
134170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
134270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
134370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Replace the output file specification.
134470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
134570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
134670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
134770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # We have no uninstalled library dependencies, so finalize right now.
134870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$compile_command"
134970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$compile_command"
135070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit $?
135170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
135270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
135370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Replace the output file specification.
135470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
135570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
135670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
135770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Create the binary in the object directory, then wrap it.
135870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -d $objdir; then :
135970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
136070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$mkdir $objdir"
136170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$run $mkdir $objdir
136270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	status=$?
136370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test $status -eq 0 || test -d $objdir; then :
136470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	else
136570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  exit $status
136670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
136770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
136870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
136970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$shlibpath_var"; then
137070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # We should set the shlibpath_var
137170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        rpath=
137270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for dir in $temp_rpath; do
137370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$dir" in
137470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          /* | [A-Za-z]:\\*)
137570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Absolute path.
137670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            rpath="$rpath$dir:"
137770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
137870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *)
137970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Relative path: add a thisdir entry.
138070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            rpath="$rpath\$thisdir/$dir:"
138170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            ;;
138270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
138370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
138470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        temp_rpath="$rpath"
138570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
138670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
138770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Delete the old output file.
138870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run $rm $output
138970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
139070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$compile_shlibpath"; then
139170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
139270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
139370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$finalize_shlibpath"; then
139470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
139570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
139670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
139770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$runpath_var" && test -n "$perm_rpath"; then
139870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # We should set the runpath_var.
139970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        rpath=
140070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        for dir in $perm_rpath; do
140170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          rpath="$rpath$dir:"
140270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        done
140370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
140470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
140570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
140670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
140770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$hardcode_action" in
140870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      relink)
140970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # AGH! Flame the AIX and HP-UX people for me, will ya?
141070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: warning: using a buggy system linker" 1>&2
141170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
141270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
141370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
141470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
141570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$compile_command"
141670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run eval "$compile_command" || exit $?
141770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
141870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now create the wrapper script.
141970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "creating $output"
142070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
142170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Quote the finalize command for shipping.
142270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
142370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
142470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Quote $echo for shipping.
142570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
142670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
142770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Only actually do things if our run command is non-null.
142870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$run"; then
142970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $rm $output
143070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        trap "$rm $output; exit 1" 1 2 15
143170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
143270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo > $output "\
143370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#! /bin/sh
143470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
143570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# $output - temporary wrapper script for $objdir/$output
143670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Generated by ltmain.sh - GNU $PACKAGE $VERSION
143770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
143870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# The $output program cannot be directly executed until all the libtool
143970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# libraries that it depends on are installed.
144070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#
144170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# This wrapper script should never be moved out of \``pwd`'.
144270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# If it is, it will not operate correctly.
144370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
144470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Sed substitution that helps us do robust quoting.  It backslashifies
144570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# metacharacters that are still active within double-quoted strings.
144670a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineXsed='sed -e s/^X//'
144770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinesed_quote_subst='$sed_quote_subst'
144870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
144970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# The HP-UX ksh and POSIX shell print the target directory to stdout
145070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# if CDPATH is set.
145170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
145270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
145370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# This environment variable determines our operation mode.
145470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineif test \"\$libtool_install_magic\" = \"$magic\"; then
145570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # install mode needs the following variables:
145670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  link_against_libtool_libs='$link_against_libtool_libs'
145770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  finalize_command=\"$finalize_command\"
145870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineelse
145970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # When we are sourced in execute mode, \$file and \$echo are already set.
146070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
146170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  else
146270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo=\"$qecho\"
146370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    file=\"\$0\"
146470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  fi\
146570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
146670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo >> $output "\
146770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
146870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Find the directory that this script lives in.
146970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
147070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
147170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
147270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Follow symbolic links until we get to the real thisdir.
147370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
147470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  while test -n \"\$file\"; do
147570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
147670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
147770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # If there was a directory component, then change thisdir.
147870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test \"x\$destdir\" != \"x\$file\"; then
147970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case \"\$destdir\" in
148070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
148170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *) thisdir=\"\$thisdir/\$destdir\" ;;
148270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
148370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
148470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
148570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
148670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
148770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  done
148870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
148970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # Try to get the absolute directory name.
149070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  absdir=\`cd \"\$thisdir\" && pwd\`
149170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  test -n \"\$absdir\" && thisdir=\"\$absdir\"
149270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
149370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  progdir=\"\$thisdir/$objdir\"
149470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  program='$output'
149570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
149670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  if test -f \"\$progdir/\$program\"; then"
149770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
149870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Export our shlibpath_var if we have one.
149970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
150070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo >> $output "\
150170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Add our own library path to $shlibpath_var
150270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
150370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
150470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Some systems cannot cope with colon-terminated $shlibpath_var
150570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
150670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
150770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    export $shlibpath_var
150870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
150970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
151070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
151170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo >> $output "\
151270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test \"\$libtool_execute_magic\" != \"$magic\"; then
151370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Run the actual program with our arguments.
151470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
151570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Export the path to the program.
151670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      PATH=\"\$progdir:\$PATH\"
151770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      export PATH
151870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
151970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exec \$program \${1+\"\$@\"}
152070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
152170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
152270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
152370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
152470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  else
152570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # The program doesn't exist.
152670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
152770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    \$echo \"This script is just a wrapper for \$program.\" 1>&2
152870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo \"See the $PACKAGE documentation for more information.\" 1>&2
152970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 1
153070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  fi
153170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefi\
153270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
153370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        chmod +x $output
153470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
153570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 0
153670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
153770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
153870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
153970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # See if we need to build an old-fashioned archive.
154070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$build_old_libs" = "yes"; then
154170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Transform .lo files to .o files.
154270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
154370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
154470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Do each command in the archive commands.
154570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
154670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	eval cmds=\"$old_archive_from_new_cmds\"
154770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
154870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	eval cmds=\"$old_archive_cmds\"
154970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
155070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
155170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for cmd in $cmds; do
155270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="$save_ifs"
155370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$cmd"
155470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$cmd" || exit $?
155570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
155670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="$save_ifs"
155770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
155870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
155970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Now create the libtool archive.
156070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$output" in
156170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *.la)
156270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      old_library=
156370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test "$build_old_libs" = yes && old_library="$libname.a"
156470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
156570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "creating $output"
156670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
156770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Only create the output if not a dry run.
156870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$run"; then
156970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo > $output "\
157070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# $output - a libtool library file
157170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Generated by ltmain.sh - GNU $PACKAGE $VERSION
157270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
157370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# The name that we can dlopen(3).
157470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedlname='$dlname'
157570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
157670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Names of this library.
157770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinelibrary_names='$library_names'
157870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
157970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# The name of the static archive.
158070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineold_library='$old_library'
158170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
158270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Libraries that this one depends upon.
158370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedependency_libs='$dependency_libs'
158470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
158570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Version information for $libname.
158670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinecurrent=$current
158770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineage=$age
158870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinerevision=$revision
158970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
159070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Directory that this library needs to be installed in:
159170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinelibdir='$install_libdir'\
159270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"
159370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
159470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
159570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Do a symbolic link so that the libtool archive can be found in
159670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # LD_LIBRARY_PATH before the program is installed.
159770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "(cd $objdir && $LN_S ../$output $output)"
159870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
159970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
160070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
160170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
160270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
160370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
160470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool install mode
160570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  install)
160670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: install"
160770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
160870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # There may be an optional /bin/sh argument at the beginning of
160970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # install_prog (especially on Windows NT).
161070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test "$nonopt" = "$SHELL"; then
161170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Aesthetically quote it.
161270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
161370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
161470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
161570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	arg="\"$arg\""
161670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
161770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
161870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      install_prog="$arg "
161970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      arg="$1"
162070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      shift
162170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
162270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      install_prog=
162370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      arg="$nonopt"
162470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
162570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
162670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # The real first argument should be the name of the installation program.
162770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Aesthetically quote it.
162870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
162970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$arg" in
163070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
163170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      arg="\"$arg\""
163270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
163370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
163470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    install_prog="$install_prog$arg"
163570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
163670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # We need to accept at least all the BSD install flags.
163770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    dest=
163870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    files=
163970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    opts=
164070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    prev=
164170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    install_type=
164270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    isdir=
164370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    stripme=
164470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for arg
164570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
164670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -n "$dest"; then
164770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        files="$files $dest"
164870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dest="$arg"
164970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
165070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
165170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
165270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
165370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -d) isdir=yes ;;
165470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -f) prev="-f" ;;
165570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -g) prev="-g" ;;
165670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -m) prev="-m" ;;
165770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -o) prev="-o" ;;
165870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -s)
165970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        stripme=" -s"
166070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
166170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
166270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -*) ;;
166370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
166470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
166570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # If the previous option needed an argument, then skip it.
166670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$prev"; then
166770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          prev=
166870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
166970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          dest="$arg"
167070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          continue
167170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
167270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
167370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
167470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
167570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Aesthetically quote the argument.
167670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
167770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
167870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
167970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	arg="\"$arg\""
168070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
168170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
168270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      install_prog="$install_prog $arg"
168370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
168470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
168570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$install_prog"; then
168670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you must specify an install program" 1>&2
168770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
168870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
168970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
169070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
169170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$prev"; then
169270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: the \`$prev' option requires an argument" 1>&2
169370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
169470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
169570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
169670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
169770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$files"; then
169870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -z "$dest"; then
169970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: no file or destination specified" 1>&2
170070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
170170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: you must specify a destination" 1>&2
170270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
170370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
170470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
170570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
170670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
170770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Strip any trailing slash from the destination.
170870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
170970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
171070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Check to see that the destination is a directory.
171170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    test -d "$dest" && isdir=yes
171270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$isdir"; then
171370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      destdir="$dest"
171470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      destname=
171570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
171670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
171770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test "X$destdir" = "X$dest" && destdir=.
171870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
171970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
172070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Not a directory, so check to see that there is only one file specified.
172170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      set dummy $files
172270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test $# -gt 2; then
172370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$modename: \`$dest' is not a directory" 1>&2
172470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $echo "$help" 1>&2
172570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 1
172670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
172770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
172870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    case "$destdir" in
172970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    /* | [A-Za-z]:\\*) ;;
173070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    *)
173170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for file in $files; do
173270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$file" in
173370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *.lo) ;;
173470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *)
173570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
173670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$help" 1>&2
173770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
173870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
173970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
174070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
174170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      ;;
174270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    esac
174370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
174470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # This variable tells wrapper scripts just to set variables rather
174570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # than running their programs.
174670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libtool_install_magic="$magic"
174770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
174870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    staticlibs=
174970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    future_libdirs=
175070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    current_libdirs=
175170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for file in $files; do
175270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
175370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Do each installation.
175470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$file" in
175570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.a)
175670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Do the static libraries later.
175770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        staticlibs="$staticlibs $file"
175870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
175970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
176070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.la)
176170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Check to see that this really is a libtool archive.
176270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
176370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
176470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
176570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$help" 1>&2
176670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
176770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
176870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
176970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        library_names=
177070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        old_library=
177170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # If there is no directory component, then add one.
177270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$file" in
177370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        */* | *\\*) . $file ;;
177470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *) . ./$file ;;
177570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
177670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
177770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Add the libdir to current_libdirs if it is the destination.
177870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "X$destdir" = "X$libdir"; then
177970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$current_libdirs " in
178070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *" $libdir "*) ;;
178170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *) current_libdirs="$current_libdirs $libdir" ;;
178270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
178370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
178470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Note the libdir as a future libdir.
178570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$future_libdirs " in
178670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *" $libdir "*) ;;
178770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *) future_libdirs="$future_libdirs $libdir" ;;
178870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
178970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
179070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
179170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
179270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        test "X$dir" = "X$file/" && dir=
179370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        dir="$dir$objdir"
179470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
179570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # See the names of the shared library.
179670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        set dummy $library_names
179770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$2"; then
179870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          realname="$2"
179970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          shift
180070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          shift
180170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
180270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Install the shared library and build the symlinks.
180370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "$install_prog $dir/$realname $destdir/$realname"
180470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
180570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          test "X$dlname" = "X$realname" && dlname=
180670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
180770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test $# -gt 0; then
180870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Delete the old symlinks.
180970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            rmcmd="$rm"
181070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            for linkname
181170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            do
181270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              rmcmd="$rmcmd $destdir/$linkname"
181370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            done
181470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $show "$rmcmd"
181570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $run $rmcmd
181670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
181770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # ... and create new ones.
181870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            for linkname
181970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            do
182070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              test "X$dlname" = "X$linkname" && dlname=
182170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $show "(cd $destdir && $LN_S $realname $linkname)"
182270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $run eval "(cd $destdir && $LN_S $realname $linkname)"
182370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            done
182470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
182570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
182670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$dlname"; then
182770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Install the dynamically-loadable library.
182870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $show "$install_prog $dir/$dlname $destdir/$dlname"
182970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
183070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
183170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
183270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Do each command in the postinstall commands.
183370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          lib="$destdir/$realname"
183470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          eval cmds=\"$postinstall_cmds\"
183570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
183670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          for cmd in $cmds; do
183770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            IFS="$save_ifs"
183870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $show "$cmd"
183970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $run eval "$cmd" || exit $?
184070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          done
184170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="$save_ifs"
184270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
184370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
184470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Install the pseudo-library for information purposes.
184570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
184670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$install_prog $file $destdir/$name"
184770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$install_prog $file $destdir/$name" || exit $?
184870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
184970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Maybe install the static library, too.
185070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
185170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
185270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
185370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.lo)
185470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Install (i.e. copy) a libtool object.
185570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
185670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Figure out destination file name, if it wasn't already specified.
185770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$destname"; then
185870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          destfile="$destdir/$destname"
185970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
186070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
186170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          destfile="$destdir/$destfile"
186270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
186370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
186470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Deduce the name of the destination old-style object file.
186570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        case "$destfile" in
186670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *.lo)
186770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
186870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
186970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *.o)
187070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          staticdest="$destfile"
187170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          destfile=
187270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
187370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *)
187470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
187570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$help" 1>&2
187670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
187770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          ;;
187870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        esac
187970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
188070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Install the libtool object if requested.
188170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test -n "$destfile"; then
188270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "$install_prog $file $destfile"
188370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval "$install_prog $file $destfile" || exit $?
188470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
188570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
188670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Install the old object if enabled.
188770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$build_old_libs" = yes; then
188870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Deduce the name of the old-style object file.
188970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
189070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
189170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $show "$install_prog $staticobj $staticdest"
189270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
189370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
189470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        exit 0
189570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
189670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
189770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
189870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Do a test to see if this is really a libtool program.
189970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
190070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          link_against_libtool_libs=
190170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          finalize_command=
190270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
190370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # If there is no directory component, then add one.
190470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          case "$file" in
190570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          */* | *\\*) . $file ;;
190670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          *) . ./$file ;;
190770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          esac
190870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
190970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Check the variables that should have been set.
191070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
191170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
191270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            exit 1
191370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
191470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
191570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          finalize=yes
191670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          for lib in $link_against_libtool_libs; do
191770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Check to see that each library is installed.
191870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            libdir=
191970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -f "$lib"; then
192070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              # If there is no directory component, then add one.
192170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              case "$lib" in
192270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              */* | *\\*) . $lib ;;
192370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              *) . ./$lib ;;
192470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              esac
192570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
192670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
192770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test -z "$libdir"; then
192870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
192970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            elif test -f "$libfile"; then :
193070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            else
193170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
193270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              finalize=no
193370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
193470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          done
193570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
193670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test "$hardcode_action" = relink; then
193770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            if test "$finalize" = yes; then
193870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
193970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $show "$finalize_command"
194070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              if $run eval "$finalize_command"; then :
194170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              else
194270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
194370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                continue
194470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              fi
194570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              file="$objdir/$file"T
194670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            else
194770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
194870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            fi
194970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          else
195070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            # Install the binary that we compiled earlier.
195170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
195270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          fi
195370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
195470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
195570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$install_prog$stripme $file $dest"
195670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$install_prog\$stripme \$file \$dest" || exit $?
195770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
195870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
195970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
196070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
196170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for file in $staticlibs; do
196270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
196370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
196470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Set up the ranlib parameters.
196570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      oldlib="$destdir/$name"
196670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
196770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $show "$install_prog $file $oldlib"
196870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $run eval "$install_prog \$file \$oldlib" || exit $?
196970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
197070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Do each command in the postinstall commands.
197170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval cmds=\"$old_postinstall_cmds\"
197270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
197370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for cmd in $cmds; do
197470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        IFS="$save_ifs"
197570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $show "$cmd"
197670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        $run eval "$cmd" || exit $?
197770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
197870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      IFS="$save_ifs"
197970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
198070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
198170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$future_libdirs"; then
198270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
198370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
198470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
198570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$current_libdirs"; then
198670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Maybe just do a dry run.
198770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$run" && current_libdirs=" -n$current_libdirs"
198870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exec $SHELL $0 --finish$current_libdirs
198970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
199070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
199170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
199270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
199370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
199470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
199570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool finish mode
199670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  finish)
199770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: finish"
199870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libdirs="$nonopt"
199970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
200070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
200170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for dir
200270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      do
200370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        libdirs="$libdirs $dir"
200470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
200570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
200670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      for libdir in $libdirs; do
200770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -n "$finish_cmds"; then
200870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Do each command in the finish commands.
200970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  eval cmds=\"$finish_cmds\"
201070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
201170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          for cmd in $cmds; do
201270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            IFS="$save_ifs"
201370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $show "$cmd"
201470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            $run eval "$cmd"
201570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          done
201670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          IFS="$save_ifs"
201770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
201870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -n "$finish_eval"; then
201970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Do the single finish_eval.
202070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  eval cmds=\"$finish_eval\"
202170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $run eval "$cmds"
202270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
202370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      done
202470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
202570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
202670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "------------------------------------------------------------------------------"
202770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "Libraries have been installed in:"
202870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for libdir in $libdirs; do
202970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "   $libdir"
203070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
203170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo
203270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "To link against installed libraries in a given directory, LIBDIR,"
203370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "you must use the \`-LLIBDIR' flag during linking."
203470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo
203570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo " You will also need to do one of the following:"
203670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$shlibpath_var"; then
203770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
203870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "     during execution"
203970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
204070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$runpath_var"; then
204170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
204270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "     during linking"
204370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
204470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -n "$hardcode_libdir_flag_spec"; then
204570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      libdir=LIBDIR
204670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval flag=\"$hardcode_libdir_flag_spec\"
204770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
204870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "   - use the \`$flag' linker flag"
204970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
205070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -f /etc/ld.so.conf; then
205170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
205270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
205370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo
205470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "See any operating system documentation about shared libraries for"
205570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "more information, such as the ld(1) and ld.so(8) manual pages."
205670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    echo "------------------------------------------------------------------------------"
205770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
205870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
205970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
206070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool execute mode
206170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  execute)
206270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: execute"
206370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
206470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # The first argument is the command name.
206570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    cmd="$nonopt"
206670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$cmd"; then
206770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you must specify a COMMAND" 1>&2
206870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help"
206970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
207070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
207170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
207270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Handle -dlopen flags immediately.
207370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for file in $execute_dlfiles; do
207470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if test -f "$file"; then :
207570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
207670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: \`$file' is not a file" 1>&2
207770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$help" 1>&2
207870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	exit 1
207970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
208070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
208170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      dir=
208270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$file" in
208370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.la)
208470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Check to see that this really is a libtool archive.
208570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
208670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        else
208770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
208870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          $echo "$help" 1>&2
208970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          exit 1
209070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
209170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
209270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Read the libtool library.
209370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	dlname=
209470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	library_names=
209570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
209670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # If there is no directory component, then add one.
209770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	case "$file" in
209870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	*/* | *\\*) . $file ;;
209970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        *) . ./$file ;;
210070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	esac
210170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
210270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Skip this library if it cannot be dlopened.
210370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -z "$dlname"; then
210470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Warn if it was a shared library.
210570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
210670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  continue
210770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
210870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
210970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
211070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	test "X$dir" = "X$file" && dir=.
211170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
211270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	if test -f "$dir/$objdir/$dlname"; then
211370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  dir="$dir/$objdir"
211470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	else
211570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
211670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  exit 1
211770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
211870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
211970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
212070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.lo)
212170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	# Just add the directory containing the .lo file.
212270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
212370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	test "X$dir" = "X$file" && dir=.
212470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
212570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
212670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
212770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
212870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        continue
212970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
213070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
213170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
213270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Get the absolute pathname.
213370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      absdir=`cd "$dir" && pwd`
213470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test -n "$absdir" && dir="$absdir"
213570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
213670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now add the directory to shlibpath_var.
213770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      if eval "test -z \"\$$shlibpath_var\""; then
213870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	eval "$shlibpath_var=\"\$dir\""
213970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      else
214070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
214170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      fi
214270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
214370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
214470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # This variable tells wrapper scripts just to set shlibpath_var
214570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # rather than running their programs.
214670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    libtool_execute_magic="$magic"
214770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
214870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    # Check if any of the arguments is a wrapper script.
214970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    args=
215070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for file
215170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
215270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$file" in
215370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -*) ;;
215470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
215570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Do a test to see if this is really a libtool program.
215670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
215770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # If there is no directory component, then add one.
215870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  case "$file" in
215970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  */* | *\\*) . $file ;;
216070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  *) . ./$file ;;
216170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  esac
216270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
216370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  # Transform arg to wrapped name.
216470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  file="$progdir/$program"
216570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	fi
216670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
216770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
216870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Quote arguments (to preserve shell metacharacters).
216970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
217070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      args="$args \"$file\""
217170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
217270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
217370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$run"; then
217470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Export the shlibpath_var.
217570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval "export $shlibpath_var"
217670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
217770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Now actually exec the command.
217870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval "exec \$cmd$args"
217970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
218070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: cannot exec \$cmd$args"
218170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
218270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    else
218370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      # Display what would be done.
218470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
218570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "export $shlibpath_var"
218670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$cmd$args"
218770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 0
218870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
218970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
219070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
219170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  # libtool uninstall mode
219270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  uninstall)
219370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    modename="$modename: uninstall"
219470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    rm="$nonopt"
219570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    files=
219670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
219770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for arg
219870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    do
219970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$arg" in
220070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      -*) rm="$rm $arg" ;;
220170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *) files="$files $arg" ;;
220270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
220370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
220470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
220570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    if test -z "$rm"; then
220670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$modename: you must specify an RM program" 1>&2
220770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      $echo "$help" 1>&2
220870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      exit 1
220970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    fi
221070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
221170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    for file in $files; do
221270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
221370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      test "X$dir" = "X$file" && dir=.
221470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
221570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
221670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      rmfiles="$file"
221770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
221870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      case "$name" in
221970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.la)
222070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        # Possibly a libtool archive, so verify it.
222170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
222270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          . $dir/$name
222370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
222470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # Delete the libtool libraries and symlinks.
222570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          for n in $library_names; do
222670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            rmfiles="$rmfiles $dir/$n"
222770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine            test "X$n" = "X$dlname" && dlname=
222870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          done
222970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
223070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
223170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
223270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $show "$rm $rmfiles"
223370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  $run $rm $rmfiles
223470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
223570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  if test -n "$library_names"; then
223670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    # Do each command in the postuninstall commands.
223770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    eval cmds=\"$postuninstall_cmds\"
223870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
223970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    for cmd in $cmds; do
224070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      IFS="$save_ifs"
224170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      $show "$cmd"
224270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      $run eval "$cmd"
224370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    done
224470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    IFS="$save_ifs"
224570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
224670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
224770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          if test -n "$old_library"; then
224870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    # Do each command in the old_postuninstall commands.
224970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    eval cmds=\"$old_postuninstall_cmds\"
225070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
225170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    for cmd in $cmds; do
225270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      IFS="$save_ifs"
225370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      $show "$cmd"
225470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	      $run eval "$cmd"
225570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    done
225670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	    IFS="$save_ifs"
225770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	  fi
225870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
225970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          # FIXME: should reinstall the best remaining shared library.
226070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
226170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
226270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
226370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *.lo)
226470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        if test "$build_old_libs" = yes; then
226570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
226670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine          rmfiles="$rmfiles $dir/$oldobj"
226770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        fi
226870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$show "$rm $rmfiles"
226970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$run $rm $rmfiles
227070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine        ;;
227170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
227270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      *)
227370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      	$show "$rm $rmfiles"
227470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	$run $rm $rmfiles
227570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine	;;
227670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      esac
227770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    done
227870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 0
227970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
228070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
228170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  "")
228270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$modename: you must specify a MODE" 1>&2
228370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    $echo "$generic_help" 1>&2
228470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    exit 1
228570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    ;;
228670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  esac
228770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
228870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$modename: invalid operation mode \`$mode'" 1>&2
228970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$generic_help" 1>&2
229070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 1
229170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefi # test -z "$show_help"
229270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
229370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# We need to display help for each of the modes.
229470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinecase "$mode" in
229570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"") $echo \
229670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... [MODE-ARG]...
229770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
229870a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineProvide generalized library-building support services.
229970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
230070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine-n, --dry-run         display commands without modifying any files
230170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --features        display configuration information and exit
230270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --finish          same as \`--mode=finish'
230370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --help            display this help message and exit
230470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
230570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --quiet           same as \`--silent'
230670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --silent          don't print informational messages
230770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    --version         print version information
230870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
230970a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineMODE must be one of the following:
231070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
231170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      compile         compile a source file into a libtool object
231270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      execute         automatically set library path, then run a program
231370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      finish          complete the installation of libtool libraries
231470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      install         install libraries or executables
231570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      link            create a library or an executable
231670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine      uninstall       remove libraries from an installed directory
231770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
231870a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineMODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
231970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinea more detailed description of MODE."
232070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 0
232170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
232270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
232370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinecompile)
232470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo \
232570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
232670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
232770a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineCompile a source file into a libtool library object.
232870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
232970a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineCOMPILE-COMMAND is a command to be used in creating a \`standard' object file
233070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefrom the given SOURCEFILE.
233170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
233270a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThe output file name is determined by removing the directory component from
233370a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineSOURCEFILE, then substituting the C source code suffix \`.c' with the
233470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinelibrary object suffix, \`.lo'."
233570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
233670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
233770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineexecute)
233870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo \
233970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
234070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
234170a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineAutomatically set library path, then run a program.
234270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
234370a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThis mode accepts the following additional options:
234470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
234570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -dlopen FILE      add the directory containing FILE to the library path
234670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
234770a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThis mode sets the library path environment variable according to \`-dlopen'
234870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineflags.
234970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
235070a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineIf any of the ARGS are libtool executable wrappers, then they are translated
235170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineinto their corresponding uninstalled binary, and any of their required library
235270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinedirectories are added to the library path.
235370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
235470a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThen, COMMAND is executed, with ARGS as arguments."
235570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
235670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
235770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinefinish)
235870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo \
235970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
236070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
236170a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineComplete the installation of libtool libraries.
236270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
236370a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineEach LIBDIR is a directory that contains libtool libraries.
236470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
236570a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThe commands that this mode executes may require superuser privileges.  Use
236670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinethe \`--dry-run' option if you just want to see what would be executed."
236770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
236870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
236970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineinstall)
237070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo \
237170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
237270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
237370a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineInstall executables or libraries.
237470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
237570a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineINSTALL-COMMAND is the installation command.  The first component should be
237670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineeither the \`install' or \`cp' program.
237770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
237870a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThe rest of the components are interpreted as arguments to that command (only
237970a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineBSD-compatible install options are recognized)."
238070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
238170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
238270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinelink)
238370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo \
238470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
238570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
238670a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineLink object files or libraries together to form another library, or to
238770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinecreate an executable program.
238870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
238970a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineLINK-COMMAND is a command using the C compiler that you would use to create
239070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinea program from several object files.
239170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
239270a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineThe following components of LINK-COMMAND are treated specially:
239370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
239470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -all-static       do not do any dynamic linking at all
239570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
239670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
239770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
239870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -LLIBDIR          search LIBDIR for required installed libraries
239970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -lNAME            OUTPUT-FILE requires the installed library libNAME
240070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -no-undefined     declare that a library does not refer to external symbols
240170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
240270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -release RELEASE  specify package release information
240370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
240470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -static           do not do any dynamic linking of libtool libraries
240570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  -version-info CURRENT[:REVISION[:AGE]]
240670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine                    specify library version info [each variable defaults to 0]
240770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
240870a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineAll other options (arguments beginning with \`-') are ignored.
240970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
241070a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineEvery other argument is treated as a filename.  Files ending in \`.la' are
241170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinetreated as uninstalled libtool libraries, other files are standard or library
241270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineobject files.
241370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
241470a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineIf the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
241570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinelibrary objects (\`.lo' files) may be specified, and \`-rpath' is required.
241670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
241770a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineIf OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
241870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineand \`ranlib'.
241970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
242070a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineIf OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
242170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkinecreated, otherwise an executable program is created."
242270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
242370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
242470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineuninstall)
242570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo
242670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
242770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
242870a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineRemove libraries from an installation directory.
242970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
243070a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineRM is the name of the program to use to delete files associated with each FILE
243170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
243270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineto RM.
243370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
243470a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineIf FILE is a libtool library, all the files associated with it are deleted.
243570a18cd874a22452aca9e39e22275ed4538ed20bVladimir ChtchetkineOtherwise, only FILE itself is deleted using RM."
243670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
243770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
243870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine*)
243970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$modename: invalid operation mode \`$mode'" 1>&2
244070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  $echo "$help" 1>&2
244170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  exit 1
244270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine  ;;
244370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineesac
244470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
244570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineecho
244670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine$echo "Try \`$modename --help' for more information about other modes."
244770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
244870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkineexit 0
244970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
245070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# Local Variables:
245170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# mode:shell-script
245270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# sh-indentation:2
245370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine# End:
2454