xref: /plan9-contrib/sys/src/cmd/gs/jpeg/ltmain.sh (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1*593dc095SDavid du Colombier# ltmain.sh - Provide generalized library-building support services.
2*593dc095SDavid du Colombier# NOTE: Changing this file will not affect anything until you rerun ltconfig.
3*593dc095SDavid du Colombier#
4*593dc095SDavid du Colombier# Copyright (C) 1996-1998 Free Software Foundation, Inc.
5*593dc095SDavid du Colombier# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
6*593dc095SDavid du Colombier#
7*593dc095SDavid du Colombier# This program is free software; you can redistribute it and/or modify
8*593dc095SDavid du Colombier# it under the terms of the GNU General Public License as published by
9*593dc095SDavid du Colombier# the Free Software Foundation; either version 2 of the License, or
10*593dc095SDavid du Colombier# (at your option) any later version.
11*593dc095SDavid du Colombier#
12*593dc095SDavid du Colombier# This program is distributed in the hope that it will be useful, but
13*593dc095SDavid du Colombier# WITHOUT ANY WARRANTY; without even the implied warranty of
14*593dc095SDavid du Colombier# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15*593dc095SDavid du Colombier# General Public License for more details.
16*593dc095SDavid du Colombier#
17*593dc095SDavid du Colombier# You should have received a copy of the GNU General Public License
18*593dc095SDavid du Colombier# along with this program; if not, write to the Free Software
19*593dc095SDavid du Colombier# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20*593dc095SDavid du Colombier#
21*593dc095SDavid du Colombier# As a special exception to the GNU General Public License, if you
22*593dc095SDavid du Colombier# distribute this file as part of a program that contains a
23*593dc095SDavid du Colombier# configuration script generated by Autoconf, you may include it under
24*593dc095SDavid du Colombier# the same distribution terms that you use for the rest of that program.
25*593dc095SDavid du Colombier
26*593dc095SDavid du Colombier# The name of this program.
27*593dc095SDavid du Colombierprogname=`$echo "$0" | sed 's%^.*/%%'`
28*593dc095SDavid du Colombiermodename="$progname"
29*593dc095SDavid du Colombier
30*593dc095SDavid du Colombier# Constants.
31*593dc095SDavid du ColombierPROGRAM=ltmain.sh
32*593dc095SDavid du ColombierPACKAGE=libtool
33*593dc095SDavid du ColombierVERSION=1.2
34*593dc095SDavid du Colombier
35*593dc095SDavid du Colombierdefault_mode=
36*593dc095SDavid du Colombierhelp="Try \`$progname --help' for more information."
37*593dc095SDavid du Colombiermagic="%%%MAGIC variable%%%"
38*593dc095SDavid du Colombiermkdir="mkdir"
39*593dc095SDavid du Colombiermv="mv -f"
40*593dc095SDavid du Colombierrm="rm -f"
41*593dc095SDavid du Colombier
42*593dc095SDavid du Colombier# Sed substitution that helps us do robust quoting.  It backslashifies
43*593dc095SDavid du Colombier# metacharacters that are still active within double-quoted strings.
44*593dc095SDavid du ColombierXsed='sed -e s/^X//'
45*593dc095SDavid du Colombiersed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
46*593dc095SDavid du Colombier
47*593dc095SDavid du Colombier# NLS nuisances.
48*593dc095SDavid du Colombier# Only set LANG and LC_ALL to C if already set.
49*593dc095SDavid du Colombier# These must not be set unconditionally because not all systems understand
50*593dc095SDavid du Colombier# e.g. LANG=C (notably SCO).
51*593dc095SDavid du Colombierif test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
52*593dc095SDavid du Colombierif test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
53*593dc095SDavid du Colombier
54*593dc095SDavid du Colombierif test "$LTCONFIG_VERSION" != "$VERSION"; then
55*593dc095SDavid du Colombier  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
56*593dc095SDavid du Colombier  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
57*593dc095SDavid du Colombier  exit 1
58*593dc095SDavid du Colombierfi
59*593dc095SDavid du Colombier
60*593dc095SDavid du Colombierif test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
61*593dc095SDavid du Colombier  echo "$modename: not configured to build any kind of library" 1>&2
62*593dc095SDavid du Colombier  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
63*593dc095SDavid du Colombier  exit 1
64*593dc095SDavid du Colombierfi
65*593dc095SDavid du Colombier
66*593dc095SDavid du Colombier# Global variables.
67*593dc095SDavid du Colombiermode=$default_mode
68*593dc095SDavid du Colombiernonopt=
69*593dc095SDavid du Colombierprev=
70*593dc095SDavid du Colombierprevopt=
71*593dc095SDavid du Colombierrun=
72*593dc095SDavid du Colombiershow="$echo"
73*593dc095SDavid du Colombiershow_help=
74*593dc095SDavid du Colombierexecute_dlfiles=
75*593dc095SDavid du Colombier
76*593dc095SDavid du Colombier# Parse our command line options once, thoroughly.
77*593dc095SDavid du Colombierwhile test $# -gt 0
78*593dc095SDavid du Colombierdo
79*593dc095SDavid du Colombier  arg="$1"
80*593dc095SDavid du Colombier  shift
81*593dc095SDavid du Colombier
82*593dc095SDavid du Colombier  case "$arg" in
83*593dc095SDavid du Colombier  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
84*593dc095SDavid du Colombier  *) optarg= ;;
85*593dc095SDavid du Colombier  esac
86*593dc095SDavid du Colombier
87*593dc095SDavid du Colombier  # If the previous option needs an argument, assign it.
88*593dc095SDavid du Colombier  if test -n "$prev"; then
89*593dc095SDavid du Colombier    case "$prev" in
90*593dc095SDavid du Colombier    execute_dlfiles)
91*593dc095SDavid du Colombier      eval "$prev=\"\$$prev \$arg\""
92*593dc095SDavid du Colombier      ;;
93*593dc095SDavid du Colombier    *)
94*593dc095SDavid du Colombier      eval "$prev=\$arg"
95*593dc095SDavid du Colombier      ;;
96*593dc095SDavid du Colombier    esac
97*593dc095SDavid du Colombier
98*593dc095SDavid du Colombier    prev=
99*593dc095SDavid du Colombier    prevopt=
100*593dc095SDavid du Colombier    continue
101*593dc095SDavid du Colombier  fi
102*593dc095SDavid du Colombier
103*593dc095SDavid du Colombier  # Have we seen a non-optional argument yet?
104*593dc095SDavid du Colombier  case "$arg" in
105*593dc095SDavid du Colombier  --help)
106*593dc095SDavid du Colombier    show_help=yes
107*593dc095SDavid du Colombier    ;;
108*593dc095SDavid du Colombier
109*593dc095SDavid du Colombier  --version)
110*593dc095SDavid du Colombier    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
111*593dc095SDavid du Colombier    exit 0
112*593dc095SDavid du Colombier    ;;
113*593dc095SDavid du Colombier
114*593dc095SDavid du Colombier  --dry-run | -n)
115*593dc095SDavid du Colombier    run=:
116*593dc095SDavid du Colombier    ;;
117*593dc095SDavid du Colombier
118*593dc095SDavid du Colombier  --features)
119*593dc095SDavid du Colombier    echo "host: $host"
120*593dc095SDavid du Colombier    if test "$build_libtool_libs" = yes; then
121*593dc095SDavid du Colombier      echo "enable shared libraries"
122*593dc095SDavid du Colombier    else
123*593dc095SDavid du Colombier      echo "disable shared libraries"
124*593dc095SDavid du Colombier    fi
125*593dc095SDavid du Colombier    if test "$build_old_libs" = yes; then
126*593dc095SDavid du Colombier      echo "enable static libraries"
127*593dc095SDavid du Colombier    else
128*593dc095SDavid du Colombier      echo "disable static libraries"
129*593dc095SDavid du Colombier    fi
130*593dc095SDavid du Colombier    exit 0
131*593dc095SDavid du Colombier    ;;
132*593dc095SDavid du Colombier
133*593dc095SDavid du Colombier  --finish) mode="finish" ;;
134*593dc095SDavid du Colombier
135*593dc095SDavid du Colombier  --mode) prevopt="--mode" prev=mode ;;
136*593dc095SDavid du Colombier  --mode=*) mode="$optarg" ;;
137*593dc095SDavid du Colombier
138*593dc095SDavid du Colombier  --quiet | --silent)
139*593dc095SDavid du Colombier    show=:
140*593dc095SDavid du Colombier    ;;
141*593dc095SDavid du Colombier
142*593dc095SDavid du Colombier  -dlopen)
143*593dc095SDavid du Colombier    prevopt="-dlopen"
144*593dc095SDavid du Colombier    prev=execute_dlfiles
145*593dc095SDavid du Colombier    ;;
146*593dc095SDavid du Colombier
147*593dc095SDavid du Colombier  -*)
148*593dc095SDavid du Colombier    $echo "$modename: unrecognized option \`$arg'" 1>&2
149*593dc095SDavid du Colombier    $echo "$help" 1>&2
150*593dc095SDavid du Colombier    exit 1
151*593dc095SDavid du Colombier    ;;
152*593dc095SDavid du Colombier
153*593dc095SDavid du Colombier  *)
154*593dc095SDavid du Colombier    nonopt="$arg"
155*593dc095SDavid du Colombier    break
156*593dc095SDavid du Colombier    ;;
157*593dc095SDavid du Colombier  esac
158*593dc095SDavid du Colombierdone
159*593dc095SDavid du Colombier
160*593dc095SDavid du Colombierif test -n "$prevopt"; then
161*593dc095SDavid du Colombier  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
162*593dc095SDavid du Colombier  $echo "$help" 1>&2
163*593dc095SDavid du Colombier  exit 1
164*593dc095SDavid du Colombierfi
165*593dc095SDavid du Colombier
166*593dc095SDavid du Colombierif test -z "$show_help"; then
167*593dc095SDavid du Colombier
168*593dc095SDavid du Colombier  # Infer the operation mode.
169*593dc095SDavid du Colombier  if test -z "$mode"; then
170*593dc095SDavid du Colombier    case "$nonopt" in
171*593dc095SDavid du Colombier    *cc | *++ | gcc* | *-gcc*)
172*593dc095SDavid du Colombier      mode=link
173*593dc095SDavid du Colombier      for arg
174*593dc095SDavid du Colombier      do
175*593dc095SDavid du Colombier        case "$arg" in
176*593dc095SDavid du Colombier        -c)
177*593dc095SDavid du Colombier           mode=compile
178*593dc095SDavid du Colombier           break
179*593dc095SDavid du Colombier           ;;
180*593dc095SDavid du Colombier        esac
181*593dc095SDavid du Colombier      done
182*593dc095SDavid du Colombier      ;;
183*593dc095SDavid du Colombier    *db | *dbx)
184*593dc095SDavid du Colombier      mode=execute
185*593dc095SDavid du Colombier      ;;
186*593dc095SDavid du Colombier    *install*|cp|mv)
187*593dc095SDavid du Colombier      mode=install
188*593dc095SDavid du Colombier      ;;
189*593dc095SDavid du Colombier    *rm)
190*593dc095SDavid du Colombier      mode=uninstall
191*593dc095SDavid du Colombier      ;;
192*593dc095SDavid du Colombier    *)
193*593dc095SDavid du Colombier      # If we have no mode, but dlfiles were specified, then do execute mode.
194*593dc095SDavid du Colombier      test -n "$execute_dlfiles" && mode=execute
195*593dc095SDavid du Colombier
196*593dc095SDavid du Colombier      # Just use the default operation mode.
197*593dc095SDavid du Colombier      if test -z "$mode"; then
198*593dc095SDavid du Colombier        if test -n "$nonopt"; then
199*593dc095SDavid du Colombier          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
200*593dc095SDavid du Colombier        else
201*593dc095SDavid du Colombier          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
202*593dc095SDavid du Colombier        fi
203*593dc095SDavid du Colombier      fi
204*593dc095SDavid du Colombier      ;;
205*593dc095SDavid du Colombier    esac
206*593dc095SDavid du Colombier  fi
207*593dc095SDavid du Colombier
208*593dc095SDavid du Colombier  # Only execute mode is allowed to have -dlopen flags.
209*593dc095SDavid du Colombier  if test -n "$execute_dlfiles" && test "$mode" != execute; then
210*593dc095SDavid du Colombier    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
211*593dc095SDavid du Colombier    $echo "$help" 1>&2
212*593dc095SDavid du Colombier    exit 1
213*593dc095SDavid du Colombier  fi
214*593dc095SDavid du Colombier
215*593dc095SDavid du Colombier  # Change the help message to a mode-specific one.
216*593dc095SDavid du Colombier  generic_help="$help"
217*593dc095SDavid du Colombier  help="Try \`$modename --help --mode=$mode' for more information."
218*593dc095SDavid du Colombier
219*593dc095SDavid du Colombier  # These modes are in order of execution frequency so that they run quickly.
220*593dc095SDavid du Colombier  case "$mode" in
221*593dc095SDavid du Colombier  # libtool compile mode
222*593dc095SDavid du Colombier  compile)
223*593dc095SDavid du Colombier    modename="$modename: compile"
224*593dc095SDavid du Colombier    # Get the compilation command and the source file.
225*593dc095SDavid du Colombier    base_compile=
226*593dc095SDavid du Colombier    lastarg=
227*593dc095SDavid du Colombier    srcfile="$nonopt"
228*593dc095SDavid du Colombier    suppress_output=
229*593dc095SDavid du Colombier
230*593dc095SDavid du Colombier    for arg
231*593dc095SDavid du Colombier    do
232*593dc095SDavid du Colombier      # Accept any command-line options.
233*593dc095SDavid du Colombier      case "$arg" in
234*593dc095SDavid du Colombier      -o)
235*593dc095SDavid du Colombier	$echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
236*593dc095SDavid du Colombier	$echo "$help" 1>&2
237*593dc095SDavid du Colombier	exit 1
238*593dc095SDavid du Colombier	;;
239*593dc095SDavid du Colombier
240*593dc095SDavid du Colombier      -static)
241*593dc095SDavid du Colombier	build_libtool_libs=no
242*593dc095SDavid du Colombier	build_old_libs=yes
243*593dc095SDavid du Colombier	continue
244*593dc095SDavid du Colombier	;;
245*593dc095SDavid du Colombier      esac
246*593dc095SDavid du Colombier
247*593dc095SDavid du Colombier      # Accept the current argument as the source file.
248*593dc095SDavid du Colombier      lastarg="$srcfile"
249*593dc095SDavid du Colombier      srcfile="$arg"
250*593dc095SDavid du Colombier
251*593dc095SDavid du Colombier      # Aesthetically quote the previous argument.
252*593dc095SDavid du Colombier
253*593dc095SDavid du Colombier      # Backslashify any backslashes, double quotes, and dollar signs.
254*593dc095SDavid du Colombier      # These are the only characters that are still specially
255*593dc095SDavid du Colombier      # interpreted inside of double-quoted scrings.
256*593dc095SDavid du Colombier      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
257*593dc095SDavid du Colombier
258*593dc095SDavid du Colombier      # Double-quote args containing other shell metacharacters.
259*593dc095SDavid du Colombier      # Many Bourne shells cannot handle close brackets correctly in scan
260*593dc095SDavid du Colombier      # sets, so we specify it separately.
261*593dc095SDavid du Colombier      case "$lastarg" in
262*593dc095SDavid du Colombier      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
263*593dc095SDavid du Colombier	lastarg="\"$lastarg\""
264*593dc095SDavid du Colombier	;;
265*593dc095SDavid du Colombier      esac
266*593dc095SDavid du Colombier
267*593dc095SDavid du Colombier      # Add the previous argument to base_compile.
268*593dc095SDavid du Colombier      if test -z "$base_compile"; then
269*593dc095SDavid du Colombier	base_compile="$lastarg"
270*593dc095SDavid du Colombier      else
271*593dc095SDavid du Colombier	base_compile="$base_compile $lastarg"
272*593dc095SDavid du Colombier      fi
273*593dc095SDavid du Colombier    done
274*593dc095SDavid du Colombier
275*593dc095SDavid du Colombier    # Get the name of the library object.
276*593dc095SDavid du Colombier    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
277*593dc095SDavid du Colombier
278*593dc095SDavid du Colombier    # Recognize several different file suffixes.
279*593dc095SDavid du Colombier    xform='[cCFSfms]'
280*593dc095SDavid du Colombier    case "$libobj" in
281*593dc095SDavid du Colombier    *.ada) xform=ada ;;
282*593dc095SDavid du Colombier    *.adb) xform=adb ;;
283*593dc095SDavid du Colombier    *.ads) xform=ads ;;
284*593dc095SDavid du Colombier    *.asm) xform=asm ;;
285*593dc095SDavid du Colombier    *.c++) xform=c++ ;;
286*593dc095SDavid du Colombier    *.cc) xform=cc ;;
287*593dc095SDavid du Colombier    *.cpp) xform=cpp ;;
288*593dc095SDavid du Colombier    *.cxx) xform=cxx ;;
289*593dc095SDavid du Colombier    *.f90) xform=f90 ;;
290*593dc095SDavid du Colombier    *.for) xform=for ;;
291*593dc095SDavid du Colombier    esac
292*593dc095SDavid du Colombier
293*593dc095SDavid du Colombier    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
294*593dc095SDavid du Colombier
295*593dc095SDavid du Colombier    case "$libobj" in
296*593dc095SDavid du Colombier    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
297*593dc095SDavid du Colombier    *)
298*593dc095SDavid du Colombier      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
299*593dc095SDavid du Colombier      exit 1
300*593dc095SDavid du Colombier      ;;
301*593dc095SDavid du Colombier    esac
302*593dc095SDavid du Colombier
303*593dc095SDavid du Colombier    if test -z "$base_compile"; then
304*593dc095SDavid du Colombier      $echo "$modename: you must specify a compilation command" 1>&2
305*593dc095SDavid du Colombier      $echo "$help" 1>&2
306*593dc095SDavid du Colombier      exit 1
307*593dc095SDavid du Colombier    fi
308*593dc095SDavid du Colombier
309*593dc095SDavid du Colombier    # Delete any leftover library objects.
310*593dc095SDavid du Colombier    if test "$build_old_libs" = yes; then
311*593dc095SDavid du Colombier      $run $rm $obj $libobj
312*593dc095SDavid du Colombier      trap "$run $rm $obj $libobj; exit 1" 1 2 15
313*593dc095SDavid du Colombier    else
314*593dc095SDavid du Colombier      $run $rm $libobj
315*593dc095SDavid du Colombier      trap "$run $rm $libobj; exit 1" 1 2 15
316*593dc095SDavid du Colombier    fi
317*593dc095SDavid du Colombier
318*593dc095SDavid du Colombier    # Only build a PIC object if we are building libtool libraries.
319*593dc095SDavid du Colombier    if test "$build_libtool_libs" = yes; then
320*593dc095SDavid du Colombier      # Without this assignment, base_compile gets emptied.
321*593dc095SDavid du Colombier      fbsd_hideous_sh_bug=$base_compile
322*593dc095SDavid du Colombier
323*593dc095SDavid du Colombier      # All platforms use -DPIC, to notify preprocessed assembler code.
324*593dc095SDavid du Colombier      $show "$base_compile$pic_flag -DPIC $srcfile"
325*593dc095SDavid du Colombier      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
326*593dc095SDavid du Colombier      else
327*593dc095SDavid du Colombier        test -n "$obj" && $run $rm $obj
328*593dc095SDavid du Colombier        exit 1
329*593dc095SDavid du Colombier      fi
330*593dc095SDavid du Colombier
331*593dc095SDavid du Colombier      # If we have no pic_flag, then copy the object into place and finish.
332*593dc095SDavid du Colombier      if test -z "$pic_flag"; then
333*593dc095SDavid du Colombier        $show "$LN_S $obj $libobj"
334*593dc095SDavid du Colombier        $run $LN_S $obj $libobj
335*593dc095SDavid du Colombier        exit $?
336*593dc095SDavid du Colombier      fi
337*593dc095SDavid du Colombier
338*593dc095SDavid du Colombier      # Just move the object, then go on to compile the next one
339*593dc095SDavid du Colombier      $show "$mv $obj $libobj"
340*593dc095SDavid du Colombier      $run $mv $obj $libobj || exit 1
341*593dc095SDavid du Colombier
342*593dc095SDavid du Colombier      # Allow error messages only from the first compilation.
343*593dc095SDavid du Colombier      suppress_output=' >/dev/null 2>&1'
344*593dc095SDavid du Colombier    fi
345*593dc095SDavid du Colombier
346*593dc095SDavid du Colombier    # Only build a position-dependent object if we build old libraries.
347*593dc095SDavid du Colombier    if test "$build_old_libs" = yes; then
348*593dc095SDavid du Colombier      # Suppress compiler output if we already did a PIC compilation.
349*593dc095SDavid du Colombier      $show "$base_compile $srcfile$suppress_output"
350*593dc095SDavid du Colombier      if $run eval "$base_compile \$srcfile$suppress_output"; then :
351*593dc095SDavid du Colombier      else
352*593dc095SDavid du Colombier        $run $rm $obj $libobj
353*593dc095SDavid du Colombier        exit 1
354*593dc095SDavid du Colombier      fi
355*593dc095SDavid du Colombier    fi
356*593dc095SDavid du Colombier
357*593dc095SDavid du Colombier    # Create an invalid libtool object if no PIC, so that we do not
358*593dc095SDavid du Colombier    # accidentally link it into a program.
359*593dc095SDavid du Colombier    if test "$build_libtool_libs" != yes; then
360*593dc095SDavid du Colombier      $show "echo timestamp > $libobj"
361*593dc095SDavid du Colombier      $run eval "echo timestamp > \$libobj" || exit $?
362*593dc095SDavid du Colombier    fi
363*593dc095SDavid du Colombier
364*593dc095SDavid du Colombier    exit 0
365*593dc095SDavid du Colombier    ;;
366*593dc095SDavid du Colombier
367*593dc095SDavid du Colombier  # libtool link mode
368*593dc095SDavid du Colombier  link)
369*593dc095SDavid du Colombier    modename="$modename: link"
370*593dc095SDavid du Colombier    CC="$nonopt"
371*593dc095SDavid du Colombier    allow_undefined=yes
372*593dc095SDavid du Colombier    compile_command="$CC"
373*593dc095SDavid du Colombier    finalize_command="$CC"
374*593dc095SDavid du Colombier
375*593dc095SDavid du Colombier    compile_shlibpath=
376*593dc095SDavid du Colombier    finalize_shlibpath=
377*593dc095SDavid du Colombier    deplibs=
378*593dc095SDavid du Colombier    dlfiles=
379*593dc095SDavid du Colombier    dlprefiles=
380*593dc095SDavid du Colombier    export_dynamic=no
381*593dc095SDavid du Colombier    hardcode_libdirs=
382*593dc095SDavid du Colombier    libobjs=
383*593dc095SDavid du Colombier    link_against_libtool_libs=
384*593dc095SDavid du Colombier    ltlibs=
385*593dc095SDavid du Colombier    objs=
386*593dc095SDavid du Colombier    prev=
387*593dc095SDavid du Colombier    prevarg=
388*593dc095SDavid du Colombier    release=
389*593dc095SDavid du Colombier    rpath=
390*593dc095SDavid du Colombier    perm_rpath=
391*593dc095SDavid du Colombier    temp_rpath=
392*593dc095SDavid du Colombier    vinfo=
393*593dc095SDavid du Colombier
394*593dc095SDavid du Colombier    # We need to know -static, to get the right output filenames.
395*593dc095SDavid du Colombier    for arg
396*593dc095SDavid du Colombier    do
397*593dc095SDavid du Colombier      case "$arg" in
398*593dc095SDavid du Colombier      -all-static | -static)
399*593dc095SDavid du Colombier        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
400*593dc095SDavid du Colombier	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
401*593dc095SDavid du Colombier        fi
402*593dc095SDavid du Colombier        build_libtool_libs=no
403*593dc095SDavid du Colombier	build_old_libs=yes
404*593dc095SDavid du Colombier        break
405*593dc095SDavid du Colombier        ;;
406*593dc095SDavid du Colombier      esac
407*593dc095SDavid du Colombier    done
408*593dc095SDavid du Colombier
409*593dc095SDavid du Colombier    # See if our shared archives depend on static archives.
410*593dc095SDavid du Colombier    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
411*593dc095SDavid du Colombier
412*593dc095SDavid du Colombier    # Go through the arguments, transforming them on the way.
413*593dc095SDavid du Colombier    for arg
414*593dc095SDavid du Colombier    do
415*593dc095SDavid du Colombier      # If the previous option needs an argument, assign it.
416*593dc095SDavid du Colombier      if test -n "$prev"; then
417*593dc095SDavid du Colombier        case "$prev" in
418*593dc095SDavid du Colombier        output)
419*593dc095SDavid du Colombier          compile_command="$compile_command @OUTPUT@"
420*593dc095SDavid du Colombier          finalize_command="$finalize_command @OUTPUT@"
421*593dc095SDavid du Colombier          ;;
422*593dc095SDavid du Colombier        esac
423*593dc095SDavid du Colombier
424*593dc095SDavid du Colombier        case "$prev" in
425*593dc095SDavid du Colombier        dlfiles|dlprefiles)
426*593dc095SDavid du Colombier          case "$arg" in
427*593dc095SDavid du Colombier          *.la | *.lo) ;;  # We handle these cases below.
428*593dc095SDavid du Colombier          *)
429*593dc095SDavid du Colombier            dlprefiles="$dlprefiles $arg"
430*593dc095SDavid du Colombier            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
431*593dc095SDavid du Colombier            prev=
432*593dc095SDavid du Colombier            ;;
433*593dc095SDavid du Colombier          esac
434*593dc095SDavid du Colombier          ;;
435*593dc095SDavid du Colombier	release)
436*593dc095SDavid du Colombier	  release="-$arg"
437*593dc095SDavid du Colombier	  prev=
438*593dc095SDavid du Colombier	  continue
439*593dc095SDavid du Colombier	  ;;
440*593dc095SDavid du Colombier        rpath)
441*593dc095SDavid du Colombier          rpath="$rpath $arg"
442*593dc095SDavid du Colombier	  prev=
443*593dc095SDavid du Colombier	  continue
444*593dc095SDavid du Colombier	  ;;
445*593dc095SDavid du Colombier        *)
446*593dc095SDavid du Colombier          eval "$prev=\"\$arg\""
447*593dc095SDavid du Colombier          prev=
448*593dc095SDavid du Colombier          continue
449*593dc095SDavid du Colombier          ;;
450*593dc095SDavid du Colombier        esac
451*593dc095SDavid du Colombier      fi
452*593dc095SDavid du Colombier
453*593dc095SDavid du Colombier      prevarg="$arg"
454*593dc095SDavid du Colombier
455*593dc095SDavid du Colombier      case "$arg" in
456*593dc095SDavid du Colombier      -all-static)
457*593dc095SDavid du Colombier	if test -n "$link_static_flag"; then
458*593dc095SDavid du Colombier          compile_command="$compile_command $link_static_flag"
459*593dc095SDavid du Colombier	  finalize_command="$finalize_command $link_static_flag"
460*593dc095SDavid du Colombier        fi
461*593dc095SDavid du Colombier        continue
462*593dc095SDavid du Colombier	;;
463*593dc095SDavid du Colombier
464*593dc095SDavid du Colombier      -allow-undefined)
465*593dc095SDavid du Colombier	# FIXME: remove this flag sometime in the future.
466*593dc095SDavid du Colombier	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
467*593dc095SDavid du Colombier	continue
468*593dc095SDavid du Colombier	;;
469*593dc095SDavid du Colombier
470*593dc095SDavid du Colombier      -dlopen)
471*593dc095SDavid du Colombier        prev=dlfiles
472*593dc095SDavid du Colombier        continue
473*593dc095SDavid du Colombier        ;;
474*593dc095SDavid du Colombier
475*593dc095SDavid du Colombier      -dlpreopen)
476*593dc095SDavid du Colombier        prev=dlprefiles
477*593dc095SDavid du Colombier        continue
478*593dc095SDavid du Colombier        ;;
479*593dc095SDavid du Colombier
480*593dc095SDavid du Colombier      -export-dynamic)
481*593dc095SDavid du Colombier        if test "$export_dynamic" != yes; then
482*593dc095SDavid du Colombier          export_dynamic=yes
483*593dc095SDavid du Colombier	  if test -n "$export_dynamic_flag_spec"; then
484*593dc095SDavid du Colombier	    eval arg=\"$export_dynamic_flag_spec\"
485*593dc095SDavid du Colombier	  else
486*593dc095SDavid du Colombier	    arg=
487*593dc095SDavid du Colombier	  fi
488*593dc095SDavid du Colombier
489*593dc095SDavid du Colombier          # Add the symbol object into the linking commands.
490*593dc095SDavid du Colombier	  compile_command="$compile_command @SYMFILE@"
491*593dc095SDavid du Colombier	  finalize_command="$finalize_command @SYMFILE@"
492*593dc095SDavid du Colombier        fi
493*593dc095SDavid du Colombier        ;;
494*593dc095SDavid du Colombier
495*593dc095SDavid du Colombier      -L*)
496*593dc095SDavid du Colombier        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
497*593dc095SDavid du Colombier        case "$dir" in
498*593dc095SDavid du Colombier        /* | [A-Za-z]:\\*)
499*593dc095SDavid du Colombier	  # Add the corresponding hardcode_libdir_flag, if it is not identical.
500*593dc095SDavid du Colombier          ;;
501*593dc095SDavid du Colombier        *)
502*593dc095SDavid du Colombier          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
503*593dc095SDavid du Colombier          exit 1
504*593dc095SDavid du Colombier          ;;
505*593dc095SDavid du Colombier        esac
506*593dc095SDavid du Colombier        deplibs="$deplibs $arg"
507*593dc095SDavid du Colombier        ;;
508*593dc095SDavid du Colombier
509*593dc095SDavid du Colombier      -l*) deplibs="$deplibs $arg" ;;
510*593dc095SDavid du Colombier
511*593dc095SDavid du Colombier      -no-undefined)
512*593dc095SDavid du Colombier	allow_undefined=no
513*593dc095SDavid du Colombier	continue
514*593dc095SDavid du Colombier	;;
515*593dc095SDavid du Colombier
516*593dc095SDavid du Colombier      -o) prev=output ;;
517*593dc095SDavid du Colombier
518*593dc095SDavid du Colombier      -release)
519*593dc095SDavid du Colombier	prev=release
520*593dc095SDavid du Colombier	continue
521*593dc095SDavid du Colombier	;;
522*593dc095SDavid du Colombier
523*593dc095SDavid du Colombier      -rpath)
524*593dc095SDavid du Colombier        prev=rpath
525*593dc095SDavid du Colombier        continue
526*593dc095SDavid du Colombier        ;;
527*593dc095SDavid du Colombier
528*593dc095SDavid du Colombier      -static)
529*593dc095SDavid du Colombier	# If we have no pic_flag, then this is the same as -all-static.
530*593dc095SDavid du Colombier	if test -z "$pic_flag" && test -n "$link_static_flag"; then
531*593dc095SDavid du Colombier          compile_command="$compile_command $link_static_flag"
532*593dc095SDavid du Colombier	  finalize_command="$finalize_command $link_static_flag"
533*593dc095SDavid du Colombier        fi
534*593dc095SDavid du Colombier	continue
535*593dc095SDavid du Colombier	;;
536*593dc095SDavid du Colombier
537*593dc095SDavid du Colombier      -version-info)
538*593dc095SDavid du Colombier        prev=vinfo
539*593dc095SDavid du Colombier        continue
540*593dc095SDavid du Colombier        ;;
541*593dc095SDavid du Colombier
542*593dc095SDavid du Colombier      # Some other compiler flag.
543*593dc095SDavid du Colombier      -* | +*)
544*593dc095SDavid du Colombier	# Unknown arguments in both finalize_command and compile_command need
545*593dc095SDavid du Colombier	# to be aesthetically quoted because they are evaled later.
546*593dc095SDavid du Colombier	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
547*593dc095SDavid du Colombier	case "$arg" in
548*593dc095SDavid du Colombier	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
549*593dc095SDavid du Colombier	  arg="\"$arg\""
550*593dc095SDavid du Colombier	  ;;
551*593dc095SDavid du Colombier	esac
552*593dc095SDavid du Colombier        ;;
553*593dc095SDavid du Colombier
554*593dc095SDavid du Colombier      *.o | *.a)
555*593dc095SDavid du Colombier        # A standard object.
556*593dc095SDavid du Colombier        objs="$objs $arg"
557*593dc095SDavid du Colombier        ;;
558*593dc095SDavid du Colombier
559*593dc095SDavid du Colombier      *.lo)
560*593dc095SDavid du Colombier        # A library object.
561*593dc095SDavid du Colombier	if test "$prev" = dlfiles; then
562*593dc095SDavid du Colombier	  dlfiles="$dlfiles $arg"
563*593dc095SDavid du Colombier	  if test "$build_libtool_libs" = yes; then
564*593dc095SDavid du Colombier	    prev=
565*593dc095SDavid du Colombier	    continue
566*593dc095SDavid du Colombier	  else
567*593dc095SDavid du Colombier	    # If libtool objects are unsupported, then we need to preload.
568*593dc095SDavid du Colombier	    prev=dlprefiles
569*593dc095SDavid du Colombier	  fi
570*593dc095SDavid du Colombier	fi
571*593dc095SDavid du Colombier
572*593dc095SDavid du Colombier	if test "$prev" = dlprefiles; then
573*593dc095SDavid du Colombier	  # Preload the old-style object.
574*593dc095SDavid du Colombier	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
575*593dc095SDavid du Colombier	  prev=
576*593dc095SDavid du Colombier	fi
577*593dc095SDavid du Colombier	libobjs="$libobjs $arg"
578*593dc095SDavid du Colombier        ;;
579*593dc095SDavid du Colombier
580*593dc095SDavid du Colombier      *.la)
581*593dc095SDavid du Colombier        # A libtool-controlled library.
582*593dc095SDavid du Colombier
583*593dc095SDavid du Colombier        dlname=
584*593dc095SDavid du Colombier        libdir=
585*593dc095SDavid du Colombier        library_names=
586*593dc095SDavid du Colombier        old_library=
587*593dc095SDavid du Colombier
588*593dc095SDavid du Colombier        # Check to see that this really is a libtool archive.
589*593dc095SDavid du Colombier        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
590*593dc095SDavid du Colombier        else
591*593dc095SDavid du Colombier          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
592*593dc095SDavid du Colombier          exit 1
593*593dc095SDavid du Colombier        fi
594*593dc095SDavid du Colombier
595*593dc095SDavid du Colombier        # If there is no directory component, then add one.
596*593dc095SDavid du Colombier        case "$arg" in
597*593dc095SDavid du Colombier        */* | *\\*) . $arg ;;
598*593dc095SDavid du Colombier        *) . ./$arg ;;
599*593dc095SDavid du Colombier        esac
600*593dc095SDavid du Colombier
601*593dc095SDavid du Colombier        if test -z "$libdir"; then
602*593dc095SDavid du Colombier          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
603*593dc095SDavid du Colombier          exit 1
604*593dc095SDavid du Colombier        fi
605*593dc095SDavid du Colombier
606*593dc095SDavid du Colombier        # Get the name of the library we link against.
607*593dc095SDavid du Colombier        linklib=
608*593dc095SDavid du Colombier        for l in $old_library $library_names; do
609*593dc095SDavid du Colombier          linklib="$l"
610*593dc095SDavid du Colombier        done
611*593dc095SDavid du Colombier
612*593dc095SDavid du Colombier        if test -z "$linklib"; then
613*593dc095SDavid du Colombier          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
614*593dc095SDavid du Colombier          exit 1
615*593dc095SDavid du Colombier        fi
616*593dc095SDavid du Colombier
617*593dc095SDavid du Colombier        # Find the relevant object directory and library name.
618*593dc095SDavid du Colombier        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
619*593dc095SDavid du Colombier        dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
620*593dc095SDavid du Colombier        if test "X$dir" = "X$arg"; then
621*593dc095SDavid du Colombier          dir="$objdir"
622*593dc095SDavid du Colombier        else
623*593dc095SDavid du Colombier          dir="$dir/$objdir"
624*593dc095SDavid du Colombier        fi
625*593dc095SDavid du Colombier
626*593dc095SDavid du Colombier        # This library was specified with -dlopen.
627*593dc095SDavid du Colombier        if test "$prev" = dlfiles; then
628*593dc095SDavid du Colombier          dlfiles="$dlfiles $arg"
629*593dc095SDavid du Colombier          if test -z "$dlname"; then
630*593dc095SDavid du Colombier            # If there is no dlname, we need to preload.
631*593dc095SDavid du Colombier            prev=dlprefiles
632*593dc095SDavid du Colombier          else
633*593dc095SDavid du Colombier            # We should not create a dependency on this library, but we
634*593dc095SDavid du Colombier	    # may need any libraries it requires.
635*593dc095SDavid du Colombier	    compile_command="$compile_command$dependency_libs"
636*593dc095SDavid du Colombier	    finalize_command="$finalize_command$dependency_libs"
637*593dc095SDavid du Colombier            prev=
638*593dc095SDavid du Colombier            continue
639*593dc095SDavid du Colombier          fi
640*593dc095SDavid du Colombier        fi
641*593dc095SDavid du Colombier
642*593dc095SDavid du Colombier        # The library was specified with -dlpreopen.
643*593dc095SDavid du Colombier        if test "$prev" = dlprefiles; then
644*593dc095SDavid du Colombier          # Prefer using a static library (so that no silly _DYNAMIC symbols
645*593dc095SDavid du Colombier          # are required to link).
646*593dc095SDavid du Colombier          if test -n "$old_library"; then
647*593dc095SDavid du Colombier            dlprefiles="$dlprefiles $dir/$old_library"
648*593dc095SDavid du Colombier          else
649*593dc095SDavid du Colombier            dlprefiles="$dlprefiles $dir/$linklib"
650*593dc095SDavid du Colombier          fi
651*593dc095SDavid du Colombier          prev=
652*593dc095SDavid du Colombier        fi
653*593dc095SDavid du Colombier
654*593dc095SDavid du Colombier        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
655*593dc095SDavid du Colombier          link_against_libtool_libs="$link_against_libtool_libs $arg"
656*593dc095SDavid du Colombier          if test -n "$shlibpath_var"; then
657*593dc095SDavid du Colombier            # Make sure the rpath contains only unique directories.
658*593dc095SDavid du Colombier            case "$temp_rpath " in
659*593dc095SDavid du Colombier            *" $dir "*) ;;
660*593dc095SDavid du Colombier            *) temp_rpath="$temp_rpath $dir" ;;
661*593dc095SDavid du Colombier            esac
662*593dc095SDavid du Colombier          fi
663*593dc095SDavid du Colombier
664*593dc095SDavid du Colombier	  # This is the magic to use -rpath.
665*593dc095SDavid du Colombier          if test -n "$hardcode_libdir_flag_spec"; then
666*593dc095SDavid du Colombier            if test -n "$hardcode_libdir_separator"; then
667*593dc095SDavid du Colombier              if test -z "$hardcode_libdirs"; then
668*593dc095SDavid du Colombier                # Put the magic libdir with the hardcode flag.
669*593dc095SDavid du Colombier                hardcode_libdirs="$libdir"
670*593dc095SDavid du Colombier                libdir="@HARDCODE_LIBDIRS@"
671*593dc095SDavid du Colombier              else
672*593dc095SDavid du Colombier                # Just accumulate the unique libdirs.
673*593dc095SDavid du Colombier		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
674*593dc095SDavid du Colombier		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
675*593dc095SDavid du Colombier		  ;;
676*593dc095SDavid du Colombier		*)
677*593dc095SDavid du Colombier		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
678*593dc095SDavid du Colombier		  ;;
679*593dc095SDavid du Colombier		esac
680*593dc095SDavid du Colombier                libdir=
681*593dc095SDavid du Colombier              fi
682*593dc095SDavid du Colombier            fi
683*593dc095SDavid du Colombier
684*593dc095SDavid du Colombier            if test -n "$libdir"; then
685*593dc095SDavid du Colombier              eval flag=\"$hardcode_libdir_flag_spec\"
686*593dc095SDavid du Colombier
687*593dc095SDavid du Colombier              compile_command="$compile_command $flag"
688*593dc095SDavid du Colombier              finalize_command="$finalize_command $flag"
689*593dc095SDavid du Colombier            fi
690*593dc095SDavid du Colombier          elif test -n "$runpath_var"; then
691*593dc095SDavid du Colombier            # Do the same for the permanent run path.
692*593dc095SDavid du Colombier            case "$perm_rpath " in
693*593dc095SDavid du Colombier            *" $libdir "*) ;;
694*593dc095SDavid du Colombier            *) perm_rpath="$perm_rpath $libdir" ;;
695*593dc095SDavid du Colombier            esac
696*593dc095SDavid du Colombier          fi
697*593dc095SDavid du Colombier
698*593dc095SDavid du Colombier
699*593dc095SDavid du Colombier          case "$hardcode_action" in
700*593dc095SDavid du Colombier          immediate)
701*593dc095SDavid du Colombier            if test "$hardcode_direct" = no; then
702*593dc095SDavid du Colombier              compile_command="$compile_command $dir/$linklib"
703*593dc095SDavid du Colombier            elif test "$hardcode_minus_L" = no; then
704*593dc095SDavid du Colombier              compile_command="$compile_command -L$dir -l$name"
705*593dc095SDavid du Colombier            elif test "$hardcode_shlibpath_var" = no; then
706*593dc095SDavid du Colombier              compile_shlibpath="$compile_shlibpath$dir:"
707*593dc095SDavid du Colombier              compile_command="$compile_command -l$name"
708*593dc095SDavid du Colombier            fi
709*593dc095SDavid du Colombier            ;;
710*593dc095SDavid du Colombier
711*593dc095SDavid du Colombier          relink)
712*593dc095SDavid du Colombier            # We need an absolute path.
713*593dc095SDavid du Colombier            case "$dir" in
714*593dc095SDavid du Colombier            /* | [A-Za-z]:\\*) ;;
715*593dc095SDavid du Colombier            *)
716*593dc095SDavid du Colombier              absdir=`cd "$dir" && pwd`
717*593dc095SDavid du Colombier              if test -z "$absdir"; then
718*593dc095SDavid du Colombier                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
719*593dc095SDavid du Colombier                exit 1
720*593dc095SDavid du Colombier              fi
721*593dc095SDavid du Colombier              dir="$absdir"
722*593dc095SDavid du Colombier              ;;
723*593dc095SDavid du Colombier            esac
724*593dc095SDavid du Colombier
725*593dc095SDavid du Colombier            if test "$hardcode_direct" = yes; then
726*593dc095SDavid du Colombier              compile_command="$compile_command $dir/$linklib"
727*593dc095SDavid du Colombier            elif test "$hardcode_minus_L" = yes; then
728*593dc095SDavid du Colombier              compile_command="$compile_command -L$dir -l$name"
729*593dc095SDavid du Colombier            elif test "$hardcode_shlibpath_var" = yes; then
730*593dc095SDavid du Colombier              compile_shlibpath="$compile_shlibpath$dir:"
731*593dc095SDavid du Colombier              compile_command="$compile_command -l$name"
732*593dc095SDavid du Colombier            fi
733*593dc095SDavid du Colombier            ;;
734*593dc095SDavid du Colombier
735*593dc095SDavid du Colombier          *)
736*593dc095SDavid du Colombier            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
737*593dc095SDavid du Colombier            exit 1
738*593dc095SDavid du Colombier            ;;
739*593dc095SDavid du Colombier          esac
740*593dc095SDavid du Colombier
741*593dc095SDavid du Colombier          # Finalize command for both is simple: just hardcode it.
742*593dc095SDavid du Colombier          if test "$hardcode_direct" = yes; then
743*593dc095SDavid du Colombier            finalize_command="$finalize_command $libdir/$linklib"
744*593dc095SDavid du Colombier          elif test "$hardcode_minus_L" = yes; then
745*593dc095SDavid du Colombier            finalize_command="$finalize_command -L$libdir -l$name"
746*593dc095SDavid du Colombier          elif test "$hardcode_shlibpath_var" = yes; then
747*593dc095SDavid du Colombier            finalize_shlibpath="$finalize_shlibpath$libdir:"
748*593dc095SDavid du Colombier            finalize_command="$finalize_command -l$name"
749*593dc095SDavid du Colombier          else
750*593dc095SDavid du Colombier            # We cannot seem to hardcode it, guess we'll fake it.
751*593dc095SDavid du Colombier            finalize_command="$finalize_command -L$libdir -l$name"
752*593dc095SDavid du Colombier          fi
753*593dc095SDavid du Colombier        else
754*593dc095SDavid du Colombier          # Transform directly to old archives if we don't build new libraries.
755*593dc095SDavid du Colombier          if test -n "$pic_flag" && test -z "$old_library"; then
756*593dc095SDavid du Colombier            $echo "$modename: cannot find static library for \`$arg'" 1>&2
757*593dc095SDavid du Colombier            exit 1
758*593dc095SDavid du Colombier          fi
759*593dc095SDavid du Colombier
760*593dc095SDavid du Colombier	  # Here we assume that one of hardcode_direct or hardcode_minus_L
761*593dc095SDavid du Colombier	  # is not unsupported.  This is valid on all known static and
762*593dc095SDavid du Colombier	  # shared platforms.
763*593dc095SDavid du Colombier	  if test "$hardcode_direct" != unsupported; then
764*593dc095SDavid du Colombier	    test -n "$old_library" && linklib="$old_library"
765*593dc095SDavid du Colombier	    compile_command="$compile_command $dir/$linklib"
766*593dc095SDavid du Colombier	    finalize_command="$finalize_command $dir/$linklib"
767*593dc095SDavid du Colombier	  else
768*593dc095SDavid du Colombier	    compile_command="$compile_command -L$dir -l$name"
769*593dc095SDavid du Colombier	    finalize_command="$finalize_command -L$dir -l$name"
770*593dc095SDavid du Colombier	  fi
771*593dc095SDavid du Colombier        fi
772*593dc095SDavid du Colombier
773*593dc095SDavid du Colombier	# Add in any libraries that this one depends upon.
774*593dc095SDavid du Colombier	compile_command="$compile_command$dependency_libs"
775*593dc095SDavid du Colombier	finalize_command="$finalize_command$dependency_libs"
776*593dc095SDavid du Colombier	continue
777*593dc095SDavid du Colombier        ;;
778*593dc095SDavid du Colombier
779*593dc095SDavid du Colombier      # Some other compiler argument.
780*593dc095SDavid du Colombier      *)
781*593dc095SDavid du Colombier	# Unknown arguments in both finalize_command and compile_command need
782*593dc095SDavid du Colombier	# to be aesthetically quoted because they are evaled later.
783*593dc095SDavid du Colombier	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
784*593dc095SDavid du Colombier	case "$arg" in
785*593dc095SDavid du Colombier	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
786*593dc095SDavid du Colombier	  arg="\"$arg\""
787*593dc095SDavid du Colombier	  ;;
788*593dc095SDavid du Colombier	esac
789*593dc095SDavid du Colombier        ;;
790*593dc095SDavid du Colombier      esac
791*593dc095SDavid du Colombier
792*593dc095SDavid du Colombier      # Now actually substitute the argument into the commands.
793*593dc095SDavid du Colombier      if test -n "$arg"; then
794*593dc095SDavid du Colombier	compile_command="$compile_command $arg"
795*593dc095SDavid du Colombier	finalize_command="$finalize_command $arg"
796*593dc095SDavid du Colombier      fi
797*593dc095SDavid du Colombier    done
798*593dc095SDavid du Colombier
799*593dc095SDavid du Colombier    if test -n "$prev"; then
800*593dc095SDavid du Colombier      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
801*593dc095SDavid du Colombier      $echo "$help" 1>&2
802*593dc095SDavid du Colombier      exit 1
803*593dc095SDavid du Colombier    fi
804*593dc095SDavid du Colombier
805*593dc095SDavid du Colombier    if test -n "$vinfo" && test -n "$release"; then
806*593dc095SDavid du Colombier      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
807*593dc095SDavid du Colombier      $echo "$help" 1>&2
808*593dc095SDavid du Colombier      exit 1
809*593dc095SDavid du Colombier    fi
810*593dc095SDavid du Colombier
811*593dc095SDavid du Colombier    oldlib=
812*593dc095SDavid du Colombier    oldobjs=
813*593dc095SDavid du Colombier    case "$output" in
814*593dc095SDavid du Colombier    "")
815*593dc095SDavid du Colombier      $echo "$modename: you must specify an output file" 1>&2
816*593dc095SDavid du Colombier      $echo "$help" 1>&2
817*593dc095SDavid du Colombier      exit 1
818*593dc095SDavid du Colombier      ;;
819*593dc095SDavid du Colombier
820*593dc095SDavid du Colombier    */* | *\\*)
821*593dc095SDavid du Colombier      $echo "$modename: output file \`$output' must have no directory components" 1>&2
822*593dc095SDavid du Colombier      exit 1
823*593dc095SDavid du Colombier      ;;
824*593dc095SDavid du Colombier
825*593dc095SDavid du Colombier    *.a)
826*593dc095SDavid du Colombier      # Now set the variables for building old libraries.
827*593dc095SDavid du Colombier      build_libtool_libs=no
828*593dc095SDavid du Colombier      build_old_libs=yes
829*593dc095SDavid du Colombier      oldlib="$output"
830*593dc095SDavid du Colombier      $show "$rm $oldlib"
831*593dc095SDavid du Colombier      $run $rm $oldlib
832*593dc095SDavid du Colombier      ;;
833*593dc095SDavid du Colombier
834*593dc095SDavid du Colombier    *.la)
835*593dc095SDavid du Colombier      # Make sure we only generate libraries of the form `libNAME.la'.
836*593dc095SDavid du Colombier      case "$output" in
837*593dc095SDavid du Colombier      lib*) ;;
838*593dc095SDavid du Colombier      *)
839*593dc095SDavid du Colombier	$echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
840*593dc095SDavid du Colombier	$echo "$help" 1>&2
841*593dc095SDavid du Colombier	exit 1
842*593dc095SDavid du Colombier	;;
843*593dc095SDavid du Colombier      esac
844*593dc095SDavid du Colombier
845*593dc095SDavid du Colombier      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
846*593dc095SDavid du Colombier      eval libname=\"$libname_spec\"
847*593dc095SDavid du Colombier
848*593dc095SDavid du Colombier      # All the library-specific variables (install_libdir is set above).
849*593dc095SDavid du Colombier      library_names=
850*593dc095SDavid du Colombier      old_library=
851*593dc095SDavid du Colombier      dlname=
852*593dc095SDavid du Colombier      current=0
853*593dc095SDavid du Colombier      revision=0
854*593dc095SDavid du Colombier      age=0
855*593dc095SDavid du Colombier
856*593dc095SDavid du Colombier      if test -n "$objs"; then
857*593dc095SDavid du Colombier        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
858*593dc095SDavid du Colombier        exit 1
859*593dc095SDavid du Colombier      fi
860*593dc095SDavid du Colombier
861*593dc095SDavid du Colombier      # How the heck are we supposed to write a wrapper for a shared library?
862*593dc095SDavid du Colombier      if test -n "$link_against_libtool_libs"; then
863*593dc095SDavid du Colombier        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
864*593dc095SDavid du Colombier        exit 1
865*593dc095SDavid du Colombier      fi
866*593dc095SDavid du Colombier
867*593dc095SDavid du Colombier      if test -n "$dlfiles$dlprefiles"; then
868*593dc095SDavid du Colombier        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
869*593dc095SDavid du Colombier        # Nullify the symbol file.
870*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
871*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
872*593dc095SDavid du Colombier      fi
873*593dc095SDavid du Colombier
874*593dc095SDavid du Colombier      if test -z "$rpath"; then
875*593dc095SDavid du Colombier        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
876*593dc095SDavid du Colombier	$echo "$help" 1>&2
877*593dc095SDavid du Colombier        exit 1
878*593dc095SDavid du Colombier      fi
879*593dc095SDavid du Colombier
880*593dc095SDavid du Colombier      set dummy $rpath
881*593dc095SDavid du Colombier      if test $# -gt 2; then
882*593dc095SDavid du Colombier	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
883*593dc095SDavid du Colombier      fi
884*593dc095SDavid du Colombier      install_libdir="$2"
885*593dc095SDavid du Colombier
886*593dc095SDavid du Colombier      # Parse the version information argument.
887*593dc095SDavid du Colombier      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
888*593dc095SDavid du Colombier      set dummy $vinfo
889*593dc095SDavid du Colombier      IFS="$save_ifs"
890*593dc095SDavid du Colombier
891*593dc095SDavid du Colombier      if test -n "$5"; then
892*593dc095SDavid du Colombier        $echo "$modename: too many parameters to \`-version-info'" 1>&2
893*593dc095SDavid du Colombier        $echo "$help" 1>&2
894*593dc095SDavid du Colombier        exit 1
895*593dc095SDavid du Colombier      fi
896*593dc095SDavid du Colombier
897*593dc095SDavid du Colombier      test -n "$2" && current="$2"
898*593dc095SDavid du Colombier      test -n "$3" && revision="$3"
899*593dc095SDavid du Colombier      test -n "$4" && age="$4"
900*593dc095SDavid du Colombier
901*593dc095SDavid du Colombier      # Check that each of the things are valid numbers.
902*593dc095SDavid du Colombier      case "$current" in
903*593dc095SDavid du Colombier      0 | [1-9] | [1-9][0-9]*) ;;
904*593dc095SDavid du Colombier      *)
905*593dc095SDavid du Colombier        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
906*593dc095SDavid du Colombier        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
907*593dc095SDavid du Colombier        exit 1
908*593dc095SDavid du Colombier        ;;
909*593dc095SDavid du Colombier      esac
910*593dc095SDavid du Colombier
911*593dc095SDavid du Colombier      case "$revision" in
912*593dc095SDavid du Colombier      0 | [1-9] | [1-9][0-9]*) ;;
913*593dc095SDavid du Colombier      *)
914*593dc095SDavid du Colombier        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
915*593dc095SDavid du Colombier        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
916*593dc095SDavid du Colombier        exit 1
917*593dc095SDavid du Colombier        ;;
918*593dc095SDavid du Colombier      esac
919*593dc095SDavid du Colombier
920*593dc095SDavid du Colombier      case "$age" in
921*593dc095SDavid du Colombier      0 | [1-9] | [1-9][0-9]*) ;;
922*593dc095SDavid du Colombier      *)
923*593dc095SDavid du Colombier        $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
924*593dc095SDavid du Colombier        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
925*593dc095SDavid du Colombier        exit 1
926*593dc095SDavid du Colombier        ;;
927*593dc095SDavid du Colombier      esac
928*593dc095SDavid du Colombier
929*593dc095SDavid du Colombier      if test $age -gt $current; then
930*593dc095SDavid du Colombier        $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
931*593dc095SDavid du Colombier        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
932*593dc095SDavid du Colombier        exit 1
933*593dc095SDavid du Colombier      fi
934*593dc095SDavid du Colombier
935*593dc095SDavid du Colombier      # Calculate the version variables.
936*593dc095SDavid du Colombier      version_vars="version_type current age revision"
937*593dc095SDavid du Colombier      case "$version_type" in
938*593dc095SDavid du Colombier      none) ;;
939*593dc095SDavid du Colombier
940*593dc095SDavid du Colombier      linux)
941*593dc095SDavid du Colombier        version_vars="$version_vars major versuffix"
942*593dc095SDavid du Colombier        major=`expr $current - $age`
943*593dc095SDavid du Colombier        versuffix="$major.$age.$revision"
944*593dc095SDavid du Colombier        ;;
945*593dc095SDavid du Colombier
946*593dc095SDavid du Colombier      osf)
947*593dc095SDavid du Colombier        version_vars="$version_vars versuffix verstring"
948*593dc095SDavid du Colombier        major=`expr $current - $age`
949*593dc095SDavid du Colombier        versuffix="$current.$age.$revision"
950*593dc095SDavid du Colombier        verstring="$versuffix"
951*593dc095SDavid du Colombier
952*593dc095SDavid du Colombier        # Add in all the interfaces that we are compatible with.
953*593dc095SDavid du Colombier        loop=$age
954*593dc095SDavid du Colombier        while test $loop != 0; do
955*593dc095SDavid du Colombier          iface=`expr $current - $loop`
956*593dc095SDavid du Colombier          loop=`expr $loop - 1`
957*593dc095SDavid du Colombier          verstring="$verstring:${iface}.0"
958*593dc095SDavid du Colombier        done
959*593dc095SDavid du Colombier
960*593dc095SDavid du Colombier        # Make executables depend on our current version.
961*593dc095SDavid du Colombier        verstring="$verstring:${current}.0"
962*593dc095SDavid du Colombier        ;;
963*593dc095SDavid du Colombier
964*593dc095SDavid du Colombier      sunos)
965*593dc095SDavid du Colombier        version_vars="$version_vars major versuffix"
966*593dc095SDavid du Colombier        major="$current"
967*593dc095SDavid du Colombier        versuffix="$current.$revision"
968*593dc095SDavid du Colombier        ;;
969*593dc095SDavid du Colombier
970*593dc095SDavid du Colombier      *)
971*593dc095SDavid du Colombier        $echo "$modename: unknown library version type \`$version_type'" 1>&2
972*593dc095SDavid du Colombier        echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
973*593dc095SDavid du Colombier        exit 1
974*593dc095SDavid du Colombier        ;;
975*593dc095SDavid du Colombier      esac
976*593dc095SDavid du Colombier
977*593dc095SDavid du Colombier      # Create the output directory, or remove our outputs if we need to.
978*593dc095SDavid du Colombier      if test -d $objdir; then
979*593dc095SDavid du Colombier        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
980*593dc095SDavid du Colombier        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
981*593dc095SDavid du Colombier      else
982*593dc095SDavid du Colombier        $show "$mkdir $objdir"
983*593dc095SDavid du Colombier        $run $mkdir $objdir
984*593dc095SDavid du Colombier	status=$?
985*593dc095SDavid du Colombier	if test $status -eq 0 || test -d $objdir; then :
986*593dc095SDavid du Colombier	else
987*593dc095SDavid du Colombier	  exit $status
988*593dc095SDavid du Colombier	fi
989*593dc095SDavid du Colombier      fi
990*593dc095SDavid du Colombier
991*593dc095SDavid du Colombier      # Check to see if the archive will have undefined symbols.
992*593dc095SDavid du Colombier      if test "$allow_undefined" = yes; then
993*593dc095SDavid du Colombier        if test "$allow_undefined_flag" = unsupported; then
994*593dc095SDavid du Colombier          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
995*593dc095SDavid du Colombier          build_libtool_libs=no
996*593dc095SDavid du Colombier	  build_old_libs=yes
997*593dc095SDavid du Colombier        fi
998*593dc095SDavid du Colombier      else
999*593dc095SDavid du Colombier        # Don't allow undefined symbols.
1000*593dc095SDavid du Colombier        allow_undefined_flag="$no_undefined_flag"
1001*593dc095SDavid du Colombier      fi
1002*593dc095SDavid du Colombier
1003*593dc095SDavid du Colombier      # Add libc to deplibs on all systems.
1004*593dc095SDavid du Colombier      dependency_libs="$deplibs"
1005*593dc095SDavid du Colombier      deplibs="$deplibs -lc"
1006*593dc095SDavid du Colombier
1007*593dc095SDavid du Colombier      if test "$build_libtool_libs" = yes; then
1008*593dc095SDavid du Colombier        # Get the real and link names of the library.
1009*593dc095SDavid du Colombier        eval library_names=\"$library_names_spec\"
1010*593dc095SDavid du Colombier        set dummy $library_names
1011*593dc095SDavid du Colombier        realname="$2"
1012*593dc095SDavid du Colombier        shift; shift
1013*593dc095SDavid du Colombier
1014*593dc095SDavid du Colombier        if test -n "$soname_spec"; then
1015*593dc095SDavid du Colombier          eval soname=\"$soname_spec\"
1016*593dc095SDavid du Colombier        else
1017*593dc095SDavid du Colombier          soname="$realname"
1018*593dc095SDavid du Colombier        fi
1019*593dc095SDavid du Colombier
1020*593dc095SDavid du Colombier        lib="$objdir/$realname"
1021*593dc095SDavid du Colombier	for link
1022*593dc095SDavid du Colombier	do
1023*593dc095SDavid du Colombier	  linknames="$linknames $link"
1024*593dc095SDavid du Colombier	done
1025*593dc095SDavid du Colombier
1026*593dc095SDavid du Colombier        # Use standard objects if they are PIC.
1027*593dc095SDavid du Colombier        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
1028*593dc095SDavid du Colombier
1029*593dc095SDavid du Colombier        # Do each of the archive commands.
1030*593dc095SDavid du Colombier        eval cmds=\"$archive_cmds\"
1031*593dc095SDavid du Colombier        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1032*593dc095SDavid du Colombier        for cmd in $cmds; do
1033*593dc095SDavid du Colombier          IFS="$save_ifs"
1034*593dc095SDavid du Colombier          $show "$cmd"
1035*593dc095SDavid du Colombier          $run eval "$cmd" || exit $?
1036*593dc095SDavid du Colombier        done
1037*593dc095SDavid du Colombier        IFS="$save_ifs"
1038*593dc095SDavid du Colombier
1039*593dc095SDavid du Colombier        # Create links to the real library.
1040*593dc095SDavid du Colombier        for linkname in $linknames; do
1041*593dc095SDavid du Colombier          $show "(cd $objdir && $LN_S $realname $linkname)"
1042*593dc095SDavid du Colombier          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
1043*593dc095SDavid du Colombier        done
1044*593dc095SDavid du Colombier
1045*593dc095SDavid du Colombier        # If -export-dynamic was specified, set the dlname.
1046*593dc095SDavid du Colombier        if test "$export_dynamic" = yes; then
1047*593dc095SDavid du Colombier          # On all known operating systems, these are identical.
1048*593dc095SDavid du Colombier          dlname="$soname"
1049*593dc095SDavid du Colombier        fi
1050*593dc095SDavid du Colombier      fi
1051*593dc095SDavid du Colombier
1052*593dc095SDavid du Colombier      # Now set the variables for building old libraries.
1053*593dc095SDavid du Colombier      oldlib="$objdir/$libname.a"
1054*593dc095SDavid du Colombier      ;;
1055*593dc095SDavid du Colombier
1056*593dc095SDavid du Colombier    *.lo | *.o)
1057*593dc095SDavid du Colombier      if test -n "$link_against_libtool_libs"; then
1058*593dc095SDavid du Colombier        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
1059*593dc095SDavid du Colombier        exit 1
1060*593dc095SDavid du Colombier      fi
1061*593dc095SDavid du Colombier
1062*593dc095SDavid du Colombier      if test -n "$deplibs"; then
1063*593dc095SDavid du Colombier        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
1064*593dc095SDavid du Colombier      fi
1065*593dc095SDavid du Colombier
1066*593dc095SDavid du Colombier      if test -n "$dlfiles$dlprefiles"; then
1067*593dc095SDavid du Colombier        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
1068*593dc095SDavid du Colombier        # Nullify the symbol file.
1069*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1070*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1071*593dc095SDavid du Colombier      fi
1072*593dc095SDavid du Colombier
1073*593dc095SDavid du Colombier      if test -n "$rpath"; then
1074*593dc095SDavid du Colombier        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
1075*593dc095SDavid du Colombier      fi
1076*593dc095SDavid du Colombier
1077*593dc095SDavid du Colombier      if test -n "$vinfo"; then
1078*593dc095SDavid du Colombier        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
1079*593dc095SDavid du Colombier      fi
1080*593dc095SDavid du Colombier
1081*593dc095SDavid du Colombier      if test -n "$release"; then
1082*593dc095SDavid du Colombier        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
1083*593dc095SDavid du Colombier      fi
1084*593dc095SDavid du Colombier
1085*593dc095SDavid du Colombier      case "$output" in
1086*593dc095SDavid du Colombier      *.lo)
1087*593dc095SDavid du Colombier        if test -n "$objs"; then
1088*593dc095SDavid du Colombier          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
1089*593dc095SDavid du Colombier          exit 1
1090*593dc095SDavid du Colombier        fi
1091*593dc095SDavid du Colombier        libobj="$output"
1092*593dc095SDavid du Colombier        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
1093*593dc095SDavid du Colombier        ;;
1094*593dc095SDavid du Colombier      *)
1095*593dc095SDavid du Colombier        libobj=
1096*593dc095SDavid du Colombier        obj="$output"
1097*593dc095SDavid du Colombier        ;;
1098*593dc095SDavid du Colombier      esac
1099*593dc095SDavid du Colombier
1100*593dc095SDavid du Colombier      # Delete the old objects.
1101*593dc095SDavid du Colombier      $run $rm $obj $libobj
1102*593dc095SDavid du Colombier
1103*593dc095SDavid du Colombier      # Create the old-style object.
1104*593dc095SDavid du Colombier      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
1105*593dc095SDavid du Colombier
1106*593dc095SDavid du Colombier      output="$obj"
1107*593dc095SDavid du Colombier      eval cmds=\"$reload_cmds\"
1108*593dc095SDavid du Colombier      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1109*593dc095SDavid du Colombier      for cmd in $cmds; do
1110*593dc095SDavid du Colombier        IFS="$save_ifs"
1111*593dc095SDavid du Colombier        $show "$cmd"
1112*593dc095SDavid du Colombier        $run eval "$cmd" || exit $?
1113*593dc095SDavid du Colombier      done
1114*593dc095SDavid du Colombier      IFS="$save_ifs"
1115*593dc095SDavid du Colombier
1116*593dc095SDavid du Colombier      # Exit if we aren't doing a library object file.
1117*593dc095SDavid du Colombier      test -z "$libobj" && exit 0
1118*593dc095SDavid du Colombier
1119*593dc095SDavid du Colombier      if test "$build_libtool_libs" != yes; then
1120*593dc095SDavid du Colombier        # Create an invalid libtool object if no PIC, so that we don't
1121*593dc095SDavid du Colombier        # accidentally link it into a program.
1122*593dc095SDavid du Colombier        $show "echo timestamp > $libobj"
1123*593dc095SDavid du Colombier        $run eval "echo timestamp > $libobj" || exit $?
1124*593dc095SDavid du Colombier        exit 0
1125*593dc095SDavid du Colombier      fi
1126*593dc095SDavid du Colombier
1127*593dc095SDavid du Colombier      if test -n "$pic_flag"; then
1128*593dc095SDavid du Colombier        # Only do commands if we really have different PIC objects.
1129*593dc095SDavid du Colombier        reload_objs="$libobjs"
1130*593dc095SDavid du Colombier        output="$libobj"
1131*593dc095SDavid du Colombier        eval cmds=\"$reload_cmds\"
1132*593dc095SDavid du Colombier        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1133*593dc095SDavid du Colombier        for cmd in $cmds; do
1134*593dc095SDavid du Colombier          IFS="$save_ifs"
1135*593dc095SDavid du Colombier          $show "$cmd"
1136*593dc095SDavid du Colombier          $run eval "$cmd" || exit $?
1137*593dc095SDavid du Colombier        done
1138*593dc095SDavid du Colombier        IFS="$save_ifs"
1139*593dc095SDavid du Colombier      else
1140*593dc095SDavid du Colombier        # Just create a symlink.
1141*593dc095SDavid du Colombier        $show "$LN_S $obj $libobj"
1142*593dc095SDavid du Colombier        $run $LN_S $obj $libobj || exit 1
1143*593dc095SDavid du Colombier      fi
1144*593dc095SDavid du Colombier
1145*593dc095SDavid du Colombier      exit 0
1146*593dc095SDavid du Colombier      ;;
1147*593dc095SDavid du Colombier
1148*593dc095SDavid du Colombier    *)
1149*593dc095SDavid du Colombier      if test -n "$vinfo"; then
1150*593dc095SDavid du Colombier        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
1151*593dc095SDavid du Colombier      fi
1152*593dc095SDavid du Colombier
1153*593dc095SDavid du Colombier      if test -n "$release"; then
1154*593dc095SDavid du Colombier        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
1155*593dc095SDavid du Colombier      fi
1156*593dc095SDavid du Colombier
1157*593dc095SDavid du Colombier      if test -n "$rpath"; then
1158*593dc095SDavid du Colombier	# If the user specified any rpath flags, then add them.
1159*593dc095SDavid du Colombier	for libdir in $rpath; do
1160*593dc095SDavid du Colombier          if test -n "$hardcode_libdir_flag_spec"; then
1161*593dc095SDavid du Colombier            if test -n "$hardcode_libdir_separator"; then
1162*593dc095SDavid du Colombier              if test -z "$hardcode_libdirs"; then
1163*593dc095SDavid du Colombier                # Put the magic libdir with the hardcode flag.
1164*593dc095SDavid du Colombier                hardcode_libdirs="$libdir"
1165*593dc095SDavid du Colombier                libdir="@HARDCODE_LIBDIRS@"
1166*593dc095SDavid du Colombier              else
1167*593dc095SDavid du Colombier                # Just accumulate the unique libdirs.
1168*593dc095SDavid du Colombier		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
1169*593dc095SDavid du Colombier		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1170*593dc095SDavid du Colombier		  ;;
1171*593dc095SDavid du Colombier		*)
1172*593dc095SDavid du Colombier		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1173*593dc095SDavid du Colombier		  ;;
1174*593dc095SDavid du Colombier		esac
1175*593dc095SDavid du Colombier                libdir=
1176*593dc095SDavid du Colombier              fi
1177*593dc095SDavid du Colombier            fi
1178*593dc095SDavid du Colombier
1179*593dc095SDavid du Colombier            if test -n "$libdir"; then
1180*593dc095SDavid du Colombier              eval flag=\"$hardcode_libdir_flag_spec\"
1181*593dc095SDavid du Colombier
1182*593dc095SDavid du Colombier              compile_command="$compile_command $flag"
1183*593dc095SDavid du Colombier              finalize_command="$finalize_command $flag"
1184*593dc095SDavid du Colombier            fi
1185*593dc095SDavid du Colombier          elif test -n "$runpath_var"; then
1186*593dc095SDavid du Colombier            case "$perm_rpath " in
1187*593dc095SDavid du Colombier            *" $libdir "*) ;;
1188*593dc095SDavid du Colombier            *) perm_rpath="$perm_rpath $libdir" ;;
1189*593dc095SDavid du Colombier            esac
1190*593dc095SDavid du Colombier          fi
1191*593dc095SDavid du Colombier	done
1192*593dc095SDavid du Colombier      fi
1193*593dc095SDavid du Colombier
1194*593dc095SDavid du Colombier      # Substitute the hardcoded libdirs into the compile commands.
1195*593dc095SDavid du Colombier      if test -n "$hardcode_libdir_separator"; then
1196*593dc095SDavid du Colombier	compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1197*593dc095SDavid du Colombier	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1198*593dc095SDavid du Colombier      fi
1199*593dc095SDavid du Colombier
1200*593dc095SDavid du Colombier      if test -n "$libobjs" && test "$build_old_libs" = yes; then
1201*593dc095SDavid du Colombier        # Transform all the library objects into standard objects.
1202*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1203*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1204*593dc095SDavid du Colombier      fi
1205*593dc095SDavid du Colombier
1206*593dc095SDavid du Colombier      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
1207*593dc095SDavid du Colombier        dlsyms="${output}S.c"
1208*593dc095SDavid du Colombier      else
1209*593dc095SDavid du Colombier        dlsyms=
1210*593dc095SDavid du Colombier      fi
1211*593dc095SDavid du Colombier
1212*593dc095SDavid du Colombier      if test -n "$dlsyms"; then
1213*593dc095SDavid du Colombier        # Add our own program objects to the preloaded list.
1214*593dc095SDavid du Colombier        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1215*593dc095SDavid du Colombier
1216*593dc095SDavid du Colombier	# Discover the nlist of each of the dlfiles.
1217*593dc095SDavid du Colombier        nlist="$objdir/${output}.nm"
1218*593dc095SDavid du Colombier
1219*593dc095SDavid du Colombier	if test -d $objdir; then
1220*593dc095SDavid du Colombier	  $show "$rm $nlist ${nlist}T"
1221*593dc095SDavid du Colombier	  $run $rm "$nlist" "${nlist}T"
1222*593dc095SDavid du Colombier	else
1223*593dc095SDavid du Colombier	  $show "$mkdir $objdir"
1224*593dc095SDavid du Colombier	  $run $mkdir $objdir
1225*593dc095SDavid du Colombier	  status=$?
1226*593dc095SDavid du Colombier	  if test $status -eq 0 || test -d $objdir; then :
1227*593dc095SDavid du Colombier	  else
1228*593dc095SDavid du Colombier	    exit $status
1229*593dc095SDavid du Colombier	  fi
1230*593dc095SDavid du Colombier	fi
1231*593dc095SDavid du Colombier
1232*593dc095SDavid du Colombier        for arg in $dlprefiles; do
1233*593dc095SDavid du Colombier	  $show "extracting global C symbols from \`$arg'"
1234*593dc095SDavid du Colombier	  $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
1235*593dc095SDavid du Colombier        done
1236*593dc095SDavid du Colombier
1237*593dc095SDavid du Colombier        # Parse the name list into a source file.
1238*593dc095SDavid du Colombier        $show "creating $objdir/$dlsyms"
1239*593dc095SDavid du Colombier        if test -z "$run"; then
1240*593dc095SDavid du Colombier	  # Make sure we at least have an empty file.
1241*593dc095SDavid du Colombier	  test -f "$nlist" || : > "$nlist"
1242*593dc095SDavid du Colombier
1243*593dc095SDavid du Colombier	  # Try sorting and uniquifying the output.
1244*593dc095SDavid du Colombier	  if sort "$nlist" | uniq > "$nlist"T; then
1245*593dc095SDavid du Colombier	    mv -f "$nlist"T "$nlist"
1246*593dc095SDavid du Colombier	    wcout=`wc "$nlist" 2>/dev/null`
1247*593dc095SDavid du Colombier	    count=`echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
1248*593dc095SDavid du Colombier	    (test "$count" -ge 0) 2>/dev/null || count=-1
1249*593dc095SDavid du Colombier	  else
1250*593dc095SDavid du Colombier	    $rm "$nlist"T
1251*593dc095SDavid du Colombier	    count=-1
1252*593dc095SDavid du Colombier	  fi
1253*593dc095SDavid du Colombier
1254*593dc095SDavid du Colombier	  case "$dlsyms" in
1255*593dc095SDavid du Colombier	  "") ;;
1256*593dc095SDavid du Colombier	  *.c)
1257*593dc095SDavid du Colombier	    $echo > "$objdir/$dlsyms" "\
1258*593dc095SDavid du Colombier/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
1259*593dc095SDavid du Colombier/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
1260*593dc095SDavid du Colombier
1261*593dc095SDavid du Colombier#ifdef __cplusplus
1262*593dc095SDavid du Colombierextern \"C\" {
1263*593dc095SDavid du Colombier#endif
1264*593dc095SDavid du Colombier
1265*593dc095SDavid du Colombier/* Prevent the only kind of declaration conflicts we can make. */
1266*593dc095SDavid du Colombier#define dld_preloaded_symbol_count some_other_symbol
1267*593dc095SDavid du Colombier#define dld_preloaded_symbols some_other_symbol
1268*593dc095SDavid du Colombier
1269*593dc095SDavid du Colombier/* External symbol declarations for the compiler. */\
1270*593dc095SDavid du Colombier"
1271*593dc095SDavid du Colombier
1272*593dc095SDavid du Colombier	    if test -f "$nlist"; then
1273*593dc095SDavid du Colombier	      sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
1274*593dc095SDavid du Colombier	    else
1275*593dc095SDavid du Colombier	      echo '/* NONE */' >> "$objdir/$dlsyms"
1276*593dc095SDavid du Colombier	    fi
1277*593dc095SDavid du Colombier
1278*593dc095SDavid du Colombier	    $echo >> "$objdir/$dlsyms" "\
1279*593dc095SDavid du Colombier
1280*593dc095SDavid du Colombier#undef dld_preloaded_symbol_count
1281*593dc095SDavid du Colombier#undef dld_preloaded_symbols
1282*593dc095SDavid du Colombier
1283*593dc095SDavid du Colombier#if defined (__STDC__) && __STDC__
1284*593dc095SDavid du Colombier# define __ptr_t void *
1285*593dc095SDavid du Colombier#else
1286*593dc095SDavid du Colombier# define __ptr_t char *
1287*593dc095SDavid du Colombier#endif
1288*593dc095SDavid du Colombier
1289*593dc095SDavid du Colombier/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
1290*593dc095SDavid du Colombierint dld_preloaded_symbol_count = $count;
1291*593dc095SDavid du Colombier
1292*593dc095SDavid du Colombier/* The mapping between symbol names and symbols. */
1293*593dc095SDavid du Colombierstruct {
1294*593dc095SDavid du Colombier  char *name;
1295*593dc095SDavid du Colombier  __ptr_t address;
1296*593dc095SDavid du Colombier}
1297*593dc095SDavid du Colombierdld_preloaded_symbols[] =
1298*593dc095SDavid du Colombier{\
1299*593dc095SDavid du Colombier"
1300*593dc095SDavid du Colombier
1301*593dc095SDavid du Colombier	    if test -f "$nlist"; then
1302*593dc095SDavid du Colombier	      sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
1303*593dc095SDavid du Colombier	    fi
1304*593dc095SDavid du Colombier
1305*593dc095SDavid du Colombier	    $echo >> "$objdir/$dlsyms" "\
1306*593dc095SDavid du Colombier  {0, (__ptr_t) 0}
1307*593dc095SDavid du Colombier};
1308*593dc095SDavid du Colombier
1309*593dc095SDavid du Colombier#ifdef __cplusplus
1310*593dc095SDavid du Colombier}
1311*593dc095SDavid du Colombier#endif\
1312*593dc095SDavid du Colombier"
1313*593dc095SDavid du Colombier	    ;;
1314*593dc095SDavid du Colombier
1315*593dc095SDavid du Colombier	  *)
1316*593dc095SDavid du Colombier	    $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
1317*593dc095SDavid du Colombier	    exit 1
1318*593dc095SDavid du Colombier	    ;;
1319*593dc095SDavid du Colombier	  esac
1320*593dc095SDavid du Colombier        fi
1321*593dc095SDavid du Colombier
1322*593dc095SDavid du Colombier        # Now compile the dynamic symbol file.
1323*593dc095SDavid du Colombier        $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
1324*593dc095SDavid du Colombier        $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
1325*593dc095SDavid du Colombier
1326*593dc095SDavid du Colombier        # Transform the symbol file into the correct name.
1327*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
1328*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
1329*593dc095SDavid du Colombier      elif test "$export_dynamic" != yes; then
1330*593dc095SDavid du Colombier        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
1331*593dc095SDavid du Colombier      else
1332*593dc095SDavid du Colombier        # We keep going just in case the user didn't refer to
1333*593dc095SDavid du Colombier        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
1334*593dc095SDavid du Colombier        # really was required.
1335*593dc095SDavid du Colombier        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
1336*593dc095SDavid du Colombier
1337*593dc095SDavid du Colombier        # Nullify the symbol file.
1338*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1339*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1340*593dc095SDavid du Colombier      fi
1341*593dc095SDavid du Colombier
1342*593dc095SDavid du Colombier      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
1343*593dc095SDavid du Colombier        # Replace the output file specification.
1344*593dc095SDavid du Colombier        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1345*593dc095SDavid du Colombier        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1346*593dc095SDavid du Colombier
1347*593dc095SDavid du Colombier        # We have no uninstalled library dependencies, so finalize right now.
1348*593dc095SDavid du Colombier        $show "$compile_command"
1349*593dc095SDavid du Colombier        $run eval "$compile_command"
1350*593dc095SDavid du Colombier        exit $?
1351*593dc095SDavid du Colombier      fi
1352*593dc095SDavid du Colombier
1353*593dc095SDavid du Colombier      # Replace the output file specification.
1354*593dc095SDavid du Colombier      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
1355*593dc095SDavid du Colombier      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
1356*593dc095SDavid du Colombier
1357*593dc095SDavid du Colombier      # Create the binary in the object directory, then wrap it.
1358*593dc095SDavid du Colombier      if test -d $objdir; then :
1359*593dc095SDavid du Colombier      else
1360*593dc095SDavid du Colombier        $show "$mkdir $objdir"
1361*593dc095SDavid du Colombier	$run $mkdir $objdir
1362*593dc095SDavid du Colombier	status=$?
1363*593dc095SDavid du Colombier	if test $status -eq 0 || test -d $objdir; then :
1364*593dc095SDavid du Colombier	else
1365*593dc095SDavid du Colombier	  exit $status
1366*593dc095SDavid du Colombier	fi
1367*593dc095SDavid du Colombier      fi
1368*593dc095SDavid du Colombier
1369*593dc095SDavid du Colombier      if test -n "$shlibpath_var"; then
1370*593dc095SDavid du Colombier        # We should set the shlibpath_var
1371*593dc095SDavid du Colombier        rpath=
1372*593dc095SDavid du Colombier        for dir in $temp_rpath; do
1373*593dc095SDavid du Colombier          case "$dir" in
1374*593dc095SDavid du Colombier          /* | [A-Za-z]:\\*)
1375*593dc095SDavid du Colombier            # Absolute path.
1376*593dc095SDavid du Colombier            rpath="$rpath$dir:"
1377*593dc095SDavid du Colombier            ;;
1378*593dc095SDavid du Colombier          *)
1379*593dc095SDavid du Colombier            # Relative path: add a thisdir entry.
1380*593dc095SDavid du Colombier            rpath="$rpath\$thisdir/$dir:"
1381*593dc095SDavid du Colombier            ;;
1382*593dc095SDavid du Colombier          esac
1383*593dc095SDavid du Colombier        done
1384*593dc095SDavid du Colombier        temp_rpath="$rpath"
1385*593dc095SDavid du Colombier      fi
1386*593dc095SDavid du Colombier
1387*593dc095SDavid du Colombier      # Delete the old output file.
1388*593dc095SDavid du Colombier      $run $rm $output
1389*593dc095SDavid du Colombier
1390*593dc095SDavid du Colombier      if test -n "$compile_shlibpath"; then
1391*593dc095SDavid du Colombier        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
1392*593dc095SDavid du Colombier      fi
1393*593dc095SDavid du Colombier      if test -n "$finalize_shlibpath"; then
1394*593dc095SDavid du Colombier        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
1395*593dc095SDavid du Colombier      fi
1396*593dc095SDavid du Colombier
1397*593dc095SDavid du Colombier      if test -n "$runpath_var" && test -n "$perm_rpath"; then
1398*593dc095SDavid du Colombier        # We should set the runpath_var.
1399*593dc095SDavid du Colombier        rpath=
1400*593dc095SDavid du Colombier        for dir in $perm_rpath; do
1401*593dc095SDavid du Colombier          rpath="$rpath$dir:"
1402*593dc095SDavid du Colombier        done
1403*593dc095SDavid du Colombier        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
1404*593dc095SDavid du Colombier        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
1405*593dc095SDavid du Colombier      fi
1406*593dc095SDavid du Colombier
1407*593dc095SDavid du Colombier      case "$hardcode_action" in
1408*593dc095SDavid du Colombier      relink)
1409*593dc095SDavid du Colombier        # AGH! Flame the AIX and HP-UX people for me, will ya?
1410*593dc095SDavid du Colombier        $echo "$modename: warning: using a buggy system linker" 1>&2
1411*593dc095SDavid du Colombier        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
1412*593dc095SDavid du Colombier        ;;
1413*593dc095SDavid du Colombier      esac
1414*593dc095SDavid du Colombier
1415*593dc095SDavid du Colombier      $show "$compile_command"
1416*593dc095SDavid du Colombier      $run eval "$compile_command" || exit $?
1417*593dc095SDavid du Colombier
1418*593dc095SDavid du Colombier      # Now create the wrapper script.
1419*593dc095SDavid du Colombier      $show "creating $output"
1420*593dc095SDavid du Colombier
1421*593dc095SDavid du Colombier      # Quote the finalize command for shipping.
1422*593dc095SDavid du Colombier      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
1423*593dc095SDavid du Colombier
1424*593dc095SDavid du Colombier      # Quote $echo for shipping.
1425*593dc095SDavid du Colombier      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
1426*593dc095SDavid du Colombier
1427*593dc095SDavid du Colombier      # Only actually do things if our run command is non-null.
1428*593dc095SDavid du Colombier      if test -z "$run"; then
1429*593dc095SDavid du Colombier        $rm $output
1430*593dc095SDavid du Colombier        trap "$rm $output; exit 1" 1 2 15
1431*593dc095SDavid du Colombier
1432*593dc095SDavid du Colombier        $echo > $output "\
1433*593dc095SDavid du Colombier#! /bin/sh
1434*593dc095SDavid du Colombier
1435*593dc095SDavid du Colombier# $output - temporary wrapper script for $objdir/$output
1436*593dc095SDavid du Colombier# Generated by ltmain.sh - GNU $PACKAGE $VERSION
1437*593dc095SDavid du Colombier#
1438*593dc095SDavid du Colombier# The $output program cannot be directly executed until all the libtool
1439*593dc095SDavid du Colombier# libraries that it depends on are installed.
1440*593dc095SDavid du Colombier#
1441*593dc095SDavid du Colombier# This wrapper script should never be moved out of \``pwd`'.
1442*593dc095SDavid du Colombier# If it is, it will not operate correctly.
1443*593dc095SDavid du Colombier
1444*593dc095SDavid du Colombier# Sed substitution that helps us do robust quoting.  It backslashifies
1445*593dc095SDavid du Colombier# metacharacters that are still active within double-quoted strings.
1446*593dc095SDavid du ColombierXsed='sed -e s/^X//'
1447*593dc095SDavid du Colombiersed_quote_subst='$sed_quote_subst'
1448*593dc095SDavid du Colombier
1449*593dc095SDavid du Colombier# The HP-UX ksh and POSIX shell print the target directory to stdout
1450*593dc095SDavid du Colombier# if CDPATH is set.
1451*593dc095SDavid du Colombierif test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
1452*593dc095SDavid du Colombier
1453*593dc095SDavid du Colombier# This environment variable determines our operation mode.
1454*593dc095SDavid du Colombierif test \"\$libtool_install_magic\" = \"$magic\"; then
1455*593dc095SDavid du Colombier  # install mode needs the following variables:
1456*593dc095SDavid du Colombier  link_against_libtool_libs='$link_against_libtool_libs'
1457*593dc095SDavid du Colombier  finalize_command=\"$finalize_command\"
1458*593dc095SDavid du Colombierelse
1459*593dc095SDavid du Colombier  # When we are sourced in execute mode, \$file and \$echo are already set.
1460*593dc095SDavid du Colombier  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
1461*593dc095SDavid du Colombier  else
1462*593dc095SDavid du Colombier    echo=\"$qecho\"
1463*593dc095SDavid du Colombier    file=\"\$0\"
1464*593dc095SDavid du Colombier  fi\
1465*593dc095SDavid du Colombier"
1466*593dc095SDavid du Colombier        $echo >> $output "\
1467*593dc095SDavid du Colombier
1468*593dc095SDavid du Colombier  # Find the directory that this script lives in.
1469*593dc095SDavid du Colombier  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
1470*593dc095SDavid du Colombier  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
1471*593dc095SDavid du Colombier
1472*593dc095SDavid du Colombier  # Follow symbolic links until we get to the real thisdir.
1473*593dc095SDavid du Colombier  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
1474*593dc095SDavid du Colombier  while test -n \"\$file\"; do
1475*593dc095SDavid du Colombier    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
1476*593dc095SDavid du Colombier
1477*593dc095SDavid du Colombier    # If there was a directory component, then change thisdir.
1478*593dc095SDavid du Colombier    if test \"x\$destdir\" != \"x\$file\"; then
1479*593dc095SDavid du Colombier      case \"\$destdir\" in
1480*593dc095SDavid du Colombier      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
1481*593dc095SDavid du Colombier      *) thisdir=\"\$thisdir/\$destdir\" ;;
1482*593dc095SDavid du Colombier      esac
1483*593dc095SDavid du Colombier    fi
1484*593dc095SDavid du Colombier
1485*593dc095SDavid du Colombier    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
1486*593dc095SDavid du Colombier    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
1487*593dc095SDavid du Colombier  done
1488*593dc095SDavid du Colombier
1489*593dc095SDavid du Colombier  # Try to get the absolute directory name.
1490*593dc095SDavid du Colombier  absdir=\`cd \"\$thisdir\" && pwd\`
1491*593dc095SDavid du Colombier  test -n \"\$absdir\" && thisdir=\"\$absdir\"
1492*593dc095SDavid du Colombier
1493*593dc095SDavid du Colombier  progdir=\"\$thisdir/$objdir\"
1494*593dc095SDavid du Colombier  program='$output'
1495*593dc095SDavid du Colombier
1496*593dc095SDavid du Colombier  if test -f \"\$progdir/\$program\"; then"
1497*593dc095SDavid du Colombier
1498*593dc095SDavid du Colombier        # Export our shlibpath_var if we have one.
1499*593dc095SDavid du Colombier        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
1500*593dc095SDavid du Colombier          $echo >> $output "\
1501*593dc095SDavid du Colombier    # Add our own library path to $shlibpath_var
1502*593dc095SDavid du Colombier    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
1503*593dc095SDavid du Colombier
1504*593dc095SDavid du Colombier    # Some systems cannot cope with colon-terminated $shlibpath_var
1505*593dc095SDavid du Colombier    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
1506*593dc095SDavid du Colombier
1507*593dc095SDavid du Colombier    export $shlibpath_var
1508*593dc095SDavid du Colombier"
1509*593dc095SDavid du Colombier        fi
1510*593dc095SDavid du Colombier
1511*593dc095SDavid du Colombier        $echo >> $output "\
1512*593dc095SDavid du Colombier    if test \"\$libtool_execute_magic\" != \"$magic\"; then
1513*593dc095SDavid du Colombier      # Run the actual program with our arguments.
1514*593dc095SDavid du Colombier
1515*593dc095SDavid du Colombier      # Export the path to the program.
1516*593dc095SDavid du Colombier      PATH=\"\$progdir:\$PATH\"
1517*593dc095SDavid du Colombier      export PATH
1518*593dc095SDavid du Colombier
1519*593dc095SDavid du Colombier      exec \$program \${1+\"\$@\"}
1520*593dc095SDavid du Colombier
1521*593dc095SDavid du Colombier      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
1522*593dc095SDavid du Colombier      exit 1
1523*593dc095SDavid du Colombier    fi
1524*593dc095SDavid du Colombier  else
1525*593dc095SDavid du Colombier    # The program doesn't exist.
1526*593dc095SDavid du Colombier    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
1527*593dc095SDavid du Colombier    \$echo \"This script is just a wrapper for \$program.\" 1>&2
1528*593dc095SDavid du Colombier    echo \"See the $PACKAGE documentation for more information.\" 1>&2
1529*593dc095SDavid du Colombier    exit 1
1530*593dc095SDavid du Colombier  fi
1531*593dc095SDavid du Colombierfi\
1532*593dc095SDavid du Colombier"
1533*593dc095SDavid du Colombier        chmod +x $output
1534*593dc095SDavid du Colombier      fi
1535*593dc095SDavid du Colombier      exit 0
1536*593dc095SDavid du Colombier      ;;
1537*593dc095SDavid du Colombier    esac
1538*593dc095SDavid du Colombier
1539*593dc095SDavid du Colombier    # See if we need to build an old-fashioned archive.
1540*593dc095SDavid du Colombier    if test "$build_old_libs" = "yes"; then
1541*593dc095SDavid du Colombier      # Transform .lo files to .o files.
1542*593dc095SDavid du Colombier      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
1543*593dc095SDavid du Colombier
1544*593dc095SDavid du Colombier      # Do each command in the archive commands.
1545*593dc095SDavid du Colombier      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
1546*593dc095SDavid du Colombier	eval cmds=\"$old_archive_from_new_cmds\"
1547*593dc095SDavid du Colombier      else
1548*593dc095SDavid du Colombier	eval cmds=\"$old_archive_cmds\"
1549*593dc095SDavid du Colombier      fi
1550*593dc095SDavid du Colombier      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1551*593dc095SDavid du Colombier      for cmd in $cmds; do
1552*593dc095SDavid du Colombier        IFS="$save_ifs"
1553*593dc095SDavid du Colombier        $show "$cmd"
1554*593dc095SDavid du Colombier        $run eval "$cmd" || exit $?
1555*593dc095SDavid du Colombier      done
1556*593dc095SDavid du Colombier      IFS="$save_ifs"
1557*593dc095SDavid du Colombier    fi
1558*593dc095SDavid du Colombier
1559*593dc095SDavid du Colombier    # Now create the libtool archive.
1560*593dc095SDavid du Colombier    case "$output" in
1561*593dc095SDavid du Colombier    *.la)
1562*593dc095SDavid du Colombier      old_library=
1563*593dc095SDavid du Colombier      test "$build_old_libs" = yes && old_library="$libname.a"
1564*593dc095SDavid du Colombier
1565*593dc095SDavid du Colombier      $show "creating $output"
1566*593dc095SDavid du Colombier
1567*593dc095SDavid du Colombier      # Only create the output if not a dry run.
1568*593dc095SDavid du Colombier      if test -z "$run"; then
1569*593dc095SDavid du Colombier        $echo > $output "\
1570*593dc095SDavid du Colombier# $output - a libtool library file
1571*593dc095SDavid du Colombier# Generated by ltmain.sh - GNU $PACKAGE $VERSION
1572*593dc095SDavid du Colombier
1573*593dc095SDavid du Colombier# The name that we can dlopen(3).
1574*593dc095SDavid du Colombierdlname='$dlname'
1575*593dc095SDavid du Colombier
1576*593dc095SDavid du Colombier# Names of this library.
1577*593dc095SDavid du Colombierlibrary_names='$library_names'
1578*593dc095SDavid du Colombier
1579*593dc095SDavid du Colombier# The name of the static archive.
1580*593dc095SDavid du Colombierold_library='$old_library'
1581*593dc095SDavid du Colombier
1582*593dc095SDavid du Colombier# Libraries that this one depends upon.
1583*593dc095SDavid du Colombierdependency_libs='$dependency_libs'
1584*593dc095SDavid du Colombier
1585*593dc095SDavid du Colombier# Version information for $libname.
1586*593dc095SDavid du Colombiercurrent=$current
1587*593dc095SDavid du Colombierage=$age
1588*593dc095SDavid du Colombierrevision=$revision
1589*593dc095SDavid du Colombier
1590*593dc095SDavid du Colombier# Directory that this library needs to be installed in:
1591*593dc095SDavid du Colombierlibdir='$install_libdir'\
1592*593dc095SDavid du Colombier"
1593*593dc095SDavid du Colombier      fi
1594*593dc095SDavid du Colombier
1595*593dc095SDavid du Colombier      # Do a symbolic link so that the libtool archive can be found in
1596*593dc095SDavid du Colombier      # LD_LIBRARY_PATH before the program is installed.
1597*593dc095SDavid du Colombier      $show "(cd $objdir && $LN_S ../$output $output)"
1598*593dc095SDavid du Colombier      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
1599*593dc095SDavid du Colombier      ;;
1600*593dc095SDavid du Colombier    esac
1601*593dc095SDavid du Colombier    exit 0
1602*593dc095SDavid du Colombier    ;;
1603*593dc095SDavid du Colombier
1604*593dc095SDavid du Colombier  # libtool install mode
1605*593dc095SDavid du Colombier  install)
1606*593dc095SDavid du Colombier    modename="$modename: install"
1607*593dc095SDavid du Colombier
1608*593dc095SDavid du Colombier    # There may be an optional /bin/sh argument at the beginning of
1609*593dc095SDavid du Colombier    # install_prog (especially on Windows NT).
1610*593dc095SDavid du Colombier    if test "$nonopt" = "$SHELL"; then
1611*593dc095SDavid du Colombier      # Aesthetically quote it.
1612*593dc095SDavid du Colombier      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
1613*593dc095SDavid du Colombier      case "$arg" in
1614*593dc095SDavid du Colombier      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
1615*593dc095SDavid du Colombier	arg="\"$arg\""
1616*593dc095SDavid du Colombier	;;
1617*593dc095SDavid du Colombier      esac
1618*593dc095SDavid du Colombier      install_prog="$arg "
1619*593dc095SDavid du Colombier      arg="$1"
1620*593dc095SDavid du Colombier      shift
1621*593dc095SDavid du Colombier    else
1622*593dc095SDavid du Colombier      install_prog=
1623*593dc095SDavid du Colombier      arg="$nonopt"
1624*593dc095SDavid du Colombier    fi
1625*593dc095SDavid du Colombier
1626*593dc095SDavid du Colombier    # The real first argument should be the name of the installation program.
1627*593dc095SDavid du Colombier    # Aesthetically quote it.
1628*593dc095SDavid du Colombier    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1629*593dc095SDavid du Colombier    case "$arg" in
1630*593dc095SDavid du Colombier    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
1631*593dc095SDavid du Colombier      arg="\"$arg\""
1632*593dc095SDavid du Colombier      ;;
1633*593dc095SDavid du Colombier    esac
1634*593dc095SDavid du Colombier    install_prog="$install_prog$arg"
1635*593dc095SDavid du Colombier
1636*593dc095SDavid du Colombier    # We need to accept at least all the BSD install flags.
1637*593dc095SDavid du Colombier    dest=
1638*593dc095SDavid du Colombier    files=
1639*593dc095SDavid du Colombier    opts=
1640*593dc095SDavid du Colombier    prev=
1641*593dc095SDavid du Colombier    install_type=
1642*593dc095SDavid du Colombier    isdir=
1643*593dc095SDavid du Colombier    stripme=
1644*593dc095SDavid du Colombier    for arg
1645*593dc095SDavid du Colombier    do
1646*593dc095SDavid du Colombier      if test -n "$dest"; then
1647*593dc095SDavid du Colombier        files="$files $dest"
1648*593dc095SDavid du Colombier        dest="$arg"
1649*593dc095SDavid du Colombier        continue
1650*593dc095SDavid du Colombier      fi
1651*593dc095SDavid du Colombier
1652*593dc095SDavid du Colombier      case "$arg" in
1653*593dc095SDavid du Colombier      -d) isdir=yes ;;
1654*593dc095SDavid du Colombier      -f) prev="-f" ;;
1655*593dc095SDavid du Colombier      -g) prev="-g" ;;
1656*593dc095SDavid du Colombier      -m) prev="-m" ;;
1657*593dc095SDavid du Colombier      -o) prev="-o" ;;
1658*593dc095SDavid du Colombier      -s)
1659*593dc095SDavid du Colombier        stripme=" -s"
1660*593dc095SDavid du Colombier        continue
1661*593dc095SDavid du Colombier        ;;
1662*593dc095SDavid du Colombier      -*) ;;
1663*593dc095SDavid du Colombier
1664*593dc095SDavid du Colombier      *)
1665*593dc095SDavid du Colombier        # If the previous option needed an argument, then skip it.
1666*593dc095SDavid du Colombier        if test -n "$prev"; then
1667*593dc095SDavid du Colombier          prev=
1668*593dc095SDavid du Colombier        else
1669*593dc095SDavid du Colombier          dest="$arg"
1670*593dc095SDavid du Colombier          continue
1671*593dc095SDavid du Colombier        fi
1672*593dc095SDavid du Colombier        ;;
1673*593dc095SDavid du Colombier      esac
1674*593dc095SDavid du Colombier
1675*593dc095SDavid du Colombier      # Aesthetically quote the argument.
1676*593dc095SDavid du Colombier      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1677*593dc095SDavid du Colombier      case "$arg" in
1678*593dc095SDavid du Colombier      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
1679*593dc095SDavid du Colombier	arg="\"$arg\""
1680*593dc095SDavid du Colombier	;;
1681*593dc095SDavid du Colombier      esac
1682*593dc095SDavid du Colombier      install_prog="$install_prog $arg"
1683*593dc095SDavid du Colombier    done
1684*593dc095SDavid du Colombier
1685*593dc095SDavid du Colombier    if test -z "$install_prog"; then
1686*593dc095SDavid du Colombier      $echo "$modename: you must specify an install program" 1>&2
1687*593dc095SDavid du Colombier      $echo "$help" 1>&2
1688*593dc095SDavid du Colombier      exit 1
1689*593dc095SDavid du Colombier    fi
1690*593dc095SDavid du Colombier
1691*593dc095SDavid du Colombier    if test -n "$prev"; then
1692*593dc095SDavid du Colombier      $echo "$modename: the \`$prev' option requires an argument" 1>&2
1693*593dc095SDavid du Colombier      $echo "$help" 1>&2
1694*593dc095SDavid du Colombier      exit 1
1695*593dc095SDavid du Colombier    fi
1696*593dc095SDavid du Colombier
1697*593dc095SDavid du Colombier    if test -z "$files"; then
1698*593dc095SDavid du Colombier      if test -z "$dest"; then
1699*593dc095SDavid du Colombier        $echo "$modename: no file or destination specified" 1>&2
1700*593dc095SDavid du Colombier      else
1701*593dc095SDavid du Colombier        $echo "$modename: you must specify a destination" 1>&2
1702*593dc095SDavid du Colombier      fi
1703*593dc095SDavid du Colombier      $echo "$help" 1>&2
1704*593dc095SDavid du Colombier      exit 1
1705*593dc095SDavid du Colombier    fi
1706*593dc095SDavid du Colombier
1707*593dc095SDavid du Colombier    # Strip any trailing slash from the destination.
1708*593dc095SDavid du Colombier    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
1709*593dc095SDavid du Colombier
1710*593dc095SDavid du Colombier    # Check to see that the destination is a directory.
1711*593dc095SDavid du Colombier    test -d "$dest" && isdir=yes
1712*593dc095SDavid du Colombier    if test -n "$isdir"; then
1713*593dc095SDavid du Colombier      destdir="$dest"
1714*593dc095SDavid du Colombier      destname=
1715*593dc095SDavid du Colombier    else
1716*593dc095SDavid du Colombier      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
1717*593dc095SDavid du Colombier      test "X$destdir" = "X$dest" && destdir=.
1718*593dc095SDavid du Colombier      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
1719*593dc095SDavid du Colombier
1720*593dc095SDavid du Colombier      # Not a directory, so check to see that there is only one file specified.
1721*593dc095SDavid du Colombier      set dummy $files
1722*593dc095SDavid du Colombier      if test $# -gt 2; then
1723*593dc095SDavid du Colombier        $echo "$modename: \`$dest' is not a directory" 1>&2
1724*593dc095SDavid du Colombier        $echo "$help" 1>&2
1725*593dc095SDavid du Colombier        exit 1
1726*593dc095SDavid du Colombier      fi
1727*593dc095SDavid du Colombier    fi
1728*593dc095SDavid du Colombier    case "$destdir" in
1729*593dc095SDavid du Colombier    /* | [A-Za-z]:\\*) ;;
1730*593dc095SDavid du Colombier    *)
1731*593dc095SDavid du Colombier      for file in $files; do
1732*593dc095SDavid du Colombier        case "$file" in
1733*593dc095SDavid du Colombier        *.lo) ;;
1734*593dc095SDavid du Colombier        *)
1735*593dc095SDavid du Colombier          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
1736*593dc095SDavid du Colombier          $echo "$help" 1>&2
1737*593dc095SDavid du Colombier          exit 1
1738*593dc095SDavid du Colombier          ;;
1739*593dc095SDavid du Colombier        esac
1740*593dc095SDavid du Colombier      done
1741*593dc095SDavid du Colombier      ;;
1742*593dc095SDavid du Colombier    esac
1743*593dc095SDavid du Colombier
1744*593dc095SDavid du Colombier    # This variable tells wrapper scripts just to set variables rather
1745*593dc095SDavid du Colombier    # than running their programs.
1746*593dc095SDavid du Colombier    libtool_install_magic="$magic"
1747*593dc095SDavid du Colombier
1748*593dc095SDavid du Colombier    staticlibs=
1749*593dc095SDavid du Colombier    future_libdirs=
1750*593dc095SDavid du Colombier    current_libdirs=
1751*593dc095SDavid du Colombier    for file in $files; do
1752*593dc095SDavid du Colombier
1753*593dc095SDavid du Colombier      # Do each installation.
1754*593dc095SDavid du Colombier      case "$file" in
1755*593dc095SDavid du Colombier      *.a)
1756*593dc095SDavid du Colombier        # Do the static libraries later.
1757*593dc095SDavid du Colombier        staticlibs="$staticlibs $file"
1758*593dc095SDavid du Colombier        ;;
1759*593dc095SDavid du Colombier
1760*593dc095SDavid du Colombier      *.la)
1761*593dc095SDavid du Colombier        # Check to see that this really is a libtool archive.
1762*593dc095SDavid du Colombier        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
1763*593dc095SDavid du Colombier        else
1764*593dc095SDavid du Colombier          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
1765*593dc095SDavid du Colombier          $echo "$help" 1>&2
1766*593dc095SDavid du Colombier          exit 1
1767*593dc095SDavid du Colombier        fi
1768*593dc095SDavid du Colombier
1769*593dc095SDavid du Colombier        library_names=
1770*593dc095SDavid du Colombier        old_library=
1771*593dc095SDavid du Colombier        # If there is no directory component, then add one.
1772*593dc095SDavid du Colombier        case "$file" in
1773*593dc095SDavid du Colombier        */* | *\\*) . $file ;;
1774*593dc095SDavid du Colombier        *) . ./$file ;;
1775*593dc095SDavid du Colombier        esac
1776*593dc095SDavid du Colombier
1777*593dc095SDavid du Colombier        # Add the libdir to current_libdirs if it is the destination.
1778*593dc095SDavid du Colombier        if test "X$destdir" = "X$libdir"; then
1779*593dc095SDavid du Colombier          case "$current_libdirs " in
1780*593dc095SDavid du Colombier          *" $libdir "*) ;;
1781*593dc095SDavid du Colombier          *) current_libdirs="$current_libdirs $libdir" ;;
1782*593dc095SDavid du Colombier          esac
1783*593dc095SDavid du Colombier        else
1784*593dc095SDavid du Colombier          # Note the libdir as a future libdir.
1785*593dc095SDavid du Colombier          case "$future_libdirs " in
1786*593dc095SDavid du Colombier          *" $libdir "*) ;;
1787*593dc095SDavid du Colombier          *) future_libdirs="$future_libdirs $libdir" ;;
1788*593dc095SDavid du Colombier          esac
1789*593dc095SDavid du Colombier        fi
1790*593dc095SDavid du Colombier
1791*593dc095SDavid du Colombier        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
1792*593dc095SDavid du Colombier        test "X$dir" = "X$file/" && dir=
1793*593dc095SDavid du Colombier        dir="$dir$objdir"
1794*593dc095SDavid du Colombier
1795*593dc095SDavid du Colombier        # See the names of the shared library.
1796*593dc095SDavid du Colombier        set dummy $library_names
1797*593dc095SDavid du Colombier        if test -n "$2"; then
1798*593dc095SDavid du Colombier          realname="$2"
1799*593dc095SDavid du Colombier          shift
1800*593dc095SDavid du Colombier          shift
1801*593dc095SDavid du Colombier
1802*593dc095SDavid du Colombier          # Install the shared library and build the symlinks.
1803*593dc095SDavid du Colombier          $show "$install_prog $dir/$realname $destdir/$realname"
1804*593dc095SDavid du Colombier          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
1805*593dc095SDavid du Colombier          test "X$dlname" = "X$realname" && dlname=
1806*593dc095SDavid du Colombier
1807*593dc095SDavid du Colombier          if test $# -gt 0; then
1808*593dc095SDavid du Colombier            # Delete the old symlinks.
1809*593dc095SDavid du Colombier            rmcmd="$rm"
1810*593dc095SDavid du Colombier            for linkname
1811*593dc095SDavid du Colombier            do
1812*593dc095SDavid du Colombier              rmcmd="$rmcmd $destdir/$linkname"
1813*593dc095SDavid du Colombier            done
1814*593dc095SDavid du Colombier            $show "$rmcmd"
1815*593dc095SDavid du Colombier            $run $rmcmd
1816*593dc095SDavid du Colombier
1817*593dc095SDavid du Colombier            # ... and create new ones.
1818*593dc095SDavid du Colombier            for linkname
1819*593dc095SDavid du Colombier            do
1820*593dc095SDavid du Colombier              test "X$dlname" = "X$linkname" && dlname=
1821*593dc095SDavid du Colombier              $show "(cd $destdir && $LN_S $realname $linkname)"
1822*593dc095SDavid du Colombier              $run eval "(cd $destdir && $LN_S $realname $linkname)"
1823*593dc095SDavid du Colombier            done
1824*593dc095SDavid du Colombier          fi
1825*593dc095SDavid du Colombier
1826*593dc095SDavid du Colombier          if test -n "$dlname"; then
1827*593dc095SDavid du Colombier            # Install the dynamically-loadable library.
1828*593dc095SDavid du Colombier            $show "$install_prog $dir/$dlname $destdir/$dlname"
1829*593dc095SDavid du Colombier            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
1830*593dc095SDavid du Colombier          fi
1831*593dc095SDavid du Colombier
1832*593dc095SDavid du Colombier          # Do each command in the postinstall commands.
1833*593dc095SDavid du Colombier          lib="$destdir/$realname"
1834*593dc095SDavid du Colombier          eval cmds=\"$postinstall_cmds\"
1835*593dc095SDavid du Colombier          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1836*593dc095SDavid du Colombier          for cmd in $cmds; do
1837*593dc095SDavid du Colombier            IFS="$save_ifs"
1838*593dc095SDavid du Colombier            $show "$cmd"
1839*593dc095SDavid du Colombier            $run eval "$cmd" || exit $?
1840*593dc095SDavid du Colombier          done
1841*593dc095SDavid du Colombier          IFS="$save_ifs"
1842*593dc095SDavid du Colombier        fi
1843*593dc095SDavid du Colombier
1844*593dc095SDavid du Colombier        # Install the pseudo-library for information purposes.
1845*593dc095SDavid du Colombier        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1846*593dc095SDavid du Colombier        $show "$install_prog $file $destdir/$name"
1847*593dc095SDavid du Colombier        $run eval "$install_prog $file $destdir/$name" || exit $?
1848*593dc095SDavid du Colombier
1849*593dc095SDavid du Colombier        # Maybe install the static library, too.
1850*593dc095SDavid du Colombier        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
1851*593dc095SDavid du Colombier        ;;
1852*593dc095SDavid du Colombier
1853*593dc095SDavid du Colombier      *.lo)
1854*593dc095SDavid du Colombier        # Install (i.e. copy) a libtool object.
1855*593dc095SDavid du Colombier
1856*593dc095SDavid du Colombier        # Figure out destination file name, if it wasn't already specified.
1857*593dc095SDavid du Colombier        if test -n "$destname"; then
1858*593dc095SDavid du Colombier          destfile="$destdir/$destname"
1859*593dc095SDavid du Colombier        else
1860*593dc095SDavid du Colombier          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1861*593dc095SDavid du Colombier          destfile="$destdir/$destfile"
1862*593dc095SDavid du Colombier        fi
1863*593dc095SDavid du Colombier
1864*593dc095SDavid du Colombier        # Deduce the name of the destination old-style object file.
1865*593dc095SDavid du Colombier        case "$destfile" in
1866*593dc095SDavid du Colombier        *.lo)
1867*593dc095SDavid du Colombier          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
1868*593dc095SDavid du Colombier          ;;
1869*593dc095SDavid du Colombier        *.o)
1870*593dc095SDavid du Colombier          staticdest="$destfile"
1871*593dc095SDavid du Colombier          destfile=
1872*593dc095SDavid du Colombier          ;;
1873*593dc095SDavid du Colombier        *)
1874*593dc095SDavid du Colombier          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
1875*593dc095SDavid du Colombier          $echo "$help" 1>&2
1876*593dc095SDavid du Colombier          exit 1
1877*593dc095SDavid du Colombier          ;;
1878*593dc095SDavid du Colombier        esac
1879*593dc095SDavid du Colombier
1880*593dc095SDavid du Colombier        # Install the libtool object if requested.
1881*593dc095SDavid du Colombier        if test -n "$destfile"; then
1882*593dc095SDavid du Colombier          $show "$install_prog $file $destfile"
1883*593dc095SDavid du Colombier          $run eval "$install_prog $file $destfile" || exit $?
1884*593dc095SDavid du Colombier        fi
1885*593dc095SDavid du Colombier
1886*593dc095SDavid du Colombier        # Install the old object if enabled.
1887*593dc095SDavid du Colombier        if test "$build_old_libs" = yes; then
1888*593dc095SDavid du Colombier          # Deduce the name of the old-style object file.
1889*593dc095SDavid du Colombier          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
1890*593dc095SDavid du Colombier
1891*593dc095SDavid du Colombier          $show "$install_prog $staticobj $staticdest"
1892*593dc095SDavid du Colombier          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
1893*593dc095SDavid du Colombier        fi
1894*593dc095SDavid du Colombier        exit 0
1895*593dc095SDavid du Colombier        ;;
1896*593dc095SDavid du Colombier
1897*593dc095SDavid du Colombier      *)
1898*593dc095SDavid du Colombier        # Do a test to see if this is really a libtool program.
1899*593dc095SDavid du Colombier        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
1900*593dc095SDavid du Colombier          link_against_libtool_libs=
1901*593dc095SDavid du Colombier          finalize_command=
1902*593dc095SDavid du Colombier
1903*593dc095SDavid du Colombier          # If there is no directory component, then add one.
1904*593dc095SDavid du Colombier          case "$file" in
1905*593dc095SDavid du Colombier          */* | *\\*) . $file ;;
1906*593dc095SDavid du Colombier          *) . ./$file ;;
1907*593dc095SDavid du Colombier          esac
1908*593dc095SDavid du Colombier
1909*593dc095SDavid du Colombier          # Check the variables that should have been set.
1910*593dc095SDavid du Colombier          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
1911*593dc095SDavid du Colombier            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
1912*593dc095SDavid du Colombier            exit 1
1913*593dc095SDavid du Colombier          fi
1914*593dc095SDavid du Colombier
1915*593dc095SDavid du Colombier          finalize=yes
1916*593dc095SDavid du Colombier          for lib in $link_against_libtool_libs; do
1917*593dc095SDavid du Colombier            # Check to see that each library is installed.
1918*593dc095SDavid du Colombier            libdir=
1919*593dc095SDavid du Colombier            if test -f "$lib"; then
1920*593dc095SDavid du Colombier              # If there is no directory component, then add one.
1921*593dc095SDavid du Colombier              case "$lib" in
1922*593dc095SDavid du Colombier              */* | *\\*) . $lib ;;
1923*593dc095SDavid du Colombier              *) . ./$lib ;;
1924*593dc095SDavid du Colombier              esac
1925*593dc095SDavid du Colombier            fi
1926*593dc095SDavid du Colombier            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
1927*593dc095SDavid du Colombier            if test -z "$libdir"; then
1928*593dc095SDavid du Colombier              $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
1929*593dc095SDavid du Colombier            elif test -f "$libfile"; then :
1930*593dc095SDavid du Colombier            else
1931*593dc095SDavid du Colombier              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
1932*593dc095SDavid du Colombier              finalize=no
1933*593dc095SDavid du Colombier            fi
1934*593dc095SDavid du Colombier          done
1935*593dc095SDavid du Colombier
1936*593dc095SDavid du Colombier          if test "$hardcode_action" = relink; then
1937*593dc095SDavid du Colombier            if test "$finalize" = yes; then
1938*593dc095SDavid du Colombier              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
1939*593dc095SDavid du Colombier              $show "$finalize_command"
1940*593dc095SDavid du Colombier              if $run eval "$finalize_command"; then :
1941*593dc095SDavid du Colombier              else
1942*593dc095SDavid du Colombier                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1943*593dc095SDavid du Colombier                continue
1944*593dc095SDavid du Colombier              fi
1945*593dc095SDavid du Colombier              file="$objdir/$file"T
1946*593dc095SDavid du Colombier            else
1947*593dc095SDavid du Colombier              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
1948*593dc095SDavid du Colombier            fi
1949*593dc095SDavid du Colombier          else
1950*593dc095SDavid du Colombier            # Install the binary that we compiled earlier.
1951*593dc095SDavid du Colombier	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
1952*593dc095SDavid du Colombier          fi
1953*593dc095SDavid du Colombier        fi
1954*593dc095SDavid du Colombier
1955*593dc095SDavid du Colombier        $show "$install_prog$stripme $file $dest"
1956*593dc095SDavid du Colombier        $run eval "$install_prog\$stripme \$file \$dest" || exit $?
1957*593dc095SDavid du Colombier        ;;
1958*593dc095SDavid du Colombier      esac
1959*593dc095SDavid du Colombier    done
1960*593dc095SDavid du Colombier
1961*593dc095SDavid du Colombier    for file in $staticlibs; do
1962*593dc095SDavid du Colombier      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1963*593dc095SDavid du Colombier
1964*593dc095SDavid du Colombier      # Set up the ranlib parameters.
1965*593dc095SDavid du Colombier      oldlib="$destdir/$name"
1966*593dc095SDavid du Colombier
1967*593dc095SDavid du Colombier      $show "$install_prog $file $oldlib"
1968*593dc095SDavid du Colombier      $run eval "$install_prog \$file \$oldlib" || exit $?
1969*593dc095SDavid du Colombier
1970*593dc095SDavid du Colombier      # Do each command in the postinstall commands.
1971*593dc095SDavid du Colombier      eval cmds=\"$old_postinstall_cmds\"
1972*593dc095SDavid du Colombier      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
1973*593dc095SDavid du Colombier      for cmd in $cmds; do
1974*593dc095SDavid du Colombier        IFS="$save_ifs"
1975*593dc095SDavid du Colombier        $show "$cmd"
1976*593dc095SDavid du Colombier        $run eval "$cmd" || exit $?
1977*593dc095SDavid du Colombier      done
1978*593dc095SDavid du Colombier      IFS="$save_ifs"
1979*593dc095SDavid du Colombier    done
1980*593dc095SDavid du Colombier
1981*593dc095SDavid du Colombier    if test -n "$future_libdirs"; then
1982*593dc095SDavid du Colombier      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
1983*593dc095SDavid du Colombier    fi
1984*593dc095SDavid du Colombier
1985*593dc095SDavid du Colombier    if test -n "$current_libdirs"; then
1986*593dc095SDavid du Colombier      # Maybe just do a dry run.
1987*593dc095SDavid du Colombier      test -n "$run" && current_libdirs=" -n$current_libdirs"
1988*593dc095SDavid du Colombier      exec $SHELL $0 --finish$current_libdirs
1989*593dc095SDavid du Colombier      exit 1
1990*593dc095SDavid du Colombier    fi
1991*593dc095SDavid du Colombier
1992*593dc095SDavid du Colombier    exit 0
1993*593dc095SDavid du Colombier    ;;
1994*593dc095SDavid du Colombier
1995*593dc095SDavid du Colombier  # libtool finish mode
1996*593dc095SDavid du Colombier  finish)
1997*593dc095SDavid du Colombier    modename="$modename: finish"
1998*593dc095SDavid du Colombier    libdirs="$nonopt"
1999*593dc095SDavid du Colombier
2000*593dc095SDavid du Colombier    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
2001*593dc095SDavid du Colombier      for dir
2002*593dc095SDavid du Colombier      do
2003*593dc095SDavid du Colombier        libdirs="$libdirs $dir"
2004*593dc095SDavid du Colombier      done
2005*593dc095SDavid du Colombier
2006*593dc095SDavid du Colombier      for libdir in $libdirs; do
2007*593dc095SDavid du Colombier	if test -n "$finish_cmds"; then
2008*593dc095SDavid du Colombier	  # Do each command in the finish commands.
2009*593dc095SDavid du Colombier	  eval cmds=\"$finish_cmds\"
2010*593dc095SDavid du Colombier          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
2011*593dc095SDavid du Colombier          for cmd in $cmds; do
2012*593dc095SDavid du Colombier            IFS="$save_ifs"
2013*593dc095SDavid du Colombier            $show "$cmd"
2014*593dc095SDavid du Colombier            $run eval "$cmd"
2015*593dc095SDavid du Colombier          done
2016*593dc095SDavid du Colombier          IFS="$save_ifs"
2017*593dc095SDavid du Colombier	fi
2018*593dc095SDavid du Colombier	if test -n "$finish_eval"; then
2019*593dc095SDavid du Colombier	  # Do the single finish_eval.
2020*593dc095SDavid du Colombier	  eval cmds=\"$finish_eval\"
2021*593dc095SDavid du Colombier	  $run eval "$cmds"
2022*593dc095SDavid du Colombier	fi
2023*593dc095SDavid du Colombier      done
2024*593dc095SDavid du Colombier    fi
2025*593dc095SDavid du Colombier
2026*593dc095SDavid du Colombier    echo "------------------------------------------------------------------------------"
2027*593dc095SDavid du Colombier    echo "Libraries have been installed in:"
2028*593dc095SDavid du Colombier    for libdir in $libdirs; do
2029*593dc095SDavid du Colombier      echo "   $libdir"
2030*593dc095SDavid du Colombier    done
2031*593dc095SDavid du Colombier    echo
2032*593dc095SDavid du Colombier    echo "To link against installed libraries in a given directory, LIBDIR,"
2033*593dc095SDavid du Colombier    echo "you must use the \`-LLIBDIR' flag during linking."
2034*593dc095SDavid du Colombier    echo
2035*593dc095SDavid du Colombier    echo " You will also need to do one of the following:"
2036*593dc095SDavid du Colombier    if test -n "$shlibpath_var"; then
2037*593dc095SDavid du Colombier      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
2038*593dc095SDavid du Colombier      echo "     during execution"
2039*593dc095SDavid du Colombier    fi
2040*593dc095SDavid du Colombier    if test -n "$runpath_var"; then
2041*593dc095SDavid du Colombier      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
2042*593dc095SDavid du Colombier      echo "     during linking"
2043*593dc095SDavid du Colombier    fi
2044*593dc095SDavid du Colombier    if test -n "$hardcode_libdir_flag_spec"; then
2045*593dc095SDavid du Colombier      libdir=LIBDIR
2046*593dc095SDavid du Colombier      eval flag=\"$hardcode_libdir_flag_spec\"
2047*593dc095SDavid du Colombier
2048*593dc095SDavid du Colombier      echo "   - use the \`$flag' linker flag"
2049*593dc095SDavid du Colombier    fi
2050*593dc095SDavid du Colombier    if test -f /etc/ld.so.conf; then
2051*593dc095SDavid du Colombier      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
2052*593dc095SDavid du Colombier    fi
2053*593dc095SDavid du Colombier    echo
2054*593dc095SDavid du Colombier    echo "See any operating system documentation about shared libraries for"
2055*593dc095SDavid du Colombier    echo "more information, such as the ld(1) and ld.so(8) manual pages."
2056*593dc095SDavid du Colombier    echo "------------------------------------------------------------------------------"
2057*593dc095SDavid du Colombier    exit 0
2058*593dc095SDavid du Colombier    ;;
2059*593dc095SDavid du Colombier
2060*593dc095SDavid du Colombier  # libtool execute mode
2061*593dc095SDavid du Colombier  execute)
2062*593dc095SDavid du Colombier    modename="$modename: execute"
2063*593dc095SDavid du Colombier
2064*593dc095SDavid du Colombier    # The first argument is the command name.
2065*593dc095SDavid du Colombier    cmd="$nonopt"
2066*593dc095SDavid du Colombier    if test -z "$cmd"; then
2067*593dc095SDavid du Colombier      $echo "$modename: you must specify a COMMAND" 1>&2
2068*593dc095SDavid du Colombier      $echo "$help"
2069*593dc095SDavid du Colombier      exit 1
2070*593dc095SDavid du Colombier    fi
2071*593dc095SDavid du Colombier
2072*593dc095SDavid du Colombier    # Handle -dlopen flags immediately.
2073*593dc095SDavid du Colombier    for file in $execute_dlfiles; do
2074*593dc095SDavid du Colombier      if test -f "$file"; then :
2075*593dc095SDavid du Colombier      else
2076*593dc095SDavid du Colombier	$echo "$modename: \`$file' is not a file" 1>&2
2077*593dc095SDavid du Colombier	$echo "$help" 1>&2
2078*593dc095SDavid du Colombier	exit 1
2079*593dc095SDavid du Colombier      fi
2080*593dc095SDavid du Colombier
2081*593dc095SDavid du Colombier      dir=
2082*593dc095SDavid du Colombier      case "$file" in
2083*593dc095SDavid du Colombier      *.la)
2084*593dc095SDavid du Colombier        # Check to see that this really is a libtool archive.
2085*593dc095SDavid du Colombier        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
2086*593dc095SDavid du Colombier        else
2087*593dc095SDavid du Colombier          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2088*593dc095SDavid du Colombier          $echo "$help" 1>&2
2089*593dc095SDavid du Colombier          exit 1
2090*593dc095SDavid du Colombier        fi
2091*593dc095SDavid du Colombier
2092*593dc095SDavid du Colombier	# Read the libtool library.
2093*593dc095SDavid du Colombier	dlname=
2094*593dc095SDavid du Colombier	library_names=
2095*593dc095SDavid du Colombier
2096*593dc095SDavid du Colombier        # If there is no directory component, then add one.
2097*593dc095SDavid du Colombier	case "$file" in
2098*593dc095SDavid du Colombier	*/* | *\\*) . $file ;;
2099*593dc095SDavid du Colombier        *) . ./$file ;;
2100*593dc095SDavid du Colombier	esac
2101*593dc095SDavid du Colombier
2102*593dc095SDavid du Colombier	# Skip this library if it cannot be dlopened.
2103*593dc095SDavid du Colombier	if test -z "$dlname"; then
2104*593dc095SDavid du Colombier	  # Warn if it was a shared library.
2105*593dc095SDavid du Colombier	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
2106*593dc095SDavid du Colombier	  continue
2107*593dc095SDavid du Colombier	fi
2108*593dc095SDavid du Colombier
2109*593dc095SDavid du Colombier	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2110*593dc095SDavid du Colombier	test "X$dir" = "X$file" && dir=.
2111*593dc095SDavid du Colombier
2112*593dc095SDavid du Colombier	if test -f "$dir/$objdir/$dlname"; then
2113*593dc095SDavid du Colombier	  dir="$dir/$objdir"
2114*593dc095SDavid du Colombier	else
2115*593dc095SDavid du Colombier	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
2116*593dc095SDavid du Colombier	  exit 1
2117*593dc095SDavid du Colombier	fi
2118*593dc095SDavid du Colombier	;;
2119*593dc095SDavid du Colombier
2120*593dc095SDavid du Colombier      *.lo)
2121*593dc095SDavid du Colombier	# Just add the directory containing the .lo file.
2122*593dc095SDavid du Colombier	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2123*593dc095SDavid du Colombier	test "X$dir" = "X$file" && dir=.
2124*593dc095SDavid du Colombier	;;
2125*593dc095SDavid du Colombier
2126*593dc095SDavid du Colombier      *)
2127*593dc095SDavid du Colombier	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
2128*593dc095SDavid du Colombier        continue
2129*593dc095SDavid du Colombier	;;
2130*593dc095SDavid du Colombier      esac
2131*593dc095SDavid du Colombier
2132*593dc095SDavid du Colombier      # Get the absolute pathname.
2133*593dc095SDavid du Colombier      absdir=`cd "$dir" && pwd`
2134*593dc095SDavid du Colombier      test -n "$absdir" && dir="$absdir"
2135*593dc095SDavid du Colombier
2136*593dc095SDavid du Colombier      # Now add the directory to shlibpath_var.
2137*593dc095SDavid du Colombier      if eval "test -z \"\$$shlibpath_var\""; then
2138*593dc095SDavid du Colombier	eval "$shlibpath_var=\"\$dir\""
2139*593dc095SDavid du Colombier      else
2140*593dc095SDavid du Colombier	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
2141*593dc095SDavid du Colombier      fi
2142*593dc095SDavid du Colombier    done
2143*593dc095SDavid du Colombier
2144*593dc095SDavid du Colombier    # This variable tells wrapper scripts just to set shlibpath_var
2145*593dc095SDavid du Colombier    # rather than running their programs.
2146*593dc095SDavid du Colombier    libtool_execute_magic="$magic"
2147*593dc095SDavid du Colombier
2148*593dc095SDavid du Colombier    # Check if any of the arguments is a wrapper script.
2149*593dc095SDavid du Colombier    args=
2150*593dc095SDavid du Colombier    for file
2151*593dc095SDavid du Colombier    do
2152*593dc095SDavid du Colombier      case "$file" in
2153*593dc095SDavid du Colombier      -*) ;;
2154*593dc095SDavid du Colombier      *)
2155*593dc095SDavid du Colombier        # Do a test to see if this is really a libtool program.
2156*593dc095SDavid du Colombier        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
2157*593dc095SDavid du Colombier	  # If there is no directory component, then add one.
2158*593dc095SDavid du Colombier	  case "$file" in
2159*593dc095SDavid du Colombier	  */* | *\\*) . $file ;;
2160*593dc095SDavid du Colombier	  *) . ./$file ;;
2161*593dc095SDavid du Colombier	  esac
2162*593dc095SDavid du Colombier
2163*593dc095SDavid du Colombier	  # Transform arg to wrapped name.
2164*593dc095SDavid du Colombier	  file="$progdir/$program"
2165*593dc095SDavid du Colombier	fi
2166*593dc095SDavid du Colombier        ;;
2167*593dc095SDavid du Colombier      esac
2168*593dc095SDavid du Colombier      # Quote arguments (to preserve shell metacharacters).
2169*593dc095SDavid du Colombier      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
2170*593dc095SDavid du Colombier      args="$args \"$file\""
2171*593dc095SDavid du Colombier    done
2172*593dc095SDavid du Colombier
2173*593dc095SDavid du Colombier    if test -z "$run"; then
2174*593dc095SDavid du Colombier      # Export the shlibpath_var.
2175*593dc095SDavid du Colombier      eval "export $shlibpath_var"
2176*593dc095SDavid du Colombier
2177*593dc095SDavid du Colombier      # Now actually exec the command.
2178*593dc095SDavid du Colombier      eval "exec \$cmd$args"
2179*593dc095SDavid du Colombier
2180*593dc095SDavid du Colombier      $echo "$modename: cannot exec \$cmd$args"
2181*593dc095SDavid du Colombier      exit 1
2182*593dc095SDavid du Colombier    else
2183*593dc095SDavid du Colombier      # Display what would be done.
2184*593dc095SDavid du Colombier      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
2185*593dc095SDavid du Colombier      $echo "export $shlibpath_var"
2186*593dc095SDavid du Colombier      $echo "$cmd$args"
2187*593dc095SDavid du Colombier      exit 0
2188*593dc095SDavid du Colombier    fi
2189*593dc095SDavid du Colombier    ;;
2190*593dc095SDavid du Colombier
2191*593dc095SDavid du Colombier  # libtool uninstall mode
2192*593dc095SDavid du Colombier  uninstall)
2193*593dc095SDavid du Colombier    modename="$modename: uninstall"
2194*593dc095SDavid du Colombier    rm="$nonopt"
2195*593dc095SDavid du Colombier    files=
2196*593dc095SDavid du Colombier
2197*593dc095SDavid du Colombier    for arg
2198*593dc095SDavid du Colombier    do
2199*593dc095SDavid du Colombier      case "$arg" in
2200*593dc095SDavid du Colombier      -*) rm="$rm $arg" ;;
2201*593dc095SDavid du Colombier      *) files="$files $arg" ;;
2202*593dc095SDavid du Colombier      esac
2203*593dc095SDavid du Colombier    done
2204*593dc095SDavid du Colombier
2205*593dc095SDavid du Colombier    if test -z "$rm"; then
2206*593dc095SDavid du Colombier      $echo "$modename: you must specify an RM program" 1>&2
2207*593dc095SDavid du Colombier      $echo "$help" 1>&2
2208*593dc095SDavid du Colombier      exit 1
2209*593dc095SDavid du Colombier    fi
2210*593dc095SDavid du Colombier
2211*593dc095SDavid du Colombier    for file in $files; do
2212*593dc095SDavid du Colombier      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2213*593dc095SDavid du Colombier      test "X$dir" = "X$file" && dir=.
2214*593dc095SDavid du Colombier      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2215*593dc095SDavid du Colombier
2216*593dc095SDavid du Colombier      rmfiles="$file"
2217*593dc095SDavid du Colombier
2218*593dc095SDavid du Colombier      case "$name" in
2219*593dc095SDavid du Colombier      *.la)
2220*593dc095SDavid du Colombier        # Possibly a libtool archive, so verify it.
2221*593dc095SDavid du Colombier        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
2222*593dc095SDavid du Colombier          . $dir/$name
2223*593dc095SDavid du Colombier
2224*593dc095SDavid du Colombier          # Delete the libtool libraries and symlinks.
2225*593dc095SDavid du Colombier          for n in $library_names; do
2226*593dc095SDavid du Colombier            rmfiles="$rmfiles $dir/$n"
2227*593dc095SDavid du Colombier            test "X$n" = "X$dlname" && dlname=
2228*593dc095SDavid du Colombier          done
2229*593dc095SDavid du Colombier          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
2230*593dc095SDavid du Colombier          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
2231*593dc095SDavid du Colombier
2232*593dc095SDavid du Colombier	  $show "$rm $rmfiles"
2233*593dc095SDavid du Colombier	  $run $rm $rmfiles
2234*593dc095SDavid du Colombier
2235*593dc095SDavid du Colombier	  if test -n "$library_names"; then
2236*593dc095SDavid du Colombier	    # Do each command in the postuninstall commands.
2237*593dc095SDavid du Colombier	    eval cmds=\"$postuninstall_cmds\"
2238*593dc095SDavid du Colombier	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
2239*593dc095SDavid du Colombier	    for cmd in $cmds; do
2240*593dc095SDavid du Colombier	      IFS="$save_ifs"
2241*593dc095SDavid du Colombier	      $show "$cmd"
2242*593dc095SDavid du Colombier	      $run eval "$cmd"
2243*593dc095SDavid du Colombier	    done
2244*593dc095SDavid du Colombier	    IFS="$save_ifs"
2245*593dc095SDavid du Colombier	  fi
2246*593dc095SDavid du Colombier
2247*593dc095SDavid du Colombier          if test -n "$old_library"; then
2248*593dc095SDavid du Colombier	    # Do each command in the old_postuninstall commands.
2249*593dc095SDavid du Colombier	    eval cmds=\"$old_postuninstall_cmds\"
2250*593dc095SDavid du Colombier	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
2251*593dc095SDavid du Colombier	    for cmd in $cmds; do
2252*593dc095SDavid du Colombier	      IFS="$save_ifs"
2253*593dc095SDavid du Colombier	      $show "$cmd"
2254*593dc095SDavid du Colombier	      $run eval "$cmd"
2255*593dc095SDavid du Colombier	    done
2256*593dc095SDavid du Colombier	    IFS="$save_ifs"
2257*593dc095SDavid du Colombier	  fi
2258*593dc095SDavid du Colombier
2259*593dc095SDavid du Colombier          # FIXME: should reinstall the best remaining shared library.
2260*593dc095SDavid du Colombier        fi
2261*593dc095SDavid du Colombier        ;;
2262*593dc095SDavid du Colombier
2263*593dc095SDavid du Colombier      *.lo)
2264*593dc095SDavid du Colombier        if test "$build_old_libs" = yes; then
2265*593dc095SDavid du Colombier          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
2266*593dc095SDavid du Colombier          rmfiles="$rmfiles $dir/$oldobj"
2267*593dc095SDavid du Colombier        fi
2268*593dc095SDavid du Colombier	$show "$rm $rmfiles"
2269*593dc095SDavid du Colombier	$run $rm $rmfiles
2270*593dc095SDavid du Colombier        ;;
2271*593dc095SDavid du Colombier
2272*593dc095SDavid du Colombier      *)
2273*593dc095SDavid du Colombier      	$show "$rm $rmfiles"
2274*593dc095SDavid du Colombier	$run $rm $rmfiles
2275*593dc095SDavid du Colombier	;;
2276*593dc095SDavid du Colombier      esac
2277*593dc095SDavid du Colombier    done
2278*593dc095SDavid du Colombier    exit 0
2279*593dc095SDavid du Colombier    ;;
2280*593dc095SDavid du Colombier
2281*593dc095SDavid du Colombier  "")
2282*593dc095SDavid du Colombier    $echo "$modename: you must specify a MODE" 1>&2
2283*593dc095SDavid du Colombier    $echo "$generic_help" 1>&2
2284*593dc095SDavid du Colombier    exit 1
2285*593dc095SDavid du Colombier    ;;
2286*593dc095SDavid du Colombier  esac
2287*593dc095SDavid du Colombier
2288*593dc095SDavid du Colombier  $echo "$modename: invalid operation mode \`$mode'" 1>&2
2289*593dc095SDavid du Colombier  $echo "$generic_help" 1>&2
2290*593dc095SDavid du Colombier  exit 1
2291*593dc095SDavid du Colombierfi # test -z "$show_help"
2292*593dc095SDavid du Colombier
2293*593dc095SDavid du Colombier# We need to display help for each of the modes.
2294*593dc095SDavid du Colombiercase "$mode" in
2295*593dc095SDavid du Colombier"") $echo \
2296*593dc095SDavid du Colombier"Usage: $modename [OPTION]... [MODE-ARG]...
2297*593dc095SDavid du Colombier
2298*593dc095SDavid du ColombierProvide generalized library-building support services.
2299*593dc095SDavid du Colombier
2300*593dc095SDavid du Colombier-n, --dry-run         display commands without modifying any files
2301*593dc095SDavid du Colombier    --features        display configuration information and exit
2302*593dc095SDavid du Colombier    --finish          same as \`--mode=finish'
2303*593dc095SDavid du Colombier    --help            display this help message and exit
2304*593dc095SDavid du Colombier    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
2305*593dc095SDavid du Colombier    --quiet           same as \`--silent'
2306*593dc095SDavid du Colombier    --silent          don't print informational messages
2307*593dc095SDavid du Colombier    --version         print version information
2308*593dc095SDavid du Colombier
2309*593dc095SDavid du ColombierMODE must be one of the following:
2310*593dc095SDavid du Colombier
2311*593dc095SDavid du Colombier      compile         compile a source file into a libtool object
2312*593dc095SDavid du Colombier      execute         automatically set library path, then run a program
2313*593dc095SDavid du Colombier      finish          complete the installation of libtool libraries
2314*593dc095SDavid du Colombier      install         install libraries or executables
2315*593dc095SDavid du Colombier      link            create a library or an executable
2316*593dc095SDavid du Colombier      uninstall       remove libraries from an installed directory
2317*593dc095SDavid du Colombier
2318*593dc095SDavid du ColombierMODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
2319*593dc095SDavid du Colombiera more detailed description of MODE."
2320*593dc095SDavid du Colombier  exit 0
2321*593dc095SDavid du Colombier  ;;
2322*593dc095SDavid du Colombier
2323*593dc095SDavid du Colombiercompile)
2324*593dc095SDavid du Colombier  $echo \
2325*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
2326*593dc095SDavid du Colombier
2327*593dc095SDavid du ColombierCompile a source file into a libtool library object.
2328*593dc095SDavid du Colombier
2329*593dc095SDavid du ColombierCOMPILE-COMMAND is a command to be used in creating a \`standard' object file
2330*593dc095SDavid du Colombierfrom the given SOURCEFILE.
2331*593dc095SDavid du Colombier
2332*593dc095SDavid du ColombierThe output file name is determined by removing the directory component from
2333*593dc095SDavid du ColombierSOURCEFILE, then substituting the C source code suffix \`.c' with the
2334*593dc095SDavid du Colombierlibrary object suffix, \`.lo'."
2335*593dc095SDavid du Colombier  ;;
2336*593dc095SDavid du Colombier
2337*593dc095SDavid du Colombierexecute)
2338*593dc095SDavid du Colombier  $echo \
2339*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
2340*593dc095SDavid du Colombier
2341*593dc095SDavid du ColombierAutomatically set library path, then run a program.
2342*593dc095SDavid du Colombier
2343*593dc095SDavid du ColombierThis mode accepts the following additional options:
2344*593dc095SDavid du Colombier
2345*593dc095SDavid du Colombier  -dlopen FILE      add the directory containing FILE to the library path
2346*593dc095SDavid du Colombier
2347*593dc095SDavid du ColombierThis mode sets the library path environment variable according to \`-dlopen'
2348*593dc095SDavid du Colombierflags.
2349*593dc095SDavid du Colombier
2350*593dc095SDavid du ColombierIf any of the ARGS are libtool executable wrappers, then they are translated
2351*593dc095SDavid du Colombierinto their corresponding uninstalled binary, and any of their required library
2352*593dc095SDavid du Colombierdirectories are added to the library path.
2353*593dc095SDavid du Colombier
2354*593dc095SDavid du ColombierThen, COMMAND is executed, with ARGS as arguments."
2355*593dc095SDavid du Colombier  ;;
2356*593dc095SDavid du Colombier
2357*593dc095SDavid du Colombierfinish)
2358*593dc095SDavid du Colombier  $echo \
2359*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
2360*593dc095SDavid du Colombier
2361*593dc095SDavid du ColombierComplete the installation of libtool libraries.
2362*593dc095SDavid du Colombier
2363*593dc095SDavid du ColombierEach LIBDIR is a directory that contains libtool libraries.
2364*593dc095SDavid du Colombier
2365*593dc095SDavid du ColombierThe commands that this mode executes may require superuser privileges.  Use
2366*593dc095SDavid du Colombierthe \`--dry-run' option if you just want to see what would be executed."
2367*593dc095SDavid du Colombier  ;;
2368*593dc095SDavid du Colombier
2369*593dc095SDavid du Colombierinstall)
2370*593dc095SDavid du Colombier  $echo \
2371*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
2372*593dc095SDavid du Colombier
2373*593dc095SDavid du ColombierInstall executables or libraries.
2374*593dc095SDavid du Colombier
2375*593dc095SDavid du ColombierINSTALL-COMMAND is the installation command.  The first component should be
2376*593dc095SDavid du Colombiereither the \`install' or \`cp' program.
2377*593dc095SDavid du Colombier
2378*593dc095SDavid du ColombierThe rest of the components are interpreted as arguments to that command (only
2379*593dc095SDavid du ColombierBSD-compatible install options are recognized)."
2380*593dc095SDavid du Colombier  ;;
2381*593dc095SDavid du Colombier
2382*593dc095SDavid du Colombierlink)
2383*593dc095SDavid du Colombier  $echo \
2384*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
2385*593dc095SDavid du Colombier
2386*593dc095SDavid du ColombierLink object files or libraries together to form another library, or to
2387*593dc095SDavid du Colombiercreate an executable program.
2388*593dc095SDavid du Colombier
2389*593dc095SDavid du ColombierLINK-COMMAND is a command using the C compiler that you would use to create
2390*593dc095SDavid du Colombiera program from several object files.
2391*593dc095SDavid du Colombier
2392*593dc095SDavid du ColombierThe following components of LINK-COMMAND are treated specially:
2393*593dc095SDavid du Colombier
2394*593dc095SDavid du Colombier  -all-static       do not do any dynamic linking at all
2395*593dc095SDavid du Colombier  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
2396*593dc095SDavid du Colombier  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
2397*593dc095SDavid du Colombier  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
2398*593dc095SDavid du Colombier  -LLIBDIR          search LIBDIR for required installed libraries
2399*593dc095SDavid du Colombier  -lNAME            OUTPUT-FILE requires the installed library libNAME
2400*593dc095SDavid du Colombier  -no-undefined     declare that a library does not refer to external symbols
2401*593dc095SDavid du Colombier  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
2402*593dc095SDavid du Colombier  -release RELEASE  specify package release information
2403*593dc095SDavid du Colombier  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
2404*593dc095SDavid du Colombier  -static           do not do any dynamic linking of libtool libraries
2405*593dc095SDavid du Colombier  -version-info CURRENT[:REVISION[:AGE]]
2406*593dc095SDavid du Colombier                    specify library version info [each variable defaults to 0]
2407*593dc095SDavid du Colombier
2408*593dc095SDavid du ColombierAll other options (arguments beginning with \`-') are ignored.
2409*593dc095SDavid du Colombier
2410*593dc095SDavid du ColombierEvery other argument is treated as a filename.  Files ending in \`.la' are
2411*593dc095SDavid du Colombiertreated as uninstalled libtool libraries, other files are standard or library
2412*593dc095SDavid du Colombierobject files.
2413*593dc095SDavid du Colombier
2414*593dc095SDavid du ColombierIf the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
2415*593dc095SDavid du Colombierlibrary objects (\`.lo' files) may be specified, and \`-rpath' is required.
2416*593dc095SDavid du Colombier
2417*593dc095SDavid du ColombierIf OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
2418*593dc095SDavid du Colombierand \`ranlib'.
2419*593dc095SDavid du Colombier
2420*593dc095SDavid du ColombierIf OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
2421*593dc095SDavid du Colombiercreated, otherwise an executable program is created."
2422*593dc095SDavid du Colombier  ;;
2423*593dc095SDavid du Colombier
2424*593dc095SDavid du Colombieruninstall)
2425*593dc095SDavid du Colombier  $echo
2426*593dc095SDavid du Colombier"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
2427*593dc095SDavid du Colombier
2428*593dc095SDavid du ColombierRemove libraries from an installation directory.
2429*593dc095SDavid du Colombier
2430*593dc095SDavid du ColombierRM is the name of the program to use to delete files associated with each FILE
2431*593dc095SDavid du Colombier(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
2432*593dc095SDavid du Colombierto RM.
2433*593dc095SDavid du Colombier
2434*593dc095SDavid du ColombierIf FILE is a libtool library, all the files associated with it are deleted.
2435*593dc095SDavid du ColombierOtherwise, only FILE itself is deleted using RM."
2436*593dc095SDavid du Colombier  ;;
2437*593dc095SDavid du Colombier
2438*593dc095SDavid du Colombier*)
2439*593dc095SDavid du Colombier  $echo "$modename: invalid operation mode \`$mode'" 1>&2
2440*593dc095SDavid du Colombier  $echo "$help" 1>&2
2441*593dc095SDavid du Colombier  exit 1
2442*593dc095SDavid du Colombier  ;;
2443*593dc095SDavid du Colombieresac
2444*593dc095SDavid du Colombier
2445*593dc095SDavid du Colombierecho
2446*593dc095SDavid du Colombier$echo "Try \`$modename --help' for more information about other modes."
2447*593dc095SDavid du Colombier
2448*593dc095SDavid du Colombierexit 0
2449*593dc095SDavid du Colombier
2450*593dc095SDavid du Colombier# Local Variables:
2451*593dc095SDavid du Colombier# mode:shell-script
2452*593dc095SDavid du Colombier# sh-indentation:2
2453*593dc095SDavid du Colombier# End:
2454