/ Hex Artifact Content
Login

Artifact bbbea7d79c23323e4100103836028e4fad0d9242:


0000: 23 21 20 2f 62 69 6e 2f 73 68 0a 0a 23 20 6c 69  #! /bin/sh..# li
0010: 62 74 6f 6f 6c 20 2d 20 50 72 6f 76 69 64 65 20  btool - Provide 
0020: 67 65 6e 65 72 61 6c 69 7a 65 64 20 6c 69 62 72  generalized libr
0030: 61 72 79 2d 62 75 69 6c 64 69 6e 67 20 73 75 70  ary-building sup
0040: 70 6f 72 74 20 73 65 72 76 69 63 65 73 2e 0a 23  port services..#
0050: 20 47 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6d   Generated autom
0060: 61 74 69 63 61 6c 6c 79 20 62 79 20 20 28 47 4e  atically by  (GN
0070: 55 20 20 29 0a 23 20 4e 4f 54 45 3a 20 43 68 61  U  ).# NOTE: Cha
0080: 6e 67 65 73 20 6d 61 64 65 20 74 6f 20 74 68 69  nges made to thi
0090: 73 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 6c  s file will be l
00a0: 6f 73 74 3a 20 6c 6f 6f 6b 20 61 74 20 6c 74 6d  ost: look at ltm
00b0: 61 69 6e 2e 73 68 2e 0a 23 0a 23 20 43 6f 70 79  ain.sh..#.# Copy
00c0: 72 69 67 68 74 20 28 43 29 20 31 39 39 36 2d 32  right (C) 1996-2
00d0: 30 30 30 20 46 72 65 65 20 53 6f 66 74 77 61 72  000 Free Softwar
00e0: 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e  e Foundation, In
00f0: 63 2e 0a 23 20 4f 72 69 67 69 6e 61 6c 6c 79 20  c..# Originally 
0100: 62 79 20 47 6f 72 64 6f 6e 20 4d 61 74 7a 69 67  by Gordon Matzig
0110: 6b 65 69 74 20 3c 67 6f 72 64 40 67 6e 75 2e 61  keit <gord@gnu.a
0120: 69 2e 6d 69 74 2e 65 64 75 3e 2c 20 31 39 39 36  i.mit.edu>, 1996
0130: 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61  .#.# This progra
0140: 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61  m is free softwa
0150: 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69  re; you can redi
0160: 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f  stribute it and/
0170: 6f 72 20 6d 6f 64 69 66 79 0a 23 20 69 74 20 75  or modify.# it u
0180: 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f  nder the terms o
0190: 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61  f the GNU Genera
01a0: 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65  l Public License
01b0: 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79   as published by
01c0: 0a 23 20 74 68 65 20 46 72 65 65 20 53 6f 66 74  .# the Free Soft
01d0: 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b  ware Foundation;
01e0: 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20   either version 
01f0: 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65  2 of the License
0200: 2c 20 6f 72 0a 23 20 28 61 74 20 79 6f 75 72 20  , or.# (at your 
0210: 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65  option) any late
0220: 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 54  r version..#.# T
0230: 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64  his program is d
0240: 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68  istributed in th
0250: 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77  e hope that it w
0260: 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62  ill be useful, b
0270: 75 74 0a 23 20 57 49 54 48 4f 55 54 20 41 4e 59  ut.# WITHOUT ANY
0280: 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f   WARRANTY; witho
0290: 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c  ut even the impl
02a0: 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a  ied warranty of.
02b0: 23 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54  # MERCHANTABILIT
02c0: 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52  Y or FITNESS FOR
02d0: 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55   A PARTICULAR PU
02e0: 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 20  RPOSE.  See the 
02f0: 47 4e 55 0a 23 20 47 65 6e 65 72 61 6c 20 50 75  GNU.# General Pu
0300: 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72  blic License for
0310: 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23   more details..#
0320: 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61  .# You should ha
0330: 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f  ve received a co
0340: 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65  py of the GNU Ge
0350: 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63  neral Public Lic
0360: 65 6e 73 65 0a 23 20 61 6c 6f 6e 67 20 77 69 74  ense.# along wit
0370: 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20  h this program; 
0380: 69 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f  if not, write to
0390: 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61   the Free Softwa
03a0: 72 65 0a 23 20 46 6f 75 6e 64 61 74 69 6f 6e 2c  re.# Foundation,
03b0: 20 49 6e 63 2e 2c 20 35 39 20 54 65 6d 70 6c 65   Inc., 59 Temple
03c0: 20 50 6c 61 63 65 20 2d 20 53 75 69 74 65 20 33   Place - Suite 3
03d0: 33 30 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30  30, Boston, MA 0
03e0: 32 31 31 31 2d 31 33 30 37 2c 20 55 53 41 2e 0a  2111-1307, USA..
03f0: 23 0a 23 20 41 73 20 61 20 73 70 65 63 69 61 6c  #.# As a special
0400: 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 74 68   exception to th
0410: 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75  e GNU General Pu
0420: 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 69 66  blic License, if
0430: 20 79 6f 75 0a 23 20 64 69 73 74 72 69 62 75 74   you.# distribut
0440: 65 20 74 68 69 73 20 66 69 6c 65 20 61 73 20 70  e this file as p
0450: 61 72 74 20 6f 66 20 61 20 70 72 6f 67 72 61 6d  art of a program
0460: 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61   that contains a
0470: 0a 23 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  .# configuration
0480: 20 73 63 72 69 70 74 20 67 65 6e 65 72 61 74 65   script generate
0490: 64 20 62 79 20 41 75 74 6f 63 6f 6e 66 2c 20 79  d by Autoconf, y
04a0: 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 69  ou may include i
04b0: 74 20 75 6e 64 65 72 0a 23 20 74 68 65 20 73 61  t under.# the sa
04c0: 6d 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20  me distribution 
04d0: 74 65 72 6d 73 20 74 68 61 74 20 79 6f 75 20 75  terms that you u
04e0: 73 65 20 66 6f 72 20 74 68 65 20 72 65 73 74 20  se for the rest 
04f0: 6f 66 20 74 68 61 74 20 70 72 6f 67 72 61 6d 2e  of that program.
0500: 0a 0a 23 20 41 20 73 65 64 20 74 68 61 74 20 64  ..# A sed that d
0510: 6f 65 73 20 6e 6f 74 20 74 72 75 6e 63 61 74 65  oes not truncate
0520: 20 6f 75 74 70 75 74 2e 0a 53 45 44 3d 22 2f 62   output..SED="/b
0530: 69 6e 2f 73 65 64 22 0a 0a 23 20 53 65 64 20 74  in/sed"..# Sed t
0540: 68 61 74 20 68 65 6c 70 73 20 75 73 20 61 76 6f  hat helps us avo
0550: 69 64 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20  id accidentally 
0560: 74 72 69 67 67 65 72 69 6e 67 20 65 63 68 6f 28  triggering echo(
0570: 31 29 20 6f 70 74 69 6f 6e 73 20 6c 69 6b 65 20  1) options like 
0580: 2d 6e 2e 0a 58 73 65 64 3d 22 2f 62 69 6e 2f 73  -n..Xsed="/bin/s
0590: 65 64 20 2d 65 20 73 2f 5e 58 2f 2f 22 0a 0a 23  ed -e s/^X//"..#
05a0: 20 54 68 65 20 48 50 2d 55 58 20 6b 73 68 20 61   The HP-UX ksh a
05b0: 6e 64 20 50 4f 53 49 58 20 73 68 65 6c 6c 20 70  nd POSIX shell p
05c0: 72 69 6e 74 20 74 68 65 20 74 61 72 67 65 74 20  rint the target 
05d0: 64 69 72 65 63 74 6f 72 79 20 74 6f 20 73 74 64  directory to std
05e0: 6f 75 74 0a 23 20 69 66 20 43 44 50 41 54 48 20  out.# if CDPATH 
05f0: 69 73 20 73 65 74 2e 0a 69 66 20 74 65 73 74 20  is set..if test 
0600: 22 58 24 7b 43 44 50 41 54 48 2b 73 65 74 7d 22  "X${CDPATH+set}"
0610: 20 3d 20 58 73 65 74 3b 20 74 68 65 6e 20 43 44   = Xset; then CD
0620: 50 41 54 48 3d 3a 3b 20 65 78 70 6f 72 74 20 43  PATH=:; export C
0630: 44 50 41 54 48 3b 20 66 69 0a 0a 23 20 23 23 23  DPATH; fi..# ###
0640: 20 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 43   BEGIN LIBTOOL C
0650: 4f 4e 46 49 47 0a 0a 23 20 4c 69 62 74 6f 6f 6c  ONFIG..# Libtool
0660: 20 77 61 73 20 63 6f 6e 66 69 67 75 72 65 64 20   was configured 
0670: 6f 6e 20 68 6f 73 74 20 61 6c 69 63 65 3a 0a 0a  on host alice:..
0680: 23 20 53 68 65 6c 6c 20 74 6f 20 75 73 65 20 77  # Shell to use w
0690: 68 65 6e 20 69 6e 76 6f 6b 69 6e 67 20 73 68 65  hen invoking she
06a0: 6c 6c 20 73 63 72 69 70 74 73 2e 0a 53 48 45 4c  ll scripts..SHEL
06b0: 4c 3d 22 2f 62 69 6e 2f 73 68 22 0a 0a 23 20 57  L="/bin/sh"..# W
06c0: 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 6f  hether or not to
06d0: 20 62 75 69 6c 64 20 73 68 61 72 65 64 20 6c 69   build shared li
06e0: 62 72 61 72 69 65 73 2e 0a 62 75 69 6c 64 5f 6c  braries..build_l
06f0: 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 79 65 73 0a  ibtool_libs=yes.
0700: 0a 23 20 57 68 65 74 68 65 72 20 6f 72 20 6e 6f  .# Whether or no
0710: 74 20 74 6f 20 62 75 69 6c 64 20 73 74 61 74 69  t to build stati
0720: 63 20 6c 69 62 72 61 72 69 65 73 2e 0a 62 75 69  c libraries..bui
0730: 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a  ld_old_libs=yes.
0740: 0a 23 20 57 68 65 74 68 65 72 20 6f 72 20 6e 6f  .# Whether or no
0750: 74 20 74 6f 20 61 64 64 20 2d 6c 63 20 66 6f 72  t to add -lc for
0760: 20 62 75 69 6c 64 69 6e 67 20 73 68 61 72 65 64   building shared
0770: 20 6c 69 62 72 61 72 69 65 73 2e 0a 62 75 69 6c   libraries..buil
0780: 64 5f 6c 69 62 74 6f 6f 6c 5f 6e 65 65 64 5f 6c  d_libtool_need_l
0790: 63 3d 6e 6f 0a 0a 23 20 57 68 65 74 68 65 72 20  c=no..# Whether 
07a0: 6f 72 20 6e 6f 74 20 74 6f 20 6f 70 74 69 6d 69  or not to optimi
07b0: 7a 65 20 66 6f 72 20 66 61 73 74 20 69 6e 73 74  ze for fast inst
07c0: 61 6c 6c 61 74 69 6f 6e 2e 0a 66 61 73 74 5f 69  allation..fast_i
07d0: 6e 73 74 61 6c 6c 3d 79 65 73 0a 0a 23 20 54 68  nstall=yes..# Th
07e0: 65 20 68 6f 73 74 20 73 79 73 74 65 6d 2e 0a 68  e host system..h
07f0: 6f 73 74 5f 61 6c 69 61 73 3d 0a 68 6f 73 74 3d  ost_alias=.host=
0800: 69 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e  i686-pc-linux-gn
0810: 75 0a 0a 23 20 41 6e 20 65 63 68 6f 20 70 72 6f  u..# An echo pro
0820: 67 72 61 6d 20 74 68 61 74 20 64 6f 65 73 20 6e  gram that does n
0830: 6f 74 20 69 6e 74 65 72 70 72 65 74 20 62 61 63  ot interpret bac
0840: 6b 73 6c 61 73 68 65 73 2e 0a 65 63 68 6f 3d 22  kslashes..echo="
0850: 65 63 68 6f 22 0a 0a 23 20 54 68 65 20 61 72 63  echo"..# The arc
0860: 68 69 76 65 72 2e 0a 41 52 3d 22 61 72 22 0a 41  hiver..AR="ar".A
0870: 52 5f 46 4c 41 47 53 3d 22 63 72 75 22 0a 0a 23  R_FLAGS="cru"..#
0880: 20 54 68 65 20 64 65 66 61 75 6c 74 20 43 20 63   The default C c
0890: 6f 6d 70 69 6c 65 72 2e 0a 43 43 3d 22 67 63 63  ompiler..CC="gcc
08a0: 22 0a 0a 23 20 49 73 20 74 68 65 20 63 6f 6d 70  "..# Is the comp
08b0: 69 6c 65 72 20 74 68 65 20 47 4e 55 20 43 20 63  iler the GNU C c
08c0: 6f 6d 70 69 6c 65 72 3f 0a 77 69 74 68 5f 67 63  ompiler?.with_gc
08d0: 63 3d 79 65 73 0a 0a 23 20 54 68 65 20 6c 69 6e  c=yes..# The lin
08e0: 6b 65 72 20 75 73 65 64 20 74 6f 20 62 75 69 6c  ker used to buil
08f0: 64 20 6c 69 62 72 61 72 69 65 73 2e 0a 4c 44 3d  d libraries..LD=
0900: 22 2f 75 73 72 2f 62 69 6e 2f 6c 64 22 0a 0a 23  "/usr/bin/ld"..#
0910: 20 57 68 65 74 68 65 72 20 77 65 20 6e 65 65 64   Whether we need
0920: 20 68 61 72 64 20 6f 72 20 73 6f 66 74 20 6c 69   hard or soft li
0930: 6e 6b 73 2e 0a 4c 4e 5f 53 3d 22 6c 6e 20 2d 73  nks..LN_S="ln -s
0940: 22 0a 0a 23 20 41 20 42 53 44 2d 63 6f 6d 70 61  "..# A BSD-compa
0950: 74 69 62 6c 65 20 6e 6d 20 70 72 6f 67 72 61 6d  tible nm program
0960: 2e 0a 4e 4d 3d 22 2f 75 73 72 2f 62 69 6e 2f 6e  ..NM="/usr/bin/n
0970: 6d 20 2d 42 22 0a 0a 23 20 41 20 73 79 6d 62 6f  m -B"..# A symbo
0980: 6c 20 73 74 72 69 70 70 69 6e 67 20 70 72 6f 67  l stripping prog
0990: 72 61 6d 0a 53 54 52 49 50 3d 73 74 72 69 70 0a  ram.STRIP=strip.
09a0: 0a 23 20 55 73 65 64 20 74 6f 20 65 78 61 6d 69  .# Used to exami
09b0: 6e 65 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  ne libraries whe
09c0: 6e 20 66 69 6c 65 5f 6d 61 67 69 63 5f 63 6d 64  n file_magic_cmd
09d0: 20 62 65 67 69 6e 73 20 22 66 69 6c 65 22 0a 4d   begins "file".M
09e0: 41 47 49 43 5f 43 4d 44 3d 66 69 6c 65 0a 0a 23  AGIC_CMD=file..#
09f0: 20 55 73 65 64 20 6f 6e 20 63 79 67 77 69 6e 3a   Used on cygwin:
0a00: 20 44 4c 4c 20 63 72 65 61 74 69 6f 6e 20 70 72   DLL creation pr
0a10: 6f 67 72 61 6d 2e 0a 44 4c 4c 54 4f 4f 4c 3d 22  ogram..DLLTOOL="
0a20: 64 6c 6c 74 6f 6f 6c 22 0a 0a 23 20 55 73 65 64  dlltool"..# Used
0a30: 20 6f 6e 20 63 79 67 77 69 6e 3a 20 6f 62 6a 65   on cygwin: obje
0a40: 63 74 20 64 75 6d 70 65 72 2e 0a 4f 42 4a 44 55  ct dumper..OBJDU
0a50: 4d 50 3d 22 6f 62 6a 64 75 6d 70 22 0a 0a 23 20  MP="objdump"..# 
0a60: 55 73 65 64 20 6f 6e 20 63 79 67 77 69 6e 3a 20  Used on cygwin: 
0a70: 61 73 73 65 6d 62 6c 65 72 2e 0a 41 53 3d 22 61  assembler..AS="a
0a80: 73 22 0a 0a 23 20 54 68 65 20 6e 61 6d 65 20 6f  s"..# The name o
0a90: 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20  f the directory 
0aa0: 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 65  that contains te
0ab0: 6d 70 6f 72 61 72 79 20 6c 69 62 74 6f 6f 6c 20  mporary libtool 
0ac0: 66 69 6c 65 73 2e 0a 6f 62 6a 64 69 72 3d 2e 6c  files..objdir=.l
0ad0: 69 62 73 0a 0a 23 20 48 6f 77 20 74 6f 20 63 72  ibs..# How to cr
0ae0: 65 61 74 65 20 72 65 6c 6f 61 64 61 62 6c 65 20  eate reloadable 
0af0: 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 72 65  object files..re
0b00: 6c 6f 61 64 5f 66 6c 61 67 3d 22 20 2d 72 22 0a  load_flag=" -r".
0b10: 72 65 6c 6f 61 64 5f 63 6d 64 73 3d 22 5c 24 4c  reload_cmds="\$L
0b20: 44 5c 24 72 65 6c 6f 61 64 5f 66 6c 61 67 20 2d  D\$reload_flag -
0b30: 6f 20 5c 24 6f 75 74 70 75 74 5c 24 72 65 6c 6f  o \$output\$relo
0b40: 61 64 5f 6f 62 6a 73 22 0a 0a 23 20 48 6f 77 20  ad_objs"..# How 
0b50: 74 6f 20 70 61 73 73 20 61 20 6c 69 6e 6b 65 72  to pass a linker
0b60: 20 66 6c 61 67 20 74 68 72 6f 75 67 68 20 74 68   flag through th
0b70: 65 20 63 6f 6d 70 69 6c 65 72 2e 0a 77 6c 3d 22  e compiler..wl="
0b80: 2d 57 6c 2c 22 0a 0a 23 20 4f 62 6a 65 63 74 20  -Wl,"..# Object 
0b90: 66 69 6c 65 20 73 75 66 66 69 78 20 28 6e 6f 72  file suffix (nor
0ba0: 6d 61 6c 6c 79 20 22 6f 22 29 2e 0a 6f 62 6a 65  mally "o")..obje
0bb0: 78 74 3d 22 6f 22 0a 0a 23 20 4f 6c 64 20 61 72  xt="o"..# Old ar
0bc0: 63 68 69 76 65 20 73 75 66 66 69 78 20 28 6e 6f  chive suffix (no
0bd0: 72 6d 61 6c 6c 79 20 22 61 22 29 2e 0a 6c 69 62  rmally "a")..lib
0be0: 65 78 74 3d 22 61 22 0a 0a 23 20 45 78 65 63 75  ext="a"..# Execu
0bf0: 74 61 62 6c 65 20 66 69 6c 65 20 73 75 66 66 69  table file suffi
0c00: 78 20 28 6e 6f 72 6d 61 6c 6c 79 20 22 22 29 2e  x (normally "").
0c10: 0a 65 78 65 65 78 74 3d 22 22 0a 0a 23 20 41 64  .exeext=""..# Ad
0c20: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
0c30: 72 20 66 6c 61 67 73 20 66 6f 72 20 62 75 69 6c  r flags for buil
0c40: 64 69 6e 67 20 6c 69 62 72 61 72 79 20 6f 62 6a  ding library obj
0c50: 65 63 74 73 2e 0a 70 69 63 5f 66 6c 61 67 3d 22  ects..pic_flag="
0c60: 20 2d 66 50 49 43 22 0a 70 69 63 5f 6d 6f 64 65   -fPIC".pic_mode
0c70: 3d 64 65 66 61 75 6c 74 0a 0a 23 20 44 6f 65 73  =default..# Does
0c80: 20 63 6f 6d 70 69 6c 65 72 20 73 69 6d 75 6c 74   compiler simult
0c90: 61 6e 65 6f 75 73 6c 79 20 73 75 70 70 6f 72 74  aneously support
0ca0: 20 2d 63 20 61 6e 64 20 2d 6f 20 6f 70 74 69 6f   -c and -o optio
0cb0: 6e 73 3f 0a 63 6f 6d 70 69 6c 65 72 5f 63 5f 6f  ns?.compiler_c_o
0cc0: 3d 22 79 65 73 22 0a 0a 23 20 43 61 6e 20 77 65  ="yes"..# Can we
0cd0: 20 77 72 69 74 65 20 64 69 72 65 63 74 6c 79 20   write directly 
0ce0: 74 6f 20 61 20 2e 6c 6f 20 3f 0a 63 6f 6d 70 69  to a .lo ?.compi
0cf0: 6c 65 72 5f 6f 5f 6c 6f 3d 22 79 65 73 22 0a 0a  ler_o_lo="yes"..
0d00: 23 20 4d 75 73 74 20 77 65 20 6c 6f 63 6b 20 66  # Must we lock f
0d10: 69 6c 65 73 20 77 68 65 6e 20 64 6f 69 6e 67 20  iles when doing 
0d20: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 3f 0a 6e 65  compilation ?.ne
0d30: 65 64 5f 6c 6f 63 6b 73 3d 22 6e 6f 22 0a 0a 23  ed_locks="no"..#
0d40: 20 44 6f 20 77 65 20 6e 65 65 64 20 74 68 65 20   Do we need the 
0d50: 6c 69 62 20 70 72 65 66 69 78 20 66 6f 72 20 6d  lib prefix for m
0d60: 6f 64 75 6c 65 73 3f 0a 6e 65 65 64 5f 6c 69 62  odules?.need_lib
0d70: 5f 70 72 65 66 69 78 3d 6e 6f 0a 0a 23 20 44 6f  _prefix=no..# Do
0d80: 20 77 65 20 6e 65 65 64 20 61 20 76 65 72 73 69   we need a versi
0d90: 6f 6e 20 66 6f 72 20 6c 69 62 72 61 72 69 65 73  on for libraries
0da0: 3f 0a 6e 65 65 64 5f 76 65 72 73 69 6f 6e 3d 6e  ?.need_version=n
0db0: 6f 0a 0a 23 20 57 68 65 74 68 65 72 20 64 6c 6f  o..# Whether dlo
0dc0: 70 65 6e 20 69 73 20 73 75 70 70 6f 72 74 65 64  pen is supported
0dd0: 2e 0a 64 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74  ..dlopen_support
0de0: 3d 75 6e 6b 6e 6f 77 6e 0a 0a 23 20 57 68 65 74  =unknown..# Whet
0df0: 68 65 72 20 64 6c 6f 70 65 6e 20 6f 66 20 70 72  her dlopen of pr
0e00: 6f 67 72 61 6d 73 20 69 73 20 73 75 70 70 6f 72  ograms is suppor
0e10: 74 65 64 2e 0a 64 6c 6f 70 65 6e 5f 73 65 6c 66  ted..dlopen_self
0e20: 3d 75 6e 6b 6e 6f 77 6e 0a 0a 23 20 57 68 65 74  =unknown..# Whet
0e30: 68 65 72 20 64 6c 6f 70 65 6e 20 6f 66 20 73 74  her dlopen of st
0e40: 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20  atically linked 
0e50: 70 72 6f 67 72 61 6d 73 20 69 73 20 73 75 70 70  programs is supp
0e60: 6f 72 74 65 64 2e 0a 64 6c 6f 70 65 6e 5f 73 65  orted..dlopen_se
0e70: 6c 66 5f 73 74 61 74 69 63 3d 75 6e 6b 6e 6f 77  lf_static=unknow
0e80: 6e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 66 6c  n..# Compiler fl
0e90: 61 67 20 74 6f 20 70 72 65 76 65 6e 74 20 64 79  ag to prevent dy
0ea0: 6e 61 6d 69 63 20 6c 69 6e 6b 69 6e 67 2e 0a 6c  namic linking..l
0eb0: 69 6e 6b 5f 73 74 61 74 69 63 5f 66 6c 61 67 3d  ink_static_flag=
0ec0: 22 2d 73 74 61 74 69 63 22 0a 0a 23 20 43 6f 6d  "-static"..# Com
0ed0: 70 69 6c 65 72 20 66 6c 61 67 20 74 6f 20 74 75  piler flag to tu
0ee0: 72 6e 20 6f 66 66 20 62 75 69 6c 74 69 6e 20 66  rn off builtin f
0ef0: 75 6e 63 74 69 6f 6e 73 2e 0a 6e 6f 5f 62 75 69  unctions..no_bui
0f00: 6c 74 69 6e 5f 66 6c 61 67 3d 22 20 2d 66 6e 6f  ltin_flag=" -fno
0f10: 2d 62 75 69 6c 74 69 6e 20 2d 66 6e 6f 2d 72 74  -builtin -fno-rt
0f20: 74 69 20 2d 66 6e 6f 2d 65 78 63 65 70 74 69 6f  ti -fno-exceptio
0f30: 6e 73 22 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20  ns"..# Compiler 
0f40: 66 6c 61 67 20 74 6f 20 61 6c 6c 6f 77 20 72 65  flag to allow re
0f50: 66 6c 65 78 69 76 65 20 64 6c 6f 70 65 6e 73 2e  flexive dlopens.
0f60: 0a 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 5f  .export_dynamic_
0f70: 66 6c 61 67 5f 73 70 65 63 3d 22 5c 24 7b 77 6c  flag_spec="\${wl
0f80: 7d 2d 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69  }--export-dynami
0f90: 63 22 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 66  c"..# Compiler f
0fa0: 6c 61 67 20 74 6f 20 67 65 6e 65 72 61 74 65 20  lag to generate 
0fb0: 73 68 61 72 65 64 20 6f 62 6a 65 63 74 73 20 64  shared objects d
0fc0: 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 61 72 63  irectly from arc
0fd0: 68 69 76 65 73 2e 0a 77 68 6f 6c 65 5f 61 72 63  hives..whole_arc
0fe0: 68 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 3d 22  hive_flag_spec="
0ff0: 5c 24 7b 77 6c 7d 2d 2d 77 68 6f 6c 65 2d 61 72  \${wl}--whole-ar
1000: 63 68 69 76 65 5c 24 63 6f 6e 76 65 6e 69 65 6e  chive\$convenien
1010: 63 65 20 5c 24 7b 77 6c 7d 2d 2d 6e 6f 2d 77 68  ce \${wl}--no-wh
1020: 6f 6c 65 2d 61 72 63 68 69 76 65 22 0a 0a 23 20  ole-archive"..# 
1030: 43 6f 6d 70 69 6c 65 72 20 66 6c 61 67 20 74 6f  Compiler flag to
1040: 20 67 65 6e 65 72 61 74 65 20 74 68 72 65 61 64   generate thread
1050: 2d 73 61 66 65 20 6f 62 6a 65 63 74 73 2e 0a 74  -safe objects..t
1060: 68 72 65 61 64 5f 73 61 66 65 5f 66 6c 61 67 5f  hread_safe_flag_
1070: 73 70 65 63 3d 22 22 0a 0a 23 20 4c 69 62 72 61  spec=""..# Libra
1080: 72 79 20 76 65 72 73 69 6f 6e 69 6e 67 20 74 79  ry versioning ty
1090: 70 65 2e 0a 76 65 72 73 69 6f 6e 5f 74 79 70 65  pe..version_type
10a0: 3d 6c 69 6e 75 78 0a 0a 23 20 46 6f 72 6d 61 74  =linux..# Format
10b0: 20 6f 66 20 6c 69 62 72 61 72 79 20 6e 61 6d 65   of library name
10c0: 20 70 72 65 66 69 78 2e 0a 6c 69 62 6e 61 6d 65   prefix..libname
10d0: 5f 73 70 65 63 3d 22 6c 69 62 5c 24 6e 61 6d 65  _spec="lib\$name
10e0: 22 0a 0a 23 20 4c 69 73 74 20 6f 66 20 61 72 63  "..# List of arc
10f0: 68 69 76 65 20 6e 61 6d 65 73 2e 20 20 46 69 72  hive names.  Fir
1100: 73 74 20 6e 61 6d 65 20 69 73 20 74 68 65 20 72  st name is the r
1110: 65 61 6c 20 6f 6e 65 2c 20 74 68 65 20 72 65 73  eal one, the res
1120: 74 20 61 72 65 20 6c 69 6e 6b 73 2e 0a 23 20 54  t are links..# T
1130: 68 65 20 6c 61 73 74 20 6e 61 6d 65 20 69 73 20  he last name is 
1140: 74 68 65 20 6f 6e 65 20 74 68 61 74 20 74 68 65  the one that the
1150: 20 6c 69 6e 6b 65 72 20 66 69 6e 64 73 20 77 69   linker finds wi
1160: 74 68 20 2d 6c 4e 41 4d 45 2e 0a 6c 69 62 72 61  th -lNAME..libra
1170: 72 79 5f 6e 61 6d 65 73 5f 73 70 65 63 3d 22 5c  ry_names_spec="\
1180: 24 7b 6c 69 62 6e 61 6d 65 7d 5c 24 7b 72 65 6c  ${libname}\${rel
1190: 65 61 73 65 7d 2e 73 6f 5c 24 76 65 72 73 75 66  ease}.so\$versuf
11a0: 66 69 78 20 5c 24 7b 6c 69 62 6e 61 6d 65 7d 5c  fix \${libname}\
11b0: 24 7b 72 65 6c 65 61 73 65 7d 2e 73 6f 5c 24 6d  ${release}.so\$m
11c0: 61 6a 6f 72 20 5c 24 6c 69 62 6e 61 6d 65 2e 73  ajor \$libname.s
11d0: 6f 22 0a 0a 23 20 54 68 65 20 63 6f 64 65 64 20  o"..# The coded 
11e0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 6c 69 62 72  name of the libr
11f0: 61 72 79 2c 20 69 66 20 64 69 66 66 65 72 65 6e  ary, if differen
1200: 74 20 66 72 6f 6d 20 74 68 65 20 72 65 61 6c 20  t from the real 
1210: 6e 61 6d 65 2e 0a 73 6f 6e 61 6d 65 5f 73 70 65  name..soname_spe
1220: 63 3d 22 5c 24 7b 6c 69 62 6e 61 6d 65 7d 5c 24  c="\${libname}\$
1230: 7b 72 65 6c 65 61 73 65 7d 2e 73 6f 5c 24 6d 61  {release}.so\$ma
1240: 6a 6f 72 22 0a 0a 23 20 43 6f 6d 6d 61 6e 64 73  jor"..# Commands
1250: 20 75 73 65 64 20 74 6f 20 62 75 69 6c 64 20 61   used to build a
1260: 6e 64 20 69 6e 73 74 61 6c 6c 20 61 6e 20 6f 6c  nd install an ol
1270: 64 2d 73 74 79 6c 65 20 61 72 63 68 69 76 65 2e  d-style archive.
1280: 0a 52 41 4e 4c 49 42 3d 22 72 61 6e 6c 69 62 22  .RANLIB="ranlib"
1290: 0a 6f 6c 64 5f 61 72 63 68 69 76 65 5f 63 6d 64  .old_archive_cmd
12a0: 73 3d 22 5c 24 41 52 20 5c 24 41 52 5f 46 4c 41  s="\$AR \$AR_FLA
12b0: 47 53 20 5c 24 6f 6c 64 6c 69 62 5c 24 6f 6c 64  GS \$oldlib\$old
12c0: 6f 62 6a 73 5c 24 6f 6c 64 5f 64 65 70 6c 69 62  objs\$old_deplib
12d0: 73 7e 5c 24 52 41 4e 4c 49 42 20 5c 24 6f 6c 64  s~\$RANLIB \$old
12e0: 6c 69 62 22 0a 6f 6c 64 5f 70 6f 73 74 69 6e 73  lib".old_postins
12f0: 74 61 6c 6c 5f 63 6d 64 73 3d 22 5c 24 52 41 4e  tall_cmds="\$RAN
1300: 4c 49 42 20 5c 24 6f 6c 64 6c 69 62 7e 63 68 6d  LIB \$oldlib~chm
1310: 6f 64 20 36 34 34 20 5c 24 6f 6c 64 6c 69 62 22  od 644 \$oldlib"
1320: 0a 6f 6c 64 5f 70 6f 73 74 75 6e 69 6e 73 74 61  .old_postuninsta
1330: 6c 6c 5f 63 6d 64 73 3d 22 22 0a 0a 23 20 43 72  ll_cmds=""..# Cr
1340: 65 61 74 65 20 61 6e 20 6f 6c 64 2d 73 74 79 6c  eate an old-styl
1350: 65 20 61 72 63 68 69 76 65 20 66 72 6f 6d 20 61  e archive from a
1360: 20 73 68 61 72 65 64 20 61 72 63 68 69 76 65 2e   shared archive.
1370: 0a 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f  .old_archive_fro
1380: 6d 5f 6e 65 77 5f 63 6d 64 73 3d 22 22 0a 0a 23  m_new_cmds=""..#
1390: 20 43 72 65 61 74 65 20 61 20 74 65 6d 70 6f 72   Create a tempor
13a0: 61 72 79 20 6f 6c 64 2d 73 74 79 6c 65 20 61 72  ary old-style ar
13b0: 63 68 69 76 65 20 74 6f 20 6c 69 6e 6b 20 69 6e  chive to link in
13c0: 73 74 65 61 64 20 6f 66 20 61 20 73 68 61 72 65  stead of a share
13d0: 64 20 61 72 63 68 69 76 65 2e 0a 6f 6c 64 5f 61  d archive..old_a
13e0: 72 63 68 69 76 65 5f 66 72 6f 6d 5f 65 78 70 73  rchive_from_exps
13f0: 79 6d 73 5f 63 6d 64 73 3d 22 22 0a 0a 23 20 43  yms_cmds=""..# C
1400: 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20 74 6f 20  ommands used to 
1410: 62 75 69 6c 64 20 61 6e 64 20 69 6e 73 74 61 6c  build and instal
1420: 6c 20 61 20 73 68 61 72 65 64 20 61 72 63 68 69  l a shared archi
1430: 76 65 2e 0a 61 72 63 68 69 76 65 5f 63 6d 64 73  ve..archive_cmds
1440: 3d 22 5c 24 43 43 20 2d 73 68 61 72 65 64 20 5c  ="\$CC -shared \
1450: 24 6c 69 62 6f 62 6a 73 20 5c 24 64 65 70 6c 69  $libobjs \$depli
1460: 62 73 20 5c 24 63 6f 6d 70 69 6c 65 72 5f 66 6c  bs \$compiler_fl
1470: 61 67 73 20 5c 24 7b 77 6c 7d 2d 73 6f 6e 61 6d  ags \${wl}-sonam
1480: 65 20 5c 24 77 6c 5c 24 73 6f 6e 61 6d 65 20 2d  e \$wl\$soname -
1490: 6f 20 5c 24 6c 69 62 22 0a 61 72 63 68 69 76 65  o \$lib".archive
14a0: 5f 65 78 70 73 79 6d 5f 63 6d 64 73 3d 22 5c 24  _expsym_cmds="\$
14b0: 43 43 20 2d 73 68 61 72 65 64 20 5c 24 6c 69 62  CC -shared \$lib
14c0: 6f 62 6a 73 20 5c 24 64 65 70 6c 69 62 73 20 5c  objs \$deplibs \
14d0: 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20  $compiler_flags 
14e0: 5c 24 7b 77 6c 7d 2d 73 6f 6e 61 6d 65 20 5c 24  \${wl}-soname \$
14f0: 77 6c 5c 24 73 6f 6e 61 6d 65 20 5c 24 7b 77 6c  wl\$soname \${wl
1500: 7d 2d 72 65 74 61 69 6e 2d 73 79 6d 62 6f 6c 73  }-retain-symbols
1510: 2d 66 69 6c 65 20 5c 24 77 6c 5c 24 65 78 70 6f  -file \$wl\$expo
1520: 72 74 5f 73 79 6d 62 6f 6c 73 20 2d 6f 20 5c 24  rt_symbols -o \$
1530: 6c 69 62 22 0a 70 6f 73 74 69 6e 73 74 61 6c 6c  lib".postinstall
1540: 5f 63 6d 64 73 3d 22 22 0a 70 6f 73 74 75 6e 69  _cmds="".postuni
1550: 6e 73 74 61 6c 6c 5f 63 6d 64 73 3d 22 22 0a 0a  nstall_cmds=""..
1560: 23 20 43 6f 6d 6d 61 6e 64 73 20 74 6f 20 73 74  # Commands to st
1570: 72 69 70 20 6c 69 62 72 61 72 69 65 73 2e 0a 6f  rip libraries..o
1580: 6c 64 5f 73 74 72 69 70 6c 69 62 3d 22 73 74 72  ld_striplib="str
1590: 69 70 20 2d 2d 73 74 72 69 70 2d 64 65 62 75 67  ip --strip-debug
15a0: 22 0a 73 74 72 69 70 6c 69 62 3d 22 73 74 72 69  ".striplib="stri
15b0: 70 20 2d 2d 73 74 72 69 70 2d 75 6e 6e 65 65 64  p --strip-unneed
15c0: 65 64 22 0a 0a 23 20 4d 65 74 68 6f 64 20 74 6f  ed"..# Method to
15d0: 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 64   check whether d
15e0: 65 70 65 6e 64 65 6e 74 20 6c 69 62 72 61 72 69  ependent librari
15f0: 65 73 20 61 72 65 20 73 68 61 72 65 64 20 6f 62  es are shared ob
1600: 6a 65 63 74 73 2e 0a 64 65 70 6c 69 62 73 5f 63  jects..deplibs_c
1610: 68 65 63 6b 5f 6d 65 74 68 6f 64 3d 22 70 61 73  heck_method="pas
1620: 73 5f 61 6c 6c 22 0a 0a 23 20 43 6f 6d 6d 61 6e  s_all"..# Comman
1630: 64 20 74 6f 20 75 73 65 20 77 68 65 6e 20 64 65  d to use when de
1640: 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
1650: 6f 64 20 3d 3d 20 66 69 6c 65 5f 6d 61 67 69 63  od == file_magic
1660: 2e 0a 66 69 6c 65 5f 6d 61 67 69 63 5f 63 6d 64  ..file_magic_cmd
1670: 3d 22 5c 24 4d 41 47 49 43 5f 43 4d 44 22 0a 0a  ="\$MAGIC_CMD"..
1680: 23 20 46 6c 61 67 20 74 68 61 74 20 61 6c 6c 6f  # Flag that allo
1690: 77 73 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  ws shared librar
16a0: 69 65 73 20 77 69 74 68 20 75 6e 64 65 66 69 6e  ies with undefin
16b0: 65 64 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65  ed symbols to be
16c0: 20 62 75 69 6c 74 2e 0a 61 6c 6c 6f 77 5f 75 6e   built..allow_un
16d0: 64 65 66 69 6e 65 64 5f 66 6c 61 67 3d 22 22 0a  defined_flag="".
16e0: 0a 23 20 46 6c 61 67 20 74 68 61 74 20 66 6f 72  .# Flag that for
16f0: 63 65 73 20 6e 6f 20 75 6e 64 65 66 69 6e 65 64  ces no undefined
1700: 20 73 79 6d 62 6f 6c 73 2e 0a 6e 6f 5f 75 6e 64   symbols..no_und
1710: 65 66 69 6e 65 64 5f 66 6c 61 67 3d 22 22 0a 0a  efined_flag=""..
1720: 23 20 43 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20  # Commands used 
1730: 74 6f 20 66 69 6e 69 73 68 20 61 20 6c 69 62 74  to finish a libt
1740: 6f 6f 6c 20 6c 69 62 72 61 72 79 20 69 6e 73 74  ool library inst
1750: 61 6c 6c 61 74 69 6f 6e 20 69 6e 20 61 20 64 69  allation in a di
1760: 72 65 63 74 6f 72 79 2e 0a 66 69 6e 69 73 68 5f  rectory..finish_
1770: 63 6d 64 73 3d 22 50 41 54 48 3d 5c 5c 5c 22 5c  cmds="PATH=\\\"\
1780: 5c 5c 24 50 41 54 48 3a 2f 73 62 69 6e 5c 5c 5c  \\$PATH:/sbin\\\
1790: 22 20 6c 64 63 6f 6e 66 69 67 20 2d 6e 20 5c 24  " ldconfig -n \$
17a0: 6c 69 62 64 69 72 22 0a 0a 23 20 53 61 6d 65 20  libdir"..# Same 
17b0: 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 61 20  as above, but a 
17c0: 73 69 6e 67 6c 65 20 73 63 72 69 70 74 20 66 72  single script fr
17d0: 61 67 6d 65 6e 74 20 74 6f 20 62 65 20 65 76 61  agment to be eva
17e0: 6c 65 64 20 62 75 74 20 6e 6f 74 20 73 68 6f 77  led but not show
17f0: 6e 2e 0a 66 69 6e 69 73 68 5f 65 76 61 6c 3d 22  n..finish_eval="
1800: 22 0a 0a 23 20 54 61 6b 65 20 74 68 65 20 6f 75  "..# Take the ou
1810: 74 70 75 74 20 6f 66 20 6e 6d 20 61 6e 64 20 70  tput of nm and p
1820: 72 6f 64 75 63 65 20 61 20 6c 69 73 74 69 6e 67  roduce a listing
1830: 20 6f 66 20 72 61 77 20 73 79 6d 62 6f 6c 73 20   of raw symbols 
1840: 61 6e 64 20 43 20 6e 61 6d 65 73 2e 0a 67 6c 6f  and C names..glo
1850: 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 3d  bal_symbol_pipe=
1860: 22 73 65 64 20 2d 6e 20 2d 65 20 27 73 2f 5e 2e  "sed -n -e 's/^.
1870: 2a 5b 20 09 5d 5c 5c 28 5b 41 42 43 44 47 49 53  *[ .]\\([ABCDGIS
1880: 54 57 5d 5b 41 42 43 44 47 49 53 54 57 5d 2a 5c  TW][ABCDGISTW]*\
1890: 5c 29 5b 20 09 5d 5b 20 09 5d 2a 5c 5c 28 5c 5c  \)[ .][ .]*\\(\\
18a0: 29 5c 5c 28 5b 5f 41 2d 5a 61 2d 7a 5d 5b 5f 41  )\\([_A-Za-z][_A
18b0: 2d 5a 61 2d 7a 30 2d 39 5d 2a 5c 5c 29 5c 24 2f  -Za-z0-9]*\\)\$/
18c0: 5c 5c 31 20 5c 5c 32 5c 5c 33 20 5c 5c 33 2f 70  \\1 \\2\\3 \\3/p
18d0: 27 22 0a 0a 23 20 54 72 61 6e 73 66 6f 72 6d 20  '"..# Transform 
18e0: 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 6e 6d  the output of nm
18f0: 20 69 6e 20 61 20 70 72 6f 70 65 72 20 43 20 64   in a proper C d
1900: 65 63 6c 61 72 61 74 69 6f 6e 0a 67 6c 6f 62 61  eclaration.globa
1910: 6c 5f 73 79 6d 62 6f 6c 5f 74 6f 5f 63 64 65 63  l_symbol_to_cdec
1920: 6c 3d 22 73 65 64 20 2d 6e 20 2d 65 20 27 73 2f  l="sed -n -e 's/
1930: 5e 2e 20 2e 2a 20 5c 5c 28 2e 2a 5c 5c 29 5c 24  ^. .* \\(.*\\)\$
1940: 2f 65 78 74 65 72 6e 20 63 68 61 72 20 5c 5c 31  /extern char \\1
1950: 3b 2f 70 27 22 0a 0a 23 20 54 72 61 6e 73 66 6f  ;/p'"..# Transfo
1960: 72 6d 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66  rm the output of
1970: 20 6e 6d 20 69 6e 20 61 20 43 20 6e 61 6d 65 20   nm in a C name 
1980: 61 64 64 72 65 73 73 20 70 61 69 72 0a 67 6c 6f  address pair.glo
1990: 62 61 6c 5f 73 79 6d 62 6f 6c 5f 74 6f 5f 63 5f  bal_symbol_to_c_
19a0: 6e 61 6d 65 5f 61 64 64 72 65 73 73 3d 22 73 65  name_address="se
19b0: 64 20 2d 6e 20 2d 65 20 27 73 2f 5e 3a 20 5c 5c  d -n -e 's/^: \\
19c0: 28 5b 5e 20 5d 2a 5c 5c 29 20 5c 24 2f 20 20 7b  ([^ ]*\\) \$/  {
19d0: 5c 5c 5c 22 5c 5c 31 5c 5c 5c 22 2c 20 28 6c 74  \\\"\\1\\\", (lt
19e0: 5f 70 74 72 29 20 30 7d 2c 2f 70 27 20 2d 65 20  _ptr) 0},/p' -e 
19f0: 27 73 2f 5e 5b 42 43 44 45 47 52 53 54 5d 20 5c  's/^[BCDEGRST] \
1a00: 5c 28 5b 5e 20 5d 2a 5c 5c 29 20 5c 5c 28 5b 5e  \([^ ]*\\) \\([^
1a10: 20 5d 2a 5c 5c 29 5c 24 2f 20 20 7b 5c 22 5c 5c   ]*\\)\$/  {\"\\
1a20: 32 5c 22 2c 20 28 6c 74 5f 70 74 72 29 20 5c 5c  2\", (lt_ptr) \\
1a30: 26 5c 5c 32 7d 2c 2f 70 27 22 0a 0a 23 20 54 68  &\\2},/p'"..# Th
1a40: 69 73 20 69 73 20 74 68 65 20 73 68 61 72 65 64  is is the shared
1a50: 20 6c 69 62 72 61 72 79 20 72 75 6e 74 69 6d 65   library runtime
1a60: 20 70 61 74 68 20 76 61 72 69 61 62 6c 65 2e 0a   path variable..
1a70: 72 75 6e 70 61 74 68 5f 76 61 72 3d 4c 44 5f 52  runpath_var=LD_R
1a80: 55 4e 5f 50 41 54 48 0a 0a 23 20 54 68 69 73 20  UN_PATH..# This 
1a90: 69 73 20 74 68 65 20 73 68 61 72 65 64 20 6c 69  is the shared li
1aa0: 62 72 61 72 79 20 70 61 74 68 20 76 61 72 69 61  brary path varia
1ab0: 62 6c 65 2e 0a 73 68 6c 69 62 70 61 74 68 5f 76  ble..shlibpath_v
1ac0: 61 72 3d 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41  ar=LD_LIBRARY_PA
1ad0: 54 48 0a 0a 23 20 49 73 20 73 68 6c 69 62 70 61  TH..# Is shlibpa
1ae0: 74 68 20 73 65 61 72 63 68 65 64 20 62 65 66 6f  th searched befo
1af0: 72 65 20 74 68 65 20 68 61 72 64 2d 63 6f 64 65  re the hard-code
1b00: 64 20 6c 69 62 72 61 72 79 20 73 65 61 72 63 68  d library search
1b10: 20 70 61 74 68 3f 0a 73 68 6c 69 62 70 61 74 68   path?.shlibpath
1b20: 5f 6f 76 65 72 72 69 64 65 73 5f 72 75 6e 70 61  _overrides_runpa
1b30: 74 68 3d 6e 6f 0a 0a 23 20 48 6f 77 20 74 6f 20  th=no..# How to 
1b40: 68 61 72 64 63 6f 64 65 20 61 20 73 68 61 72 65  hardcode a share
1b50: 64 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69  d library path i
1b60: 6e 74 6f 20 61 6e 20 65 78 65 63 75 74 61 62 6c  nto an executabl
1b70: 65 2e 0a 68 61 72 64 63 6f 64 65 5f 61 63 74 69  e..hardcode_acti
1b80: 6f 6e 3d 69 6d 6d 65 64 69 61 74 65 0a 0a 23 20  on=immediate..# 
1b90: 57 68 65 74 68 65 72 20 77 65 20 73 68 6f 75 6c  Whether we shoul
1ba0: 64 20 68 61 72 64 63 6f 64 65 20 6c 69 62 72 61  d hardcode libra
1bb0: 72 79 20 70 61 74 68 73 20 69 6e 74 6f 20 6c 69  ry paths into li
1bc0: 62 72 61 72 69 65 73 2e 0a 68 61 72 64 63 6f 64  braries..hardcod
1bd0: 65 5f 69 6e 74 6f 5f 6c 69 62 73 3d 79 65 73 0a  e_into_libs=yes.
1be0: 0a 23 20 46 6c 61 67 20 74 6f 20 68 61 72 64 63  .# Flag to hardc
1bf0: 6f 64 65 20 24 6c 69 62 64 69 72 20 69 6e 74 6f  ode $libdir into
1c00: 20 61 20 62 69 6e 61 72 79 20 64 75 72 69 6e 67   a binary during
1c10: 20 6c 69 6e 6b 69 6e 67 2e 0a 23 20 54 68 69 73   linking..# This
1c20: 20 6d 75 73 74 20 77 6f 72 6b 20 65 76 65 6e 20   must work even 
1c30: 69 66 20 24 6c 69 62 64 69 72 20 64 6f 65 73 20  if $libdir does 
1c40: 6e 6f 74 20 65 78 69 73 74 2e 0a 68 61 72 64 63  not exist..hardc
1c50: 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
1c60: 73 70 65 63 3d 22 5c 24 7b 77 6c 7d 2d 2d 72 70  spec="\${wl}--rp
1c70: 61 74 68 20 5c 24 7b 77 6c 7d 5c 24 6c 69 62 64  ath \${wl}\$libd
1c80: 69 72 22 0a 0a 23 20 57 68 65 74 68 65 72 20 77  ir"..# Whether w
1c90: 65 20 6e 65 65 64 20 61 20 73 69 6e 67 6c 65 20  e need a single 
1ca0: 2d 72 70 61 74 68 20 66 6c 61 67 20 77 69 74 68  -rpath flag with
1cb0: 20 61 20 73 65 70 61 72 61 74 65 64 20 61 72 67   a separated arg
1cc0: 75 6d 65 6e 74 2e 0a 68 61 72 64 63 6f 64 65 5f  ument..hardcode_
1cd0: 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
1ce0: 3d 22 22 0a 0a 23 20 53 65 74 20 74 6f 20 79 65  =""..# Set to ye
1cf0: 73 20 69 66 20 75 73 69 6e 67 20 44 49 52 2f 6c  s if using DIR/l
1d00: 69 62 4e 41 4d 45 2e 73 6f 20 64 75 72 69 6e 67  ibNAME.so during
1d10: 20 6c 69 6e 6b 69 6e 67 20 68 61 72 64 63 6f 64   linking hardcod
1d20: 65 73 20 44 49 52 20 69 6e 74 6f 20 74 68 65 0a  es DIR into the.
1d30: 23 20 72 65 73 75 6c 74 69 6e 67 20 62 69 6e 61  # resulting bina
1d40: 72 79 2e 0a 68 61 72 64 63 6f 64 65 5f 64 69 72  ry..hardcode_dir
1d50: 65 63 74 3d 6e 6f 0a 0a 23 20 53 65 74 20 74 6f  ect=no..# Set to
1d60: 20 79 65 73 20 69 66 20 75 73 69 6e 67 20 74 68   yes if using th
1d70: 65 20 2d 4c 44 49 52 20 66 6c 61 67 20 64 75 72  e -LDIR flag dur
1d80: 69 6e 67 20 6c 69 6e 6b 69 6e 67 20 68 61 72 64  ing linking hard
1d90: 63 6f 64 65 73 20 44 49 52 20 69 6e 74 6f 20 74  codes DIR into t
1da0: 68 65 0a 23 20 72 65 73 75 6c 74 69 6e 67 20 62  he.# resulting b
1db0: 69 6e 61 72 79 2e 0a 68 61 72 64 63 6f 64 65 5f  inary..hardcode_
1dc0: 6d 69 6e 75 73 5f 4c 3d 6e 6f 0a 0a 23 20 53 65  minus_L=no..# Se
1dd0: 74 20 74 6f 20 79 65 73 20 69 66 20 75 73 69 6e  t to yes if usin
1de0: 67 20 53 48 4c 49 42 50 41 54 48 5f 56 41 52 3d  g SHLIBPATH_VAR=
1df0: 44 49 52 20 64 75 72 69 6e 67 20 6c 69 6e 6b 69  DIR during linki
1e00: 6e 67 20 68 61 72 64 63 6f 64 65 73 20 44 49 52  ng hardcodes DIR
1e10: 20 69 6e 74 6f 0a 23 20 74 68 65 20 72 65 73 75   into.# the resu
1e20: 6c 74 69 6e 67 20 62 69 6e 61 72 79 2e 0a 68 61  lting binary..ha
1e30: 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61 74 68  rdcode_shlibpath
1e40: 5f 76 61 72 3d 75 6e 73 75 70 70 6f 72 74 65 64  _var=unsupported
1e50: 0a 0a 23 20 56 61 72 69 61 62 6c 65 73 20 77 68  ..# Variables wh
1e60: 6f 73 65 20 76 61 6c 75 65 73 20 73 68 6f 75 6c  ose values shoul
1e70: 64 20 62 65 20 73 61 76 65 64 20 69 6e 20 6c 69  d be saved in li
1e80: 62 74 6f 6f 6c 20 77 72 61 70 70 65 72 20 73 63  btool wrapper sc
1e90: 72 69 70 74 73 20 61 6e 64 0a 23 20 72 65 73 74  ripts and.# rest
1ea0: 6f 72 65 64 20 61 74 20 72 65 6c 69 6e 6b 20 74  ored at relink t
1eb0: 69 6d 65 2e 0a 76 61 72 69 61 62 6c 65 73 5f 73  ime..variables_s
1ec0: 61 76 65 64 5f 66 6f 72 5f 72 65 6c 69 6e 6b 3d  aved_for_relink=
1ed0: 22 50 41 54 48 20 4c 44 5f 4c 49 42 52 41 52 59  "PATH LD_LIBRARY
1ee0: 5f 50 41 54 48 20 4c 44 5f 52 55 4e 5f 50 41 54  _PATH LD_RUN_PAT
1ef0: 48 20 47 43 43 5f 45 58 45 43 5f 50 52 45 46 49  H GCC_EXEC_PREFI
1f00: 58 20 43 4f 4d 50 49 4c 45 52 5f 50 41 54 48 20  X COMPILER_PATH 
1f10: 4c 49 42 52 41 52 59 5f 50 41 54 48 22 0a 0a 23  LIBRARY_PATH"..#
1f20: 20 57 68 65 74 68 65 72 20 6c 69 62 74 6f 6f 6c   Whether libtool
1f30: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 20 70 72 6f   must link a pro
1f40: 67 72 61 6d 20 61 67 61 69 6e 73 74 20 61 6c 6c  gram against all
1f50: 20 69 74 73 20 64 65 70 65 6e 64 65 6e 63 79 20   its dependency 
1f60: 6c 69 62 72 61 72 69 65 73 2e 0a 6c 69 6e 6b 5f  libraries..link_
1f70: 61 6c 6c 5f 64 65 70 6c 69 62 73 3d 75 6e 6b 6e  all_deplibs=unkn
1f80: 6f 77 6e 0a 0a 23 20 43 6f 6d 70 69 6c 65 2d 74  own..# Compile-t
1f90: 69 6d 65 20 73 79 73 74 65 6d 20 73 65 61 72 63  ime system searc
1fa0: 68 20 70 61 74 68 20 66 6f 72 20 6c 69 62 72 61  h path for libra
1fb0: 72 69 65 73 0a 73 79 73 5f 6c 69 62 5f 73 65 61  ries.sys_lib_sea
1fc0: 72 63 68 5f 70 61 74 68 5f 73 70 65 63 3d 22 2f  rch_path_spec="/
1fd0: 6c 69 62 20 2f 75 73 72 2f 6c 69 62 20 2f 75 73  lib /usr/lib /us
1fe0: 72 2f 6c 6f 63 61 6c 2f 6c 69 62 22 0a 0a 23 20  r/local/lib"..# 
1ff0: 52 75 6e 2d 74 69 6d 65 20 73 79 73 74 65 6d 20  Run-time system 
2000: 73 65 61 72 63 68 20 70 61 74 68 20 66 6f 72 20  search path for 
2010: 6c 69 62 72 61 72 69 65 73 0a 73 79 73 5f 6c 69  libraries.sys_li
2020: 62 5f 64 6c 73 65 61 72 63 68 5f 70 61 74 68 5f  b_dlsearch_path_
2030: 73 70 65 63 3d 22 2f 6c 69 62 20 2f 75 73 72 2f  spec="/lib /usr/
2040: 6c 69 62 22 0a 0a 23 20 46 69 78 20 74 68 65 20  lib"..# Fix the 
2050: 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 20 24  shell variable $
2060: 73 72 63 66 69 6c 65 20 66 6f 72 20 74 68 65 20  srcfile for the 
2070: 63 6f 6d 70 69 6c 65 72 2e 0a 66 69 78 5f 73 72  compiler..fix_sr
2080: 63 66 69 6c 65 5f 70 61 74 68 3d 22 22 0a 0a 23  cfile_path=""..#
2090: 20 53 65 74 20 74 6f 20 79 65 73 20 69 66 20 65   Set to yes if e
20a0: 78 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 20  xported symbols 
20b0: 61 72 65 20 72 65 71 75 69 72 65 64 2e 0a 61 6c  are required..al
20c0: 77 61 79 73 5f 65 78 70 6f 72 74 5f 73 79 6d 62  ways_export_symb
20d0: 6f 6c 73 3d 6e 6f 0a 0a 23 20 54 68 65 20 63 6f  ols=no..# The co
20e0: 6d 6d 61 6e 64 73 20 74 6f 20 6c 69 73 74 20 65  mmands to list e
20f0: 78 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 2e  xported symbols.
2100: 0a 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f  .export_symbols_
2110: 63 6d 64 73 3d 22 5c 24 4e 4d 20 5c 24 6c 69 62  cmds="\$NM \$lib
2120: 6f 62 6a 73 20 5c 24 63 6f 6e 76 65 6e 69 65 6e  objs \$convenien
2130: 63 65 20 7c 20 5c 24 67 6c 6f 62 61 6c 5f 73 79  ce | \$global_sy
2140: 6d 62 6f 6c 5f 70 69 70 65 20 7c 20 73 65 64 20  mbol_pipe | sed 
2150: 27 73 2f 2e 2a 20 2f 2f 27 20 7c 20 73 6f 72 74  's/.* //' | sort
2160: 20 7c 20 75 6e 69 71 20 3e 20 5c 24 65 78 70 6f   | uniq > \$expo
2170: 72 74 5f 73 79 6d 62 6f 6c 73 22 0a 0a 23 20 54  rt_symbols"..# T
2180: 68 65 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 65  he commands to e
2190: 78 74 72 61 63 74 20 74 68 65 20 65 78 70 6f 72  xtract the expor
21a0: 74 65 64 20 73 79 6d 62 6f 6c 20 6c 69 73 74 20  ted symbol list 
21b0: 66 72 6f 6d 20 61 20 73 68 61 72 65 64 20 61 72  from a shared ar
21c0: 63 68 69 76 65 2e 0a 65 78 74 72 61 63 74 5f 65  chive..extract_e
21d0: 78 70 73 79 6d 73 5f 63 6d 64 73 3d 22 22 0a 0a  xpsyms_cmds=""..
21e0: 23 20 53 79 6d 62 6f 6c 73 20 74 68 61 74 20 73  # Symbols that s
21f0: 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6c 69 73  hould not be lis
2200: 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 6c 6f  ted in the prelo
2210: 61 64 65 64 20 73 79 6d 62 6f 6c 73 2e 0a 65 78  aded symbols..ex
2220: 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 3d 22 5f  clude_expsyms="_
2230: 47 4c 4f 42 41 4c 5f 4f 46 46 53 45 54 5f 54 41  GLOBAL_OFFSET_TA
2240: 42 4c 45 5f 22 0a 0a 23 20 53 79 6d 62 6f 6c 73  BLE_"..# Symbols
2250: 20 74 68 61 74 20 6d 75 73 74 20 61 6c 77 61 79   that must alway
2260: 73 20 62 65 20 65 78 70 6f 72 74 65 64 2e 0a 69  s be exported..i
2270: 6e 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 3d 22  nclude_expsyms="
2280: 22 0a 0a 23 20 23 23 23 20 45 4e 44 20 4c 49 42  "..# ### END LIB
2290: 54 4f 4f 4c 20 43 4f 4e 46 49 47 0a 0a 23 20 6c  TOOL CONFIG..# l
22a0: 74 6d 61 69 6e 2e 73 68 20 2d 20 50 72 6f 76 69  tmain.sh - Provi
22b0: 64 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 6c  de generalized l
22c0: 69 62 72 61 72 79 2d 62 75 69 6c 64 69 6e 67 20  ibrary-building 
22d0: 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 73  support services
22e0: 2e 0a 23 20 4e 4f 54 45 3a 20 43 68 61 6e 67 69  ..# NOTE: Changi
22f0: 6e 67 20 74 68 69 73 20 66 69 6c 65 20 77 69 6c  ng this file wil
2300: 6c 20 6e 6f 74 20 61 66 66 65 63 74 20 61 6e 79  l not affect any
2310: 74 68 69 6e 67 20 75 6e 74 69 6c 20 79 6f 75 20  thing until you 
2320: 72 65 72 75 6e 20 63 6f 6e 66 69 67 75 72 65 2e  rerun configure.
2330: 0a 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28  .#.# Copyright (
2340: 43 29 20 31 39 39 36 2c 20 31 39 39 37 2c 20 31  C) 1996, 1997, 1
2350: 39 39 38 2c 20 31 39 39 39 2c 20 32 30 30 30 2c  998, 1999, 2000,
2360: 20 32 30 30 31 0a 23 20 46 72 65 65 20 53 6f 66   2001.# Free Sof
2370: 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e  tware Foundation
2380: 2c 20 49 6e 63 2e 0a 23 20 4f 72 69 67 69 6e 61  , Inc..# Origina
2390: 6c 6c 79 20 62 79 20 47 6f 72 64 6f 6e 20 4d 61  lly by Gordon Ma
23a0: 74 7a 69 67 6b 65 69 74 20 3c 67 6f 72 64 40 67  tzigkeit <gord@g
23b0: 6e 75 2e 61 69 2e 6d 69 74 2e 65 64 75 3e 2c 20  nu.ai.mit.edu>, 
23c0: 31 39 39 36 0a 23 0a 23 20 54 68 69 73 20 70 72  1996.#.# This pr
23d0: 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f  ogram is free so
23e0: 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20  ftware; you can 
23f0: 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20  redistribute it 
2400: 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20  and/or modify.# 
2410: 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72  it under the ter
2420: 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65  ms of the GNU Ge
2430: 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63  neral Public Lic
2440: 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65  ense as publishe
2450: 64 20 62 79 0a 23 20 74 68 65 20 46 72 65 65 20  d by.# the Free 
2460: 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74  Software Foundat
2470: 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73  ion; either vers
2480: 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63  ion 2 of the Lic
2490: 65 6e 73 65 2c 20 6f 72 0a 23 20 28 61 74 20 79  ense, or.# (at y
24a0: 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20  our option) any 
24b0: 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23  later version..#
24c0: 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20  .# This program 
24d0: 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69  is distributed i
24e0: 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20  n the hope that 
24f0: 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75  it will be usefu
2500: 6c 2c 20 62 75 74 0a 23 20 57 49 54 48 4f 55 54  l, but.# WITHOUT
2510: 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77   ANY WARRANTY; w
2520: 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20  ithout even the 
2530: 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79  implied warranty
2540: 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54 41 42   of.# MERCHANTAB
2550: 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53  ILITY or FITNESS
2560: 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41   FOR A PARTICULA
2570: 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20  R PURPOSE.  See 
2580: 74 68 65 20 47 4e 55 0a 23 20 47 65 6e 65 72 61  the GNU.# Genera
2590: 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65  l Public License
25a0: 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c   for more detail
25b0: 73 2e 0a 23 0a 23 20 59 6f 75 20 73 68 6f 75 6c  s..#.# You shoul
25c0: 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20  d have received 
25d0: 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e  a copy of the GN
25e0: 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63  U General Public
25f0: 20 4c 69 63 65 6e 73 65 0a 23 20 61 6c 6f 6e 67   License.# along
2600: 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72   with this progr
2610: 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 77 72 69 74  am; if not, writ
2620: 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f  e to the Free So
2630: 66 74 77 61 72 65 0a 23 20 46 6f 75 6e 64 61 74  ftware.# Foundat
2640: 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 39 20 54 65  ion, Inc., 59 Te
2650: 6d 70 6c 65 20 50 6c 61 63 65 20 2d 20 53 75 69  mple Place - Sui
2660: 74 65 20 33 33 30 2c 20 42 6f 73 74 6f 6e 2c 20  te 330, Boston, 
2670: 4d 41 20 30 32 31 31 31 2d 31 33 30 37 2c 20 55  MA 02111-1307, U
2680: 53 41 2e 0a 23 0a 23 20 41 73 20 61 20 73 70 65  SA..#.# As a spe
2690: 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 20 74  cial exception t
26a0: 6f 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61  o the GNU Genera
26b0: 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65  l Public License
26c0: 2c 20 69 66 20 79 6f 75 0a 23 20 64 69 73 74 72  , if you.# distr
26d0: 69 62 75 74 65 20 74 68 69 73 20 66 69 6c 65 20  ibute this file 
26e0: 61 73 20 70 61 72 74 20 6f 66 20 61 20 70 72 6f  as part of a pro
26f0: 67 72 61 6d 20 74 68 61 74 20 63 6f 6e 74 61 69  gram that contai
2700: 6e 73 20 61 0a 23 20 63 6f 6e 66 69 67 75 72 61  ns a.# configura
2710: 74 69 6f 6e 20 73 63 72 69 70 74 20 67 65 6e 65  tion script gene
2720: 72 61 74 65 64 20 62 79 20 41 75 74 6f 63 6f 6e  rated by Autocon
2730: 66 2c 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75  f, you may inclu
2740: 64 65 20 69 74 20 75 6e 64 65 72 0a 23 20 74 68  de it under.# th
2750: 65 20 73 61 6d 65 20 64 69 73 74 72 69 62 75 74  e same distribut
2760: 69 6f 6e 20 74 65 72 6d 73 20 74 68 61 74 20 79  ion terms that y
2770: 6f 75 20 75 73 65 20 66 6f 72 20 74 68 65 20 72  ou use for the r
2780: 65 73 74 20 6f 66 20 74 68 61 74 20 70 72 6f 67  est of that prog
2790: 72 61 6d 2e 0a 0a 23 20 43 68 65 63 6b 20 74 68  ram...# Check th
27a0: 61 74 20 77 65 20 68 61 76 65 20 61 20 77 6f 72  at we have a wor
27b0: 6b 69 6e 67 20 24 65 63 68 6f 2e 0a 69 66 20 74  king $echo..if t
27c0: 65 73 74 20 22 58 24 31 22 20 3d 20 58 2d 2d 6e  est "X$1" = X--n
27d0: 6f 2d 72 65 65 78 65 63 3b 20 74 68 65 6e 0a 20  o-reexec; then. 
27e0: 20 23 20 44 69 73 63 61 72 64 20 74 68 65 20 2d   # Discard the -
27f0: 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c 61 67 2c  -no-reexec flag,
2800: 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 2e 0a 20   and continue.. 
2810: 20 73 68 69 66 74 0a 65 6c 69 66 20 74 65 73 74   shift.elif test
2820: 20 22 58 24 31 22 20 3d 20 58 2d 2d 66 61 6c 6c   "X$1" = X--fall
2830: 62 61 63 6b 2d 65 63 68 6f 3b 20 74 68 65 6e 0a  back-echo; then.
2840: 20 20 23 20 41 76 6f 69 64 20 69 6e 6c 69 6e 65    # Avoid inline
2850: 20 64 6f 63 75 6d 65 6e 74 20 68 65 72 65 2c 20   document here, 
2860: 69 74 20 6d 61 79 20 62 65 20 6c 65 66 74 20 6f  it may be left o
2870: 76 65 72 0a 20 20 3a 0a 65 6c 69 66 20 74 65 73  ver.  :.elif tes
2880: 74 20 22 58 60 28 24 65 63 68 6f 20 27 5c 74 27  t "X`($echo '\t'
2890: 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20  ) 2>/dev/null`" 
28a0: 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a 20 20  = 'X\t'; then.  
28b0: 23 20 59 69 70 70 65 65 2c 20 24 65 63 68 6f 20  # Yippee, $echo 
28c0: 77 6f 72 6b 73 21 0a 20 20 3a 0a 65 6c 73 65 0a  works!.  :.else.
28d0: 20 20 23 20 52 65 73 74 61 72 74 20 75 6e 64 65    # Restart unde
28e0: 72 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 68  r the correct sh
28f0: 65 6c 6c 2c 20 61 6e 64 20 74 68 65 6e 20 6d 61  ell, and then ma
2900: 79 62 65 20 24 65 63 68 6f 20 77 69 6c 6c 20 77  ybe $echo will w
2910: 6f 72 6b 2e 0a 20 20 65 78 65 63 20 24 53 48 45  ork..  exec $SHE
2920: 4c 4c 20 22 24 30 22 20 2d 2d 6e 6f 2d 72 65 65  LL "$0" --no-ree
2930: 78 65 63 20 24 7b 31 2b 22 24 40 22 7d 0a 66 69  xec ${1+"$@"}.fi
2940: 0a 0a 69 66 20 74 65 73 74 20 22 58 24 31 22 20  ..if test "X$1" 
2950: 3d 20 58 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63  = X--fallback-ec
2960: 68 6f 3b 20 74 68 65 6e 0a 20 20 23 20 75 73 65  ho; then.  # use
2970: 64 20 61 73 20 66 61 6c 6c 62 61 63 6b 20 65 63  d as fallback ec
2980: 68 6f 0a 20 20 73 68 69 66 74 0a 20 20 63 61 74  ho.  shift.  cat
2990: 20 3c 3c 45 4f 46 0a 24 2a 0a 45 4f 46 0a 20 20   <<EOF.$*.EOF.  
29a0: 65 78 69 74 20 30 0a 66 69 0a 0a 23 20 54 68 65  exit 0.fi..# The
29b0: 20 6e 61 6d 65 20 6f 66 20 74 68 69 73 20 70 72   name of this pr
29c0: 6f 67 72 61 6d 2e 0a 70 72 6f 67 6e 61 6d 65 3d  ogram..progname=
29d0: 60 24 65 63 68 6f 20 22 24 30 22 20 7c 20 24 7b  `$echo "$0" | ${
29e0: 53 45 44 7d 20 27 73 25 5e 2e 2a 2f 25 25 27 60  SED} 's%^.*/%%'`
29f0: 0a 6d 6f 64 65 6e 61 6d 65 3d 22 24 70 72 6f 67  .modename="$prog
2a00: 6e 61 6d 65 22 0a 0a 23 20 43 6f 6e 73 74 61 6e  name"..# Constan
2a10: 74 73 2e 0a 50 52 4f 47 52 41 4d 3d 6c 74 6d 61  ts..PROGRAM=ltma
2a20: 69 6e 2e 73 68 0a 50 41 43 4b 41 47 45 3d 6c 69  in.sh.PACKAGE=li
2a30: 62 74 6f 6f 6c 0a 56 45 52 53 49 4f 4e 3d 31 2e  btool.VERSION=1.
2a40: 34 2e 33 0a 54 49 4d 45 53 54 41 4d 50 3d 22 20  4.3.TIMESTAMP=" 
2a50: 28 31 2e 39 32 32 2e 32 2e 31 31 31 20 32 30 30  (1.922.2.111 200
2a60: 32 2f 31 30 2f 32 33 20 30 32 3a 35 34 3a 33 36  2/10/23 02:54:36
2a70: 29 22 0a 0a 64 65 66 61 75 6c 74 5f 6d 6f 64 65  )"..default_mode
2a80: 3d 0a 68 65 6c 70 3d 22 54 72 79 20 5c 60 24 70  =.help="Try \`$p
2a90: 72 6f 67 6e 61 6d 65 20 2d 2d 68 65 6c 70 27 20  rogname --help' 
2aa0: 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
2ab0: 74 69 6f 6e 2e 22 0a 6d 61 67 69 63 3d 22 25 25  tion.".magic="%%
2ac0: 25 4d 41 47 49 43 20 76 61 72 69 61 62 6c 65 25  %MAGIC variable%
2ad0: 25 25 22 0a 6d 6b 64 69 72 3d 22 6d 6b 64 69 72  %%".mkdir="mkdir
2ae0: 22 0a 6d 76 3d 22 6d 76 20 2d 66 22 0a 72 6d 3d  ".mv="mv -f".rm=
2af0: 22 72 6d 20 2d 66 22 0a 0a 23 20 53 65 64 20 73  "rm -f"..# Sed s
2b00: 75 62 73 74 69 74 75 74 69 6f 6e 20 74 68 61 74  ubstitution that
2b10: 20 68 65 6c 70 73 20 75 73 20 64 6f 20 72 6f 62   helps us do rob
2b20: 75 73 74 20 71 75 6f 74 69 6e 67 2e 20 20 49 74  ust quoting.  It
2b30: 20 62 61 63 6b 73 6c 61 73 68 69 66 69 65 73 0a   backslashifies.
2b40: 23 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73  # metacharacters
2b50: 20 74 68 61 74 20 61 72 65 20 73 74 69 6c 6c 20   that are still 
2b60: 61 63 74 69 76 65 20 77 69 74 68 69 6e 20 64 6f  active within do
2b70: 75 62 6c 65 2d 71 75 6f 74 65 64 20 73 74 72 69  uble-quoted stri
2b80: 6e 67 73 2e 0a 58 73 65 64 3d 22 24 7b 53 45 44  ngs..Xsed="${SED
2b90: 7d 22 27 20 2d 65 20 31 73 2f 5e 58 2f 2f 27 0a  }"' -e 1s/^X//'.
2ba0: 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 3d  sed_quote_subst=
2bb0: 27 73 2f 5c 28 5b 5c 5c 60 5c 5c 22 24 5c 5c 5c  's/\([\\`\\"$\\\
2bc0: 5c 5d 5c 29 2f 5c 5c 5c 31 2f 67 27 0a 23 20 74  \]\)/\\\1/g'.# t
2bd0: 65 73 74 20 45 42 43 44 49 43 20 6f 72 20 41 53  est EBCDIC or AS
2be0: 43 49 49 20 20 20 20 20 20 20 20 20 20 20 20 20  CII             
2bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c10: 20 20 20 20 20 20 20 20 20 20 20 20 0a 63 61 73              .cas
2c20: 65 20 60 65 63 68 6f 20 41 7c 6f 64 20 2d 78 60  e `echo A|od -x`
2c30: 20 69 6e 20 20 20 20 20 20 20 20 20 20 20 20 20   in             
2c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c60: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 2a 5b              . *[
2c70: 43 63 5d 31 2a 29 20 23 20 45 42 43 44 49 43 20  Cc]1*) # EBCDIC 
2c80: 62 61 73 65 64 20 73 79 73 74 65 6d 20 20 20 20  based system    
2c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2cb0: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 53              .  S
2cc0: 50 32 4e 4c 3d 22 74 72 20 27 5c 31 30 30 27 20  P2NL="tr '\100' 
2cd0: 27 5c 6e 27 22 20 20 20 20 20 20 20 20 20 20 20  '\n'"           
2ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d00: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 4e              .  N
2d10: 4c 32 53 50 3d 22 74 72 20 27 5c 72 5c 6e 27 20  L2SP="tr '\r\n' 
2d20: 27 5c 31 30 30 5c 31 30 30 27 22 20 20 20 20 20  '\100\100'"     
2d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d50: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 3b              .  ;
2d60: 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;               
2d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2da0: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 2a 29              . *)
2db0: 20 23 20 41 73 73 75 6d 65 20 41 53 43 49 49 20   # Assume ASCII 
2dc0: 62 61 73 65 64 20 73 79 73 74 65 6d 20 20 20 20  based system    
2dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2df0: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 53              .  S
2e00: 50 32 4e 4c 3d 22 74 72 20 27 5c 30 34 30 27 20  P2NL="tr '\040' 
2e10: 27 5c 30 31 32 27 22 20 20 20 20 20 20 20 20 20  '\012'"         
2e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e40: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 4e              .  N
2e50: 4c 32 53 50 3d 22 74 72 20 27 5c 30 31 35 5c 30  L2SP="tr '\015\0
2e60: 31 32 27 20 27 5c 30 34 30 5c 30 34 30 27 22 20  12' '\040\040'" 
2e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e90: 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 3b              .  ;
2ea0: 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;               
2eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 0a 65 73 61              .esa
2ef0: 63 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  c               
2f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f30: 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a 23 20              ..# 
2f40: 4e 4c 53 20 6e 75 69 73 61 6e 63 65 73 2e 0a 23  NLS nuisances..#
2f50: 20 4f 6e 6c 79 20 73 65 74 20 4c 41 4e 47 20 61   Only set LANG a
2f60: 6e 64 20 4c 43 5f 41 4c 4c 20 74 6f 20 43 20 69  nd LC_ALL to C i
2f70: 66 20 61 6c 72 65 61 64 79 20 73 65 74 2e 0a 23  f already set..#
2f80: 20 54 68 65 73 65 20 6d 75 73 74 20 6e 6f 74 20   These must not 
2f90: 62 65 20 73 65 74 20 75 6e 63 6f 6e 64 69 74 69  be set unconditi
2fa0: 6f 6e 61 6c 6c 79 20 62 65 63 61 75 73 65 20 6e  onally because n
2fb0: 6f 74 20 61 6c 6c 20 73 79 73 74 65 6d 73 20 75  ot all systems u
2fc0: 6e 64 65 72 73 74 61 6e 64 0a 23 20 65 2e 67 2e  nderstand.# e.g.
2fd0: 20 4c 41 4e 47 3d 43 20 28 6e 6f 74 61 62 6c 79   LANG=C (notably
2fe0: 20 53 43 4f 29 2e 0a 23 20 57 65 20 73 61 76 65   SCO)..# We save
2ff0: 20 74 68 65 20 6f 6c 64 20 76 61 6c 75 65 73 20   the old values 
3000: 74 6f 20 72 65 73 74 6f 72 65 20 64 75 72 69 6e  to restore durin
3010: 67 20 65 78 65 63 75 74 65 20 6d 6f 64 65 2e 0a  g execute mode..
3020: 69 66 20 74 65 73 74 20 22 24 7b 4c 43 5f 41 4c  if test "${LC_AL
3030: 4c 2b 73 65 74 7d 22 20 3d 20 73 65 74 3b 20 74  L+set}" = set; t
3040: 68 65 6e 0a 20 20 73 61 76 65 5f 4c 43 5f 41 4c  hen.  save_LC_AL
3050: 4c 3d 22 24 4c 43 5f 41 4c 4c 22 3b 20 4c 43 5f  L="$LC_ALL"; LC_
3060: 41 4c 4c 3d 43 3b 20 65 78 70 6f 72 74 20 4c 43  ALL=C; export LC
3070: 5f 41 4c 4c 0a 66 69 0a 69 66 20 74 65 73 74 20  _ALL.fi.if test 
3080: 22 24 7b 4c 41 4e 47 2b 73 65 74 7d 22 20 3d 20  "${LANG+set}" = 
3090: 73 65 74 3b 20 74 68 65 6e 0a 20 20 73 61 76 65  set; then.  save
30a0: 5f 4c 41 4e 47 3d 22 24 4c 41 4e 47 22 3b 20 4c  _LANG="$LANG"; L
30b0: 41 4e 47 3d 43 3b 20 65 78 70 6f 72 74 20 4c 41  ANG=C; export LA
30c0: 4e 47 0a 66 69 0a 0a 23 20 4d 61 6b 65 20 73 75  NG.fi..# Make su
30d0: 72 65 20 49 46 53 20 68 61 73 20 61 20 73 65 6e  re IFS has a sen
30e0: 73 69 62 6c 65 20 64 65 66 61 75 6c 74 0a 3a 20  sible default.: 
30f0: 24 7b 49 46 53 3d 22 20 09 22 7d 0a 0a 69 66 20  ${IFS=" ."}..if 
3100: 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62  test "$build_lib
3110: 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79 65  tool_libs" != ye
3120: 73 20 26 26 20 74 65 73 74 20 22 24 62 75 69 6c  s && test "$buil
3130: 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 21 3d 20 79  d_old_libs" != y
3140: 65 73 3b 20 74 68 65 6e 0a 20 20 65 63 68 6f 20  es; then.  echo 
3150: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6e 6f 74 20  "$modename: not 
3160: 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 62 75  configured to bu
3170: 69 6c 64 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20  ild any kind of 
3180: 6c 69 62 72 61 72 79 22 20 31 3e 26 32 0a 20 20  library" 1>&2.  
3190: 65 63 68 6f 20 22 46 61 74 61 6c 20 63 6f 6e 66  echo "Fatal conf
31a0: 69 67 75 72 61 74 69 6f 6e 20 65 72 72 6f 72 2e  iguration error.
31b0: 20 20 53 65 65 20 74 68 65 20 24 50 41 43 4b 41    See the $PACKA
31c0: 47 45 20 64 6f 63 73 20 66 6f 72 20 6d 6f 72 65  GE docs for more
31d0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 20 31   information." 1
31e0: 3e 26 32 0a 20 20 65 78 69 74 20 31 0a 66 69 0a  >&2.  exit 1.fi.
31f0: 0a 23 20 47 6c 6f 62 61 6c 20 76 61 72 69 61 62  .# Global variab
3200: 6c 65 73 2e 0a 6d 6f 64 65 3d 24 64 65 66 61 75  les..mode=$defau
3210: 6c 74 5f 6d 6f 64 65 0a 6e 6f 6e 6f 70 74 3d 0a  lt_mode.nonopt=.
3220: 70 72 65 76 3d 0a 70 72 65 76 6f 70 74 3d 0a 72  prev=.prevopt=.r
3230: 75 6e 3d 0a 73 68 6f 77 3d 22 24 65 63 68 6f 22  un=.show="$echo"
3240: 0a 73 68 6f 77 5f 68 65 6c 70 3d 0a 65 78 65 63  .show_help=.exec
3250: 75 74 65 5f 64 6c 66 69 6c 65 73 3d 0a 6c 6f 32  ute_dlfiles=.lo2
3260: 6f 3d 22 73 2f 5c 5c 2e 6c 6f 5c 24 2f 2e 24 7b  o="s/\\.lo\$/.${
3270: 6f 62 6a 65 78 74 7d 2f 22 0a 6f 32 6c 6f 3d 22  objext}/".o2lo="
3280: 73 2f 5c 5c 2e 24 7b 6f 62 6a 65 78 74 7d 5c 24  s/\\.${objext}\$
3290: 2f 2e 6c 6f 2f 22 0a 0a 23 20 50 61 72 73 65 20  /.lo/"..# Parse 
32a0: 6f 75 72 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  our command line
32b0: 20 6f 70 74 69 6f 6e 73 20 6f 6e 63 65 2c 20 74   options once, t
32c0: 68 6f 72 6f 75 67 68 6c 79 2e 0a 77 68 69 6c 65  horoughly..while
32d0: 20 74 65 73 74 20 24 23 20 2d 67 74 20 30 0a 64   test $# -gt 0.d
32e0: 6f 0a 20 20 61 72 67 3d 22 24 31 22 0a 20 20 73  o.  arg="$1".  s
32f0: 68 69 66 74 0a 0a 20 20 63 61 73 65 20 24 61 72  hift..  case $ar
3300: 67 20 69 6e 0a 20 20 2d 2a 3d 2a 29 20 6f 70 74  g in.  -*=*) opt
3310: 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 61 72  arg=`$echo "X$ar
3320: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  g" | $Xsed -e 's
3330: 2f 5b 2d 5f 61 2d 7a 41 2d 5a 30 2d 39 5d 2a 3d  /[-_a-zA-Z0-9]*=
3340: 2f 2f 27 60 20 3b 3b 0a 20 20 2a 29 20 6f 70 74  //'` ;;.  *) opt
3350: 61 72 67 3d 20 3b 3b 0a 20 20 65 73 61 63 0a 0a  arg= ;;.  esac..
3360: 20 20 23 20 49 66 20 74 68 65 20 70 72 65 76 69    # If the previ
3370: 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65 65 64 73  ous option needs
3380: 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20 61 73   an argument, as
3390: 73 69 67 6e 20 69 74 2e 0a 20 20 69 66 20 74 65  sign it..  if te
33a0: 73 74 20 2d 6e 20 22 24 70 72 65 76 22 3b 20 74  st -n "$prev"; t
33b0: 68 65 6e 0a 20 20 20 20 63 61 73 65 20 24 70 72  hen.    case $pr
33c0: 65 76 20 69 6e 0a 20 20 20 20 65 78 65 63 75 74  ev in.    execut
33d0: 65 5f 64 6c 66 69 6c 65 73 29 0a 20 20 20 20 20  e_dlfiles).     
33e0: 20 65 78 65 63 75 74 65 5f 64 6c 66 69 6c 65 73   execute_dlfiles
33f0: 3d 22 24 65 78 65 63 75 74 65 5f 64 6c 66 69 6c  ="$execute_dlfil
3400: 65 73 20 24 61 72 67 22 0a 20 20 20 20 20 20 3b  es $arg".      ;
3410: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 65  ;.    *).      e
3420: 76 61 6c 20 22 24 70 72 65 76 3d 5c 24 61 72 67  val "$prev=\$arg
3430: 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  ".      ;;.    e
3440: 73 61 63 0a 0a 20 20 20 20 70 72 65 76 3d 0a 20  sac..    prev=. 
3450: 20 20 20 70 72 65 76 6f 70 74 3d 0a 20 20 20 20     prevopt=.    
3460: 63 6f 6e 74 69 6e 75 65 0a 20 20 66 69 0a 0a 20  continue.  fi.. 
3470: 20 23 20 48 61 76 65 20 77 65 20 73 65 65 6e 20   # Have we seen 
3480: 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 61  a non-optional a
3490: 72 67 75 6d 65 6e 74 20 79 65 74 3f 0a 20 20 63  rgument yet?.  c
34a0: 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 2d 2d  ase $arg in.  --
34b0: 68 65 6c 70 29 0a 20 20 20 20 73 68 6f 77 5f 68  help).    show_h
34c0: 65 6c 70 3d 79 65 73 0a 20 20 20 20 3b 3b 0a 0a  elp=yes.    ;;..
34d0: 20 20 2d 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20    --version).   
34e0: 20 65 63 68 6f 20 22 24 50 52 4f 47 52 41 4d 20   echo "$PROGRAM 
34f0: 28 47 4e 55 20 24 50 41 43 4b 41 47 45 29 20 24  (GNU $PACKAGE) $
3500: 56 45 52 53 49 4f 4e 24 54 49 4d 45 53 54 41 4d  VERSION$TIMESTAM
3510: 50 22 0a 20 20 20 20 65 78 69 74 20 30 0a 20 20  P".    exit 0.  
3520: 20 20 3b 3b 0a 0a 20 20 2d 2d 63 6f 6e 66 69 67    ;;..  --config
3530: 29 0a 20 20 20 20 24 7b 53 45 44 7d 20 2d 65 20  ).    ${SED} -e 
3540: 27 31 2c 2f 5e 23 20 23 23 23 20 42 45 47 49 4e  '1,/^# ### BEGIN
3550: 20 4c 49 42 54 4f 4f 4c 20 43 4f 4e 46 49 47 2f   LIBTOOL CONFIG/
3560: 64 27 20 2d 65 20 27 2f 5e 23 20 23 23 23 20 45  d' -e '/^# ### E
3570: 4e 44 20 4c 49 42 54 4f 4f 4c 20 43 4f 4e 46 49  ND LIBTOOL CONFI
3580: 47 2f 2c 24 64 27 20 24 30 0a 20 20 20 20 65 78  G/,$d' $0.    ex
3590: 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d  it 0.    ;;..  -
35a0: 2d 64 65 62 75 67 29 0a 20 20 20 20 65 63 68 6f  -debug).    echo
35b0: 20 22 24 70 72 6f 67 6e 61 6d 65 3a 20 65 6e 61   "$progname: ena
35c0: 62 6c 69 6e 67 20 73 68 65 6c 6c 20 74 72 61 63  bling shell trac
35d0: 65 20 6d 6f 64 65 22 0a 20 20 20 20 73 65 74 20  e mode".    set 
35e0: 2d 78 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 64  -x.    ;;..  --d
35f0: 72 79 2d 72 75 6e 20 7c 20 2d 6e 29 0a 20 20 20  ry-run | -n).   
3600: 20 72 75 6e 3d 3a 0a 20 20 20 20 3b 3b 0a 0a 20   run=:.    ;;.. 
3610: 20 2d 2d 66 65 61 74 75 72 65 73 29 0a 20 20 20   --features).   
3620: 20 65 63 68 6f 20 22 68 6f 73 74 3a 20 24 68 6f   echo "host: $ho
3630: 73 74 22 0a 20 20 20 20 69 66 20 74 65 73 74 20  st".    if test 
3640: 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
3650: 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65  libs" = yes; the
3660: 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 22 65 6e  n.      echo "en
3670: 61 62 6c 65 20 73 68 61 72 65 64 20 6c 69 62 72  able shared libr
3680: 61 72 69 65 73 22 0a 20 20 20 20 65 6c 73 65 0a  aries".    else.
3690: 20 20 20 20 20 20 65 63 68 6f 20 22 64 69 73 61        echo "disa
36a0: 62 6c 65 20 73 68 61 72 65 64 20 6c 69 62 72 61  ble shared libra
36b0: 72 69 65 73 22 0a 20 20 20 20 66 69 0a 20 20 20  ries".    fi.   
36c0: 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64   if test "$build
36d0: 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73  _old_libs" = yes
36e0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65 63 68  ; then.      ech
36f0: 6f 20 22 65 6e 61 62 6c 65 20 73 74 61 74 69 63  o "enable static
3700: 20 6c 69 62 72 61 72 69 65 73 22 0a 20 20 20 20   libraries".    
3710: 65 6c 73 65 0a 20 20 20 20 20 20 65 63 68 6f 20  else.      echo 
3720: 22 64 69 73 61 62 6c 65 20 73 74 61 74 69 63 20  "disable static 
3730: 6c 69 62 72 61 72 69 65 73 22 0a 20 20 20 20 66  libraries".    f
3740: 69 0a 20 20 20 20 65 78 69 74 20 30 0a 20 20 20  i.    exit 0.   
3750: 20 3b 3b 0a 0a 20 20 2d 2d 66 69 6e 69 73 68 29   ;;..  --finish)
3760: 20 6d 6f 64 65 3d 22 66 69 6e 69 73 68 22 20 3b   mode="finish" ;
3770: 3b 0a 0a 20 20 2d 2d 6d 6f 64 65 29 20 70 72 65  ;..  --mode) pre
3780: 76 6f 70 74 3d 22 2d 2d 6d 6f 64 65 22 20 70 72  vopt="--mode" pr
3790: 65 76 3d 6d 6f 64 65 20 3b 3b 0a 20 20 2d 2d 6d  ev=mode ;;.  --m
37a0: 6f 64 65 3d 2a 29 20 6d 6f 64 65 3d 22 24 6f 70  ode=*) mode="$op
37b0: 74 61 72 67 22 20 3b 3b 0a 0a 20 20 2d 2d 70 72  targ" ;;..  --pr
37c0: 65 73 65 72 76 65 2d 64 75 70 2d 64 65 70 73 29  eserve-dup-deps)
37d0: 20 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73 3d   duplicate_deps=
37e0: 22 79 65 73 22 20 3b 3b 0a 0a 20 20 2d 2d 71 75  "yes" ;;..  --qu
37f0: 69 65 74 20 7c 20 2d 2d 73 69 6c 65 6e 74 29 0a  iet | --silent).
3800: 20 20 20 20 73 68 6f 77 3d 3a 0a 20 20 20 20 3b      show=:.    ;
3810: 3b 0a 0a 20 20 2d 64 6c 6f 70 65 6e 29 0a 20 20  ;..  -dlopen).  
3820: 20 20 70 72 65 76 6f 70 74 3d 22 2d 64 6c 6f 70    prevopt="-dlop
3830: 65 6e 22 0a 20 20 20 20 70 72 65 76 3d 65 78 65  en".    prev=exe
3840: 63 75 74 65 5f 64 6c 66 69 6c 65 73 0a 20 20 20  cute_dlfiles.   
3850: 20 3b 3b 0a 0a 20 20 2d 2a 29 0a 20 20 20 20 24   ;;..  -*).    $
3860: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
3870: 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70   unrecognized op
3880: 74 69 6f 6e 20 5c 60 24 61 72 67 27 22 20 31 3e  tion \`$arg'" 1>
3890: 26 32 0a 20 20 20 20 24 65 63 68 6f 20 22 24 68  &2.    $echo "$h
38a0: 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65 78  elp" 1>&2.    ex
38b0: 69 74 20 31 0a 20 20 20 20 3b 3b 0a 0a 20 20 2a  it 1.    ;;..  *
38c0: 29 0a 20 20 20 20 6e 6f 6e 6f 70 74 3d 22 24 61  ).    nonopt="$a
38d0: 72 67 22 0a 20 20 20 20 62 72 65 61 6b 0a 20 20  rg".    break.  
38e0: 20 20 3b 3b 0a 20 20 65 73 61 63 0a 64 6f 6e 65    ;;.  esac.done
38f0: 0a 0a 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70  ..if test -n "$p
3900: 72 65 76 6f 70 74 22 3b 20 74 68 65 6e 0a 20 20  revopt"; then.  
3910: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
3920: 3a 20 6f 70 74 69 6f 6e 20 5c 60 24 70 72 65 76  : option \`$prev
3930: 6f 70 74 27 20 72 65 71 75 69 72 65 73 20 61 6e  opt' requires an
3940: 20 61 72 67 75 6d 65 6e 74 22 20 31 3e 26 32 0a   argument" 1>&2.
3950: 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20    $echo "$help" 
3960: 31 3e 26 32 0a 20 20 65 78 69 74 20 31 0a 66 69  1>&2.  exit 1.fi
3970: 0a 0a 23 20 49 66 20 74 68 69 73 20 76 61 72 69  ..# If this vari
3980: 61 62 6c 65 20 69 73 20 73 65 74 20 69 6e 20 61  able is set in a
3990: 6e 79 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e  ny of the action
39a0: 73 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69  s, the command i
39b0: 6e 20 69 74 0a 23 20 77 69 6c 6c 20 62 65 20 65  n it.# will be e
39c0: 78 65 63 65 64 20 61 74 20 74 68 65 20 65 6e 64  xeced at the end
39d0: 2e 20 20 54 68 69 73 20 70 72 65 76 65 6e 74 73  .  This prevents
39e0: 20 68 65 72 65 2d 64 6f 63 75 6d 65 6e 74 73 20   here-documents 
39f0: 66 72 6f 6d 20 62 65 69 6e 67 0a 23 20 6c 65 66  from being.# lef
3a00: 74 20 6f 76 65 72 20 62 79 20 73 68 65 6c 6c 73  t over by shells
3a10: 2e 0a 65 78 65 63 5f 63 6d 64 3d 0a 0a 69 66 20  ..exec_cmd=..if 
3a20: 74 65 73 74 20 2d 7a 20 22 24 73 68 6f 77 5f 68  test -z "$show_h
3a30: 65 6c 70 22 3b 20 74 68 65 6e 0a 0a 20 20 23 20  elp"; then..  # 
3a40: 49 6e 66 65 72 20 74 68 65 20 6f 70 65 72 61 74  Infer the operat
3a50: 69 6f 6e 20 6d 6f 64 65 2e 0a 20 20 69 66 20 74  ion mode..  if t
3a60: 65 73 74 20 2d 7a 20 22 24 6d 6f 64 65 22 3b 20  est -z "$mode"; 
3a70: 74 68 65 6e 0a 20 20 20 20 63 61 73 65 20 24 6e  then.    case $n
3a80: 6f 6e 6f 70 74 20 69 6e 0a 20 20 20 20 2a 63 63  onopt in.    *cc
3a90: 20 7c 20 2a 2b 2b 20 7c 20 67 63 63 2a 20 7c 20   | *++ | gcc* | 
3aa0: 2a 2d 67 63 63 2a 20 7c 20 67 2b 2b 2a 20 7c 20  *-gcc* | g++* | 
3ab0: 78 6c 63 2a 29 0a 20 20 20 20 20 20 6d 6f 64 65  xlc*).      mode
3ac0: 3d 6c 69 6e 6b 0a 20 20 20 20 20 20 66 6f 72 20  =link.      for 
3ad0: 61 72 67 0a 20 20 20 20 20 20 64 6f 0a 09 63 61  arg.      do..ca
3ae0: 73 65 20 24 61 72 67 20 69 6e 0a 09 2d 63 29 0a  se $arg in..-c).
3af0: 09 20 20 20 6d 6f 64 65 3d 63 6f 6d 70 69 6c 65  .   mode=compile
3b00: 0a 09 20 20 20 62 72 65 61 6b 0a 09 20 20 20 3b  ..   break..   ;
3b10: 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64 6f  ;..esac.      do
3b20: 6e 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  ne.      ;;.    
3b30: 2a 64 62 20 7c 20 2a 64 62 78 20 7c 20 2a 73 74  *db | *dbx | *st
3b40: 72 61 63 65 20 7c 20 2a 74 72 75 73 73 29 0a 20  race | *truss). 
3b50: 20 20 20 20 20 6d 6f 64 65 3d 65 78 65 63 75 74       mode=execut
3b60: 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a  e.      ;;.    *
3b70: 69 6e 73 74 61 6c 6c 2a 7c 63 70 7c 6d 76 29 0a  install*|cp|mv).
3b80: 20 20 20 20 20 20 6d 6f 64 65 3d 69 6e 73 74 61        mode=insta
3b90: 6c 6c 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  ll.      ;;.    
3ba0: 2a 72 6d 29 0a 20 20 20 20 20 20 6d 6f 64 65 3d  *rm).      mode=
3bb0: 75 6e 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20  uninstall.      
3bc0: 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20  ;;.    *).      
3bd0: 23 20 49 66 20 77 65 20 68 61 76 65 20 6e 6f 20  # If we have no 
3be0: 6d 6f 64 65 2c 20 62 75 74 20 64 6c 66 69 6c 65  mode, but dlfile
3bf0: 73 20 77 65 72 65 20 73 70 65 63 69 66 69 65 64  s were specified
3c00: 2c 20 74 68 65 6e 20 64 6f 20 65 78 65 63 75 74  , then do execut
3c10: 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 74 65  e mode..      te
3c20: 73 74 20 2d 6e 20 22 24 65 78 65 63 75 74 65 5f  st -n "$execute_
3c30: 64 6c 66 69 6c 65 73 22 20 26 26 20 6d 6f 64 65  dlfiles" && mode
3c40: 3d 65 78 65 63 75 74 65 0a 0a 20 20 20 20 20 20  =execute..      
3c50: 23 20 4a 75 73 74 20 75 73 65 20 74 68 65 20 64  # Just use the d
3c60: 65 66 61 75 6c 74 20 6f 70 65 72 61 74 69 6f 6e  efault operation
3c70: 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 69 66 20   mode..      if 
3c80: 74 65 73 74 20 2d 7a 20 22 24 6d 6f 64 65 22 3b  test -z "$mode";
3c90: 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d   then..if test -
3ca0: 6e 20 22 24 6e 6f 6e 6f 70 74 22 3b 20 74 68 65  n "$nonopt"; the
3cb0: 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  n..  $echo "$mod
3cc0: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
3cd0: 63 61 6e 6e 6f 74 20 69 6e 66 65 72 20 6f 70 65  cannot infer ope
3ce0: 72 61 74 69 6f 6e 20 6d 6f 64 65 20 66 72 6f 6d  ration mode from
3cf0: 20 5c 60 24 6e 6f 6e 6f 70 74 27 22 20 31 3e 26   \`$nonopt'" 1>&
3d00: 32 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f  2..else..  $echo
3d10: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72   "$modename: war
3d20: 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 69 6e 66  ning: cannot inf
3d30: 65 72 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64  er operation mod
3d40: 65 20 77 69 74 68 6f 75 74 20 4d 4f 44 45 2d 41  e without MODE-A
3d50: 52 47 53 22 20 31 3e 26 32 0a 09 66 69 0a 20 20  RGS" 1>&2..fi.  
3d60: 20 20 20 20 66 69 0a 20 20 20 20 20 20 3b 3b 0a      fi.      ;;.
3d70: 20 20 20 20 65 73 61 63 0a 20 20 66 69 0a 0a 20      esac.  fi.. 
3d80: 20 23 20 4f 6e 6c 79 20 65 78 65 63 75 74 65 20   # Only execute 
3d90: 6d 6f 64 65 20 69 73 20 61 6c 6c 6f 77 65 64 20  mode is allowed 
3da0: 74 6f 20 68 61 76 65 20 2d 64 6c 6f 70 65 6e 20  to have -dlopen 
3db0: 66 6c 61 67 73 2e 0a 20 20 69 66 20 74 65 73 74  flags..  if test
3dc0: 20 2d 6e 20 22 24 65 78 65 63 75 74 65 5f 64 6c   -n "$execute_dl
3dd0: 66 69 6c 65 73 22 20 26 26 20 74 65 73 74 20 22  files" && test "
3de0: 24 6d 6f 64 65 22 20 21 3d 20 65 78 65 63 75 74  $mode" != execut
3df0: 65 3b 20 74 68 65 6e 0a 20 20 20 20 24 65 63 68  e; then.    $ech
3e00: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 6e  o "$modename: un
3e10: 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f  recognized optio
3e20: 6e 20 5c 60 2d 64 6c 6f 70 65 6e 27 22 20 31 3e  n \`-dlopen'" 1>
3e30: 26 32 0a 20 20 20 20 24 65 63 68 6f 20 22 24 68  &2.    $echo "$h
3e40: 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65 78  elp" 1>&2.    ex
3e50: 69 74 20 31 0a 20 20 66 69 0a 0a 20 20 23 20 43  it 1.  fi..  # C
3e60: 68 61 6e 67 65 20 74 68 65 20 68 65 6c 70 20 6d  hange the help m
3e70: 65 73 73 61 67 65 20 74 6f 20 61 20 6d 6f 64 65  essage to a mode
3e80: 2d 73 70 65 63 69 66 69 63 20 6f 6e 65 2e 0a 20  -specific one.. 
3e90: 20 67 65 6e 65 72 69 63 5f 68 65 6c 70 3d 22 24   generic_help="$
3ea0: 68 65 6c 70 22 0a 20 20 68 65 6c 70 3d 22 54 72  help".  help="Tr
3eb0: 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65 20 2d 2d  y \`$modename --
3ec0: 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 24 6d 6f 64  help --mode=$mod
3ed0: 65 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f  e' for more info
3ee0: 72 6d 61 74 69 6f 6e 2e 22 0a 0a 20 20 23 20 54  rmation."..  # T
3ef0: 68 65 73 65 20 6d 6f 64 65 73 20 61 72 65 20 69  hese modes are i
3f00: 6e 20 6f 72 64 65 72 20 6f 66 20 65 78 65 63 75  n order of execu
3f10: 74 69 6f 6e 20 66 72 65 71 75 65 6e 63 79 20 73  tion frequency s
3f20: 6f 20 74 68 61 74 20 74 68 65 79 20 72 75 6e 20  o that they run 
3f30: 71 75 69 63 6b 6c 79 2e 0a 20 20 63 61 73 65 20  quickly..  case 
3f40: 24 6d 6f 64 65 20 69 6e 0a 20 20 23 20 6c 69 62  $mode in.  # lib
3f50: 74 6f 6f 6c 20 63 6f 6d 70 69 6c 65 20 6d 6f 64  tool compile mod
3f60: 65 0a 20 20 63 6f 6d 70 69 6c 65 29 0a 20 20 20  e.  compile).   
3f70: 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64 65   modename="$mode
3f80: 6e 61 6d 65 3a 20 63 6f 6d 70 69 6c 65 22 0a 20  name: compile". 
3f90: 20 20 20 23 20 47 65 74 20 74 68 65 20 63 6f 6d     # Get the com
3fa0: 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64  pilation command
3fb0: 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20   and the source 
3fc0: 66 69 6c 65 2e 0a 20 20 20 20 62 61 73 65 5f 63  file..    base_c
3fd0: 6f 6d 70 69 6c 65 3d 0a 20 20 20 20 70 72 65 76  ompile=.    prev
3fe0: 3d 0a 20 20 20 20 6c 61 73 74 61 72 67 3d 0a 20  =.    lastarg=. 
3ff0: 20 20 20 73 72 63 66 69 6c 65 3d 22 24 6e 6f 6e     srcfile="$non
4000: 6f 70 74 22 0a 20 20 20 20 73 75 70 70 72 65 73  opt".    suppres
4010: 73 5f 6f 75 74 70 75 74 3d 0a 0a 20 20 20 20 75  s_output=..    u
4020: 73 65 72 5f 74 61 72 67 65 74 3d 6e 6f 0a 20 20  ser_target=no.  
4030: 20 20 66 6f 72 20 61 72 67 0a 20 20 20 20 64 6f    for arg.    do
4040: 0a 20 20 20 20 20 20 63 61 73 65 20 24 70 72 65  .      case $pre
4050: 76 20 69 6e 0a 20 20 20 20 20 20 22 22 29 20 3b  v in.      "") ;
4060: 3b 0a 20 20 20 20 20 20 78 63 6f 6d 70 69 6c 65  ;.      xcompile
4070: 72 29 0a 09 23 20 41 65 73 74 68 65 74 69 63 61  r)..# Aesthetica
4080: 6c 6c 79 20 71 75 6f 74 65 20 74 68 65 20 70 72  lly quote the pr
4090: 65 76 69 6f 75 73 20 61 72 67 75 6d 65 6e 74 2e  evious argument.
40a0: 0a 09 70 72 65 76 3d 0a 09 6c 61 73 74 61 72 67  ..prev=..lastarg
40b0: 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20  =`$echo "X$arg" 
40c0: 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
40d0: 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a  _quote_subst"`..
40e0: 09 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 23  .case $arg in..#
40f0: 20 44 6f 75 62 6c 65 2d 71 75 6f 74 65 20 61 72   Double-quote ar
4100: 67 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 74  gs containing ot
4110: 68 65 72 20 73 68 65 6c 6c 20 6d 65 74 61 63 68  her shell metach
4120: 61 72 61 63 74 65 72 73 2e 0a 09 23 20 4d 61 6e  aracters...# Man
4130: 79 20 42 6f 75 72 6e 65 20 73 68 65 6c 6c 73 20  y Bourne shells 
4140: 63 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 63 6c  cannot handle cl
4150: 6f 73 65 20 62 72 61 63 6b 65 74 73 20 63 6f 72  ose brackets cor
4160: 72 65 63 74 6c 79 0a 09 23 20 69 6e 20 73 63 61  rectly..# in sca
4170: 6e 20 73 65 74 73 2c 20 73 6f 20 77 65 20 73 70  n sets, so we sp
4180: 65 63 69 66 79 20 69 74 20 73 65 70 61 72 61 74  ecify it separat
4190: 65 6c 79 2e 0a 09 2a 5b 5c 5b 5c 7e 5c 23 5c 5e  ely...*[\[\~\#\^
41a0: 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b  \&\*\(\)\{\}\|\;
41b0: 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a  \<\>\?\'\ \.]*|*
41c0: 5d 2a 7c 22 22 29 0a 09 20 20 61 72 67 3d 22 5c  ]*|"")..  arg="\
41d0: 22 24 61 72 67 5c 22 22 0a 09 20 20 3b 3b 0a 09  "$arg\""..  ;;..
41e0: 65 73 61 63 0a 0a 09 23 20 41 64 64 20 74 68 65  esac...# Add the
41f0: 20 70 72 65 76 69 6f 75 73 20 61 72 67 75 6d 65   previous argume
4200: 6e 74 20 74 6f 20 62 61 73 65 5f 63 6f 6d 70 69  nt to base_compi
4210: 6c 65 2e 0a 09 69 66 20 74 65 73 74 20 2d 7a 20  le...if test -z 
4220: 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b  "$base_compile";
4230: 20 74 68 65 6e 0a 09 20 20 62 61 73 65 5f 63 6f   then..  base_co
4240: 6d 70 69 6c 65 3d 22 24 6c 61 73 74 61 72 67 22  mpile="$lastarg"
4250: 0a 09 65 6c 73 65 0a 09 20 20 62 61 73 65 5f 63  ..else..  base_c
4260: 6f 6d 70 69 6c 65 3d 22 24 62 61 73 65 5f 63 6f  ompile="$base_co
4270: 6d 70 69 6c 65 20 24 6c 61 73 74 61 72 67 22 0a  mpile $lastarg".
4280: 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b  .fi..continue..;
4290: 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20  ;.      esac..  
42a0: 20 20 20 20 23 20 41 63 63 65 70 74 20 61 6e 79      # Accept any
42b0: 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 6f 70   command-line op
42c0: 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 63 61 73  tions..      cas
42d0: 65 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20  e $arg in.      
42e0: 2d 6f 29 0a 09 69 66 20 74 65 73 74 20 22 24 75  -o)..if test "$u
42f0: 73 65 72 5f 74 61 72 67 65 74 22 20 21 3d 20 22  ser_target" != "
4300: 6e 6f 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  no"; then..  $ec
4310: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79  ho "$modename: y
4320: 6f 75 20 63 61 6e 6e 6f 74 20 73 70 65 63 69 66  ou cannot specif
4330: 79 20 5c 60 2d 6f 27 20 6d 6f 72 65 20 74 68 61  y \`-o' more tha
4340: 6e 20 6f 6e 63 65 22 20 31 3e 26 32 0a 09 20 20  n once" 1>&2..  
4350: 65 78 69 74 20 31 0a 09 66 69 0a 09 75 73 65 72  exit 1..fi..user
4360: 5f 74 61 72 67 65 74 3d 6e 65 78 74 0a 09 3b 3b  _target=next..;;
4370: 0a 0a 20 20 20 20 20 20 2d 73 74 61 74 69 63 29  ..      -static)
4380: 0a 09 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73  ..build_old_libs
4390: 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  =yes..continue..
43a0: 3b 3b 0a 0a 20 20 20 20 20 20 2d 70 72 65 66 65  ;;..      -prefe
43b0: 72 2d 70 69 63 29 0a 09 70 69 63 5f 6d 6f 64 65  r-pic)..pic_mode
43c0: 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  =yes..continue..
43d0: 3b 3b 0a 0a 20 20 20 20 20 20 2d 70 72 65 66 65  ;;..      -prefe
43e0: 72 2d 6e 6f 6e 2d 70 69 63 29 0a 09 70 69 63 5f  r-non-pic)..pic_
43f0: 6d 6f 64 65 3d 6e 6f 0a 09 63 6f 6e 74 69 6e 75  mode=no..continu
4400: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 63  e..;;..      -Xc
4410: 6f 6d 70 69 6c 65 72 29 0a 09 70 72 65 76 3d 78  ompiler)..prev=x
4420: 63 6f 6d 70 69 6c 65 72 0a 09 63 6f 6e 74 69 6e  compiler..contin
4430: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 57  ue..;;..      -W
4440: 63 2c 2a 29 0a 09 61 72 67 73 3d 60 24 65 63 68  c,*)..args=`$ech
4450: 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73 65  o "X$arg" | $Xse
4460: 64 20 2d 65 20 22 73 2f 5e 2d 57 63 2c 2f 2f 22  d -e "s/^-Wc,//"
4470: 60 0a 09 6c 61 73 74 61 72 67 3d 0a 09 73 61 76  `..lastarg=..sav
4480: 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46  e_ifs="$IFS"; IF
4490: 53 3d 27 2c 27 0a 09 66 6f 72 20 61 72 67 20 69  S=','..for arg i
44a0: 6e 20 24 61 72 67 73 3b 20 64 6f 0a 09 20 20 49  n $args; do..  I
44b0: 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 0a  FS="$save_ifs"..
44c0: 09 20 20 23 20 44 6f 75 62 6c 65 2d 71 75 6f 74  .  # Double-quot
44d0: 65 20 61 72 67 73 20 63 6f 6e 74 61 69 6e 69 6e  e args containin
44e0: 67 20 6f 74 68 65 72 20 73 68 65 6c 6c 20 6d 65  g other shell me
44f0: 74 61 63 68 61 72 61 63 74 65 72 73 2e 0a 09 20  tacharacters... 
4500: 20 23 20 4d 61 6e 79 20 42 6f 75 72 6e 65 20 73   # Many Bourne s
4510: 68 65 6c 6c 73 20 63 61 6e 6e 6f 74 20 68 61 6e  hells cannot han
4520: 64 6c 65 20 63 6c 6f 73 65 20 62 72 61 63 6b 65  dle close bracke
4530: 74 73 20 63 6f 72 72 65 63 74 6c 79 0a 09 20 20  ts correctly..  
4540: 23 20 69 6e 20 73 63 61 6e 20 73 65 74 73 2c 20  # in scan sets, 
4550: 73 6f 20 77 65 20 73 70 65 63 69 66 79 20 69 74  so we specify it
4560: 20 73 65 70 61 72 61 74 65 6c 79 2e 0a 09 20 20   separately...  
4570: 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 20 20  case $arg in..  
4580: 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a    *[\[\~\#\^\&\*
4590: 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e  \(\)\{\}\|\;\<\>
45a0: 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22  \?\'\ \.]*|*]*|"
45b0: 22 29 0a 09 20 20 20 20 61 72 67 3d 22 5c 22 24  ")..    arg="\"$
45c0: 61 72 67 5c 22 22 0a 09 20 20 20 20 3b 3b 0a 09  arg\""..    ;;..
45d0: 20 20 65 73 61 63 0a 09 20 20 6c 61 73 74 61 72    esac..  lastar
45e0: 67 3d 22 24 6c 61 73 74 61 72 67 20 24 61 72 67  g="$lastarg $arg
45f0: 22 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73  "..done..IFS="$s
4600: 61 76 65 5f 69 66 73 22 0a 09 6c 61 73 74 61 72  ave_ifs"..lastar
4610: 67 3d 60 24 65 63 68 6f 20 22 58 24 6c 61 73 74  g=`$echo "X$last
4620: 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20  arg" | $Xsed -e 
4630: 22 73 2f 5e 20 2f 2f 22 60 0a 0a 09 23 20 41 64  "s/^ //"`...# Ad
4640: 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20  d the arguments 
4650: 74 6f 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 2e  to base_compile.
4660: 0a 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 62  ..if test -z "$b
4670: 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b 20 74 68  ase_compile"; th
4680: 65 6e 0a 09 20 20 62 61 73 65 5f 63 6f 6d 70 69  en..  base_compi
4690: 6c 65 3d 22 24 6c 61 73 74 61 72 67 22 0a 09 65  le="$lastarg"..e
46a0: 6c 73 65 0a 09 20 20 62 61 73 65 5f 63 6f 6d 70  lse..  base_comp
46b0: 69 6c 65 3d 22 24 62 61 73 65 5f 63 6f 6d 70 69  ile="$base_compi
46c0: 6c 65 20 24 6c 61 73 74 61 72 67 22 0a 09 66 69  le $lastarg"..fi
46d0: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20  ..continue..;;. 
46e0: 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20       esac..     
46f0: 20 63 61 73 65 20 24 75 73 65 72 5f 74 61 72 67   case $user_targ
4700: 65 74 20 69 6e 0a 20 20 20 20 20 20 6e 65 78 74  et in.      next
4710: 29 0a 09 23 20 54 68 65 20 6e 65 78 74 20 6f 6e  )..# The next on
4720: 65 20 69 73 20 74 68 65 20 2d 6f 20 74 61 72 67  e is the -o targ
4730: 65 74 20 6e 61 6d 65 0a 09 75 73 65 72 5f 74 61  et name..user_ta
4740: 72 67 65 74 3d 79 65 73 0a 09 63 6f 6e 74 69 6e  rget=yes..contin
4750: 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20 79 65 73  ue..;;.      yes
4760: 29 0a 09 23 20 57 65 20 67 6f 74 20 74 68 65 20  )..# We got the 
4770: 6f 75 74 70 75 74 20 66 69 6c 65 0a 09 75 73 65  output file..use
4780: 72 5f 74 61 72 67 65 74 3d 73 65 74 0a 09 6c 69  r_target=set..li
4790: 62 6f 62 6a 3d 22 24 61 72 67 22 0a 09 63 6f 6e  bobj="$arg"..con
47a0: 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20  tinue..;;.      
47b0: 65 73 61 63 0a 0a 20 20 20 20 20 20 23 20 41 63  esac..      # Ac
47c0: 63 65 70 74 20 74 68 65 20 63 75 72 72 65 6e 74  cept the current
47d0: 20 61 72 67 75 6d 65 6e 74 20 61 73 20 74 68 65   argument as the
47e0: 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20   source file..  
47f0: 20 20 20 20 6c 61 73 74 61 72 67 3d 22 24 73 72      lastarg="$sr
4800: 63 66 69 6c 65 22 0a 20 20 20 20 20 20 73 72 63  cfile".      src
4810: 66 69 6c 65 3d 22 24 61 72 67 22 0a 0a 20 20 20  file="$arg"..   
4820: 20 20 20 23 20 41 65 73 74 68 65 74 69 63 61 6c     # Aesthetical
4830: 6c 79 20 71 75 6f 74 65 20 74 68 65 20 70 72 65  ly quote the pre
4840: 76 69 6f 75 73 20 61 72 67 75 6d 65 6e 74 2e 0a  vious argument..
4850: 0a 20 20 20 20 20 20 23 20 42 61 63 6b 73 6c 61  .      # Backsla
4860: 73 68 69 66 79 20 61 6e 79 20 62 61 63 6b 73 6c  shify any backsl
4870: 61 73 68 65 73 2c 20 64 6f 75 62 6c 65 20 71 75  ashes, double qu
4880: 6f 74 65 73 2c 20 61 6e 64 20 64 6f 6c 6c 61 72  otes, and dollar
4890: 20 73 69 67 6e 73 2e 0a 20 20 20 20 20 20 23 20   signs..      # 
48a0: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 6f 6e  These are the on
48b0: 6c 79 20 63 68 61 72 61 63 74 65 72 73 20 74 68  ly characters th
48c0: 61 74 20 61 72 65 20 73 74 69 6c 6c 20 73 70 65  at are still spe
48d0: 63 69 61 6c 6c 79 0a 20 20 20 20 20 20 23 20 69  cially.      # i
48e0: 6e 74 65 72 70 72 65 74 65 64 20 69 6e 73 69 64  nterpreted insid
48f0: 65 20 6f 66 20 64 6f 75 62 6c 65 2d 71 75 6f 74  e of double-quot
4900: 65 64 20 73 63 72 69 6e 67 73 2e 0a 20 20 20 20  ed scrings..    
4910: 20 20 6c 61 73 74 61 72 67 3d 60 24 65 63 68 6f    lastarg=`$echo
4920: 20 22 58 24 6c 61 73 74 61 72 67 22 20 7c 20 24   "X$lastarg" | $
4930: 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
4940: 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a 20 20 20  ote_subst"`..   
4950: 20 20 20 23 20 44 6f 75 62 6c 65 2d 71 75 6f 74     # Double-quot
4960: 65 20 61 72 67 73 20 63 6f 6e 74 61 69 6e 69 6e  e args containin
4970: 67 20 6f 74 68 65 72 20 73 68 65 6c 6c 20 6d 65  g other shell me
4980: 74 61 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20  tacharacters..  
4990: 20 20 20 20 23 20 4d 61 6e 79 20 42 6f 75 72 6e      # Many Bourn
49a0: 65 20 73 68 65 6c 6c 73 20 63 61 6e 6e 6f 74 20  e shells cannot 
49b0: 68 61 6e 64 6c 65 20 63 6c 6f 73 65 20 62 72 61  handle close bra
49c0: 63 6b 65 74 73 20 63 6f 72 72 65 63 74 6c 79 0a  ckets correctly.
49d0: 20 20 20 20 20 20 23 20 69 6e 20 73 63 61 6e 20        # in scan 
49e0: 73 65 74 73 2c 20 73 6f 20 77 65 20 73 70 65 63  sets, so we spec
49f0: 69 66 79 20 69 74 20 73 65 70 61 72 61 74 65 6c  ify it separatel
4a00: 79 2e 0a 20 20 20 20 20 20 63 61 73 65 20 24 6c  y..      case $l
4a10: 61 73 74 61 72 67 20 69 6e 0a 20 20 20 20 20 20  astarg in.      
4a20: 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28  *[\[\~\#\^\&\*\(
4a30: 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f  \)\{\}\|\;\<\>\?
4a40: 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29  \'\ \.]*|*]*|"")
4a50: 0a 09 6c 61 73 74 61 72 67 3d 22 5c 22 24 6c 61  ..lastarg="\"$la
4a60: 73 74 61 72 67 5c 22 22 0a 09 3b 3b 0a 20 20 20  starg\""..;;.   
4a70: 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 23     esac..      #
4a80: 20 41 64 64 20 74 68 65 20 70 72 65 76 69 6f 75   Add the previou
4a90: 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 62 61  s argument to ba
4aa0: 73 65 5f 63 6f 6d 70 69 6c 65 2e 0a 20 20 20 20  se_compile..    
4ab0: 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 62    if test -z "$b
4ac0: 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b 20 74 68  ase_compile"; th
4ad0: 65 6e 0a 09 62 61 73 65 5f 63 6f 6d 70 69 6c 65  en..base_compile
4ae0: 3d 22 24 6c 61 73 74 61 72 67 22 0a 20 20 20 20  ="$lastarg".    
4af0: 20 20 65 6c 73 65 0a 09 62 61 73 65 5f 63 6f 6d    else..base_com
4b00: 70 69 6c 65 3d 22 24 62 61 73 65 5f 63 6f 6d 70  pile="$base_comp
4b10: 69 6c 65 20 24 6c 61 73 74 61 72 67 22 0a 20 20  ile $lastarg".  
4b20: 20 20 20 20 66 69 0a 20 20 20 20 64 6f 6e 65 0a      fi.    done.
4b30: 0a 20 20 20 20 63 61 73 65 20 24 75 73 65 72 5f  .    case $user_
4b40: 74 61 72 67 65 74 20 69 6e 0a 20 20 20 20 73 65  target in.    se
4b50: 74 29 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  t).      ;;.    
4b60: 6e 6f 29 0a 20 20 20 20 20 20 23 20 47 65 74 20  no).      # Get 
4b70: 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
4b80: 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 2e 0a  library object..
4b90: 20 20 20 20 20 20 6c 69 62 6f 62 6a 3d 60 24 65        libobj=`$e
4ba0: 63 68 6f 20 22 58 24 73 72 63 66 69 6c 65 22 20  cho "X$srcfile" 
4bb0: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
4bc0: 2a 2f 25 25 27 60 0a 20 20 20 20 20 20 3b 3b 0a  */%%'`.      ;;.
4bd0: 20 20 20 20 2a 29 0a 20 20 20 20 20 20 24 65 63      *).      $ec
4be0: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79  ho "$modename: y
4bf0: 6f 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20  ou must specify 
4c00: 61 20 74 61 72 67 65 74 20 77 69 74 68 20 5c 60  a target with \`
4c10: 2d 6f 27 22 20 31 3e 26 32 0a 20 20 20 20 20 20  -o'" 1>&2.      
4c20: 65 78 69 74 20 31 0a 20 20 20 20 20 20 3b 3b 0a  exit 1.      ;;.
4c30: 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 23 20      esac..    # 
4c40: 52 65 63 6f 67 6e 69 7a 65 20 73 65 76 65 72 61  Recognize severa
4c50: 6c 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65  l different file
4c60: 20 73 75 66 66 69 78 65 73 2e 0a 20 20 20 20 23   suffixes..    #
4c70: 20 49 66 20 74 68 65 20 75 73 65 72 20 73 70 65   If the user spe
4c80: 63 69 66 69 65 73 20 2d 6f 20 66 69 6c 65 2e 6f  cifies -o file.o
4c90: 2c 20 69 74 20 69 73 20 72 65 70 6c 61 63 65 64  , it is replaced
4ca0: 20 77 69 74 68 20 66 69 6c 65 2e 6c 6f 0a 20 20   with file.lo.  
4cb0: 20 20 78 66 6f 72 6d 3d 27 5b 63 43 46 53 66 6d    xform='[cCFSfm
4cc0: 73 6f 5d 27 0a 20 20 20 20 63 61 73 65 20 24 6c  so]'.    case $l
4cd0: 69 62 6f 62 6a 20 69 6e 0a 20 20 20 20 2a 2e 61  ibobj in.    *.a
4ce0: 64 61 29 20 78 66 6f 72 6d 3d 61 64 61 20 3b 3b  da) xform=ada ;;
4cf0: 0a 20 20 20 20 2a 2e 61 64 62 29 20 78 66 6f 72  .    *.adb) xfor
4d00: 6d 3d 61 64 62 20 3b 3b 0a 20 20 20 20 2a 2e 61  m=adb ;;.    *.a
4d10: 64 73 29 20 78 66 6f 72 6d 3d 61 64 73 20 3b 3b  ds) xform=ads ;;
4d20: 0a 20 20 20 20 2a 2e 61 73 6d 29 20 78 66 6f 72  .    *.asm) xfor
4d30: 6d 3d 61 73 6d 20 3b 3b 0a 20 20 20 20 2a 2e 63  m=asm ;;.    *.c
4d40: 2b 2b 29 20 78 66 6f 72 6d 3d 63 2b 2b 20 3b 3b  ++) xform=c++ ;;
4d50: 0a 20 20 20 20 2a 2e 63 63 29 20 78 66 6f 72 6d  .    *.cc) xform
4d60: 3d 63 63 20 3b 3b 0a 20 20 20 20 2a 2e 63 70 70  =cc ;;.    *.cpp
4d70: 29 20 78 66 6f 72 6d 3d 63 70 70 20 3b 3b 0a 20  ) xform=cpp ;;. 
4d80: 20 20 20 2a 2e 63 78 78 29 20 78 66 6f 72 6d 3d     *.cxx) xform=
4d90: 63 78 78 20 3b 3b 0a 20 20 20 20 2a 2e 66 39 30  cxx ;;.    *.f90
4da0: 29 20 78 66 6f 72 6d 3d 66 39 30 20 3b 3b 0a 20  ) xform=f90 ;;. 
4db0: 20 20 20 2a 2e 66 6f 72 29 20 78 66 6f 72 6d 3d     *.for) xform=
4dc0: 66 6f 72 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a  for ;;.    esac.
4dd0: 0a 20 20 20 20 6c 69 62 6f 62 6a 3d 60 24 65 63  .    libobj=`$ec
4de0: 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22 20 7c 20  ho "X$libobj" | 
4df0: 24 58 73 65 64 20 2d 65 20 22 73 2f 5c 2e 24 78  $Xsed -e "s/\.$x
4e00: 66 6f 72 6d 24 2f 2e 6c 6f 2f 22 60 0a 0a 20 20  form$/.lo/"`..  
4e10: 20 20 63 61 73 65 20 24 6c 69 62 6f 62 6a 20 69    case $libobj i
4e20: 6e 0a 20 20 20 20 2a 2e 6c 6f 29 20 6f 62 6a 3d  n.    *.lo) obj=
4e30: 60 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a  `$echo "X$libobj
4e40: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  " | $Xsed -e "$l
4e50: 6f 32 6f 22 60 20 3b 3b 0a 20 20 20 20 2a 29 0a  o2o"` ;;.    *).
4e60: 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f        $echo "$mo
4e70: 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 64  dename: cannot d
4e80: 65 74 65 72 6d 69 6e 65 20 6e 61 6d 65 20 6f 66  etermine name of
4e90: 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20   library object 
4ea0: 66 72 6f 6d 20 5c 60 24 6c 69 62 6f 62 6a 27 22  from \`$libobj'"
4eb0: 20 31 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74   1>&2.      exit
4ec0: 20 31 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20   1.      ;;.    
4ed0: 65 73 61 63 0a 0a 20 20 20 20 69 66 20 74 65 73  esac..    if tes
4ee0: 74 20 2d 7a 20 22 24 62 61 73 65 5f 63 6f 6d 70  t -z "$base_comp
4ef0: 69 6c 65 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  ile"; then.     
4f00: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
4f10: 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70 65 63  e: you must spec
4f20: 69 66 79 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f  ify a compilatio
4f30: 6e 20 63 6f 6d 6d 61 6e 64 22 20 31 3e 26 32 0a  n command" 1>&2.
4f40: 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 68 65        $echo "$he
4f50: 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65  lp" 1>&2.      e
4f60: 78 69 74 20 31 0a 20 20 20 20 66 69 0a 0a 20 20  xit 1.    fi..  
4f70: 20 20 23 20 44 65 6c 65 74 65 20 61 6e 79 20 6c    # Delete any l
4f80: 65 66 74 6f 76 65 72 20 6c 69 62 72 61 72 79 20  eftover library 
4f90: 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20 69 66 20  objects..    if 
4fa0: 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64  test "$build_old
4fb0: 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68  _libs" = yes; th
4fc0: 65 6e 0a 20 20 20 20 20 20 72 65 6d 6f 76 65 6c  en.      removel
4fd0: 69 73 74 3d 22 24 6f 62 6a 20 24 6c 69 62 6f 62  ist="$obj $libob
4fe0: 6a 22 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20  j".    else.    
4ff0: 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d 22 24 6c    removelist="$l
5000: 69 62 6f 62 6a 22 0a 20 20 20 20 66 69 0a 0a 20  ibobj".    fi.. 
5010: 20 20 20 24 72 75 6e 20 24 72 6d 20 24 72 65 6d     $run $rm $rem
5020: 6f 76 65 6c 69 73 74 0a 20 20 20 20 74 72 61 70  ovelist.    trap
5030: 20 22 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f   "$run $rm $remo
5040: 76 65 6c 69 73 74 3b 20 65 78 69 74 20 31 22 20  velist; exit 1" 
5050: 31 20 32 20 31 35 0a 0a 20 20 20 20 23 20 4f 6e  1 2 15..    # On
5060: 20 43 79 67 77 69 6e 20 74 68 65 72 65 27 73 20   Cygwin there's 
5070: 6e 6f 20 22 72 65 61 6c 22 20 50 49 43 20 66 6c  no "real" PIC fl
5080: 61 67 20 73 6f 20 77 65 20 6d 75 73 74 20 62 75  ag so we must bu
5090: 69 6c 64 20 62 6f 74 68 20 6f 62 6a 65 63 74 20  ild both object 
50a0: 74 79 70 65 73 0a 20 20 20 20 63 61 73 65 20 24  types.    case $
50b0: 68 6f 73 74 5f 6f 73 20 69 6e 0a 20 20 20 20 63  host_os in.    c
50c0: 79 67 77 69 6e 2a 20 7c 20 6d 69 6e 67 77 2a 20  ygwin* | mingw* 
50d0: 7c 20 70 77 33 32 2a 20 7c 20 6f 73 32 2a 29 0a  | pw32* | os2*).
50e0: 20 20 20 20 20 20 70 69 63 5f 6d 6f 64 65 3d 64        pic_mode=d
50f0: 65 66 61 75 6c 74 0a 20 20 20 20 20 20 3b 3b 0a  efault.      ;;.
5100: 20 20 20 20 65 73 61 63 0a 20 20 20 20 69 66 20      esac.    if 
5110: 74 65 73 74 20 22 24 70 69 63 5f 6d 6f 64 65 22  test "$pic_mode"
5120: 20 3d 20 6e 6f 20 26 26 20 74 65 73 74 20 22 24   = no && test "$
5130: 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65  deplibs_check_me
5140: 74 68 6f 64 22 20 21 3d 20 70 61 73 73 5f 61 6c  thod" != pass_al
5150: 6c 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20  l; then.      # 
5160: 6e 6f 6e 2d 50 49 43 20 63 6f 64 65 20 69 6e 20  non-PIC code in 
5170: 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73  shared libraries
5180: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65   is not supporte
5190: 64 0a 20 20 20 20 20 20 70 69 63 5f 6d 6f 64 65  d.      pic_mode
51a0: 3d 64 65 66 61 75 6c 74 0a 20 20 20 20 66 69 0a  =default.    fi.
51b0: 0a 20 20 20 20 23 20 43 61 6c 63 75 6c 61 74 65  .    # Calculate
51c0: 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 20 6f 66   the filename of
51d0: 20 74 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65   the output obje
51e0: 63 74 20 69 66 20 63 6f 6d 70 69 6c 65 72 20 64  ct if compiler d
51f0: 6f 65 73 0a 20 20 20 20 23 20 6e 6f 74 20 73 75  oes.    # not su
5200: 70 70 6f 72 74 20 2d 6f 20 77 69 74 68 20 2d 63  pport -o with -c
5210: 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24 63  .    if test "$c
5220: 6f 6d 70 69 6c 65 72 5f 63 5f 6f 22 20 3d 20 6e  ompiler_c_o" = n
5230: 6f 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 6f 75  o; then.      ou
5240: 74 70 75 74 5f 6f 62 6a 3d 60 24 65 63 68 6f 20  tput_obj=`$echo 
5250: 22 58 24 73 72 63 66 69 6c 65 22 20 7c 20 24 58  "X$srcfile" | $X
5260: 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  sed -e 's%^.*/%%
5270: 27 20 2d 65 20 27 73 25 5c 2e 5b 5e 2e 5d 2a 24  ' -e 's%\.[^.]*$
5280: 25 25 27 60 2e 24 7b 6f 62 6a 65 78 74 7d 0a 20  %%'`.${objext}. 
5290: 20 20 20 20 20 6c 6f 63 6b 66 69 6c 65 3d 22 24       lockfile="$
52a0: 6f 75 74 70 75 74 5f 6f 62 6a 2e 6c 6f 63 6b 22  output_obj.lock"
52b0: 0a 20 20 20 20 20 20 72 65 6d 6f 76 65 6c 69 73  .      removelis
52c0: 74 3d 22 24 72 65 6d 6f 76 65 6c 69 73 74 20 24  t="$removelist $
52d0: 6f 75 74 70 75 74 5f 6f 62 6a 20 24 6c 6f 63 6b  output_obj $lock
52e0: 66 69 6c 65 22 0a 20 20 20 20 20 20 74 72 61 70  file".      trap
52f0: 20 22 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f   "$run $rm $remo
5300: 76 65 6c 69 73 74 3b 20 65 78 69 74 20 31 22 20  velist; exit 1" 
5310: 31 20 32 20 31 35 0a 20 20 20 20 65 6c 73 65 0a  1 2 15.    else.
5320: 20 20 20 20 20 20 6e 65 65 64 5f 6c 6f 63 6b 73        need_locks
5330: 3d 6e 6f 0a 20 20 20 20 20 20 6c 6f 63 6b 66 69  =no.      lockfi
5340: 6c 65 3d 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  le=.    fi..    
5350: 23 20 4c 6f 63 6b 20 74 68 69 73 20 63 72 69 74  # Lock this crit
5360: 69 63 61 6c 20 73 65 63 74 69 6f 6e 20 69 66 20  ical section if 
5370: 69 74 20 69 73 20 6e 65 65 64 65 64 0a 20 20 20  it is needed.   
5380: 20 23 20 57 65 20 75 73 65 20 74 68 69 73 20 73   # We use this s
5390: 63 72 69 70 74 20 66 69 6c 65 20 74 6f 20 6d 61  cript file to ma
53a0: 6b 65 20 74 68 65 20 6c 69 6e 6b 2c 20 69 74 20  ke the link, it 
53b0: 61 76 6f 69 64 73 20 63 72 65 61 74 69 6e 67 20  avoids creating 
53c0: 61 20 6e 65 77 20 66 69 6c 65 0a 20 20 20 20 69  a new file.    i
53d0: 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f  f test "$need_lo
53e0: 63 6b 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  cks" = yes; then
53f0: 0a 20 20 20 20 20 20 75 6e 74 69 6c 20 24 72 75  .      until $ru
5400: 6e 20 6c 6e 20 22 24 30 22 20 22 24 6c 6f 63 6b  n ln "$0" "$lock
5410: 66 69 6c 65 22 20 32 3e 2f 64 65 76 2f 6e 75 6c  file" 2>/dev/nul
5420: 6c 3b 20 64 6f 0a 09 24 73 68 6f 77 20 22 57 61  l; do..$show "Wa
5430: 69 74 69 6e 67 20 66 6f 72 20 24 6c 6f 63 6b 66  iting for $lockf
5440: 69 6c 65 20 74 6f 20 62 65 20 72 65 6d 6f 76 65  ile to be remove
5450: 64 22 0a 09 73 6c 65 65 70 20 32 0a 20 20 20 20  d"..sleep 2.    
5460: 20 20 64 6f 6e 65 0a 20 20 20 20 65 6c 69 66 20    done.    elif 
5470: 74 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b  test "$need_lock
5480: 73 22 20 3d 20 77 61 72 6e 3b 20 74 68 65 6e 0a  s" = warn; then.
5490: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 66        if test -f
54a0: 20 22 24 6c 6f 63 6b 66 69 6c 65 22 3b 20 74 68   "$lockfile"; th
54b0: 65 6e 0a 09 65 63 68 6f 20 22 5c 0a 2a 2a 2a 20  en..echo "\.*** 
54c0: 45 52 52 4f 52 2c 20 24 6c 6f 63 6b 66 69 6c 65  ERROR, $lockfile
54d0: 20 65 78 69 73 74 73 20 61 6e 64 20 63 6f 6e 74   exists and cont
54e0: 61 69 6e 73 3a 0a 60 63 61 74 20 24 6c 6f 63 6b  ains:.`cat $lock
54f0: 66 69 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  file 2>/dev/null
5500: 60 0a 0a 54 68 69 73 20 69 6e 64 69 63 61 74 65  `..This indicate
5510: 73 20 74 68 61 74 20 61 6e 6f 74 68 65 72 20 70  s that another p
5520: 72 6f 63 65 73 73 20 69 73 20 74 72 79 69 6e 67  rocess is trying
5530: 20 74 6f 20 75 73 65 20 74 68 65 20 73 61 6d 65   to use the same
5540: 0a 74 65 6d 70 6f 72 61 72 79 20 6f 62 6a 65 63  .temporary objec
5550: 74 20 66 69 6c 65 2c 20 61 6e 64 20 6c 69 62 74  t file, and libt
5560: 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f 74 20 77 6f  ool could not wo
5570: 72 6b 20 61 72 6f 75 6e 64 20 69 74 20 62 65 63  rk around it bec
5580: 61 75 73 65 0a 79 6f 75 72 20 63 6f 6d 70 69 6c  ause.your compil
5590: 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70  er does not supp
55a0: 6f 72 74 20 5c 60 2d 63 27 20 61 6e 64 20 5c 60  ort \`-c' and \`
55b0: 2d 6f 27 20 74 6f 67 65 74 68 65 72 2e 20 20 49  -o' together.  I
55c0: 66 20 79 6f 75 0a 72 65 70 65 61 74 20 74 68 69  f you.repeat thi
55d0: 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 69  s compilation, i
55e0: 74 20 6d 61 79 20 73 75 63 63 65 65 64 2c 20 62  t may succeed, b
55f0: 79 20 63 68 61 6e 63 65 2c 20 62 75 74 20 79 6f  y chance, but yo
5600: 75 20 68 61 64 20 62 65 74 74 65 72 0a 61 76 6f  u had better.avo
5610: 69 64 20 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c  id parallel buil
5620: 64 73 20 28 6d 61 6b 65 20 2d 6a 29 20 69 6e 20  ds (make -j) in 
5630: 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2c 20 6f  this platform, o
5640: 72 20 67 65 74 20 61 20 62 65 74 74 65 72 0a 63  r get a better.c
5650: 6f 6d 70 69 6c 65 72 2e 22 0a 0a 09 24 72 75 6e  ompiler."...$run
5660: 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74   $rm $removelist
5670: 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20 20 66  ..exit 1.      f
5680: 69 0a 20 20 20 20 20 20 65 63 68 6f 20 24 73 72  i.      echo $sr
5690: 63 66 69 6c 65 20 3e 20 22 24 6c 6f 63 6b 66 69  cfile > "$lockfi
56a0: 6c 65 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  le".    fi..    
56b0: 69 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69 78  if test -n "$fix
56c0: 5f 73 72 63 66 69 6c 65 5f 70 61 74 68 22 3b 20  _srcfile_path"; 
56d0: 74 68 65 6e 0a 20 20 20 20 20 20 65 76 61 6c 20  then.      eval 
56e0: 73 72 63 66 69 6c 65 3d 5c 22 24 66 69 78 5f 73  srcfile=\"$fix_s
56f0: 72 63 66 69 6c 65 5f 70 61 74 68 5c 22 0a 20 20  rcfile_path\".  
5700: 20 20 66 69 0a 0a 20 20 20 20 23 20 4f 6e 6c 79    fi..    # Only
5710: 20 62 75 69 6c 64 20 61 20 50 49 43 20 6f 62 6a   build a PIC obj
5720: 65 63 74 20 69 66 20 77 65 20 61 72 65 20 62 75  ect if we are bu
5730: 69 6c 64 69 6e 67 20 6c 69 62 74 6f 6f 6c 20 6c  ilding libtool l
5740: 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 69 66  ibraries..    if
5750: 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
5760: 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
5770: 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20  s; then.      # 
5780: 57 69 74 68 6f 75 74 20 74 68 69 73 20 61 73 73  Without this ass
5790: 69 67 6e 6d 65 6e 74 2c 20 62 61 73 65 5f 63 6f  ignment, base_co
57a0: 6d 70 69 6c 65 20 67 65 74 73 20 65 6d 70 74 69  mpile gets empti
57b0: 65 64 2e 0a 20 20 20 20 20 20 66 62 73 64 5f 68  ed..      fbsd_h
57c0: 69 64 65 6f 75 73 5f 73 68 5f 62 75 67 3d 24 62  ideous_sh_bug=$b
57d0: 61 73 65 5f 63 6f 6d 70 69 6c 65 0a 0a 20 20 20  ase_compile..   
57e0: 20 20 20 69 66 20 74 65 73 74 20 22 24 70 69 63     if test "$pic
57f0: 5f 6d 6f 64 65 22 20 21 3d 20 6e 6f 3b 20 74 68  _mode" != no; th
5800: 65 6e 0a 09 23 20 41 6c 6c 20 70 6c 61 74 66 6f  en..# All platfo
5810: 72 6d 73 20 75 73 65 20 2d 44 50 49 43 2c 20 74  rms use -DPIC, t
5820: 6f 20 6e 6f 74 69 66 79 20 70 72 65 70 72 6f 63  o notify preproc
5830: 65 73 73 65 64 20 61 73 73 65 6d 62 6c 65 72 20  essed assembler 
5840: 63 6f 64 65 2e 0a 09 63 6f 6d 6d 61 6e 64 3d 22  code...command="
5850: 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24 73  $base_compile $s
5860: 72 63 66 69 6c 65 20 24 70 69 63 5f 66 6c 61 67  rcfile $pic_flag
5870: 20 2d 44 50 49 43 22 0a 20 20 20 20 20 20 65 6c   -DPIC".      el
5880: 73 65 0a 09 23 20 44 6f 6e 27 74 20 62 75 69 6c  se..# Don't buil
5890: 64 20 50 49 43 20 63 6f 64 65 0a 09 63 6f 6d 6d  d PIC code..comm
58a0: 61 6e 64 3d 22 24 62 61 73 65 5f 63 6f 6d 70 69  and="$base_compi
58b0: 6c 65 20 24 73 72 63 66 69 6c 65 22 0a 20 20 20  le $srcfile".   
58c0: 20 20 20 66 69 0a 20 20 20 20 20 20 69 66 20 74     fi.      if t
58d0: 65 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f  est "$build_old_
58e0: 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65  libs" = yes; the
58f0: 6e 0a 09 6c 6f 5f 6c 69 62 6f 62 6a 3d 22 24 6c  n..lo_libobj="$l
5900: 69 62 6f 62 6a 22 0a 09 64 69 72 3d 60 24 65 63  ibobj"..dir=`$ec
5910: 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22 20 7c 20  ho "X$libobj" | 
5920: 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
5930: 5d 2a 24 25 25 27 60 0a 09 69 66 20 74 65 73 74  ]*$%%'`..if test
5940: 20 22 58 24 64 69 72 22 20 3d 20 22 58 24 6c 69   "X$dir" = "X$li
5950: 62 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 20 20 64  bobj"; then..  d
5960: 69 72 3d 22 24 6f 62 6a 64 69 72 22 0a 09 65 6c  ir="$objdir"..el
5970: 73 65 0a 09 20 20 64 69 72 3d 22 24 64 69 72 2f  se..  dir="$dir/
5980: 24 6f 62 6a 64 69 72 22 0a 09 66 69 0a 09 6c 69  $objdir"..fi..li
5990: 62 6f 62 6a 3d 22 24 64 69 72 2f 22 60 24 65 63  bobj="$dir/"`$ec
59a0: 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22 20 7c 20  ho "X$libobj" | 
59b0: 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f  $Xsed -e 's%^.*/
59c0: 25 25 27 60 0a 0a 09 69 66 20 74 65 73 74 20 2d  %%'`...if test -
59d0: 64 20 22 24 64 69 72 22 3b 20 74 68 65 6e 0a 09  d "$dir"; then..
59e0: 20 20 24 73 68 6f 77 20 22 24 72 6d 20 24 6c 69    $show "$rm $li
59f0: 62 6f 62 6a 22 0a 09 20 20 24 72 75 6e 20 24 72  bobj"..  $run $r
5a00: 6d 20 24 6c 69 62 6f 62 6a 0a 09 65 6c 73 65 0a  m $libobj..else.
5a10: 09 20 20 24 73 68 6f 77 20 22 24 6d 6b 64 69 72  .  $show "$mkdir
5a20: 20 24 64 69 72 22 0a 09 20 20 24 72 75 6e 20 24   $dir"..  $run $
5a30: 6d 6b 64 69 72 20 24 64 69 72 0a 09 20 20 73 74  mkdir $dir..  st
5a40: 61 74 75 73 3d 24 3f 0a 09 20 20 69 66 20 74 65  atus=$?..  if te
5a50: 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65 20 30  st $status -ne 0
5a60: 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 24 64   && test ! -d $d
5a70: 69 72 3b 20 74 68 65 6e 0a 09 20 20 20 20 65 78  ir; then..    ex
5a80: 69 74 20 24 73 74 61 74 75 73 0a 09 20 20 66 69  it $status..  fi
5a90: 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 20 20  ..fi.      fi.  
5aa0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 63 6f      if test "$co
5ab0: 6d 70 69 6c 65 72 5f 6f 5f 6c 6f 22 20 3d 20 79  mpiler_o_lo" = y
5ac0: 65 73 3b 20 74 68 65 6e 0a 09 6f 75 74 70 75 74  es; then..output
5ad0: 5f 6f 62 6a 3d 22 24 6c 69 62 6f 62 6a 22 0a 09  _obj="$libobj"..
5ae0: 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e  command="$comman
5af0: 64 20 2d 6f 20 24 6f 75 74 70 75 74 5f 6f 62 6a  d -o $output_obj
5b00: 22 0a 20 20 20 20 20 20 65 6c 69 66 20 74 65 73  ".      elif tes
5b10: 74 20 22 24 63 6f 6d 70 69 6c 65 72 5f 63 5f 6f  t "$compiler_c_o
5b20: 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 6f  " = yes; then..o
5b30: 75 74 70 75 74 5f 6f 62 6a 3d 22 24 6f 62 6a 22  utput_obj="$obj"
5b40: 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 6d  ..command="$comm
5b50: 61 6e 64 20 2d 6f 20 24 6f 75 74 70 75 74 5f 6f  and -o $output_o
5b60: 62 6a 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  bj".      fi..  
5b70: 20 20 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6f      $run $rm "$o
5b80: 75 74 70 75 74 5f 6f 62 6a 22 0a 20 20 20 20 20  utput_obj".     
5b90: 20 24 73 68 6f 77 20 22 24 63 6f 6d 6d 61 6e 64   $show "$command
5ba0: 22 0a 20 20 20 20 20 20 69 66 20 24 72 75 6e 20  ".      if $run 
5bb0: 65 76 61 6c 20 22 24 63 6f 6d 6d 61 6e 64 22 3b  eval "$command";
5bc0: 20 74 68 65 6e 20 3a 0a 20 20 20 20 20 20 65 6c   then :.      el
5bd0: 73 65 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f 75  se..test -n "$ou
5be0: 74 70 75 74 5f 6f 62 6a 22 20 26 26 20 24 72 75  tput_obj" && $ru
5bf0: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
5c00: 74 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20 20  t..exit 1.      
5c10: 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  fi..      if tes
5c20: 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73 22 20  t "$need_locks" 
5c30: 3d 20 77 61 72 6e 20 26 26 0a 09 20 74 65 73 74  = warn &&.. test
5c40: 20 78 22 60 63 61 74 20 24 6c 6f 63 6b 66 69 6c   x"`cat $lockfil
5c50: 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20  e 2>/dev/null`" 
5c60: 21 3d 20 78 22 24 73 72 63 66 69 6c 65 22 3b 20  != x"$srcfile"; 
5c70: 74 68 65 6e 0a 09 65 63 68 6f 20 22 5c 0a 2a 2a  then..echo "\.**
5c80: 2a 20 45 52 52 4f 52 2c 20 24 6c 6f 63 6b 66 69  * ERROR, $lockfi
5c90: 6c 65 20 63 6f 6e 74 61 69 6e 73 3a 0a 60 63 61  le contains:.`ca
5ca0: 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32 3e 2f 64  t $lockfile 2>/d
5cb0: 65 76 2f 6e 75 6c 6c 60 0a 0a 62 75 74 20 69 74  ev/null`..but it
5cc0: 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 3a   should contain:
5cd0: 0a 24 73 72 63 66 69 6c 65 0a 0a 54 68 69 73 20  .$srcfile..This 
5ce0: 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 61  indicates that a
5cf0: 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 69  nother process i
5d00: 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73 65 20  s trying to use 
5d10: 74 68 65 20 73 61 6d 65 0a 74 65 6d 70 6f 72 61  the same.tempora
5d20: 72 79 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20  ry object file, 
5d30: 61 6e 64 20 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c  and libtool coul
5d40: 64 20 6e 6f 74 20 77 6f 72 6b 20 61 72 6f 75 6e  d not work aroun
5d50: 64 20 69 74 20 62 65 63 61 75 73 65 0a 79 6f 75  d it because.you
5d60: 72 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20  r compiler does 
5d70: 6e 6f 74 20 73 75 70 70 6f 72 74 20 5c 60 2d 63  not support \`-c
5d80: 27 20 61 6e 64 20 5c 60 2d 6f 27 20 74 6f 67 65  ' and \`-o' toge
5d90: 74 68 65 72 2e 20 20 49 66 20 79 6f 75 0a 72 65  ther.  If you.re
5da0: 70 65 61 74 20 74 68 69 73 20 63 6f 6d 70 69 6c  peat this compil
5db0: 61 74 69 6f 6e 2c 20 69 74 20 6d 61 79 20 73 75  ation, it may su
5dc0: 63 63 65 65 64 2c 20 62 79 20 63 68 61 6e 63 65  cceed, by chance
5dd0: 2c 20 62 75 74 20 79 6f 75 20 68 61 64 20 62 65  , but you had be
5de0: 74 74 65 72 0a 61 76 6f 69 64 20 70 61 72 61 6c  tter.avoid paral
5df0: 6c 65 6c 20 62 75 69 6c 64 73 20 28 6d 61 6b 65  lel builds (make
5e00: 20 2d 6a 29 20 69 6e 20 74 68 69 73 20 70 6c 61   -j) in this pla
5e10: 74 66 6f 72 6d 2c 20 6f 72 20 67 65 74 20 61 20  tform, or get a 
5e20: 62 65 74 74 65 72 0a 63 6f 6d 70 69 6c 65 72 2e  better.compiler.
5e30: 22 0a 0a 09 24 72 75 6e 20 24 72 6d 20 24 72 65  "...$run $rm $re
5e40: 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69 74 20 31  movelist..exit 1
5e50: 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
5e60: 20 23 20 4a 75 73 74 20 6d 6f 76 65 20 74 68 65   # Just move the
5e70: 20 6f 62 6a 65 63 74 20 69 66 20 6e 65 65 64 65   object if neede
5e80: 64 2c 20 74 68 65 6e 20 67 6f 20 6f 6e 20 74 6f  d, then go on to
5e90: 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 6e 65 78   compile the nex
5ea0: 74 20 6f 6e 65 0a 20 20 20 20 20 20 69 66 20 74  t one.      if t
5eb0: 65 73 74 20 78 22 24 6f 75 74 70 75 74 5f 6f 62  est x"$output_ob
5ec0: 6a 22 20 21 3d 20 78 22 24 6c 69 62 6f 62 6a 22  j" != x"$libobj"
5ed0: 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 24  ; then..$show "$
5ee0: 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24  mv $output_obj $
5ef0: 6c 69 62 6f 62 6a 22 0a 09 69 66 20 24 72 75 6e  libobj"..if $run
5f00: 20 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a   $mv $output_obj
5f10: 20 24 6c 69 62 6f 62 6a 3b 20 74 68 65 6e 20 3a   $libobj; then :
5f20: 0a 09 65 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d  ..else..  error=
5f30: 24 3f 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 24  $?..  $run $rm $
5f40: 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20 20 65 78  removelist..  ex
5f50: 69 74 20 24 65 72 72 6f 72 0a 09 66 69 0a 20 20  it $error..fi.  
5f60: 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20      fi..      # 
5f70: 49 66 20 77 65 20 68 61 76 65 20 6e 6f 20 70 69  If we have no pi
5f80: 63 5f 66 6c 61 67 2c 20 74 68 65 6e 20 63 6f 70  c_flag, then cop
5f90: 79 20 74 68 65 20 6f 62 6a 65 63 74 20 69 6e 74  y the object int
5fa0: 6f 20 70 6c 61 63 65 20 61 6e 64 20 66 69 6e 69  o place and fini
5fb0: 73 68 2e 0a 20 20 20 20 20 20 69 66 20 28 74 65  sh..      if (te
5fc0: 73 74 20 2d 7a 20 22 24 70 69 63 5f 66 6c 61 67  st -z "$pic_flag
5fd0: 22 20 7c 7c 20 74 65 73 74 20 22 24 70 69 63 5f  " || test "$pic_
5fe0: 6d 6f 64 65 22 20 21 3d 20 64 65 66 61 75 6c 74  mode" != default
5ff0: 29 20 26 26 0a 09 20 74 65 73 74 20 22 24 62 75  ) &&.. test "$bu
6000: 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20  ild_old_libs" = 
6010: 79 65 73 3b 20 74 68 65 6e 0a 09 23 20 52 65 6e  yes; then..# Ren
6020: 61 6d 65 20 74 68 65 20 2e 6c 6f 20 66 72 6f 6d  ame the .lo from
6030: 20 77 69 74 68 69 6e 20 6f 62 6a 64 69 72 20 74   within objdir t
6040: 6f 20 6f 62 6a 0a 09 69 66 20 74 65 73 74 20 2d  o obj..if test -
6050: 66 20 24 6f 62 6a 3b 20 74 68 65 6e 0a 09 20 20  f $obj; then..  
6060: 24 73 68 6f 77 20 24 72 6d 20 24 6f 62 6a 0a 09  $show $rm $obj..
6070: 20 20 24 72 75 6e 20 24 72 6d 20 24 6f 62 6a 0a    $run $rm $obj.
6080: 09 66 69 0a 0a 09 24 73 68 6f 77 20 22 24 6d 76  .fi...$show "$mv
6090: 20 24 6c 69 62 6f 62 6a 20 24 6f 62 6a 22 0a 09   $libobj $obj"..
60a0: 69 66 20 24 72 75 6e 20 24 6d 76 20 24 6c 69 62  if $run $mv $lib
60b0: 6f 62 6a 20 24 6f 62 6a 3b 20 74 68 65 6e 20 3a  obj $obj; then :
60c0: 0a 09 65 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d  ..else..  error=
60d0: 24 3f 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 24  $?..  $run $rm $
60e0: 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20 20 65 78  removelist..  ex
60f0: 69 74 20 24 65 72 72 6f 72 0a 09 66 69 0a 0a 09  it $error..fi...
6100: 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58 24 6f  xdir=`$echo "X$o
6110: 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  bj" | $Xsed -e '
6120: 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 69  s%/[^/]*$%%'`..i
6130: 66 20 74 65 73 74 20 22 58 24 78 64 69 72 22 20  f test "X$xdir" 
6140: 3d 20 22 58 24 6f 62 6a 22 3b 20 74 68 65 6e 0a  = "X$obj"; then.
6150: 09 20 20 78 64 69 72 3d 22 2e 22 0a 09 65 6c 73  .  xdir="."..els
6160: 65 0a 09 20 20 78 64 69 72 3d 22 24 78 64 69 72  e..  xdir="$xdir
6170: 22 0a 09 66 69 0a 09 62 61 73 65 6f 62 6a 3d 60  "..fi..baseobj=`
6180: 24 65 63 68 6f 20 22 58 24 6f 62 6a 22 20 7c 20  $echo "X$obj" | 
6190: 24 58 73 65 64 20 2d 65 20 22 73 25 2e 2a 2f 25  $Xsed -e "s%.*/%
61a0: 25 22 60 0a 09 6c 69 62 6f 62 6a 3d 60 24 65 63  %"`..libobj=`$ec
61b0: 68 6f 20 22 58 24 62 61 73 65 6f 62 6a 22 20 7c  ho "X$baseobj" |
61c0: 20 24 58 73 65 64 20 2d 65 20 22 24 6f 32 6c 6f   $Xsed -e "$o2lo
61d0: 22 60 0a 09 23 20 4e 6f 77 20 61 72 72 61 6e 67  "`..# Now arrang
61e0: 65 20 74 68 61 74 20 6f 62 6a 20 61 6e 64 20 6c  e that obj and l
61f0: 6f 5f 6c 69 62 6f 62 6a 20 62 65 63 6f 6d 65 20  o_libobj become 
6200: 74 68 65 20 73 61 6d 65 20 66 69 6c 65 0a 09 24  the same file..$
6210: 73 68 6f 77 20 22 28 63 64 20 24 78 64 69 72 20  show "(cd $xdir 
6220: 26 26 20 24 4c 4e 5f 53 20 24 62 61 73 65 6f 62  && $LN_S $baseob
6230: 6a 20 24 6c 69 62 6f 62 6a 29 22 0a 09 69 66 20  j $libobj)"..if 
6240: 24 72 75 6e 20 65 76 61 6c 20 27 28 63 64 20 24  $run eval '(cd $
6250: 78 64 69 72 20 26 26 20 24 4c 4e 5f 53 20 24 62  xdir && $LN_S $b
6260: 61 73 65 6f 62 6a 20 24 6c 69 62 6f 62 6a 29 27  aseobj $libobj)'
6270: 3b 20 74 68 65 6e 0a 09 20 20 23 20 55 6e 6c 6f  ; then..  # Unlo
6280: 63 6b 20 74 68 65 20 63 72 69 74 69 63 61 6c 20  ck the critical 
6290: 73 65 63 74 69 6f 6e 20 69 66 20 69 74 20 77 61  section if it wa
62a0: 73 20 6c 6f 63 6b 65 64 0a 09 20 20 69 66 20 74  s locked..  if t
62b0: 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73  est "$need_locks
62c0: 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20  " != no; then.. 
62d0: 20 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6c 6f     $run $rm "$lo
62e0: 63 6b 66 69 6c 65 22 0a 09 20 20 66 69 0a 09 20  ckfile"..  fi.. 
62f0: 20 65 78 69 74 20 30 0a 09 65 6c 73 65 0a 09 20   exit 0..else.. 
6300: 20 65 72 72 6f 72 3d 24 3f 0a 09 20 20 24 72 75   error=$?..  $ru
6310: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
6320: 74 0a 09 20 20 65 78 69 74 20 24 65 72 72 6f 72  t..  exit $error
6330: 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20  ..fi.      fi.. 
6340: 20 20 20 20 20 23 20 41 6c 6c 6f 77 20 65 72 72       # Allow err
6350: 6f 72 20 6d 65 73 73 61 67 65 73 20 6f 6e 6c 79  or messages only
6360: 20 66 72 6f 6d 20 74 68 65 20 66 69 72 73 74 20   from the first 
6370: 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20  compilation..   
6380: 20 20 20 73 75 70 70 72 65 73 73 5f 6f 75 74 70     suppress_outp
6390: 75 74 3d 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  ut=' >/dev/null 
63a0: 32 3e 26 31 27 0a 20 20 20 20 66 69 0a 0a 20 20  2>&1'.    fi..  
63b0: 20 20 23 20 4f 6e 6c 79 20 62 75 69 6c 64 20 61    # Only build a
63c0: 20 70 6f 73 69 74 69 6f 6e 2d 64 65 70 65 6e 64   position-depend
63d0: 65 6e 74 20 6f 62 6a 65 63 74 20 69 66 20 77 65  ent object if we
63e0: 20 62 75 69 6c 64 20 6f 6c 64 20 6c 69 62 72 61   build old libra
63f0: 72 69 65 73 2e 0a 20 20 20 20 69 66 20 74 65 73  ries..    if tes
6400: 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69  t "$build_old_li
6410: 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  bs" = yes; then.
6420: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
6430: 70 69 63 5f 6d 6f 64 65 22 20 21 3d 20 79 65 73  pic_mode" != yes
6440: 3b 20 74 68 65 6e 0a 09 23 20 44 6f 6e 27 74 20  ; then..# Don't 
6450: 62 75 69 6c 64 20 50 49 43 20 63 6f 64 65 0a 09  build PIC code..
6460: 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73 65 5f 63  command="$base_c
6470: 6f 6d 70 69 6c 65 20 24 73 72 63 66 69 6c 65 22  ompile $srcfile"
6480: 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 23 20 41  .      else..# A
6490: 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 20 75 73 65  ll platforms use
64a0: 20 2d 44 50 49 43 2c 20 74 6f 20 6e 6f 74 69 66   -DPIC, to notif
64b0: 79 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 61  y preprocessed a
64c0: 73 73 65 6d 62 6c 65 72 20 63 6f 64 65 2e 0a 09  ssembler code...
64d0: 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73 65 5f 63  command="$base_c
64e0: 6f 6d 70 69 6c 65 20 24 73 72 63 66 69 6c 65 20  ompile $srcfile 
64f0: 24 70 69 63 5f 66 6c 61 67 20 2d 44 50 49 43 22  $pic_flag -DPIC"
6500: 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
6510: 69 66 20 74 65 73 74 20 22 24 63 6f 6d 70 69 6c  if test "$compil
6520: 65 72 5f 63 5f 6f 22 20 3d 20 79 65 73 3b 20 74  er_c_o" = yes; t
6530: 68 65 6e 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 63  hen..command="$c
6540: 6f 6d 6d 61 6e 64 20 2d 6f 20 24 6f 62 6a 22 0a  ommand -o $obj".
6550: 09 6f 75 74 70 75 74 5f 6f 62 6a 3d 22 24 6f 62  .output_obj="$ob
6560: 6a 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  j".      fi..   
6570: 20 20 20 23 20 53 75 70 70 72 65 73 73 20 63 6f     # Suppress co
6580: 6d 70 69 6c 65 72 20 6f 75 74 70 75 74 20 69 66  mpiler output if
6590: 20 77 65 20 61 6c 72 65 61 64 79 20 64 69 64 20   we already did 
65a0: 61 20 50 49 43 20 63 6f 6d 70 69 6c 61 74 69 6f  a PIC compilatio
65b0: 6e 2e 0a 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64  n..      command
65c0: 3d 22 24 63 6f 6d 6d 61 6e 64 24 73 75 70 70 72  ="$command$suppr
65d0: 65 73 73 5f 6f 75 74 70 75 74 22 0a 20 20 20 20  ess_output".    
65e0: 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6f 75 74    $run $rm "$out
65f0: 70 75 74 5f 6f 62 6a 22 0a 20 20 20 20 20 20 24  put_obj".      $
6600: 73 68 6f 77 20 22 24 63 6f 6d 6d 61 6e 64 22 0a  show "$command".
6610: 20 20 20 20 20 20 69 66 20 24 72 75 6e 20 65 76        if $run ev
6620: 61 6c 20 22 24 63 6f 6d 6d 61 6e 64 22 3b 20 74  al "$command"; t
6630: 68 65 6e 20 3a 0a 20 20 20 20 20 20 65 6c 73 65  hen :.      else
6640: 0a 09 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f  ..$run $rm $remo
6650: 76 65 6c 69 73 74 0a 09 65 78 69 74 20 31 0a 20  velist..exit 1. 
6660: 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69       fi..      i
6670: 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f  f test "$need_lo
6680: 63 6b 73 22 20 3d 20 77 61 72 6e 20 26 26 0a 09  cks" = warn &&..
6690: 20 74 65 73 74 20 78 22 60 63 61 74 20 24 6c 6f   test x"`cat $lo
66a0: 63 6b 66 69 6c 65 20 32 3e 2f 64 65 76 2f 6e 75  ckfile 2>/dev/nu
66b0: 6c 6c 60 22 20 21 3d 20 78 22 24 73 72 63 66 69  ll`" != x"$srcfi
66c0: 6c 65 22 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20  le"; then..echo 
66d0: 22 5c 0a 2a 2a 2a 20 45 52 52 4f 52 2c 20 24 6c  "\.*** ERROR, $l
66e0: 6f 63 6b 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73  ockfile contains
66f0: 3a 0a 60 63 61 74 20 24 6c 6f 63 6b 66 69 6c 65  :.`cat $lockfile
6700: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 0a 62   2>/dev/null`..b
6710: 75 74 20 69 74 20 73 68 6f 75 6c 64 20 63 6f 6e  ut it should con
6720: 74 61 69 6e 3a 0a 24 73 72 63 66 69 6c 65 0a 0a  tain:.$srcfile..
6730: 54 68 69 73 20 69 6e 64 69 63 61 74 65 73 20 74  This indicates t
6740: 68 61 74 20 61 6e 6f 74 68 65 72 20 70 72 6f 63  hat another proc
6750: 65 73 73 20 69 73 20 74 72 79 69 6e 67 20 74 6f  ess is trying to
6760: 20 75 73 65 20 74 68 65 20 73 61 6d 65 0a 74 65   use the same.te
6770: 6d 70 6f 72 61 72 79 20 6f 62 6a 65 63 74 20 66  mporary object f
6780: 69 6c 65 2c 20 61 6e 64 20 6c 69 62 74 6f 6f 6c  ile, and libtool
6790: 20 63 6f 75 6c 64 20 6e 6f 74 20 77 6f 72 6b 20   could not work 
67a0: 61 72 6f 75 6e 64 20 69 74 20 62 65 63 61 75 73  around it becaus
67b0: 65 0a 79 6f 75 72 20 63 6f 6d 70 69 6c 65 72 20  e.your compiler 
67c0: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  does not support
67d0: 20 5c 60 2d 63 27 20 61 6e 64 20 5c 60 2d 6f 27   \`-c' and \`-o'
67e0: 20 74 6f 67 65 74 68 65 72 2e 20 20 49 66 20 79   together.  If y
67f0: 6f 75 0a 72 65 70 65 61 74 20 74 68 69 73 20 63  ou.repeat this c
6800: 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 69 74 20 6d  ompilation, it m
6810: 61 79 20 73 75 63 63 65 65 64 2c 20 62 79 20 63  ay succeed, by c
6820: 68 61 6e 63 65 2c 20 62 75 74 20 79 6f 75 20 68  hance, but you h
6830: 61 64 20 62 65 74 74 65 72 0a 61 76 6f 69 64 20  ad better.avoid 
6840: 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c 64 73 20  parallel builds 
6850: 28 6d 61 6b 65 20 2d 6a 29 20 69 6e 20 74 68 69  (make -j) in thi
6860: 73 20 70 6c 61 74 66 6f 72 6d 2c 20 6f 72 20 67  s platform, or g
6870: 65 74 20 61 20 62 65 74 74 65 72 0a 63 6f 6d 70  et a better.comp
6880: 69 6c 65 72 2e 22 0a 0a 09 24 72 75 6e 20 24 72  iler."...$run $r
6890: 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 65  m $removelist..e
68a0: 78 69 74 20 31 0a 20 20 20 20 20 20 66 69 0a 0a  xit 1.      fi..
68b0: 20 20 20 20 20 20 23 20 4a 75 73 74 20 6d 6f 76        # Just mov
68c0: 65 20 74 68 65 20 6f 62 6a 65 63 74 20 69 66 20  e the object if 
68d0: 6e 65 65 64 65 64 0a 20 20 20 20 20 20 69 66 20  needed.      if 
68e0: 74 65 73 74 20 78 22 24 6f 75 74 70 75 74 5f 6f  test x"$output_o
68f0: 62 6a 22 20 21 3d 20 78 22 24 6f 62 6a 22 3b 20  bj" != x"$obj"; 
6900: 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 24 6d 76  then..$show "$mv
6910: 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24 6f 62   $output_obj $ob
6920: 6a 22 0a 09 69 66 20 24 72 75 6e 20 24 6d 76 20  j"..if $run $mv 
6930: 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24 6f 62 6a  $output_obj $obj
6940: 3b 20 74 68 65 6e 20 3a 0a 09 65 6c 73 65 0a 09  ; then :..else..
6950: 20 20 65 72 72 6f 72 3d 24 3f 0a 09 20 20 24 72    error=$?..  $r
6960: 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69  un $rm $removeli
6970: 73 74 0a 09 20 20 65 78 69 74 20 24 65 72 72 6f  st..  exit $erro
6980: 72 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a  r..fi.      fi..
6990: 20 20 20 20 20 20 23 20 43 72 65 61 74 65 20 61        # Create a
69a0: 6e 20 69 6e 76 61 6c 69 64 20 6c 69 62 74 6f 6f  n invalid libtoo
69b0: 6c 20 6f 62 6a 65 63 74 20 69 66 20 6e 6f 20 50  l object if no P
69c0: 49 43 2c 20 73 6f 20 74 68 61 74 20 77 65 20 64  IC, so that we d
69d0: 6f 20 6e 6f 74 0a 20 20 20 20 20 20 23 20 61 63  o not.      # ac
69e0: 63 69 64 65 6e 74 61 6c 6c 79 20 6c 69 6e 6b 20  cidentally link 
69f0: 69 74 20 69 6e 74 6f 20 61 20 70 72 6f 67 72 61  it into a progra
6a00: 6d 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  m..      if test
6a10: 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
6a20: 5f 6c 69 62 73 22 20 21 3d 20 79 65 73 3b 20 74  _libs" != yes; t
6a30: 68 65 6e 0a 09 24 73 68 6f 77 20 22 65 63 68 6f  hen..$show "echo
6a40: 20 74 69 6d 65 73 74 61 6d 70 20 3e 20 24 6c 69   timestamp > $li
6a50: 62 6f 62 6a 22 0a 09 24 72 75 6e 20 65 76 61 6c  bobj"..$run eval
6a60: 20 22 65 63 68 6f 20 74 69 6d 65 73 74 61 6d 70   "echo timestamp
6a70: 20 3e 20 5c 24 6c 69 62 6f 62 6a 22 20 7c 7c 20   > \$libobj" || 
6a80: 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 65 6c  exit $?.      el
6a90: 73 65 0a 09 23 20 4d 6f 76 65 20 74 68 65 20 2e  se..# Move the .
6aa0: 6c 6f 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 6f  lo from within o
6ab0: 62 6a 64 69 72 0a 09 24 73 68 6f 77 20 22 24 6d  bjdir..$show "$m
6ac0: 76 20 24 6c 69 62 6f 62 6a 20 24 6c 6f 5f 6c 69  v $libobj $lo_li
6ad0: 62 6f 62 6a 22 0a 09 69 66 20 24 72 75 6e 20 24  bobj"..if $run $
6ae0: 6d 76 20 24 6c 69 62 6f 62 6a 20 24 6c 6f 5f 6c  mv $libobj $lo_l
6af0: 69 62 6f 62 6a 3b 20 74 68 65 6e 20 3a 0a 09 65  ibobj; then :..e
6b00: 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d 24 3f 0a  lse..  error=$?.
6b10: 09 20 20 24 72 75 6e 20 24 72 6d 20 24 72 65 6d  .  $run $rm $rem
6b20: 6f 76 65 6c 69 73 74 0a 09 20 20 65 78 69 74 20  ovelist..  exit 
6b30: 24 65 72 72 6f 72 0a 09 66 69 0a 20 20 20 20 20  $error..fi.     
6b40: 20 66 69 0a 20 20 20 20 66 69 0a 0a 20 20 20 20   fi.    fi..    
6b50: 23 20 55 6e 6c 6f 63 6b 20 74 68 65 20 63 72 69  # Unlock the cri
6b60: 74 69 63 61 6c 20 73 65 63 74 69 6f 6e 20 69 66  tical section if
6b70: 20 69 74 20 77 61 73 20 6c 6f 63 6b 65 64 0a 20   it was locked. 
6b80: 20 20 20 69 66 20 74 65 73 74 20 22 24 6e 65 65     if test "$nee
6b90: 64 5f 6c 6f 63 6b 73 22 20 21 3d 20 6e 6f 3b 20  d_locks" != no; 
6ba0: 74 68 65 6e 0a 20 20 20 20 20 20 24 72 75 6e 20  then.      $run 
6bb0: 24 72 6d 20 22 24 6c 6f 63 6b 66 69 6c 65 22 0a  $rm "$lockfile".
6bc0: 20 20 20 20 66 69 0a 0a 20 20 20 20 65 78 69 74      fi..    exit
6bd0: 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c   0.    ;;..  # l
6be0: 69 62 74 6f 6f 6c 20 6c 69 6e 6b 20 6d 6f 64 65  ibtool link mode
6bf0: 0a 20 20 6c 69 6e 6b 20 7c 20 72 65 6c 69 6e 6b  .  link | relink
6c00: 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22  ).    modename="
6c10: 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 6e 6b 22  $modename: link"
6c20: 0a 20 20 20 20 63 61 73 65 20 24 68 6f 73 74 20  .    case $host 
6c30: 69 6e 0a 20 20 20 20 2a 2d 2a 2d 63 79 67 77 69  in.    *-*-cygwi
6c40: 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a 20  n* | *-*-mingw* 
6c50: 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a 2d  | *-*-pw32* | *-
6c60: 2a 2d 6f 73 32 2a 29 0a 20 20 20 20 20 20 23 20  *-os2*).      # 
6c70: 49 74 20 69 73 20 69 6d 70 6f 73 73 69 62 6c 65  It is impossible
6c80: 20 74 6f 20 6c 69 6e 6b 20 61 20 64 6c 6c 20 77   to link a dll w
6c90: 69 74 68 6f 75 74 20 74 68 69 73 20 73 65 74 74  ithout this sett
6ca0: 69 6e 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 23  ing, and.      #
6cb0: 20 77 65 20 73 68 6f 75 6c 64 6e 27 74 20 66 6f   we shouldn't fo
6cc0: 72 63 65 20 74 68 65 20 6d 61 6b 65 66 69 6c 65  rce the makefile
6cd0: 20 6d 61 69 6e 74 61 69 6e 65 72 20 74 6f 20 66   maintainer to f
6ce0: 69 67 75 72 65 20 6f 75 74 0a 20 20 20 20 20 20  igure out.      
6cf0: 23 20 77 68 69 63 68 20 73 79 73 74 65 6d 20 77  # which system w
6d00: 65 20 61 72 65 20 63 6f 6d 70 69 6c 69 6e 67 20  e are compiling 
6d10: 66 6f 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  for in order to 
6d20: 70 61 73 73 20 61 6e 20 65 78 74 72 61 0a 20 20  pass an extra.  
6d30: 20 20 20 20 23 20 66 6c 61 67 20 66 6f 72 20 65      # flag for e
6d40: 76 65 72 79 20 6c 69 62 74 6f 6f 6c 20 69 6e 76  very libtool inv
6d50: 6f 6b 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 23  okation..      #
6d60: 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64   allow_undefined
6d70: 3d 6e 6f 0a 0a 20 20 20 20 20 20 23 20 46 49 58  =no..      # FIX
6d80: 4d 45 3a 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c  ME: Unfortunatel
6d90: 79 2c 20 74 68 65 72 65 20 61 72 65 20 70 72 6f  y, there are pro
6da0: 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20 61  blems with the a
6db0: 62 6f 76 65 20 77 68 65 6e 20 74 72 79 69 6e 67  bove when trying
6dc0: 0a 20 20 20 20 20 20 23 20 74 6f 20 6d 61 6b 65  .      # to make
6dd0: 20 61 20 64 6c 6c 20 77 68 69 63 68 20 68 61 73   a dll which has
6de0: 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62 6f   undefined symbo
6df0: 6c 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73  ls, in which cas
6e00: 65 20 6e 6f 74 0a 20 20 20 20 20 20 23 20 65 76  e not.      # ev
6e10: 65 6e 20 61 20 73 74 61 74 69 63 20 6c 69 62 72  en a static libr
6e20: 61 72 79 20 69 73 20 62 75 69 6c 74 2e 20 20 46  ary is built.  F
6e30: 6f 72 20 6e 6f 77 2c 20 77 65 20 6e 65 65 64 20  or now, we need 
6e40: 74 6f 20 73 70 65 63 69 66 79 0a 20 20 20 20 20  to specify.     
6e50: 20 23 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e 65 64   # -no-undefined
6e60: 20 6f 6e 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20   on the libtool 
6e70: 6c 69 6e 6b 20 6c 69 6e 65 20 77 68 65 6e 20 77  link line when w
6e80: 65 20 63 61 6e 20 62 65 20 63 65 72 74 61 69 6e  e can be certain
6e90: 0a 20 20 20 20 20 20 23 20 74 68 61 74 20 61 6c  .      # that al
6ea0: 6c 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 73 61  l symbols are sa
6eb0: 74 69 73 66 69 65 64 2c 20 6f 74 68 65 72 77 69  tisfied, otherwi
6ec0: 73 65 20 77 65 20 67 65 74 20 61 20 73 74 61 74  se we get a stat
6ed0: 69 63 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20  ic library..    
6ee0: 20 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65    allow_undefine
6ef0: 64 3d 79 65 73 0a 20 20 20 20 20 20 3b 3b 0a 20  d=yes.      ;;. 
6f00: 20 20 20 2a 29 0a 20 20 20 20 20 20 61 6c 6c 6f     *).      allo
6f10: 77 5f 75 6e 64 65 66 69 6e 65 64 3d 79 65 73 0a  w_undefined=yes.
6f20: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61        ;;.    esa
6f30: 63 0a 20 20 20 20 6c 69 62 74 6f 6f 6c 5f 61 72  c.    libtool_ar
6f40: 67 73 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20  gs="$nonopt".   
6f50: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
6f60: 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 66  ="$nonopt".    f
6f70: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
6f80: 22 24 6e 6f 6e 6f 70 74 22 0a 0a 20 20 20 20 63  "$nonopt"..    c
6f90: 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d 0a 20 20  ompile_rpath=.  
6fa0: 20 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68    finalize_rpath
6fb0: 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65 5f 73 68  =.    compile_sh
6fc0: 6c 69 62 70 61 74 68 3d 0a 20 20 20 20 66 69 6e  libpath=.    fin
6fd0: 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3d  alize_shlibpath=
6fe0: 0a 20 20 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65  .    convenience
6ff0: 3d 0a 20 20 20 20 6f 6c 64 5f 63 6f 6e 76 65 6e  =.    old_conven
7000: 69 65 6e 63 65 3d 0a 20 20 20 20 64 65 70 6c 69  ience=.    depli
7010: 62 73 3d 0a 20 20 20 20 6f 6c 64 5f 64 65 70 6c  bs=.    old_depl
7020: 69 62 73 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65  ibs=.    compile
7030: 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20 6c 69 6e  r_flags=.    lin
7040: 6b 65 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20 64  ker_flags=.    d
7050: 6c 6c 73 65 61 72 63 68 70 61 74 68 3d 0a 20 20  llsearchpath=.  
7060: 20 20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74    lib_search_pat
7070: 68 3d 60 70 77 64 60 0a 20 20 20 20 69 6e 73 74  h=`pwd`.    inst
7080: 5f 70 72 65 66 69 78 5f 64 69 72 3d 0a 0a 20 20  _prefix_dir=..  
7090: 20 20 61 76 6f 69 64 5f 76 65 72 73 69 6f 6e 3d    avoid_version=
70a0: 6e 6f 0a 20 20 20 20 64 6c 66 69 6c 65 73 3d 0a  no.    dlfiles=.
70b0: 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d 0a      dlprefiles=.
70c0: 20 20 20 20 64 6c 73 65 6c 66 3d 6e 6f 0a 20 20      dlself=no.  
70d0: 20 20 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63    export_dynamic
70e0: 3d 6e 6f 0a 20 20 20 20 65 78 70 6f 72 74 5f 73  =no.    export_s
70f0: 79 6d 62 6f 6c 73 3d 0a 20 20 20 20 65 78 70 6f  ymbols=.    expo
7100: 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
7110: 3d 0a 20 20 20 20 67 65 6e 65 72 61 74 65 64 3d  =.    generated=
7120: 0a 20 20 20 20 6c 69 62 6f 62 6a 73 3d 0a 20 20  .    libobjs=.  
7130: 20 20 6c 74 6c 69 62 73 3d 0a 20 20 20 20 6d 6f    ltlibs=.    mo
7140: 64 75 6c 65 3d 6e 6f 0a 20 20 20 20 6e 6f 5f 69  dule=no.    no_i
7150: 6e 73 74 61 6c 6c 3d 6e 6f 0a 20 20 20 20 6f 62  nstall=no.    ob
7160: 6a 73 3d 0a 20 20 20 20 70 72 65 66 65 72 5f 73  js=.    prefer_s
7170: 74 61 74 69 63 5f 6c 69 62 73 3d 6e 6f 0a 20 20  tatic_libs=no.  
7180: 20 20 70 72 65 6c 6f 61 64 3d 6e 6f 0a 20 20 20    preload=no.   
7190: 20 70 72 65 76 3d 0a 20 20 20 20 70 72 65 76 61   prev=.    preva
71a0: 72 67 3d 0a 20 20 20 20 72 65 6c 65 61 73 65 3d  rg=.    release=
71b0: 0a 20 20 20 20 72 70 61 74 68 3d 0a 20 20 20 20  .    rpath=.    
71c0: 78 72 70 61 74 68 3d 0a 20 20 20 20 70 65 72 6d  xrpath=.    perm
71d0: 5f 72 70 61 74 68 3d 0a 20 20 20 20 74 65 6d 70  _rpath=.    temp
71e0: 5f 72 70 61 74 68 3d 0a 20 20 20 20 74 68 72 65  _rpath=.    thre
71f0: 61 64 5f 73 61 66 65 3d 6e 6f 0a 20 20 20 20 76  ad_safe=no.    v
7200: 69 6e 66 6f 3d 0a 0a 20 20 20 20 23 20 57 65 20  info=..    # We 
7210: 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 2d 73 74  need to know -st
7220: 61 74 69 63 2c 20 74 6f 20 67 65 74 20 74 68 65  atic, to get the
7230: 20 72 69 67 68 74 20 6f 75 74 70 75 74 20 66 69   right output fi
7240: 6c 65 6e 61 6d 65 73 2e 0a 20 20 20 20 66 6f 72  lenames..    for
7250: 20 61 72 67 0a 20 20 20 20 64 6f 0a 20 20 20 20   arg.    do.    
7260: 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
7270: 20 20 20 20 20 2d 61 6c 6c 2d 73 74 61 74 69 63       -all-static
7280: 20 7c 20 2d 73 74 61 74 69 63 29 0a 09 69 66 20   | -static)..if 
7290: 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20 22  test "X$arg" = "
72a0: 58 2d 61 6c 6c 2d 73 74 61 74 69 63 22 3b 20 74  X-all-static"; t
72b0: 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22  hen..  if test "
72c0: 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c  $build_libtool_l
72d0: 69 62 73 22 20 3d 20 79 65 73 20 26 26 20 74 65  ibs" = yes && te
72e0: 73 74 20 2d 7a 20 22 24 6c 69 6e 6b 5f 73 74 61  st -z "$link_sta
72f0: 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e 0a  tic_flag"; then.
7300: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
7310: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
7320: 63 6f 6d 70 6c 65 74 65 20 73 74 61 74 69 63 20  complete static 
7330: 6c 69 6e 6b 69 6e 67 20 69 73 20 69 6d 70 6f 73  linking is impos
7340: 73 69 62 6c 65 20 69 6e 20 74 68 69 73 20 63 6f  sible in this co
7350: 6e 66 69 67 75 72 61 74 69 6f 6e 22 20 31 3e 26  nfiguration" 1>&
7360: 32 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74 65  2..  fi..  if te
7370: 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74 61  st -n "$link_sta
7380: 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e 0a  tic_flag"; then.
7390: 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73 65 6c 66  .    dlopen_self
73a0: 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73 74  =$dlopen_self_st
73b0: 61 74 69 63 0a 09 20 20 66 69 0a 09 65 6c 73 65  atic..  fi..else
73c0: 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22  ..  if test -z "
73d0: 24 70 69 63 5f 66 6c 61 67 22 20 26 26 20 74 65  $pic_flag" && te
73e0: 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74 61  st -n "$link_sta
73f0: 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e 0a  tic_flag"; then.
7400: 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73 65 6c 66  .    dlopen_self
7410: 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73 74  =$dlopen_self_st
7420: 61 74 69 63 0a 09 20 20 66 69 0a 09 66 69 0a 09  atic..  fi..fi..
7430: 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
7440: 62 73 3d 6e 6f 0a 09 62 75 69 6c 64 5f 6f 6c 64  bs=no..build_old
7450: 5f 6c 69 62 73 3d 79 65 73 0a 09 70 72 65 66 65  _libs=yes..prefe
7460: 72 5f 73 74 61 74 69 63 5f 6c 69 62 73 3d 79 65  r_static_libs=ye
7470: 73 0a 09 62 72 65 61 6b 0a 09 3b 3b 0a 20 20 20  s..break..;;.   
7480: 20 20 20 65 73 61 63 0a 20 20 20 20 64 6f 6e 65     esac.    done
7490: 0a 0a 20 20 20 20 23 20 53 65 65 20 69 66 20 6f  ..    # See if o
74a0: 75 72 20 73 68 61 72 65 64 20 61 72 63 68 69 76  ur shared archiv
74b0: 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 73 74 61  es depend on sta
74c0: 74 69 63 20 61 72 63 68 69 76 65 73 2e 0a 20 20  tic archives..  
74d0: 20 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f    test -n "$old_
74e0: 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 6e 65 77  archive_from_new
74f0: 5f 63 6d 64 73 22 20 26 26 20 62 75 69 6c 64 5f  _cmds" && build_
7500: 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 0a 20 20  old_libs=yes..  
7510: 20 20 23 20 47 6f 20 74 68 72 6f 75 67 68 20 74    # Go through t
7520: 68 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 74 72  he arguments, tr
7530: 61 6e 73 66 6f 72 6d 69 6e 67 20 74 68 65 6d 20  ansforming them 
7540: 6f 6e 20 74 68 65 20 77 61 79 2e 0a 20 20 20 20  on the way..    
7550: 77 68 69 6c 65 20 74 65 73 74 20 24 23 20 2d 67  while test $# -g
7560: 74 20 30 3b 20 64 6f 0a 20 20 20 20 20 20 61 72  t 0; do.      ar
7570: 67 3d 22 24 31 22 0a 20 20 20 20 20 20 73 68 69  g="$1".      shi
7580: 66 74 0a 20 20 20 20 20 20 63 61 73 65 20 24 61  ft.      case $a
7590: 72 67 20 69 6e 0a 20 20 20 20 20 20 2a 5b 5c 5b  rg in.      *[\[
75a0: 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b  \~\#\^\&\*\(\)\{
75b0: 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20  \}\|\;\<\>\?\'\ 
75c0: 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 71 61  \.]*|*]*|"")..qa
75d0: 72 67 3d 5c 22 60 24 65 63 68 6f 20 22 58 24 61  rg=\"`$echo "X$a
75e0: 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  rg" | $Xsed -e "
75f0: 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74  $sed_quote_subst
7600: 22 60 5c 22 20 23 23 23 20 74 65 73 74 73 75 69  "`\" ### testsui
7610: 74 65 3a 20 73 6b 69 70 20 6e 65 73 74 65 64 20  te: skip nested 
7620: 71 75 6f 74 69 6e 67 20 74 65 73 74 0a 09 3b 3b  quoting test..;;
7630: 0a 20 20 20 20 20 20 2a 29 20 71 61 72 67 3d 24  .      *) qarg=$
7640: 61 72 67 20 3b 3b 0a 20 20 20 20 20 20 65 73 61  arg ;;.      esa
7650: 63 0a 20 20 20 20 20 20 6c 69 62 74 6f 6f 6c 5f  c.      libtool_
7660: 61 72 67 73 3d 22 24 6c 69 62 74 6f 6f 6c 5f 61  args="$libtool_a
7670: 72 67 73 20 24 71 61 72 67 22 0a 0a 20 20 20 20  rgs $qarg"..    
7680: 20 20 23 20 49 66 20 74 68 65 20 70 72 65 76 69    # If the previ
7690: 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65 65 64 73  ous option needs
76a0: 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20 61 73   an argument, as
76b0: 73 69 67 6e 20 69 74 2e 0a 20 20 20 20 20 20 69  sign it..      i
76c0: 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72 65 76  f test -n "$prev
76d0: 22 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 24 70  "; then..case $p
76e0: 72 65 76 20 69 6e 0a 09 6f 75 74 70 75 74 29 0a  rev in..output).
76f0: 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  .  compile_comma
7700: 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
7710: 6d 61 6e 64 20 40 4f 55 54 50 55 54 40 22 0a 09  mand @OUTPUT@"..
7720: 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61    finalize_comma
7730: 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  nd="$finalize_co
7740: 6d 6d 61 6e 64 20 40 4f 55 54 50 55 54 40 22 0a  mmand @OUTPUT@".
7750: 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 63 61  .  ;;..esac...ca
7760: 73 65 20 24 70 72 65 76 20 69 6e 0a 09 64 6c 66  se $prev in..dlf
7770: 69 6c 65 73 7c 64 6c 70 72 65 66 69 6c 65 73 29  iles|dlprefiles)
7780: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 70 72  ..  if test "$pr
7790: 65 6c 6f 61 64 22 20 3d 20 6e 6f 3b 20 74 68 65  eload" = no; the
77a0: 6e 0a 09 20 20 20 20 23 20 41 64 64 20 74 68 65  n..    # Add the
77b0: 20 73 79 6d 62 6f 6c 20 6f 62 6a 65 63 74 20 69   symbol object i
77c0: 6e 74 6f 20 74 68 65 20 6c 69 6e 6b 69 6e 67 20  nto the linking 
77d0: 63 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20 20 20 63  commands...    c
77e0: 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22  ompile_command="
77f0: 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
7800: 20 40 53 59 4d 46 49 4c 45 40 22 0a 09 20 20 20   @SYMFILE@"..   
7810: 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e   finalize_comman
7820: 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  d="$finalize_com
7830: 6d 61 6e 64 20 40 53 59 4d 46 49 4c 45 40 22 0a  mand @SYMFILE@".
7840: 09 20 20 20 20 70 72 65 6c 6f 61 64 3d 79 65 73  .    preload=yes
7850: 0a 09 20 20 66 69 0a 09 20 20 63 61 73 65 20 24  ..  fi..  case $
7860: 61 72 67 20 69 6e 0a 09 20 20 2a 2e 6c 61 20 7c  arg in..  *.la |
7870: 20 2a 2e 6c 6f 29 20 3b 3b 20 20 23 20 57 65 20   *.lo) ;;  # We 
7880: 68 61 6e 64 6c 65 20 74 68 65 73 65 20 63 61 73  handle these cas
7890: 65 73 20 62 65 6c 6f 77 2e 0a 09 20 20 66 6f 72  es below...  for
78a0: 63 65 29 0a 09 20 20 20 20 69 66 20 74 65 73 74  ce)..    if test
78b0: 20 22 24 64 6c 73 65 6c 66 22 20 3d 20 6e 6f 3b   "$dlself" = no;
78c0: 20 74 68 65 6e 0a 09 20 20 20 20 20 20 64 6c 73   then..      dls
78d0: 65 6c 66 3d 6e 65 65 64 6c 65 73 73 0a 09 20 20  elf=needless..  
78e0: 20 20 20 20 65 78 70 6f 72 74 5f 64 79 6e 61 6d      export_dynam
78f0: 69 63 3d 79 65 73 0a 09 20 20 20 20 66 69 0a 09  ic=yes..    fi..
7900: 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20 63      prev=..    c
7910: 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a  ontinue..    ;;.
7920: 09 20 20 73 65 6c 66 29 0a 09 20 20 20 20 69 66  .  self)..    if
7930: 20 74 65 73 74 20 22 24 70 72 65 76 22 20 3d 20   test "$prev" = 
7940: 64 6c 70 72 65 66 69 6c 65 73 3b 20 74 68 65 6e  dlprefiles; then
7950: 0a 09 20 20 20 20 20 20 64 6c 73 65 6c 66 3d 79  ..      dlself=y
7960: 65 73 0a 09 20 20 20 20 65 6c 69 66 20 74 65 73  es..    elif tes
7970: 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c 66 69  t "$prev" = dlfi
7980: 6c 65 73 20 26 26 20 74 65 73 74 20 22 24 64 6c  les && test "$dl
7990: 6f 70 65 6e 5f 73 65 6c 66 22 20 21 3d 20 79 65  open_self" != ye
79a0: 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 64  s; then..      d
79b0: 6c 73 65 6c 66 3d 79 65 73 0a 09 20 20 20 20 65  lself=yes..    e
79c0: 6c 73 65 0a 09 20 20 20 20 20 20 64 6c 73 65 6c  lse..      dlsel
79d0: 66 3d 6e 65 65 64 6c 65 73 73 0a 09 20 20 20 20  f=needless..    
79e0: 20 20 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63    export_dynamic
79f0: 3d 79 65 73 0a 09 20 20 20 20 66 69 0a 09 20 20  =yes..    fi..  
7a00: 20 20 70 72 65 76 3d 0a 09 20 20 20 20 63 6f 6e    prev=..    con
7a10: 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20  tinue..    ;;.. 
7a20: 20 2a 29 0a 09 20 20 20 20 69 66 20 74 65 73 74   *)..    if test
7a30: 20 22 24 70 72 65 76 22 20 3d 20 64 6c 66 69 6c   "$prev" = dlfil
7a40: 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  es; then..      
7a50: 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65  dlfiles="$dlfile
7a60: 73 20 24 61 72 67 22 0a 09 20 20 20 20 65 6c 73  s $arg"..    els
7a70: 65 0a 09 20 20 20 20 20 20 64 6c 70 72 65 66 69  e..      dlprefi
7a80: 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73  les="$dlprefiles
7a90: 20 24 61 72 67 22 0a 09 20 20 20 20 66 69 0a 09   $arg"..    fi..
7aa0: 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20 63      prev=..    c
7ab0: 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a  ontinue..    ;;.
7ac0: 09 20 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65  .  esac..  ;;..e
7ad0: 78 70 73 79 6d 73 29 0a 09 20 20 65 78 70 6f 72  xpsyms)..  expor
7ae0: 74 5f 73 79 6d 62 6f 6c 73 3d 22 24 61 72 67 22  t_symbols="$arg"
7af0: 0a 09 20 20 69 66 20 74 65 73 74 20 21 20 2d 66  ..  if test ! -f
7b00: 20 22 24 61 72 67 22 3b 20 74 68 65 6e 0a 09 20   "$arg"; then.. 
7b10: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
7b20: 61 6d 65 3a 20 73 79 6d 62 6f 6c 20 66 69 6c 65  ame: symbol file
7b30: 20 5c 60 24 61 72 67 27 20 64 6f 65 73 20 6e 6f   \`$arg' does no
7b40: 74 20 65 78 69 73 74 22 0a 09 20 20 20 20 65 78  t exist"..    ex
7b50: 69 74 20 31 0a 09 20 20 66 69 0a 09 20 20 70 72  it 1..  fi..  pr
7b60: 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  ev=..  continue.
7b70: 09 20 20 3b 3b 0a 09 65 78 70 73 79 6d 73 5f 72  .  ;;..expsyms_r
7b80: 65 67 65 78 29 0a 09 20 20 65 78 70 6f 72 74 5f  egex)..  export_
7b90: 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 3d 22 24  symbols_regex="$
7ba0: 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a 09 20  arg"..  prev=.. 
7bb0: 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a   continue..  ;;.
7bc0: 09 69 6e 73 74 5f 70 72 65 66 69 78 29 0a 09 20  .inst_prefix).. 
7bd0: 20 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72   inst_prefix_dir
7be0: 3d 22 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d  ="$arg"..  prev=
7bf0: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
7c00: 3b 3b 0a 09 72 65 6c 65 61 73 65 29 0a 09 20 20  ;;..release)..  
7c10: 72 65 6c 65 61 73 65 3d 22 2d 24 61 72 67 22 0a  release="-$arg".
7c20: 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e 74  .  prev=..  cont
7c30: 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 72 70 61 74  inue..  ;;..rpat
7c40: 68 20 7c 20 78 72 70 61 74 68 29 0a 09 20 20 23  h | xrpath)..  #
7c50: 20 57 65 20 6e 65 65 64 20 61 6e 20 61 62 73 6f   We need an abso
7c60: 6c 75 74 65 20 70 61 74 68 2e 0a 09 20 20 63 61  lute path...  ca
7c70: 73 65 20 24 61 72 67 20 69 6e 0a 09 20 20 5b 5c  se $arg in..  [\
7c80: 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a  \/]* | [A-Za-z]:
7c90: 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09 20 20 2a 29  [\\/]*) ;;..  *)
7ca0: 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ..    $echo "$mo
7cb0: 64 65 6e 61 6d 65 3a 20 6f 6e 6c 79 20 61 62 73  dename: only abs
7cc0: 6f 6c 75 74 65 20 72 75 6e 2d 70 61 74 68 73 20  olute run-paths 
7cd0: 61 72 65 20 61 6c 6c 6f 77 65 64 22 20 31 3e 26  are allowed" 1>&
7ce0: 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20  2..    exit 1.. 
7cf0: 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20     ;;..  esac.. 
7d00: 20 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22   if test "$prev"
7d10: 20 3d 20 72 70 61 74 68 3b 20 74 68 65 6e 0a 09   = rpath; then..
7d20: 20 20 20 20 63 61 73 65 20 22 24 72 70 61 74 68      case "$rpath
7d30: 20 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 61   " in..    *" $a
7d40: 72 67 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a  rg "*) ;;..    *
7d50: 29 20 72 70 61 74 68 3d 22 24 72 70 61 74 68 20  ) rpath="$rpath 
7d60: 24 61 72 67 22 20 3b 3b 0a 09 20 20 20 20 65 73  $arg" ;;..    es
7d70: 61 63 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  ac..  else..    
7d80: 63 61 73 65 20 22 24 78 72 70 61 74 68 20 22 20  case "$xrpath " 
7d90: 69 6e 0a 09 20 20 20 20 2a 22 20 24 61 72 67 20  in..    *" $arg 
7da0: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 78  "*) ;;..    *) x
7db0: 72 70 61 74 68 3d 22 24 78 72 70 61 74 68 20 24  rpath="$xrpath $
7dc0: 61 72 67 22 20 3b 3b 0a 09 20 20 20 20 65 73 61  arg" ;;..    esa
7dd0: 63 0a 09 20 20 66 69 0a 09 20 20 70 72 65 76 3d  c..  fi..  prev=
7de0: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
7df0: 3b 3b 0a 09 78 63 6f 6d 70 69 6c 65 72 29 0a 09  ;;..xcompiler)..
7e00: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
7e10: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
7e20: 73 20 24 71 61 72 67 22 0a 09 20 20 70 72 65 76  s $qarg"..  prev
7e30: 3d 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d  =..  compile_com
7e40: 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63  mand="$compile_c
7e50: 6f 6d 6d 61 6e 64 20 24 71 61 72 67 22 0a 09 20  ommand $qarg".. 
7e60: 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e   finalize_comman
7e70: 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  d="$finalize_com
7e80: 6d 61 6e 64 20 24 71 61 72 67 22 0a 09 20 20 63  mand $qarg"..  c
7e90: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 78  ontinue..  ;;..x
7ea0: 6c 69 6e 6b 65 72 29 0a 09 20 20 6c 69 6e 6b 65  linker)..  linke
7eb0: 72 5f 66 6c 61 67 73 3d 22 24 6c 69 6e 6b 65 72  r_flags="$linker
7ec0: 5f 66 6c 61 67 73 20 24 71 61 72 67 22 0a 09 20  _flags $qarg".. 
7ed0: 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 3d   compiler_flags=
7ee0: 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73  "$compiler_flags
7ef0: 20 24 77 6c 24 71 61 72 67 22 0a 09 20 20 70 72   $wl$qarg"..  pr
7f00: 65 76 3d 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63  ev=..  compile_c
7f10: 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
7f20: 5f 63 6f 6d 6d 61 6e 64 20 24 77 6c 24 71 61 72  _command $wl$qar
7f30: 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63  g"..  finalize_c
7f40: 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a  ommand="$finaliz
7f50: 65 5f 63 6f 6d 6d 61 6e 64 20 24 77 6c 24 71 61  e_command $wl$qa
7f60: 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  rg"..  continue.
7f70: 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 65 76 61  .  ;;..*)..  eva
7f80: 6c 20 22 24 70 72 65 76 3d 5c 22 5c 24 61 72 67  l "$prev=\"\$arg
7f90: 5c 22 22 0a 09 20 20 70 72 65 76 3d 0a 09 20 20  \""..  prev=..  
7fa0: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09  continue..  ;;..
7fb0: 65 73 61 63 0a 20 20 20 20 20 20 66 69 20 23 20  esac.      fi # 
7fc0: 74 65 73 74 20 2d 6e 20 24 70 72 65 76 0a 0a 20  test -n $prev.. 
7fd0: 20 20 20 20 20 70 72 65 76 61 72 67 3d 22 24 61       prevarg="$a
7fe0: 72 67 22 0a 0a 20 20 20 20 20 20 63 61 73 65 20  rg"..      case 
7ff0: 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2d 61  $arg in.      -a
8000: 6c 6c 2d 73 74 61 74 69 63 29 0a 09 69 66 20 74  ll-static)..if t
8010: 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74  est -n "$link_st
8020: 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e  atic_flag"; then
8030: 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  ..  compile_comm
8040: 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f  and="$compile_co
8050: 6d 6d 61 6e 64 20 24 6c 69 6e 6b 5f 73 74 61 74  mmand $link_stat
8060: 69 63 5f 66 6c 61 67 22 0a 09 20 20 66 69 6e 61  ic_flag"..  fina
8070: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66  lize_command="$f
8080: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20  inalize_command 
8090: 24 6c 69 6e 6b 5f 73 74 61 74 69 63 5f 66 6c 61  $link_static_fla
80a0: 67 22 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65  g"..fi..continue
80b0: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 61 6c 6c  ..;;..      -all
80c0: 6f 77 2d 75 6e 64 65 66 69 6e 65 64 29 0a 09 23  ow-undefined)..#
80d0: 20 46 49 58 4d 45 3a 20 72 65 6d 6f 76 65 20 74   FIXME: remove t
80e0: 68 69 73 20 66 6c 61 67 20 73 6f 6d 65 74 69 6d  his flag sometim
80f0: 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e  e in the future.
8100: 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
8110: 6d 65 3a 20 5c 60 2d 61 6c 6c 6f 77 2d 75 6e 64  me: \`-allow-und
8120: 65 66 69 6e 65 64 27 20 69 73 20 64 65 70 72 65  efined' is depre
8130: 63 61 74 65 64 20 62 65 63 61 75 73 65 20 69 74  cated because it
8140: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 22   is the default"
8150: 20 31 3e 26 32 0a 09 63 6f 6e 74 69 6e 75 65 0a   1>&2..continue.
8160: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 61 76 6f 69  .;;..      -avoi
8170: 64 2d 76 65 72 73 69 6f 6e 29 0a 09 61 76 6f 69  d-version)..avoi
8180: 64 5f 76 65 72 73 69 6f 6e 3d 79 65 73 0a 09 63  d_version=yes..c
8190: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
81a0: 20 20 20 2d 64 6c 6f 70 65 6e 29 0a 09 70 72 65     -dlopen)..pre
81b0: 76 3d 64 6c 66 69 6c 65 73 0a 09 63 6f 6e 74 69  v=dlfiles..conti
81c0: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
81d0: 64 6c 70 72 65 6f 70 65 6e 29 0a 09 70 72 65 76  dlpreopen)..prev
81e0: 3d 64 6c 70 72 65 66 69 6c 65 73 0a 09 63 6f 6e  =dlprefiles..con
81f0: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
8200: 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63   -export-dynamic
8210: 29 0a 09 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69  )..export_dynami
8220: 63 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a  c=yes..continue.
8230: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 65 78 70 6f  .;;..      -expo
8240: 72 74 2d 73 79 6d 62 6f 6c 73 20 7c 20 2d 65 78  rt-symbols | -ex
8250: 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 2d 72 65 67  port-symbols-reg
8260: 65 78 29 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  ex)..if test -n 
8270: 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
8280: 22 20 7c 7c 20 74 65 73 74 20 2d 6e 20 22 24 65  " || test -n "$e
8290: 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65  xport_symbols_re
82a0: 67 65 78 22 3b 20 74 68 65 6e 0a 09 20 20 24 65  gex"; then..  $e
82b0: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
82c0: 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 2d 65  more than one -e
82d0: 78 70 6f 72 74 65 64 2d 73 79 6d 62 6f 6c 73 20  xported-symbols 
82e0: 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20  argument is not 
82f0: 61 6c 6c 6f 77 65 64 22 0a 09 20 20 65 78 69 74  allowed"..  exit
8300: 20 31 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20   1..fi..if test 
8310: 22 58 24 61 72 67 22 20 3d 20 22 58 2d 65 78 70  "X$arg" = "X-exp
8320: 6f 72 74 2d 73 79 6d 62 6f 6c 73 22 3b 20 74 68  ort-symbols"; th
8330: 65 6e 0a 09 20 20 70 72 65 76 3d 65 78 70 73 79  en..  prev=expsy
8340: 6d 73 0a 09 65 6c 73 65 0a 09 20 20 70 72 65 76  ms..else..  prev
8350: 3d 65 78 70 73 79 6d 73 5f 72 65 67 65 78 0a 09  =expsyms_regex..
8360: 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b  fi..continue..;;
8370: 0a 0a 20 20 20 20 20 20 2d 69 6e 73 74 2d 70 72  ..      -inst-pr
8380: 65 66 69 78 2d 64 69 72 29 0a 20 20 20 20 20 20  efix-dir).      
8390: 20 70 72 65 76 3d 69 6e 73 74 5f 70 72 65 66 69   prev=inst_prefi
83a0: 78 0a 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75  x.       continu
83b0: 65 0a 20 20 20 20 20 20 20 3b 3b 0a 0a 20 20 20  e.       ;;..   
83c0: 20 20 20 23 20 54 68 65 20 6e 61 74 69 76 65 20     # The native 
83d0: 49 52 49 58 20 6c 69 6e 6b 65 72 20 75 6e 64 65  IRIX linker unde
83e0: 72 73 74 61 6e 64 73 20 2d 4c 41 4e 47 3a 2a 2c  rstands -LANG:*,
83f0: 20 2d 4c 49 53 54 3a 2a 20 61 6e 64 20 2d 4c 4e   -LIST:* and -LN
8400: 4f 3a 2a 0a 20 20 20 20 20 20 23 20 73 6f 2c 20  O:*.      # so, 
8410: 69 66 20 77 65 20 73 65 65 20 74 68 65 73 65 20  if we see these 
8420: 66 6c 61 67 73 20 62 65 20 63 61 72 65 66 75 6c  flags be careful
8430: 20 6e 6f 74 20 74 6f 20 74 72 65 61 74 20 74 68   not to treat th
8440: 65 6d 20 6c 69 6b 65 20 2d 4c 0a 20 20 20 20 20  em like -L.     
8450: 20 2d 4c 5b 41 2d 5a 5d 5b 41 2d 5a 5d 2a 3a 2a   -L[A-Z][A-Z]*:*
8460: 29 0a 09 63 61 73 65 20 24 77 69 74 68 5f 67 63  )..case $with_gc
8470: 63 2f 24 68 6f 73 74 20 69 6e 0a 09 6e 6f 2f 2a  c/$host in..no/*
8480: 2d 2a 2d 69 72 69 78 2a 20 7c 20 6e 6f 2f 2a 2d  -*-irix* | no/*-
8490: 2a 2d 6e 6f 6e 73 74 6f 70 75 78 2a 29 0a 09 20  *-nonstopux*).. 
84a0: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
84b0: 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  ="$compile_comma
84c0: 6e 64 20 24 61 72 67 22 0a 09 20 20 66 69 6e 61  nd $arg"..  fina
84d0: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66  lize_command="$f
84e0: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20  inalize_command 
84f0: 24 61 72 67 22 0a 09 20 20 3b 3b 0a 09 65 73 61  $arg"..  ;;..esa
8500: 63 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  c..continue..;;.
8510: 0a 20 20 20 20 20 20 2d 4c 2a 29 0a 09 64 69 72  .      -L*)..dir
8520: 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20  =`$echo "X$arg" 
8530: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d  | $Xsed -e 's/^-
8540: 4c 2f 2f 27 60 0a 09 23 20 57 65 20 6e 65 65 64  L//'`..# We need
8550: 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74   an absolute pat
8560: 68 2e 0a 09 63 61 73 65 20 24 64 69 72 20 69 6e  h...case $dir in
8570: 0a 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61  ..[\\/]* | [A-Za
8580: 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09  -z]:[\\/]*) ;;..
8590: 2a 29 0a 09 20 20 61 62 73 64 69 72 3d 60 63 64  *)..  absdir=`cd
85a0: 20 22 24 64 69 72 22 20 26 26 20 70 77 64 60 0a   "$dir" && pwd`.
85b0: 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24  .  if test -z "$
85c0: 61 62 73 64 69 72 22 3b 20 74 68 65 6e 0a 09 20  absdir"; then.. 
85d0: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
85e0: 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65  ame: cannot dete
85f0: 72 6d 69 6e 65 20 61 62 73 6f 6c 75 74 65 20 64  rmine absolute d
8600: 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66  irectory name of
8610: 20 5c 60 24 64 69 72 27 22 20 31 3e 26 32 0a 09   \`$dir'" 1>&2..
8620: 20 20 20 20 65 78 69 74 20 31 0a 09 20 20 66 69      exit 1..  fi
8630: 0a 09 20 20 64 69 72 3d 22 24 61 62 73 64 69 72  ..  dir="$absdir
8640: 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 63  "..  ;;..esac..c
8650: 61 73 65 20 22 24 64 65 70 6c 69 62 73 20 22 20  ase "$deplibs " 
8660: 69 6e 0a 09 2a 22 20 2d 4c 24 64 69 72 20 22 2a  in..*" -L$dir "*
8670: 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 64 65 70 6c  ) ;;..*)..  depl
8680: 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 2d 4c  ibs="$deplibs -L
8690: 24 64 69 72 22 0a 09 20 20 6c 69 62 5f 73 65 61  $dir"..  lib_sea
86a0: 72 63 68 5f 70 61 74 68 3d 22 24 6c 69 62 5f 73  rch_path="$lib_s
86b0: 65 61 72 63 68 5f 70 61 74 68 20 24 64 69 72 22  earch_path $dir"
86c0: 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 63 61  ..  ;;..esac..ca
86d0: 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a  se $host in..*-*
86e0: 2d 63 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d  -cygwin* | *-*-m
86f0: 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32  ingw* | *-*-pw32
8700: 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20  * | *-*-os2*).. 
8710: 20 63 61 73 65 20 3a 24 64 6c 6c 73 65 61 72 63   case :$dllsearc
8720: 68 70 61 74 68 3a 20 69 6e 0a 09 20 20 2a 22 3a  hpath: in..  *":
8730: 24 64 69 72 3a 22 2a 29 20 3b 3b 0a 09 20 20 2a  $dir:"*) ;;..  *
8740: 29 20 64 6c 6c 73 65 61 72 63 68 70 61 74 68 3d  ) dllsearchpath=
8750: 22 24 64 6c 6c 73 65 61 72 63 68 70 61 74 68 3a  "$dllsearchpath:
8760: 24 64 69 72 22 3b 3b 0a 09 20 20 65 73 61 63 0a  $dir";;..  esac.
8770: 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 63 6f 6e  .  ;;..esac..con
8780: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
8790: 20 2d 6c 2a 29 0a 09 69 66 20 74 65 73 74 20 22   -l*)..if test "
87a0: 58 24 61 72 67 22 20 3d 20 22 58 2d 6c 63 22 20  X$arg" = "X-lc" 
87b0: 7c 7c 20 74 65 73 74 20 22 58 24 61 72 67 22 20  || test "X$arg" 
87c0: 3d 20 22 58 2d 6c 6d 22 3b 20 74 68 65 6e 0a 09  = "X-lm"; then..
87d0: 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a    case $host in.
87e0: 09 20 20 2a 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c  .  *-*-cygwin* |
87f0: 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a 2d 2a   *-*-pw32* | *-*
8800: 2d 62 65 6f 73 2a 29 0a 09 20 20 20 20 23 20 54  -beos*)..    # T
8810: 68 65 73 65 20 73 79 73 74 65 6d 73 20 64 6f 6e  hese systems don
8820: 27 74 20 61 63 74 75 61 6c 6c 79 20 68 61 76 65  't actually have
8830: 20 61 20 43 20 6f 72 20 6d 61 74 68 20 6c 69 62   a C or math lib
8840: 72 61 72 79 20 28 61 73 20 73 75 63 68 29 0a 09  rary (as such)..
8850: 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20      continue..  
8860: 20 20 3b 3b 0a 09 20 20 2a 2d 2a 2d 6d 69 6e 67    ;;..  *-*-ming
8870: 77 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09  w* | *-*-os2*)..
8880: 20 20 20 20 23 20 54 68 65 73 65 20 73 79 73 74      # These syst
8890: 65 6d 73 20 64 6f 6e 27 74 20 61 63 74 75 61 6c  ems don't actual
88a0: 6c 79 20 68 61 76 65 20 61 20 43 20 6c 69 62 72  ly have a C libr
88b0: 61 72 79 20 28 61 73 20 73 75 63 68 29 0a 09 20  ary (as such).. 
88c0: 20 20 20 74 65 73 74 20 22 58 24 61 72 67 22 20     test "X$arg" 
88d0: 3d 20 22 58 2d 6c 63 22 20 26 26 20 63 6f 6e 74  = "X-lc" && cont
88e0: 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20  inue..    ;;..  
88f0: 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20 7c 20 2a  *-*-openbsd* | *
8900: 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a 09 20 20  -*-freebsd*)..  
8910: 20 20 23 20 44 6f 20 6e 6f 74 20 69 6e 63 6c 75    # Do not inclu
8920: 64 65 20 6c 69 62 63 20 64 75 65 20 74 6f 20 75  de libc due to u
8930: 73 20 68 61 76 69 6e 67 20 6c 69 62 63 2f 6c 69  s having libc/li
8940: 62 63 5f 72 2e 0a 09 20 20 20 20 74 65 73 74 20  bc_r...    test 
8950: 22 58 24 61 72 67 22 20 3d 20 22 58 2d 6c 63 22  "X$arg" = "X-lc"
8960: 20 26 26 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20   && continue..  
8970: 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 65    ;;..  esac.. e
8980: 6c 69 66 20 74 65 73 74 20 22 58 24 61 72 67 22  lif test "X$arg"
8990: 20 3d 20 22 58 2d 6c 63 5f 72 22 3b 20 74 68 65   = "X-lc_r"; the
89a0: 6e 0a 09 20 20 63 61 73 65 20 24 68 6f 73 74 20  n..  case $host 
89b0: 69 6e 0a 09 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64  in.. *-*-openbsd
89c0: 2a 20 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64 2a  * | *-*-freebsd*
89d0: 29 0a 09 20 20 20 20 23 20 44 6f 20 6e 6f 74 20  )..    # Do not 
89e0: 69 6e 63 6c 75 64 65 20 6c 69 62 63 5f 72 20 64  include libc_r d
89f0: 69 72 65 63 74 6c 79 2c 20 75 73 65 20 2d 70 74  irectly, use -pt
8a00: 68 72 65 61 64 20 66 6c 61 67 2e 0a 09 20 20 20  hread flag...   
8a10: 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b   continue..    ;
8a20: 3b 0a 09 20 20 65 73 61 63 0a 09 66 69 0a 09 64  ;..  esac..fi..d
8a30: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
8a40: 20 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e 75 65   $arg"..continue
8a50: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 6d 6f 64  ..;;..      -mod
8a60: 75 6c 65 29 0a 09 6d 6f 64 75 6c 65 3d 79 65 73  ule)..module=yes
8a70: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
8a80: 20 20 20 20 20 20 2d 6e 6f 2d 66 61 73 74 2d 69        -no-fast-i
8a90: 6e 73 74 61 6c 6c 29 0a 09 66 61 73 74 5f 69 6e  nstall)..fast_in
8aa0: 73 74 61 6c 6c 3d 6e 6f 0a 09 63 6f 6e 74 69 6e  stall=no..contin
8ab0: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 6e  ue..;;..      -n
8ac0: 6f 2d 69 6e 73 74 61 6c 6c 29 0a 09 63 61 73 65  o-install)..case
8ad0: 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 63   $host in..*-*-c
8ae0: 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e  ygwin* | *-*-min
8af0: 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20  gw* | *-*-pw32* 
8b00: 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 23  | *-*-os2*)..  #
8b10: 20 54 68 65 20 50 41 54 48 20 68 61 63 6b 65 72   The PATH hacker
8b20: 79 20 69 6e 20 77 72 61 70 70 65 72 20 73 63 72  y in wrapper scr
8b30: 69 70 74 73 20 69 73 20 72 65 71 75 69 72 65 64  ipts is required
8b40: 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 09 20 20 23   on Windows..  #
8b50: 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20 74 68   in order for th
8b60: 65 20 6c 6f 61 64 65 72 20 74 6f 20 66 69 6e 64  e loader to find
8b70: 20 61 6e 79 20 64 6c 6c 73 20 69 74 20 6e 65 65   any dlls it nee
8b80: 64 73 2e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  ds...  $echo "$m
8b90: 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
8ba0: 3a 20 5c 60 2d 6e 6f 2d 69 6e 73 74 61 6c 6c 27  : \`-no-install'
8bb0: 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20   is ignored for 
8bc0: 24 68 6f 73 74 22 20 31 3e 26 32 0a 09 20 20 24  $host" 1>&2..  $
8bd0: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
8be0: 20 77 61 72 6e 69 6e 67 3a 20 61 73 73 75 6d 69   warning: assumi
8bf0: 6e 67 20 5c 60 2d 6e 6f 2d 66 61 73 74 2d 69 6e  ng \`-no-fast-in
8c00: 73 74 61 6c 6c 27 20 69 6e 73 74 65 61 64 22 20  stall' instead" 
8c10: 31 3e 26 32 0a 09 20 20 66 61 73 74 5f 69 6e 73  1>&2..  fast_ins
8c20: 74 61 6c 6c 3d 6e 6f 0a 09 20 20 3b 3b 0a 09 2a  tall=no..  ;;..*
8c30: 29 20 6e 6f 5f 69 6e 73 74 61 6c 6c 3d 79 65 73  ) no_install=yes
8c40: 20 3b 3b 0a 09 65 73 61 63 0a 09 63 6f 6e 74 69   ;;..esac..conti
8c50: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
8c60: 6e 6f 2d 75 6e 64 65 66 69 6e 65 64 29 0a 09 61  no-undefined)..a
8c70: 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 3d 6e  llow_undefined=n
8c80: 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  o..continue..;;.
8c90: 0a 20 20 20 20 20 20 2d 6f 29 20 70 72 65 76 3d  .      -o) prev=
8ca0: 6f 75 74 70 75 74 20 3b 3b 0a 0a 20 20 20 20 20  output ;;..     
8cb0: 20 2d 72 65 6c 65 61 73 65 29 0a 09 70 72 65 76   -release)..prev
8cc0: 3d 72 65 6c 65 61 73 65 0a 09 63 6f 6e 74 69 6e  =release..contin
8cd0: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 72  ue..;;..      -r
8ce0: 70 61 74 68 29 0a 09 70 72 65 76 3d 72 70 61 74  path)..prev=rpat
8cf0: 68 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  h..continue..;;.
8d00: 0a 20 20 20 20 20 20 2d 52 29 0a 09 70 72 65 76  .      -R)..prev
8d10: 3d 78 72 70 61 74 68 0a 09 63 6f 6e 74 69 6e 75  =xrpath..continu
8d20: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 52 2a  e..;;..      -R*
8d30: 29 0a 09 64 69 72 3d 60 24 65 63 68 6f 20 22 58  )..dir=`$echo "X
8d40: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
8d50: 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09 23 20 57   's/^-R//'`..# W
8d60: 65 20 6e 65 65 64 20 61 6e 20 61 62 73 6f 6c 75  e need an absolu
8d70: 74 65 20 70 61 74 68 2e 0a 09 63 61 73 65 20 24  te path...case $
8d80: 64 69 72 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c  dir in..[\\/]* |
8d90: 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a   [A-Za-z]:[\\/]*
8da0: 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68  ) ;;..*)..  $ech
8db0: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6f 6e  o "$modename: on
8dc0: 6c 79 20 61 62 73 6f 6c 75 74 65 20 72 75 6e 2d  ly absolute run-
8dd0: 70 61 74 68 73 20 61 72 65 20 61 6c 6c 6f 77 65  paths are allowe
8de0: 64 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  d" 1>&2..  exit 
8df0: 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 63  1..  ;;..esac..c
8e00: 61 73 65 20 22 24 78 72 70 61 74 68 20 22 20 69  ase "$xrpath " i
8e10: 6e 0a 09 2a 22 20 24 64 69 72 20 22 2a 29 20 3b  n..*" $dir "*) ;
8e20: 3b 0a 09 2a 29 20 78 72 70 61 74 68 3d 22 24 78  ;..*) xrpath="$x
8e30: 72 70 61 74 68 20 24 64 69 72 22 20 3b 3b 0a 09  rpath $dir" ;;..
8e40: 65 73 61 63 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  esac..continue..
8e50: 3b 3b 0a 0a 20 20 20 20 20 20 2d 73 74 61 74 69  ;;..      -stati
8e60: 63 29 0a 09 23 20 54 68 65 20 65 66 66 65 63 74  c)..# The effect
8e70: 73 20 6f 66 20 2d 73 74 61 74 69 63 20 61 72 65  s of -static are
8e80: 20 64 65 66 69 6e 65 64 20 69 6e 20 61 20 70 72   defined in a pr
8e90: 65 76 69 6f 75 73 20 6c 6f 6f 70 2e 0a 09 23 20  evious loop...# 
8ea0: 57 65 20 75 73 65 64 20 74 6f 20 64 6f 20 74 68  We used to do th
8eb0: 65 20 73 61 6d 65 20 61 73 20 2d 61 6c 6c 2d 73  e same as -all-s
8ec0: 74 61 74 69 63 20 6f 6e 20 70 6c 61 74 66 6f 72  tatic on platfor
8ed0: 6d 73 20 74 68 61 74 0a 09 23 20 64 69 64 6e 27  ms that..# didn'
8ee0: 74 20 68 61 76 65 20 61 20 50 49 43 20 66 6c 61  t have a PIC fla
8ef0: 67 2c 20 62 75 74 20 74 68 65 20 61 73 73 75 6d  g, but the assum
8f00: 70 74 69 6f 6e 20 74 68 61 74 20 74 68 65 20 65  ption that the e
8f10: 66 66 65 63 74 73 0a 09 23 20 77 6f 75 6c 64 20  ffects..# would 
8f20: 62 65 20 65 71 75 69 76 61 6c 65 6e 74 20 77 61  be equivalent wa
8f30: 73 20 77 72 6f 6e 67 2e 20 20 49 74 20 77 6f 75  s wrong.  It wou
8f40: 6c 64 20 62 72 65 61 6b 20 6f 6e 20 61 74 20 6c  ld break on at l
8f50: 65 61 73 74 0a 09 23 20 44 69 67 69 74 61 6c 20  east..# Digital 
8f60: 55 6e 69 78 20 61 6e 64 20 41 49 58 2e 0a 09 63  Unix and AIX...c
8f70: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
8f80: 20 20 20 2d 74 68 72 65 61 64 2d 73 61 66 65 29     -thread-safe)
8f90: 0a 09 74 68 72 65 61 64 5f 73 61 66 65 3d 79 65  ..thread_safe=ye
8fa0: 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  s..continue..;;.
8fb0: 0a 20 20 20 20 20 20 2d 76 65 72 73 69 6f 6e 2d  .      -version-
8fc0: 69 6e 66 6f 29 0a 09 70 72 65 76 3d 76 69 6e 66  info)..prev=vinf
8fd0: 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  o..continue..;;.
8fe0: 0a 20 20 20 20 20 20 2d 57 63 2c 2a 29 0a 09 61  .      -Wc,*)..a
8ff0: 72 67 73 3d 60 24 65 63 68 6f 20 22 58 24 61 72  rgs=`$echo "X$ar
9000: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  g" | $Xsed -e "$
9010: 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
9020: 20 2d 65 20 27 73 2f 5e 2d 57 63 2c 2f 2f 27 60   -e 's/^-Wc,//'`
9030: 0a 09 61 72 67 3d 0a 09 73 61 76 65 5f 69 66 73  ..arg=..save_ifs
9040: 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 2c 27  ="$IFS"; IFS=','
9050: 0a 09 66 6f 72 20 66 6c 61 67 20 69 6e 20 24 61  ..for flag in $a
9060: 72 67 73 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22  rgs; do..  IFS="
9070: 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 63 61  $save_ifs"..  ca
9080: 73 65 20 24 66 6c 61 67 20 69 6e 0a 09 20 20 20  se $flag in..   
9090: 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c   *[\[\~\#\^\&\*\
90a0: 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c  (\)\{\}\|\;\<\>\
90b0: 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22  ?\'\ \.]*|*]*|""
90c0: 29 0a 09 20 20 20 20 66 6c 61 67 3d 22 5c 22 24  )..    flag="\"$
90d0: 66 6c 61 67 5c 22 22 0a 09 20 20 20 20 3b 3b 0a  flag\""..    ;;.
90e0: 09 20 20 65 73 61 63 0a 09 20 20 61 72 67 3d 22  .  esac..  arg="
90f0: 24 61 72 67 20 24 77 6c 24 66 6c 61 67 22 0a 09  $arg $wl$flag"..
9100: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
9110: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
9120: 73 20 24 66 6c 61 67 22 0a 09 64 6f 6e 65 0a 09  s $flag"..done..
9130: 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a  IFS="$save_ifs".
9140: 09 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 61  .arg=`$echo "X$a
9150: 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  rg" | $Xsed -e "
9160: 73 2f 5e 20 2f 2f 22 60 0a 09 3b 3b 0a 0a 20 20  s/^ //"`..;;..  
9170: 20 20 20 20 2d 57 6c 2c 2a 29 0a 09 61 72 67 73      -Wl,*)..args
9180: 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20  =`$echo "X$arg" 
9190: 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
91a0: 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 20 2d 65  _quote_subst" -e
91b0: 20 27 73 2f 5e 2d 57 6c 2c 2f 2f 27 60 0a 09 61   's/^-Wl,//'`..a
91c0: 72 67 3d 0a 09 73 61 76 65 5f 69 66 73 3d 22 24  rg=..save_ifs="$
91d0: 49 46 53 22 3b 20 49 46 53 3d 27 2c 27 0a 09 66  IFS"; IFS=','..f
91e0: 6f 72 20 66 6c 61 67 20 69 6e 20 24 61 72 67 73  or flag in $args
91f0: 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22 24 73 61  ; do..  IFS="$sa
9200: 76 65 5f 69 66 73 22 0a 09 20 20 63 61 73 65 20  ve_ifs"..  case 
9210: 24 66 6c 61 67 20 69 6e 0a 09 20 20 20 20 2a 5b  $flag in..    *[
9220: 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29  \[\~\#\^\&\*\(\)
9230: 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27  \{\}\|\;\<\>\?\'
9240: 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09  \ \.]*|*]*|"")..
9250: 20 20 20 20 66 6c 61 67 3d 22 5c 22 24 66 6c 61      flag="\"$fla
9260: 67 5c 22 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20  g\""..    ;;..  
9270: 65 73 61 63 0a 09 20 20 61 72 67 3d 22 24 61 72  esac..  arg="$ar
9280: 67 20 24 77 6c 24 66 6c 61 67 22 0a 09 20 20 63  g $wl$flag"..  c
9290: 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 3d 22 24  ompiler_flags="$
92a0: 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20 24  compiler_flags $
92b0: 77 6c 24 66 6c 61 67 22 0a 09 20 20 6c 69 6e 6b  wl$flag"..  link
92c0: 65 72 5f 66 6c 61 67 73 3d 22 24 6c 69 6e 6b 65  er_flags="$linke
92d0: 72 5f 66 6c 61 67 73 20 24 66 6c 61 67 22 0a 09  r_flags $flag"..
92e0: 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73 61 76 65  done..IFS="$save
92f0: 5f 69 66 73 22 0a 09 61 72 67 3d 60 24 65 63 68  _ifs"..arg=`$ech
9300: 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73 65  o "X$arg" | $Xse
9310: 64 20 2d 65 20 22 73 2f 5e 20 2f 2f 22 60 0a 09  d -e "s/^ //"`..
9320: 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 63 6f 6d 70  ;;..      -Xcomp
9330: 69 6c 65 72 29 0a 09 70 72 65 76 3d 78 63 6f 6d  iler)..prev=xcom
9340: 70 69 6c 65 72 0a 09 63 6f 6e 74 69 6e 75 65 0a  piler..continue.
9350: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 6c 69 6e  .;;..      -Xlin
9360: 6b 65 72 29 0a 09 70 72 65 76 3d 78 6c 69 6e 6b  ker)..prev=xlink
9370: 65 72 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b  er..continue..;;
9380: 0a 0a 20 20 20 20 20 20 23 20 53 6f 6d 65 20 6f  ..      # Some o
9390: 74 68 65 72 20 63 6f 6d 70 69 6c 65 72 20 66 6c  ther compiler fl
93a0: 61 67 2e 0a 20 20 20 20 20 20 2d 2a 20 7c 20 2b  ag..      -* | +
93b0: 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77 6e 20 61 72  *)..# Unknown ar
93c0: 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f 74 68 20  guments in both 
93d0: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
93e0: 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d   and compile_com
93f0: 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20 74 6f 20  mand need..# to 
9400: 62 65 20 61 65 73 74 68 65 74 69 63 61 6c 6c 79  be aesthetically
9410: 20 71 75 6f 74 65 64 20 62 65 63 61 75 73 65 20   quoted because 
9420: 74 68 65 79 20 61 72 65 20 65 76 61 6c 65 64 20  they are evaled 
9430: 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60 24 65 63  later...arg=`$ec
9440: 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73  ho "X$arg" | $Xs
9450: 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
9460: 65 5f 73 75 62 73 74 22 60 0a 09 63 61 73 65 20  e_subst"`..case 
9470: 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b 5c 7e 5c  $arg in..*[\[\~\
9480: 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
9490: 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
94a0: 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61 72 67  *|*]*|"")..  arg
94b0: 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20 20 3b  ="\"$arg\""..  ;
94c0: 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a 0a 20 20 20  ;..esac..;;..   
94d0: 20 20 20 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62 6a     *.lo | *.$obj
94e0: 65 78 74 29 0a 09 23 20 41 20 6c 69 62 72 61 72  ext)..# A librar
94f0: 79 20 6f 72 20 73 74 61 6e 64 61 72 64 20 6f 62  y or standard ob
9500: 6a 65 63 74 2e 0a 09 69 66 20 74 65 73 74 20 22  ject...if test "
9510: 24 70 72 65 76 22 20 3d 20 64 6c 66 69 6c 65 73  $prev" = dlfiles
9520: 3b 20 74 68 65 6e 0a 09 20 20 23 20 54 68 69 73  ; then..  # This
9530: 20 66 69 6c 65 20 77 61 73 20 73 70 65 63 69 66   file was specif
9540: 69 65 64 20 77 69 74 68 20 2d 64 6c 6f 70 65 6e  ied with -dlopen
9550: 2e 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 62  ...  if test "$b
9560: 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
9570: 73 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  s" = yes && test
9580: 20 22 24 64 6c 6f 70 65 6e 5f 73 75 70 70 6f 72   "$dlopen_suppor
9590: 74 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  t" = yes; then..
95a0: 20 20 20 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c      dlfiles="$dl
95b0: 66 69 6c 65 73 20 24 61 72 67 22 0a 09 20 20 20  files $arg"..   
95c0: 20 70 72 65 76 3d 0a 09 20 20 20 20 63 6f 6e 74   prev=..    cont
95d0: 69 6e 75 65 0a 09 20 20 65 6c 73 65 0a 09 20 20  inue..  else..  
95e0: 20 20 23 20 49 66 20 6c 69 62 74 6f 6f 6c 20 6f    # If libtool o
95f0: 62 6a 65 63 74 73 20 61 72 65 20 75 6e 73 75 70  bjects are unsup
9600: 70 6f 72 74 65 64 2c 20 74 68 65 6e 20 77 65 20  ported, then we 
9610: 6e 65 65 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e  need to preload.
9620: 0a 09 20 20 20 20 70 72 65 76 3d 64 6c 70 72 65  ..    prev=dlpre
9630: 66 69 6c 65 73 0a 09 20 20 66 69 0a 09 66 69 0a  files..  fi..fi.
9640: 0a 09 69 66 20 74 65 73 74 20 22 24 70 72 65 76  ..if test "$prev
9650: 22 20 3d 20 64 6c 70 72 65 66 69 6c 65 73 3b 20  " = dlprefiles; 
9660: 74 68 65 6e 0a 09 20 20 23 20 50 72 65 6c 6f 61  then..  # Preloa
9670: 64 20 74 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20  d the old-style 
9680: 6f 62 6a 65 63 74 2e 0a 09 20 20 64 6c 70 72 65  object...  dlpre
9690: 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c  files="$dlprefil
96a0: 65 73 20 22 60 24 65 63 68 6f 20 22 58 24 61 72  es "`$echo "X$ar
96b0: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  g" | $Xsed -e "$
96c0: 6c 6f 32 6f 22 60 0a 09 20 20 70 72 65 76 3d 0a  lo2o"`..  prev=.
96d0: 09 65 6c 73 65 0a 09 20 20 63 61 73 65 20 24 61  .else..  case $a
96e0: 72 67 20 69 6e 0a 09 20 20 2a 2e 6c 6f 29 20 6c  rg in..  *.lo) l
96f0: 69 62 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73  ibobjs="$libobjs
9700: 20 24 61 72 67 22 20 3b 3b 0a 09 20 20 2a 29 20   $arg" ;;..  *) 
9710: 6f 62 6a 73 3d 22 24 6f 62 6a 73 20 24 61 72 67  objs="$objs $arg
9720: 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66 69  " ;;..  esac..fi
9730: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e 24 6c  ..;;..      *.$l
9740: 69 62 65 78 74 29 0a 09 23 20 41 6e 20 61 72 63  ibext)..# An arc
9750: 68 69 76 65 2e 0a 09 64 65 70 6c 69 62 73 3d 22  hive...deplibs="
9760: 24 64 65 70 6c 69 62 73 20 24 61 72 67 22 0a 09  $deplibs $arg"..
9770: 6f 6c 64 5f 64 65 70 6c 69 62 73 3d 22 24 6f 6c  old_deplibs="$ol
9780: 64 5f 64 65 70 6c 69 62 73 20 24 61 72 67 22 0a  d_deplibs $arg".
9790: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
97a0: 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23 20 41 20       *.la)..# A 
97b0: 6c 69 62 74 6f 6f 6c 2d 63 6f 6e 74 72 6f 6c 6c  libtool-controll
97c0: 65 64 20 6c 69 62 72 61 72 79 2e 0a 0a 09 69 66  ed library....if
97d0: 20 74 65 73 74 20 22 24 70 72 65 76 22 20 3d 20   test "$prev" = 
97e0: 64 6c 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20  dlfiles; then.. 
97f0: 20 23 20 54 68 69 73 20 6c 69 62 72 61 72 79 20   # This library 
9800: 77 61 73 20 73 70 65 63 69 66 69 65 64 20 77 69  was specified wi
9810: 74 68 20 2d 64 6c 6f 70 65 6e 2e 0a 09 20 20 64  th -dlopen...  d
9820: 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73  lfiles="$dlfiles
9830: 20 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a   $arg"..  prev=.
9840: 09 65 6c 69 66 20 74 65 73 74 20 22 24 70 72 65  .elif test "$pre
9850: 76 22 20 3d 20 64 6c 70 72 65 66 69 6c 65 73 3b  v" = dlprefiles;
9860: 20 74 68 65 6e 0a 09 20 20 23 20 54 68 65 20 6c   then..  # The l
9870: 69 62 72 61 72 79 20 77 61 73 20 73 70 65 63 69  ibrary was speci
9880: 66 69 65 64 20 77 69 74 68 20 2d 64 6c 70 72 65  fied with -dlpre
9890: 6f 70 65 6e 2e 0a 09 20 20 64 6c 70 72 65 66 69  open...  dlprefi
98a0: 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73  les="$dlprefiles
98b0: 20 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a   $arg"..  prev=.
98c0: 09 65 6c 73 65 0a 09 20 20 64 65 70 6c 69 62 73  .else..  deplibs
98d0: 3d 22 24 64 65 70 6c 69 62 73 20 24 61 72 67 22  ="$deplibs $arg"
98e0: 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  ..fi..continue..
98f0: 3b 3b 0a 0a 20 20 20 20 20 20 23 20 53 6f 6d 65  ;;..      # Some
9900: 20 6f 74 68 65 72 20 63 6f 6d 70 69 6c 65 72 20   other compiler 
9910: 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20  argument..      
9920: 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77 6e 20 61 72  *)..# Unknown ar
9930: 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f 74 68 20  guments in both 
9940: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
9950: 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d   and compile_com
9960: 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20 74 6f 20  mand need..# to 
9970: 62 65 20 61 65 73 74 68 65 74 69 63 61 6c 6c 79  be aesthetically
9980: 20 71 75 6f 74 65 64 20 62 65 63 61 75 73 65 20   quoted because 
9990: 74 68 65 79 20 61 72 65 20 65 76 61 6c 65 64 20  they are evaled 
99a0: 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60 24 65 63  later...arg=`$ec
99b0: 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73  ho "X$arg" | $Xs
99c0: 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
99d0: 65 5f 73 75 62 73 74 22 60 0a 09 63 61 73 65 20  e_subst"`..case 
99e0: 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b 5c 7e 5c  $arg in..*[\[\~\
99f0: 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
9a00: 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
9a10: 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61 72 67  *|*]*|"")..  arg
9a20: 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20 20 3b  ="\"$arg\""..  ;
9a30: 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a 20 20 20 20  ;..esac..;;.    
9a40: 20 20 65 73 61 63 20 23 20 61 72 67 0a 0a 20 20    esac # arg..  
9a50: 20 20 20 20 23 20 4e 6f 77 20 61 63 74 75 61 6c      # Now actual
9a60: 6c 79 20 73 75 62 73 74 69 74 75 74 65 20 74 68  ly substitute th
9a70: 65 20 61 72 67 75 6d 65 6e 74 20 69 6e 74 6f 20  e argument into 
9a80: 74 68 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20  the commands..  
9a90: 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
9aa0: 24 61 72 67 22 3b 20 74 68 65 6e 0a 09 63 6f 6d  $arg"; then..com
9ab0: 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63  pile_command="$c
9ac0: 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24  ompile_command $
9ad0: 61 72 67 22 0a 09 66 69 6e 61 6c 69 7a 65 5f 63  arg"..finalize_c
9ae0: 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a  ommand="$finaliz
9af0: 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a  e_command $arg".
9b00: 20 20 20 20 20 20 66 69 0a 20 20 20 20 64 6f 6e        fi.    don
9b10: 65 20 23 20 61 72 67 75 6d 65 6e 74 20 70 61 72  e # argument par
9b20: 73 69 6e 67 20 6c 6f 6f 70 0a 0a 20 20 20 20 69  sing loop..    i
9b30: 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72 65 76  f test -n "$prev
9b40: 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65  "; then.      $e
9b50: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
9b60: 74 68 65 20 5c 60 24 70 72 65 76 61 72 67 27 20  the \`$prevarg' 
9b70: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires 
9b80: 61 6e 20 61 72 67 75 6d 65 6e 74 22 20 31 3e 26  an argument" 1>&
9b90: 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  2.      $echo "$
9ba0: 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20  help" 1>&2.     
9bb0: 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 0a   exit 1.    fi..
9bc0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 65 78      if test "$ex
9bd0: 70 6f 72 74 5f 64 79 6e 61 6d 69 63 22 20 3d 20  port_dynamic" = 
9be0: 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e 20 22  yes && test -n "
9bf0: 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 5f  $export_dynamic_
9c00: 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e  flag_spec"; then
9c10: 0a 20 20 20 20 20 20 65 76 61 6c 20 61 72 67 3d  .      eval arg=
9c20: 5c 22 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69  \"$export_dynami
9c30: 63 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 20 20  c_flag_spec\".  
9c40: 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d      compile_comm
9c50: 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f  and="$compile_co
9c60: 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20 20 20  mmand $arg".    
9c70: 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61    finalize_comma
9c80: 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  nd="$finalize_co
9c90: 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20 20 20  mmand $arg".    
9ca0: 66 69 0a 0a 20 20 20 20 23 20 63 61 6c 63 75 6c  fi..    # calcul
9cb0: 61 74 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  ate the name of 
9cc0: 74 68 65 20 66 69 6c 65 2c 20 77 69 74 68 6f 75  the file, withou
9cd0: 74 20 69 74 73 20 64 69 72 65 63 74 6f 72 79 0a  t its directory.
9ce0: 20 20 20 20 6f 75 74 70 75 74 6e 61 6d 65 3d 60      outputname=`
9cf0: 24 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22  $echo "X$output"
9d00: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
9d10: 2e 2a 2f 25 25 27 60 0a 20 20 20 20 6c 69 62 6f  .*/%%'`.    libo
9d20: 62 6a 73 5f 73 61 76 65 3d 22 24 6c 69 62 6f 62  bjs_save="$libob
9d30: 6a 73 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74  js"..    if test
9d40: 20 2d 6e 20 22 24 73 68 6c 69 62 70 61 74 68 5f   -n "$shlibpath_
9d50: 76 61 72 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  var"; then.     
9d60: 20 23 20 67 65 74 20 74 68 65 20 64 69 72 65 63   # get the direc
9d70: 74 6f 72 69 65 73 20 6c 69 73 74 65 64 20 69 6e  tories listed in
9d80: 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a   $shlibpath_var.
9d90: 20 20 20 20 20 20 65 76 61 6c 20 73 68 6c 69 62        eval shlib
9da0: 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 60 5c  _search_path=\`\
9db0: 24 65 63 68 6f 20 5c 22 58 5c 24 7b 24 73 68 6c  $echo \"X\${$shl
9dc0: 69 62 70 61 74 68 5f 76 61 72 7d 5c 22 20 5c 7c  ibpath_var}\" \|
9dd0: 20 5c 24 58 73 65 64 20 2d 65 20 5c 27 73 2f 3a   \$Xsed -e \'s/:
9de0: 2f 20 2f 67 5c 27 5c 60 0a 20 20 20 20 65 6c 73  / /g\'\`.    els
9df0: 65 0a 20 20 20 20 20 20 73 68 6c 69 62 5f 73 65  e.      shlib_se
9e00: 61 72 63 68 5f 70 61 74 68 3d 0a 20 20 20 20 66  arch_path=.    f
9e10: 69 0a 20 20 20 20 65 76 61 6c 20 73 79 73 5f 6c  i.    eval sys_l
9e20: 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 5c  ib_search_path=\
9e30: 22 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68  "$sys_lib_search
9e40: 5f 70 61 74 68 5f 73 70 65 63 5c 22 0a 20 20 20  _path_spec\".   
9e50: 20 65 76 61 6c 20 73 79 73 5f 6c 69 62 5f 64 6c   eval sys_lib_dl
9e60: 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 22 24 73  search_path=\"$s
9e70: 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68 5f  ys_lib_dlsearch_
9e80: 70 61 74 68 5f 73 70 65 63 5c 22 0a 0a 20 20 20  path_spec\"..   
9e90: 20 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d 60   output_objdir=`
9ea0: 24 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22  $echo "X$output"
9eb0: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f   | $Xsed -e 's%/
9ec0: 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 69  [^/]*$%%'`.    i
9ed0: 66 20 74 65 73 74 20 22 58 24 6f 75 74 70 75 74  f test "X$output
9ee0: 5f 6f 62 6a 64 69 72 22 20 3d 20 22 58 24 6f 75  _objdir" = "X$ou
9ef0: 74 70 75 74 22 3b 20 74 68 65 6e 0a 20 20 20 20  tput"; then.    
9f00: 20 20 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d    output_objdir=
9f10: 22 24 6f 62 6a 64 69 72 22 0a 20 20 20 20 65 6c  "$objdir".    el
9f20: 73 65 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f  se.      output_
9f30: 6f 62 6a 64 69 72 3d 22 24 6f 75 74 70 75 74 5f  objdir="$output_
9f40: 6f 62 6a 64 69 72 2f 24 6f 62 6a 64 69 72 22 0a  objdir/$objdir".
9f50: 20 20 20 20 66 69 0a 20 20 20 20 23 20 43 72 65      fi.    # Cre
9f60: 61 74 65 20 74 68 65 20 6f 62 6a 65 63 74 20 64  ate the object d
9f70: 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 69 66  irectory..    if
9f80: 20 74 65 73 74 20 21 20 2d 64 20 24 6f 75 74 70   test ! -d $outp
9f90: 75 74 5f 6f 62 6a 64 69 72 3b 20 74 68 65 6e 0a  ut_objdir; then.
9fa0: 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 6d 6b        $show "$mk
9fb0: 64 69 72 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  dir $output_objd
9fc0: 69 72 22 0a 20 20 20 20 20 20 24 72 75 6e 20 24  ir".      $run $
9fd0: 6d 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f 62  mkdir $output_ob
9fe0: 6a 64 69 72 0a 20 20 20 20 20 20 73 74 61 74 75  jdir.      statu
9ff0: 73 3d 24 3f 0a 20 20 20 20 20 20 69 66 20 74 65  s=$?.      if te
a000: 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65 20 30  st $status -ne 0
a010: 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 24 6f   && test ! -d $o
a020: 75 74 70 75 74 5f 6f 62 6a 64 69 72 3b 20 74 68  utput_objdir; th
a030: 65 6e 0a 09 65 78 69 74 20 24 73 74 61 74 75 73  en..exit $status
a040: 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 66 69  .      fi.    fi
a050: 0a 0a 20 20 20 20 23 20 44 65 74 65 72 6d 69 6e  ..    # Determin
a060: 65 20 74 68 65 20 74 79 70 65 20 6f 66 20 6f 75  e the type of ou
a070: 74 70 75 74 0a 20 20 20 20 63 61 73 65 20 24 6f  tput.    case $o
a080: 75 74 70 75 74 20 69 6e 0a 20 20 20 20 22 22 29  utput in.    "")
a090: 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d  .      $echo "$m
a0a0: 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73  odename: you mus
a0b0: 74 20 73 70 65 63 69 66 79 20 61 6e 20 6f 75 74  t specify an out
a0c0: 70 75 74 20 66 69 6c 65 22 20 31 3e 26 32 0a 20  put file" 1>&2. 
a0d0: 20 20 20 20 20 24 65 63 68 6f 20 22 24 68 65 6c       $echo "$hel
a0e0: 70 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65 78  p" 1>&2.      ex
a0f0: 69 74 20 31 0a 20 20 20 20 20 20 3b 3b 0a 20 20  it 1.      ;;.  
a100: 20 20 2a 2e 24 6c 69 62 65 78 74 29 20 6c 69 6e    *.$libext) lin
a110: 6b 6d 6f 64 65 3d 6f 6c 64 6c 69 62 20 3b 3b 0a  kmode=oldlib ;;.
a120: 20 20 20 20 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62      *.lo | *.$ob
a130: 6a 65 78 74 29 20 6c 69 6e 6b 6d 6f 64 65 3d 6f  jext) linkmode=o
a140: 62 6a 20 3b 3b 0a 20 20 20 20 2a 2e 6c 61 29 20  bj ;;.    *.la) 
a150: 6c 69 6e 6b 6d 6f 64 65 3d 6c 69 62 20 3b 3b 0a  linkmode=lib ;;.
a160: 20 20 20 20 2a 29 20 6c 69 6e 6b 6d 6f 64 65 3d      *) linkmode=
a170: 70 72 6f 67 20 3b 3b 20 23 20 41 6e 79 74 68 69  prog ;; # Anythi
a180: 6e 67 20 65 6c 73 65 20 73 68 6f 75 6c 64 20 62  ng else should b
a190: 65 20 61 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20  e a program..   
a1a0: 20 65 73 61 63 0a 0a 20 20 20 20 73 70 65 63 69   esac..    speci
a1b0: 61 6c 64 65 70 6c 69 62 73 3d 0a 20 20 20 20 6c  aldeplibs=.    l
a1c0: 69 62 73 3d 0a 20 20 20 20 23 20 46 69 6e 64 20  ibs=.    # Find 
a1d0: 61 6c 6c 20 69 6e 74 65 72 64 65 70 65 6e 64 65  all interdepende
a1e0: 6e 74 20 64 65 70 6c 69 62 73 20 62 79 20 73 65  nt deplibs by se
a1f0: 61 72 63 68 69 6e 67 20 66 6f 72 20 6c 69 62 72  arching for libr
a200: 61 72 69 65 73 0a 20 20 20 20 23 20 74 68 61 74  aries.    # that
a210: 20 61 72 65 20 6c 69 6e 6b 65 64 20 6d 6f 72 65   are linked more
a220: 20 74 68 61 6e 20 6f 6e 63 65 20 28 65 2e 67 2e   than once (e.g.
a230: 20 2d 6c 61 20 2d 6c 62 20 2d 6c 61 29 0a 20 20   -la -lb -la).  
a240: 20 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20    for deplib in 
a250: 24 64 65 70 6c 69 62 73 3b 20 64 6f 0a 20 20 20  $deplibs; do.   
a260: 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64 75     if test "X$du
a270: 70 6c 69 63 61 74 65 5f 64 65 70 73 22 20 3d 20  plicate_deps" = 
a280: 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 63  "Xyes" ; then..c
a290: 61 73 65 20 22 24 6c 69 62 73 20 22 20 69 6e 0a  ase "$libs " in.
a2a0: 09 2a 22 20 24 64 65 70 6c 69 62 20 22 2a 29 20  .*" $deplib "*) 
a2b0: 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 3d 22  specialdeplibs="
a2c0: 24 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 20  $specialdeplibs 
a2d0: 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 65 73 61  $deplib" ;;..esa
a2e0: 63 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20  c.      fi.     
a2f0: 20 6c 69 62 73 3d 22 24 6c 69 62 73 20 24 64 65   libs="$libs $de
a300: 70 6c 69 62 22 0a 20 20 20 20 64 6f 6e 65 0a 20  plib".    done. 
a310: 20 20 20 64 65 70 6c 69 62 73 3d 0a 20 20 20 20     deplibs=.    
a320: 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
a330: 62 73 3d 0a 20 20 20 20 6e 65 77 6c 69 62 5f 73  bs=.    newlib_s
a340: 65 61 72 63 68 5f 70 61 74 68 3d 0a 20 20 20 20  earch_path=.    
a350: 6e 65 65 64 5f 72 65 6c 69 6e 6b 3d 6e 6f 20 23  need_relink=no #
a360: 20 77 68 65 74 68 65 72 20 77 65 27 72 65 20 6c   whether we're l
a370: 69 6e 6b 69 6e 67 20 61 6e 79 20 75 6e 69 6e 73  inking any unins
a380: 74 61 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c  talled libtool l
a390: 69 62 72 61 72 69 65 73 0a 20 20 20 20 6e 6f 74  ibraries.    not
a3a0: 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d 20 23 20  inst_deplibs= # 
a3b0: 6e 6f 74 2d 69 6e 73 74 61 6c 6c 65 64 20 6c 69  not-installed li
a3c0: 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 0a  btool libraries.
a3d0: 20 20 20 20 6e 6f 74 69 6e 73 74 5f 70 61 74 68      notinst_path
a3e0: 3d 20 23 20 70 61 74 68 73 20 74 68 61 74 20 63  = # paths that c
a3f0: 6f 6e 74 61 69 6e 20 6e 6f 74 2d 69 6e 73 74 61  ontain not-insta
a400: 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62  lled libtool lib
a410: 72 61 72 69 65 73 0a 20 20 20 20 63 61 73 65 20  raries.    case 
a420: 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a 20 20 20  $linkmode in.   
a430: 20 6c 69 62 29 0a 09 70 61 73 73 65 73 3d 22 63   lib)..passes="c
a440: 6f 6e 76 20 6c 69 6e 6b 22 0a 09 66 6f 72 20 66  onv link"..for f
a450: 69 6c 65 20 69 6e 20 24 64 6c 66 69 6c 65 73 20  ile in $dlfiles 
a460: 24 64 6c 70 72 65 66 69 6c 65 73 3b 20 64 6f 0a  $dlprefiles; do.
a470: 09 20 20 63 61 73 65 20 24 66 69 6c 65 20 69 6e  .  case $file in
a480: 0a 09 20 20 2a 2e 6c 61 29 20 3b 3b 0a 09 20 20  ..  *.la) ;;..  
a490: 2a 29 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24  *)..    $echo "$
a4a0: 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 62 72 61 72  modename: librar
a4b0: 69 65 73 20 63 61 6e 20 5c 60 2d 64 6c 6f 70 65  ies can \`-dlope
a4c0: 6e 27 20 6f 6e 6c 79 20 6c 69 62 74 6f 6f 6c 20  n' only libtool 
a4d0: 6c 69 62 72 61 72 69 65 73 3a 20 24 66 69 6c 65  libraries: $file
a4e0: 22 20 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74  " 1>&2..    exit
a4f0: 20 31 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73   1..    ;;..  es
a500: 61 63 0a 09 64 6f 6e 65 0a 09 3b 3b 0a 20 20 20  ac..done..;;.   
a510: 20 70 72 6f 67 29 0a 09 63 6f 6d 70 69 6c 65 5f   prog)..compile_
a520: 64 65 70 6c 69 62 73 3d 0a 09 66 69 6e 61 6c 69  deplibs=..finali
a530: 7a 65 5f 64 65 70 6c 69 62 73 3d 0a 09 61 6c 6c  ze_deplibs=..all
a540: 64 65 70 6c 69 62 73 3d 6e 6f 0a 09 6e 65 77 64  deplibs=no..newd
a550: 6c 66 69 6c 65 73 3d 0a 09 6e 65 77 64 6c 70 72  lfiles=..newdlpr
a560: 65 66 69 6c 65 73 3d 0a 09 70 61 73 73 65 73 3d  efiles=..passes=
a570: 22 63 6f 6e 76 20 73 63 61 6e 20 64 6c 6f 70 65  "conv scan dlope
a580: 6e 20 64 6c 70 72 65 6f 70 65 6e 20 6c 69 6e 6b  n dlpreopen link
a590: 22 0a 09 3b 3b 0a 20 20 20 20 2a 29 20 20 70 61  "..;;.    *)  pa
a5a0: 73 73 65 73 3d 22 63 6f 6e 76 22 0a 09 3b 3b 0a  sses="conv"..;;.
a5b0: 20 20 20 20 65 73 61 63 0a 20 20 20 20 66 6f 72      esac.    for
a5c0: 20 70 61 73 73 20 69 6e 20 24 70 61 73 73 65 73   pass in $passes
a5d0: 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20 74 65  ; do.      if te
a5e0: 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70  st $linkmode = p
a5f0: 72 6f 67 3b 20 74 68 65 6e 0a 09 23 20 44 65 74  rog; then..# Det
a600: 65 72 6d 69 6e 65 20 77 68 69 63 68 20 66 69 6c  ermine which fil
a610: 65 73 20 74 6f 20 70 72 6f 63 65 73 73 0a 09 63  es to process..c
a620: 61 73 65 20 24 70 61 73 73 20 69 6e 0a 09 64 6c  ase $pass in..dl
a630: 6f 70 65 6e 29 0a 09 20 20 6c 69 62 73 3d 22 24  open)..  libs="$
a640: 64 6c 66 69 6c 65 73 22 0a 09 20 20 73 61 76 65  dlfiles"..  save
a650: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
a660: 62 73 22 20 23 20 43 6f 6c 6c 65 63 74 20 64 6c  bs" # Collect dl
a670: 70 72 65 6f 70 65 6e 65 64 20 6c 69 62 72 61 72  preopened librar
a680: 69 65 73 0a 09 20 20 64 65 70 6c 69 62 73 3d 0a  ies..  deplibs=.
a690: 09 20 20 3b 3b 0a 09 64 6c 70 72 65 6f 70 65 6e  .  ;;..dlpreopen
a6a0: 29 20 6c 69 62 73 3d 22 24 64 6c 70 72 65 66 69  ) libs="$dlprefi
a6b0: 6c 65 73 22 20 3b 3b 0a 09 6c 69 6e 6b 29 20 6c  les" ;;..link) l
a6c0: 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 25 44  ibs="$deplibs %D
a6d0: 45 50 4c 49 42 53 25 20 24 64 65 70 65 6e 64 65  EPLIBS% $depende
a6e0: 6e 63 79 5f 6c 69 62 73 22 20 3b 3b 0a 09 65 73  ncy_libs" ;;..es
a6f0: 61 63 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  ac.      fi.    
a700: 20 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20    for deplib in 
a710: 24 6c 69 62 73 3b 20 64 6f 0a 09 6c 69 62 3d 0a  $libs; do..lib=.
a720: 09 66 6f 75 6e 64 3d 6e 6f 0a 09 63 61 73 65 20  .found=no..case 
a730: 24 64 65 70 6c 69 62 20 69 6e 0a 09 2d 6c 2a 29  $deplib in..-l*)
a740: 0a 09 20 20 69 66 20 74 65 73 74 20 24 6c 69 6e  ..  if test $lin
a750: 6b 6d 6f 64 65 20 3d 20 6f 6c 64 6c 69 62 20 26  kmode = oldlib &
a760: 26 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65  & test $linkmode
a770: 20 3d 20 6f 62 6a 3b 20 74 68 65 6e 0a 09 20 20   = obj; then..  
a780: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
a790: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
a7a0: 6c 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  l' is ignored fo
a7b0: 72 20 61 72 63 68 69 76 65 73 2f 6f 62 6a 65 63  r archives/objec
a7c0: 74 73 3a 20 24 64 65 70 6c 69 62 22 20 31 3e 26  ts: $deplib" 1>&
a7d0: 32 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a  2..    continue.
a7e0: 09 20 20 66 69 0a 09 20 20 69 66 20 74 65 73 74  .  fi..  if test
a7f0: 20 24 70 61 73 73 20 3d 20 63 6f 6e 76 3b 20 74   $pass = conv; t
a800: 68 65 6e 0a 09 20 20 20 20 64 65 70 6c 69 62 73  hen..    deplibs
a810: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
a820: 62 73 22 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75  bs"..    continu
a830: 65 0a 09 20 20 66 69 0a 09 20 20 6e 61 6d 65 3d  e..  fi..  name=
a840: 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c 69 62  `$echo "X$deplib
a850: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f  " | $Xsed -e 's/
a860: 5e 2d 6c 2f 2f 27 60 0a 09 20 20 66 6f 72 20 73  ^-l//'`..  for s
a870: 65 61 72 63 68 64 69 72 20 69 6e 20 24 6e 65 77  earchdir in $new
a880: 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20  lib_search_path 
a890: 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
a8a0: 20 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68   $sys_lib_search
a8b0: 5f 70 61 74 68 20 24 73 68 6c 69 62 5f 73 65 61  _path $shlib_sea
a8c0: 72 63 68 5f 70 61 74 68 3b 20 64 6f 0a 09 20 20  rch_path; do..  
a8d0: 20 20 23 20 53 65 61 72 63 68 20 74 68 65 20 6c    # Search the l
a8e0: 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 0a 09  ibtool library..
a8f0: 20 20 20 20 6c 69 62 3d 22 24 73 65 61 72 63 68      lib="$search
a900: 64 69 72 2f 6c 69 62 24 7b 6e 61 6d 65 7d 2e 6c  dir/lib${name}.l
a910: 61 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  a"..    if test 
a920: 2d 66 20 22 24 6c 69 62 22 3b 20 74 68 65 6e 0a  -f "$lib"; then.
a930: 09 20 20 20 20 20 20 66 6f 75 6e 64 3d 79 65 73  .      found=yes
a940: 0a 09 20 20 20 20 20 20 62 72 65 61 6b 0a 09 20  ..      break.. 
a950: 20 20 20 66 69 0a 09 20 20 64 6f 6e 65 0a 09 20     fi..  done.. 
a960: 20 69 66 20 74 65 73 74 20 22 24 66 6f 75 6e 64   if test "$found
a970: 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  " != yes; then..
a980: 20 20 20 20 23 20 64 65 70 6c 69 62 20 64 6f 65      # deplib doe
a990: 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20  sn't seem to be 
a9a0: 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  a libtool librar
a9b0: 79 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  y..    if test "
a9c0: 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22  $linkmode,$pass"
a9d0: 20 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20   = "prog,link"; 
a9e0: 74 68 65 6e 0a 09 20 20 20 20 20 20 63 6f 6d 70  then..      comp
a9f0: 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65  ile_deplibs="$de
aa00: 70 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65  plib $compile_de
aa10: 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20 66 69  plibs"..      fi
aa20: 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22  nalize_deplibs="
aa30: 24 64 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a  $deplib $finaliz
aa40: 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20  e_deplibs"..    
aa50: 65 6c 73 65 0a 09 20 20 20 20 20 20 64 65 70 6c  else..      depl
aa60: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65  ibs="$deplib $de
aa70: 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20 74 65  plibs"..      te
aa80: 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6c  st $linkmode = l
aa90: 69 62 20 26 26 20 6e 65 77 64 65 70 65 6e 64 65  ib && newdepende
aaa0: 6e 63 79 5f 6c 69 62 73 3d 22 24 64 65 70 6c 69  ncy_libs="$depli
aab0: 62 20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79  b $newdependency
aac0: 5f 6c 69 62 73 22 0a 09 20 20 20 20 66 69 0a 09  _libs"..    fi..
aad0: 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20      continue..  
aae0: 66 69 0a 09 20 20 3b 3b 20 23 20 2d 6c 0a 09 2d  fi..  ;; # -l..-
aaf0: 4c 2a 29 0a 09 20 20 63 61 73 65 20 24 6c 69 6e  L*)..  case $lin
ab00: 6b 6d 6f 64 65 20 69 6e 0a 09 20 20 6c 69 62 29  kmode in..  lib)
ab10: 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24  ..    deplibs="$
ab20: 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22  deplib $deplibs"
ab30: 0a 09 20 20 20 20 74 65 73 74 20 24 70 61 73 73  ..    test $pass
ab40: 20 3d 20 63 6f 6e 76 20 26 26 20 63 6f 6e 74 69   = conv && conti
ab50: 6e 75 65 0a 09 20 20 20 20 6e 65 77 64 65 70 65  nue..    newdepe
ab60: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64 65  ndency_libs="$de
ab70: 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64 65  plib $newdepende
ab80: 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 20 20 6e  ncy_libs"..    n
ab90: 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ewlib_search_pat
aba0: 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63  h="$newlib_searc
abb0: 68 5f 70 61 74 68 20 22 60 24 65 63 68 6f 20 22  h_path "`$echo "
abc0: 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65  X$deplib" | $Xse
abd0: 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f 27 60 0a  d -e 's/^-L//'`.
abe0: 09 20 20 20 20 3b 3b 0a 09 20 20 70 72 6f 67 29  .    ;;..  prog)
abf0: 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 24 70  ..    if test $p
ac00: 61 73 73 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e  ass = conv; then
ac10: 0a 09 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d  ..      deplibs=
ac20: 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62  "$deplib $deplib
ac30: 73 22 0a 09 20 20 20 20 20 20 63 6f 6e 74 69 6e  s"..      contin
ac40: 75 65 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  ue..    fi..    
ac50: 69 66 20 74 65 73 74 20 24 70 61 73 73 20 3d 20  if test $pass = 
ac60: 73 63 61 6e 3b 20 74 68 65 6e 0a 09 20 20 20 20  scan; then..    
ac70: 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c    deplibs="$depl
ac80: 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20  ib $deplibs"..  
ac90: 20 20 20 20 6e 65 77 6c 69 62 5f 73 65 61 72 63      newlib_searc
aca0: 68 5f 70 61 74 68 3d 22 24 6e 65 77 6c 69 62 5f  h_path="$newlib_
acb0: 73 65 61 72 63 68 5f 70 61 74 68 20 22 60 24 65  search_path "`$e
acc0: 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c  cho "X$deplib" |
acd0: 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 4c   $Xsed -e 's/^-L
ace0: 2f 2f 27 60 0a 09 20 20 20 20 65 6c 73 65 0a 09  //'`..    else..
acf0: 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64 65        compile_de
ad00: 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24  plibs="$deplib $
ad10: 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22  compile_deplibs"
ad20: 0a 09 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65  ..      finalize
ad30: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
ad40: 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
ad50: 69 62 73 22 0a 09 20 20 20 20 66 69 0a 09 20 20  ibs"..    fi..  
ad60: 20 20 3b 3b 0a 09 20 20 2a 29 0a 09 20 20 20 20    ;;..  *)..    
ad70: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
ad80: 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 4c 27  : warning: \`-L'
ad90: 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20   is ignored for 
ada0: 61 72 63 68 69 76 65 73 2f 6f 62 6a 65 63 74 73  archives/objects
adb0: 3a 20 24 64 65 70 6c 69 62 22 20 31 3e 26 32 0a  : $deplib" 1>&2.
adc0: 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 20  .    ;;..  esac 
add0: 23 20 6c 69 6e 6b 6d 6f 64 65 0a 09 20 20 63 6f  # linkmode..  co
ade0: 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 20 23 20 2d  ntinue..  ;; # -
adf0: 4c 0a 09 2d 52 2a 29 0a 09 20 20 69 66 20 74 65  L..-R*)..  if te
ae00: 73 74 20 24 70 61 73 73 20 3d 20 6c 69 6e 6b 3b  st $pass = link;
ae10: 20 74 68 65 6e 0a 09 20 20 20 20 64 69 72 3d 60   then..    dir=`
ae20: 24 65 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22  $echo "X$deplib"
ae30: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5e   | $Xsed -e 's/^
ae40: 2d 52 2f 2f 27 60 0a 09 20 20 20 20 23 20 4d 61  -R//'`..    # Ma
ae50: 6b 65 20 73 75 72 65 20 74 68 65 20 78 72 70 61  ke sure the xrpa
ae60: 74 68 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79  th contains only
ae70: 20 75 6e 69 71 75 65 20 64 69 72 65 63 74 6f 72   unique director
ae80: 69 65 73 2e 0a 09 20 20 20 20 63 61 73 65 20 22  ies...    case "
ae90: 24 78 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20  $xrpath " in..  
aea0: 20 20 2a 22 20 24 64 69 72 20 22 2a 29 20 3b 3b    *" $dir "*) ;;
aeb0: 0a 09 20 20 20 20 2a 29 20 78 72 70 61 74 68 3d  ..    *) xrpath=
aec0: 22 24 78 72 70 61 74 68 20 24 64 69 72 22 20 3b  "$xrpath $dir" ;
aed0: 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 66  ;..    esac..  f
aee0: 69 0a 09 20 20 64 65 70 6c 69 62 73 3d 22 24 64  i..  deplibs="$d
aef0: 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a  eplib $deplibs".
af00: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b  .  continue..  ;
af10: 3b 0a 09 2a 2e 6c 61 29 20 6c 69 62 3d 22 24 64  ;..*.la) lib="$d
af20: 65 70 6c 69 62 22 20 3b 3b 0a 09 2a 2e 24 6c 69  eplib" ;;..*.$li
af30: 62 65 78 74 29 0a 09 20 20 69 66 20 74 65 73 74  bext)..  if test
af40: 20 24 70 61 73 73 20 3d 20 63 6f 6e 76 3b 20 74   $pass = conv; t
af50: 68 65 6e 0a 09 20 20 20 20 64 65 70 6c 69 62 73  hen..    deplibs
af60: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
af70: 62 73 22 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75  bs"..    continu
af80: 65 0a 09 20 20 66 69 0a 09 20 20 63 61 73 65 20  e..  fi..  case 
af90: 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a 09 20 20  $linkmode in..  
afa0: 6c 69 62 29 0a 09 20 20 20 20 69 66 20 74 65 73  lib)..    if tes
afb0: 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63  t "$deplibs_chec
afc0: 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73  k_method" != pas
afd0: 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20  s_all; then..   
afe0: 20 20 20 65 63 68 6f 0a 09 20 20 20 20 20 20 65     echo..      e
aff0: 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67  cho "*** Warning
b000: 3a 20 54 72 79 69 6e 67 20 74 6f 20 6c 69 6e 6b  : Trying to link
b010: 20 77 69 74 68 20 73 74 61 74 69 63 20 6c 69 62   with static lib
b020: 20 61 72 63 68 69 76 65 20 24 64 65 70 6c 69 62   archive $deplib
b030: 2e 22 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22  ."..      echo "
b040: 2a 2a 2a 20 49 20 68 61 76 65 20 74 68 65 20 63  *** I have the c
b050: 61 70 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b  apability to mak
b060: 65 20 74 68 61 74 20 6c 69 62 72 61 72 79 20 61  e that library a
b070: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e  utomatically lin
b080: 6b 20 69 6e 20 77 68 65 6e 22 0a 09 20 20 20 20  k in when"..    
b090: 20 20 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75 20    echo "*** you 
b0a0: 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69 62  link to this lib
b0b0: 72 61 72 79 2e 20 20 42 75 74 20 49 20 63 61 6e  rary.  But I can
b0c0: 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66   only do this if
b0d0: 20 79 6f 75 20 68 61 76 65 20 61 22 0a 09 20 20   you have a"..  
b0e0: 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 73 68      echo "*** sh
b0f0: 61 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20  ared version of 
b100: 74 68 65 20 6c 69 62 72 61 72 79 2c 20 77 68 69  the library, whi
b110: 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 70  ch you do not ap
b120: 70 65 61 72 20 74 6f 20 68 61 76 65 22 0a 09 20  pear to have".. 
b130: 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 62       echo "*** b
b140: 65 63 61 75 73 65 20 74 68 65 20 66 69 6c 65 20  ecause the file 
b150: 65 78 74 65 6e 73 69 6f 6e 73 20 2e 24 6c 69 62  extensions .$lib
b160: 65 78 74 20 6f 66 20 74 68 69 73 20 61 72 67 75  ext of this argu
b170: 6d 65 6e 74 20 6d 61 6b 65 73 20 6d 65 20 62 65  ment makes me be
b180: 6c 69 65 76 65 22 0a 09 20 20 20 20 20 20 65 63  lieve"..      ec
b190: 68 6f 20 22 2a 2a 2a 20 74 68 61 74 20 69 74 20  ho "*** that it 
b1a0: 69 73 20 6a 75 73 74 20 61 20 73 74 61 74 69 63  is just a static
b1b0: 20 61 72 63 68 69 76 65 20 74 68 61 74 20 49 20   archive that I 
b1c0: 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 64 20  should not used 
b1d0: 68 65 72 65 2e 22 0a 09 20 20 20 20 65 6c 73 65  here."..    else
b1e0: 0a 09 20 20 20 20 20 20 65 63 68 6f 0a 09 20 20  ..      echo..  
b1f0: 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57 61      echo "*** Wa
b200: 72 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74  rning: Linking t
b210: 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  he shared librar
b220: 79 20 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73  y $output agains
b230: 74 20 74 68 65 22 0a 09 20 20 20 20 20 20 65 63  t the"..      ec
b240: 68 6f 20 22 2a 2a 2a 20 73 74 61 74 69 63 20 6c  ho "*** static l
b250: 69 62 72 61 72 79 20 24 64 65 70 6c 69 62 20 69  ibrary $deplib i
b260: 73 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65 21 22  s not portable!"
b270: 0a 09 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d  ..      deplibs=
b280: 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62  "$deplib $deplib
b290: 73 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  s"..    fi..    
b2a0: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b  continue..    ;;
b2b0: 0a 09 20 20 70 72 6f 67 29 0a 09 20 20 20 20 69  ..  prog)..    i
b2c0: 66 20 74 65 73 74 20 24 70 61 73 73 20 21 3d 20  f test $pass != 
b2d0: 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20  link; then..    
b2e0: 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c    deplibs="$depl
b2f0: 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20  ib $deplibs"..  
b300: 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 63 6f    else..      co
b310: 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24  mpile_deplibs="$
b320: 64 65 70 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f  deplib $compile_
b330: 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20  deplibs"..      
b340: 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73  finalize_deplibs
b350: 3d 22 24 64 65 70 6c 69 62 20 24 66 69 6e 61 6c  ="$deplib $final
b360: 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ize_deplibs"..  
b370: 20 20 66 69 0a 09 20 20 20 20 63 6f 6e 74 69 6e    fi..    contin
b380: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  ue..    ;;..  es
b390: 61 63 20 23 20 6c 69 6e 6b 6d 6f 64 65 0a 09 20  ac # linkmode.. 
b3a0: 20 3b 3b 20 23 20 2a 2e 24 6c 69 62 65 78 74 0a   ;; # *.$libext.
b3b0: 09 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62 6a 65 78  .*.lo | *.$objex
b3c0: 74 29 0a 09 20 20 69 66 20 74 65 73 74 20 24 70  t)..  if test $p
b3d0: 61 73 73 20 3d 20 64 6c 70 72 65 6f 70 65 6e 20  ass = dlpreopen 
b3e0: 7c 7c 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e  || test "$dlopen
b3f0: 5f 73 75 70 70 6f 72 74 22 20 21 3d 20 79 65 73  _support" != yes
b400: 20 7c 7c 20 74 65 73 74 20 22 24 62 75 69 6c 64   || test "$build
b410: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
b420: 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 23   no; then..    #
b430: 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20   If there is no 
b440: 64 6c 6f 70 65 6e 20 73 75 70 70 6f 72 74 20 6f  dlopen support o
b450: 72 20 77 65 27 72 65 20 6c 69 6e 6b 69 6e 67 20  r we're linking 
b460: 73 74 61 74 69 63 61 6c 6c 79 2c 0a 09 20 20 20  statically,..   
b470: 20 23 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72   # we need to pr
b480: 65 6c 6f 61 64 2e 0a 09 20 20 20 20 6e 65 77 64  eload...    newd
b490: 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64  lprefiles="$newd
b4a0: 6c 70 72 65 66 69 6c 65 73 20 24 64 65 70 6c 69  lprefiles $depli
b4b0: 62 22 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65 5f  b"..    compile_
b4c0: 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  deplibs="$deplib
b4d0: 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62   $compile_deplib
b4e0: 73 22 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a 65  s"..    finalize
b4f0: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
b500: 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
b510: 69 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ibs"..  else..  
b520: 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 22 24 6e    newdlfiles="$n
b530: 65 77 64 6c 66 69 6c 65 73 20 24 64 65 70 6c 69  ewdlfiles $depli
b540: 62 22 0a 09 20 20 66 69 0a 09 20 20 63 6f 6e 74  b"..  fi..  cont
b550: 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 25 44 45 50  inue..  ;;..%DEP
b560: 4c 49 42 53 25 29 0a 09 20 20 61 6c 6c 64 65 70  LIBS%)..  alldep
b570: 6c 69 62 73 3d 79 65 73 0a 09 20 20 63 6f 6e 74  libs=yes..  cont
b580: 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 65 73 61 63  inue..  ;;..esac
b590: 20 23 20 63 61 73 65 20 24 64 65 70 6c 69 62 0a   # case $deplib.
b5a0: 09 69 66 20 74 65 73 74 20 24 66 6f 75 6e 64 20  .if test $found 
b5b0: 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20 2d 66  = yes || test -f
b5c0: 20 22 24 6c 69 62 22 3b 20 74 68 65 6e 20 3a 0a   "$lib"; then :.
b5d0: 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22  .else..  $echo "
b5e0: 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f  $modename: canno
b5f0: 74 20 66 69 6e 64 20 74 68 65 20 6c 69 62 72 61  t find the libra
b600: 72 79 20 5c 60 24 6c 69 62 27 22 20 31 3e 26 32  ry \`$lib'" 1>&2
b610: 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a 0a  ..  exit 1..fi..
b620: 09 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20  .# Check to see 
b630: 74 68 61 74 20 74 68 69 73 20 72 65 61 6c 6c 79  that this really
b640: 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c 20 61 72   is a libtool ar
b650: 63 68 69 76 65 2e 0a 09 69 66 20 28 24 7b 53 45  chive...if (${SE
b660: 44 7d 20 2d 65 20 27 32 71 27 20 24 6c 69 62 20  D} -e '2q' $lib 
b670: 7c 20 65 67 72 65 70 20 22 5e 23 20 47 65 6e 65  | egrep "^# Gene
b680: 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b  rated by .*$PACK
b690: 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c  AGE") >/dev/null
b6a0: 20 32 3e 26 31 3b 20 74 68 65 6e 20 3a 0a 09 65   2>&1; then :..e
b6b0: 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  lse..  $echo "$m
b6c0: 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27  odename: \`$lib'
b6d0: 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20   is not a valid 
b6e0: 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 22  libtool archive"
b6f0: 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a   1>&2..  exit 1.
b700: 09 66 69 0a 0a 09 6c 61 64 69 72 3d 60 24 65 63  .fi...ladir=`$ec
b710: 68 6f 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73  ho "X$lib" | $Xs
b720: 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24  ed -e 's%/[^/]*$
b730: 25 25 27 60 0a 09 74 65 73 74 20 22 58 24 6c 61  %%'`..test "X$la
b740: 64 69 72 22 20 3d 20 22 58 24 6c 69 62 22 20 26  dir" = "X$lib" &
b750: 26 20 6c 61 64 69 72 3d 22 2e 22 0a 0a 09 64 6c  & ladir="."...dl
b760: 6e 61 6d 65 3d 0a 09 64 6c 6f 70 65 6e 3d 0a 09  name=..dlopen=..
b770: 64 6c 70 72 65 6f 70 65 6e 3d 0a 09 6c 69 62 64  dlpreopen=..libd
b780: 69 72 3d 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d  ir=..library_nam
b790: 65 73 3d 0a 09 6f 6c 64 5f 6c 69 62 72 61 72 79  es=..old_library
b7a0: 3d 0a 09 23 20 49 66 20 74 68 65 20 6c 69 62 72  =..# If the libr
b7b0: 61 72 79 20 77 61 73 20 69 6e 73 74 61 6c 6c 65  ary was installe
b7c0: 64 20 77 69 74 68 20 61 6e 20 6f 6c 64 20 72 65  d with an old re
b7d0: 6c 65 61 73 65 20 6f 66 20 6c 69 62 74 6f 6f 6c  lease of libtool
b7e0: 2c 0a 09 23 20 69 74 20 77 69 6c 6c 20 6e 6f 74  ,..# it will not
b7f0: 20 72 65 64 65 66 69 6e 65 20 76 61 72 69 61 62   redefine variab
b800: 6c 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 09 69  le installed...i
b810: 6e 73 74 61 6c 6c 65 64 3d 79 65 73 0a 0a 09 23  nstalled=yes...#
b820: 20 52 65 61 64 20 74 68 65 20 2e 6c 61 20 66 69   Read the .la fi
b830: 6c 65 0a 09 63 61 73 65 20 24 6c 69 62 20 69 6e  le..case $lib in
b840: 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20  ..*/* | *\\*) . 
b850: 24 6c 69 62 20 3b 3b 0a 09 2a 29 20 2e 20 2e 2f  $lib ;;..*) . ./
b860: 24 6c 69 62 20 3b 3b 0a 09 65 73 61 63 0a 0a 09  $lib ;;..esac...
b870: 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f  if test "$linkmo
b880: 64 65 2c 24 70 61 73 73 22 20 3d 20 22 6c 69 62  de,$pass" = "lib
b890: 2c 6c 69 6e 6b 22 20 7c 7c 0a 09 20 20 20 74 65  ,link" ||..   te
b8a0: 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70  st "$linkmode,$p
b8b0: 61 73 73 22 20 3d 20 22 70 72 6f 67 2c 73 63 61  ass" = "prog,sca
b8c0: 6e 22 20 7c 7c 0a 09 20 20 20 7b 20 74 65 73 74  n" ||..   { test
b8d0: 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6f 6c 64   $linkmode = old
b8e0: 6c 69 62 20 26 26 20 74 65 73 74 20 24 6c 69 6e  lib && test $lin
b8f0: 6b 6d 6f 64 65 20 3d 20 6f 62 6a 3b 20 7d 3b 20  kmode = obj; }; 
b900: 74 68 65 6e 0a 09 20 20 20 23 20 41 64 64 20 64  then..   # Add d
b910: 6c 5b 70 72 65 5d 6f 70 65 6e 65 64 20 66 69 6c  l[pre]opened fil
b920: 65 73 20 6f 66 20 64 65 70 6c 69 62 0a 09 20 20  es of deplib..  
b930: 74 65 73 74 20 2d 6e 20 22 24 64 6c 6f 70 65 6e  test -n "$dlopen
b940: 22 20 26 26 20 64 6c 66 69 6c 65 73 3d 22 24 64  " && dlfiles="$d
b950: 6c 66 69 6c 65 73 20 24 64 6c 6f 70 65 6e 22 0a  lfiles $dlopen".
b960: 09 20 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 70  .  test -n "$dlp
b970: 72 65 6f 70 65 6e 22 20 26 26 20 64 6c 70 72 65  reopen" && dlpre
b980: 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c  files="$dlprefil
b990: 65 73 20 24 64 6c 70 72 65 6f 70 65 6e 22 0a 09  es $dlpreopen"..
b9a0: 66 69 0a 0a 09 69 66 20 74 65 73 74 20 24 70 61  fi...if test $pa
b9b0: 73 73 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e 0a  ss = conv; then.
b9c0: 09 20 20 23 20 4f 6e 6c 79 20 63 68 65 63 6b 20  .  # Only check 
b9d0: 66 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  for convenience 
b9e0: 6c 69 62 72 61 72 69 65 73 0a 09 20 20 64 65 70  libraries..  dep
b9f0: 6c 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70 6c  libs="$lib $depl
ba00: 69 62 73 22 0a 09 20 20 69 66 20 74 65 73 74 20  ibs"..  if test 
ba10: 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68  -z "$libdir"; th
ba20: 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  en..    if test 
ba30: 2d 7a 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79  -z "$old_library
ba40: 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24  "; then..      $
ba50: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
ba60: 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d   cannot find nam
ba70: 65 20 6f 66 20 6c 69 6e 6b 20 6c 69 62 72 61 72  e of link librar
ba80: 79 20 66 6f 72 20 5c 60 24 6c 69 62 27 22 20 31  y for \`$lib'" 1
ba90: 3e 26 32 0a 09 20 20 20 20 20 20 65 78 69 74 20  >&2..      exit 
baa0: 31 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 23  1..    fi..    #
bab0: 20 49 74 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c   It is a libtool
bac0: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62   convenience lib
bad0: 72 61 72 79 2c 20 73 6f 20 61 64 64 20 69 6e 20  rary, so add in 
bae0: 69 74 73 20 6f 62 6a 65 63 74 73 2e 0a 09 20 20  its objects...  
baf0: 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24    convenience="$
bb00: 63 6f 6e 76 65 6e 69 65 6e 63 65 20 24 6c 61 64  convenience $lad
bb10: 69 72 2f 24 6f 62 6a 64 69 72 2f 24 6f 6c 64 5f  ir/$objdir/$old_
bb20: 6c 69 62 72 61 72 79 22 0a 09 20 20 20 20 6f 6c  library"..    ol
bb30: 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24  d_convenience="$
bb40: 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 20  old_convenience 
bb50: 24 6c 61 64 69 72 2f 24 6f 62 6a 64 69 72 2f 24  $ladir/$objdir/$
bb60: 6f 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 20 20  old_library"..  
bb70: 20 20 74 6d 70 5f 6c 69 62 73 3d 0a 09 20 20 20    tmp_libs=..   
bb80: 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24   for deplib in $
bb90: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b  dependency_libs;
bba0: 20 64 6f 0a 09 20 20 20 20 20 20 64 65 70 6c 69   do..      depli
bbb0: 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70  bs="$deplib $dep
bbc0: 6c 69 62 73 22 0a 20 20 20 20 20 20 20 20 20 20  libs".          
bbd0: 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64      if test "X$d
bbe0: 75 70 6c 69 63 61 74 65 5f 64 65 70 73 22 20 3d  uplicate_deps" =
bbf0: 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09   "Xyes" ; then..
bc00: 20 20 20 20 20 20 20 20 63 61 73 65 20 22 24 74          case "$t
bc10: 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20 20  mp_libs " in..  
bc20: 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62        *" $deplib
bc30: 20 22 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c   "*) specialdepl
bc40: 69 62 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70  ibs="$specialdep
bc50: 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b  libs $deplib" ;;
bc60: 0a 09 20 20 20 20 20 20 20 20 65 73 61 63 0a 20  ..        esac. 
bc70: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 0a               fi.
bc80: 09 20 20 20 20 20 20 74 6d 70 5f 6c 69 62 73 3d  .      tmp_libs=
bc90: 22 24 74 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c  "$tmp_libs $depl
bca0: 69 62 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20  ib"..    done.. 
bcb0: 20 65 6c 69 66 20 74 65 73 74 20 24 6c 69 6e 6b   elif test $link
bcc0: 6d 6f 64 65 20 21 3d 20 70 72 6f 67 20 26 26 20  mode != prog && 
bcd0: 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 21  test $linkmode !
bce0: 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09 20 20 20  = lib; then..   
bcf0: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
bd00: 65 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f  e: \`$lib' is no
bd10: 74 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  t a convenience 
bd20: 6c 69 62 72 61 72 79 22 20 31 3e 26 32 0a 09 20  library" 1>&2.. 
bd30: 20 20 20 65 78 69 74 20 31 0a 09 20 20 66 69 0a     exit 1..  fi.
bd40: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69 20  .  continue..fi 
bd50: 23 20 24 70 61 73 73 20 3d 20 63 6f 6e 76 0a 0a  # $pass = conv..
bd60: 09 23 20 47 65 74 20 74 68 65 20 6e 61 6d 65 20  .# Get the name 
bd70: 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 77  of the library w
bd80: 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a  e link against..
bd90: 09 6c 69 6e 6b 6c 69 62 3d 0a 09 66 6f 72 20 6c  .linklib=..for l
bda0: 20 69 6e 20 24 6f 6c 64 5f 6c 69 62 72 61 72 79   in $old_library
bdb0: 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3b   $library_names;
bdc0: 20 64 6f 0a 09 20 20 6c 69 6e 6b 6c 69 62 3d 22   do..  linklib="
bdd0: 24 6c 22 0a 09 64 6f 6e 65 0a 09 69 66 20 74 65  $l"..done..if te
bde0: 73 74 20 2d 7a 20 22 24 6c 69 6e 6b 6c 69 62 22  st -z "$linklib"
bdf0: 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20  ; then..  $echo 
be00: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e  "$modename: cann
be10: 6f 74 20 66 69 6e 64 20 6e 61 6d 65 20 6f 66 20  ot find name of 
be20: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 66 6f 72  link library for
be30: 20 5c 60 24 6c 69 62 27 22 20 31 3e 26 32 0a 09   \`$lib'" 1>&2..
be40: 20 20 65 78 69 74 20 31 0a 09 66 69 0a 0a 09 23    exit 1..fi...#
be50: 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 77 61   This library wa
be60: 73 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68  s specified with
be70: 20 2d 64 6c 6f 70 65 6e 2e 0a 09 69 66 20 74 65   -dlopen...if te
be80: 73 74 20 24 70 61 73 73 20 3d 20 64 6c 6f 70 65  st $pass = dlope
be90: 6e 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65  n; then..  if te
bea0: 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b  st -z "$libdir";
beb0: 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f   then..    $echo
bec0: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e   "$modename: can
bed0: 6e 6f 74 20 2d 64 6c 6f 70 65 6e 20 61 20 63 6f  not -dlopen a co
bee0: 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62 72 61 72  nvenience librar
bef0: 79 3a 20 5c 60 24 6c 69 62 27 22 20 31 3e 26 32  y: \`$lib'" 1>&2
bf00: 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20  ..    exit 1..  
bf10: 66 69 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a  fi..  if test -z
bf20: 20 22 24 64 6c 6e 61 6d 65 22 20 7c 7c 20 74 65   "$dlname" || te
bf30: 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73 75 70 70  st "$dlopen_supp
bf40: 6f 72 74 22 20 21 3d 20 79 65 73 20 7c 7c 20 74  ort" != yes || t
bf50: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
bf60: 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 6e 6f 3b 20  ool_libs" = no; 
bf70: 74 68 65 6e 0a 09 20 20 20 20 23 20 49 66 20 74  then..    # If t
bf80: 68 65 72 65 20 69 73 20 6e 6f 20 64 6c 6e 61 6d  here is no dlnam
bf90: 65 2c 20 6e 6f 20 64 6c 6f 70 65 6e 20 73 75 70  e, no dlopen sup
bfa0: 70 6f 72 74 20 6f 72 20 77 65 27 72 65 20 6c 69  port or we're li
bfb0: 6e 6b 69 6e 67 0a 09 20 20 20 20 23 20 73 74 61  nking..    # sta
bfc0: 74 69 63 61 6c 6c 79 2c 20 77 65 20 6e 65 65 64  tically, we need
bfd0: 20 74 6f 20 70 72 65 6c 6f 61 64 2e 0a 09 20 20   to preload...  
bfe0: 20 20 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 64    dlprefiles="$d
bff0: 6c 70 72 65 66 69 6c 65 73 20 24 6c 69 62 22 0a  lprefiles $lib".
c000: 09 20 20 65 6c 73 65 0a 09 20 20 20 20 6e 65 77  .  else..    new
c010: 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66  dlfiles="$newdlf
c020: 69 6c 65 73 20 24 6c 69 62 22 0a 09 20 20 66 69  iles $lib"..  fi
c030: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69  ..  continue..fi
c040: 20 23 20 24 70 61 73 73 20 3d 20 64 6c 6f 70 65   # $pass = dlope
c050: 6e 0a 0a 09 23 20 57 65 20 6e 65 65 64 20 61 6e  n...# We need an
c060: 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a   absolute path..
c070: 09 63 61 73 65 20 24 6c 61 64 69 72 20 69 6e 0a  .case $ladir in.
c080: 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d  .[\\/]* | [A-Za-
c090: 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 5f 6c  z]:[\\/]*) abs_l
c0a0: 61 64 69 72 3d 22 24 6c 61 64 69 72 22 20 3b 3b  adir="$ladir" ;;
c0b0: 0a 09 2a 29 0a 09 20 20 61 62 73 5f 6c 61 64 69  ..*)..  abs_ladi
c0c0: 72 3d 60 63 64 20 22 24 6c 61 64 69 72 22 20 26  r=`cd "$ladir" &
c0d0: 26 20 70 77 64 60 0a 09 20 20 69 66 20 74 65 73  & pwd`..  if tes
c0e0: 74 20 2d 7a 20 22 24 61 62 73 5f 6c 61 64 69 72  t -z "$abs_ladir
c0f0: 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63  "; then..    $ec
c100: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77  ho "$modename: w
c110: 61 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 64  arning: cannot d
c120: 65 74 65 72 6d 69 6e 65 20 61 62 73 6f 6c 75 74  etermine absolut
c130: 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  e directory name
c140: 20 6f 66 20 5c 60 24 6c 61 64 69 72 27 22 20 31   of \`$ladir'" 1
c150: 3e 26 32 0a 09 20 20 20 20 24 65 63 68 6f 20 22  >&2..    $echo "
c160: 24 6d 6f 64 65 6e 61 6d 65 3a 20 70 61 73 73 69  $modename: passi
c170: 6e 67 20 69 74 20 6c 69 74 65 72 61 6c 6c 79 20  ng it literally 
c180: 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 2c 20 61  to the linker, a
c190: 6c 74 68 6f 75 67 68 20 69 74 20 6d 69 67 68 74  lthough it might
c1a0: 20 66 61 69 6c 22 20 31 3e 26 32 0a 09 20 20 20   fail" 1>&2..   
c1b0: 20 61 62 73 5f 6c 61 64 69 72 3d 22 24 6c 61 64   abs_ladir="$lad
c1c0: 69 72 22 0a 09 20 20 66 69 0a 09 20 20 3b 3b 0a  ir"..  fi..  ;;.
c1d0: 09 65 73 61 63 0a 09 6c 61 6e 61 6d 65 3d 60 24  .esac..laname=`$
c1e0: 65 63 68 6f 20 22 58 24 6c 69 62 22 20 7c 20 24  echo "X$lib" | $
c1f0: 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
c200: 25 27 60 0a 0a 09 23 20 46 69 6e 64 20 74 68 65  %'`...# Find the
c210: 20 72 65 6c 65 76 61 6e 74 20 6f 62 6a 65 63 74   relevant object
c220: 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 6c   directory and l
c230: 69 62 72 61 72 79 20 6e 61 6d 65 2e 0a 09 69 66  ibrary name...if
c240: 20 74 65 73 74 20 22 58 24 69 6e 73 74 61 6c 6c   test "X$install
c250: 65 64 22 20 3d 20 58 79 65 73 3b 20 74 68 65 6e  ed" = Xyes; then
c260: 0a 09 20 20 69 66 20 74 65 73 74 20 21 20 2d 66  ..  if test ! -f
c270: 20 22 24 6c 69 62 64 69 72 2f 24 6c 69 6e 6b 6c   "$libdir/$linkl
c280: 69 62 22 20 26 26 20 74 65 73 74 20 2d 66 20 22  ib" && test -f "
c290: 24 61 62 73 5f 6c 61 64 69 72 2f 24 6c 69 6e 6b  $abs_ladir/$link
c2a0: 6c 69 62 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  lib"; then..    
c2b0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
c2c0: 3a 20 77 61 72 6e 69 6e 67 3a 20 6c 69 62 72 61  : warning: libra
c2d0: 72 79 20 5c 60 24 6c 69 62 27 20 77 61 73 20 6d  ry \`$lib' was m
c2e0: 6f 76 65 64 2e 22 20 31 3e 26 32 0a 09 20 20 20  oved." 1>&2..   
c2f0: 20 64 69 72 3d 22 24 6c 61 64 69 72 22 0a 09 20   dir="$ladir".. 
c300: 20 20 20 61 62 73 64 69 72 3d 22 24 61 62 73 5f     absdir="$abs_
c310: 6c 61 64 69 72 22 0a 09 20 20 20 20 6c 69 62 64  ladir"..    libd
c320: 69 72 3d 22 24 61 62 73 5f 6c 61 64 69 72 22 0a  ir="$abs_ladir".
c330: 09 20 20 65 6c 73 65 0a 09 20 20 20 20 64 69 72  .  else..    dir
c340: 3d 22 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20  ="$libdir"..    
c350: 61 62 73 64 69 72 3d 22 24 6c 69 62 64 69 72 22  absdir="$libdir"
c360: 0a 09 20 20 66 69 0a 09 65 6c 73 65 0a 09 20 20  ..  fi..else..  
c370: 64 69 72 3d 22 24 6c 61 64 69 72 2f 24 6f 62 6a  dir="$ladir/$obj
c380: 64 69 72 22 0a 09 20 20 61 62 73 64 69 72 3d 22  dir"..  absdir="
c390: 24 61 62 73 5f 6c 61 64 69 72 2f 24 6f 62 6a 64  $abs_ladir/$objd
c3a0: 69 72 22 0a 09 20 20 23 20 52 65 6d 6f 76 65 20  ir"..  # Remove 
c3b0: 74 68 69 73 20 73 65 61 72 63 68 20 70 61 74 68  this search path
c3c0: 20 6c 61 74 65 72 0a 09 20 20 6e 6f 74 69 6e 73   later..  notins
c3d0: 74 5f 70 61 74 68 3d 22 24 6e 6f 74 69 6e 73 74  t_path="$notinst
c3e0: 5f 70 61 74 68 20 24 61 62 73 5f 6c 61 64 69 72  _path $abs_ladir
c3f0: 22 0a 09 66 69 20 23 20 24 69 6e 73 74 61 6c 6c  "..fi # $install
c400: 65 64 20 3d 20 79 65 73 0a 09 6e 61 6d 65 3d 60  ed = yes..name=`
c410: 24 65 63 68 6f 20 22 58 24 6c 61 6e 61 6d 65 22  $echo "X$laname"
c420: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5c   | $Xsed -e 's/\
c430: 2e 6c 61 24 2f 2f 27 20 2d 65 20 27 73 2f 5e 6c  .la$//' -e 's/^l
c440: 69 62 2f 2f 27 60 0a 0a 09 23 20 54 68 69 73 20  ib//'`...# This 
c450: 6c 69 62 72 61 72 79 20 77 61 73 20 73 70 65 63  library was spec
c460: 69 66 69 65 64 20 77 69 74 68 20 2d 64 6c 70 72  ified with -dlpr
c470: 65 6f 70 65 6e 2e 0a 09 69 66 20 74 65 73 74 20  eopen...if test 
c480: 24 70 61 73 73 20 3d 20 64 6c 70 72 65 6f 70 65  $pass = dlpreope
c490: 6e 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65  n; then..  if te
c4a0: 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b  st -z "$libdir";
c4b0: 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f   then..    $echo
c4c0: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e   "$modename: can
c4d0: 6e 6f 74 20 2d 64 6c 70 72 65 6f 70 65 6e 20 61  not -dlpreopen a
c4e0: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62   convenience lib
c4f0: 72 61 72 79 3a 20 5c 60 24 6c 69 62 27 22 20 31  rary: \`$lib'" 1
c500: 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a  >&2..    exit 1.
c510: 09 20 20 66 69 0a 09 20 20 23 20 50 72 65 66 65  .  fi..  # Prefe
c520: 72 20 75 73 69 6e 67 20 61 20 73 74 61 74 69 63  r using a static
c530: 20 6c 69 62 72 61 72 79 20 28 73 6f 20 74 68 61   library (so tha
c540: 74 20 6e 6f 20 73 69 6c 6c 79 20 5f 44 59 4e 41  t no silly _DYNA
c550: 4d 49 43 20 73 79 6d 62 6f 6c 73 0a 09 20 20 23  MIC symbols..  #
c560: 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f   are required to
c570: 20 6c 69 6e 6b 29 2e 0a 09 20 20 69 66 20 74 65   link)...  if te
c580: 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c 69 62 72  st -n "$old_libr
c590: 61 72 79 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ary"; then..    
c5a0: 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 3d 22 24  newdlprefiles="$
c5b0: 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 20 24 64  newdlprefiles $d
c5c0: 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22  ir/$old_library"
c5d0: 0a 09 20 20 23 20 4f 74 68 65 72 77 69 73 65 2c  ..  # Otherwise,
c5e0: 20 75 73 65 20 74 68 65 20 64 6c 6e 61 6d 65 2c   use the dlname,
c5f0: 20 73 6f 20 74 68 61 74 20 6c 74 5f 64 6c 6f 70   so that lt_dlop
c600: 65 6e 20 66 69 6e 64 73 20 69 74 2e 0a 09 20 20  en finds it...  
c610: 65 6c 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64  elif test -n "$d
c620: 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20  lname"; then..  
c630: 20 20 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 3d    newdlprefiles=
c640: 22 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 20  "$newdlprefiles 
c650: 24 64 69 72 2f 24 64 6c 6e 61 6d 65 22 0a 09 20  $dir/$dlname".. 
c660: 20 65 6c 73 65 0a 09 20 20 20 20 6e 65 77 64 6c   else..    newdl
c670: 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c  prefiles="$newdl
c680: 70 72 65 66 69 6c 65 73 20 24 64 69 72 2f 24 6c  prefiles $dir/$l
c690: 69 6e 6b 6c 69 62 22 0a 09 20 20 66 69 0a 09 66  inklib"..  fi..f
c6a0: 69 20 23 20 24 70 61 73 73 20 3d 20 64 6c 70 72  i # $pass = dlpr
c6b0: 65 6f 70 65 6e 0a 0a 09 69 66 20 74 65 73 74 20  eopen...if test 
c6c0: 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68  -z "$libdir"; th
c6d0: 65 6e 0a 09 20 20 23 20 4c 69 6e 6b 20 74 68 65  en..  # Link the
c6e0: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62   convenience lib
c6f0: 72 61 72 79 0a 09 20 20 69 66 20 74 65 73 74 20  rary..  if test 
c700: 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6c 69 62 3b  $linkmode = lib;
c710: 20 74 68 65 6e 0a 09 20 20 20 20 64 65 70 6c 69   then..    depli
c720: 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64 5f 6c 69  bs="$dir/$old_li
c730: 62 72 61 72 79 20 24 64 65 70 6c 69 62 73 22 0a  brary $deplibs".
c740: 09 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 6c  .  elif test "$l
c750: 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d  inkmode,$pass" =
c760: 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68   "prog,link"; th
c770: 65 6e 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65 5f  en..    compile_
c780: 64 65 70 6c 69 62 73 3d 22 24 64 69 72 2f 24 6f  deplibs="$dir/$o
c790: 6c 64 5f 6c 69 62 72 61 72 79 20 24 63 6f 6d 70  ld_library $comp
c7a0: 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ile_deplibs"..  
c7b0: 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69    finalize_depli
c7c0: 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64 5f 6c 69  bs="$dir/$old_li
c7d0: 62 72 61 72 79 20 24 66 69 6e 61 6c 69 7a 65 5f  brary $finalize_
c7e0: 64 65 70 6c 69 62 73 22 0a 09 20 20 65 6c 73 65  deplibs"..  else
c7f0: 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24  ..    deplibs="$
c800: 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20  lib $deplibs".. 
c810: 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a   fi..  continue.
c820: 09 66 69 0a 0a 09 69 66 20 74 65 73 74 20 24 6c  .fi...if test $l
c830: 69 6e 6b 6d 6f 64 65 20 3d 20 70 72 6f 67 20 26  inkmode = prog &
c840: 26 20 74 65 73 74 20 24 70 61 73 73 20 21 3d 20  & test $pass != 
c850: 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 6e 65  link; then..  ne
c860: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
c870: 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68  ="$newlib_search
c880: 5f 70 61 74 68 20 24 6c 61 64 69 72 22 0a 09 20  _path $ladir".. 
c890: 20 64 65 70 6c 69 62 73 3d 22 24 6c 69 62 20 24   deplibs="$lib $
c8a0: 64 65 70 6c 69 62 73 22 0a 0a 09 20 20 6c 69 6e  deplibs"...  lin
c8b0: 6b 61 6c 6c 64 65 70 6c 69 62 73 3d 6e 6f 0a 09  kalldeplibs=no..
c8c0: 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b    if test "$link
c8d0: 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 22 20 21 3d  _all_deplibs" !=
c8e0: 20 6e 6f 20 7c 7c 20 74 65 73 74 20 2d 7a 20 22   no || test -z "
c8f0: 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 22 20  $library_names" 
c900: 7c 7c 0a 09 20 20 20 20 20 74 65 73 74 20 22 24  ||..     test "$
c910: 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
c920: 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  bs" = no; then..
c930: 20 20 20 20 6c 69 6e 6b 61 6c 6c 64 65 70 6c 69      linkalldepli
c940: 62 73 3d 79 65 73 0a 09 20 20 66 69 0a 0a 09 20  bs=yes..  fi... 
c950: 20 74 6d 70 5f 6c 69 62 73 3d 0a 09 20 20 66 6f   tmp_libs=..  fo
c960: 72 20 64 65 70 6c 69 62 20 69 6e 20 24 64 65 70  r deplib in $dep
c970: 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b 20 64 6f  endency_libs; do
c980: 0a 09 20 20 20 20 63 61 73 65 20 24 64 65 70 6c  ..    case $depl
c990: 69 62 20 69 6e 0a 09 20 20 20 20 2d 4c 2a 29 20  ib in..    -L*) 
c9a0: 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
c9b0: 74 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72  th="$newlib_sear
c9c0: 63 68 5f 70 61 74 68 20 22 60 24 65 63 68 6f 20  ch_path "`$echo 
c9d0: 22 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73  "X$deplib" | $Xs
c9e0: 65 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f 27 60  ed -e 's/^-L//'`
c9f0: 3b 3b 20 23 23 23 20 74 65 73 74 73 75 69 74 65  ;; ### testsuite
ca00: 3a 20 73 6b 69 70 20 6e 65 73 74 65 64 20 71 75  : skip nested qu
ca10: 6f 74 69 6e 67 20 74 65 73 74 0a 09 20 20 20 20  oting test..    
ca20: 65 73 61 63 0a 09 20 20 20 20 23 20 4e 65 65 64  esac..    # Need
ca30: 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74   to link against
ca40: 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 79 5f   all dependency_
ca50: 6c 69 62 73 3f 0a 09 20 20 20 20 69 66 20 74 65  libs?..    if te
ca60: 73 74 20 24 6c 69 6e 6b 61 6c 6c 64 65 70 6c 69  st $linkalldepli
ca70: 62 73 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  bs = yes; then..
ca80: 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24        deplibs="$
ca90: 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22  deplib $deplibs"
caa0: 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20  ..    else..    
cab0: 20 20 23 20 4e 65 65 64 20 74 6f 20 68 61 72 64    # Need to hard
cac0: 63 6f 64 65 20 73 68 61 72 65 64 20 6c 69 62 72  code shared libr
cad0: 61 72 79 20 70 61 74 68 73 0a 09 20 20 20 20 20  ary paths..     
cae0: 20 23 20 6f 72 2f 61 6e 64 20 6c 69 6e 6b 20 61   # or/and link a
caf0: 67 61 69 6e 73 74 20 73 74 61 74 69 63 20 6c 69  gainst static li
cb00: 62 72 61 72 69 65 73 0a 09 20 20 20 20 20 20 6e  braries..      n
cb10: 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  ewdependency_lib
cb20: 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77 64  s="$deplib $newd
cb30: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a  ependency_libs".
cb40: 09 20 20 20 20 66 69 0a 09 20 20 20 20 69 66 20  .    fi..    if 
cb50: 74 65 73 74 20 22 58 24 64 75 70 6c 69 63 61 74  test "X$duplicat
cb60: 65 5f 64 65 70 73 22 20 3d 20 22 58 79 65 73 22  e_deps" = "Xyes"
cb70: 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 63   ; then..      c
cb80: 61 73 65 20 22 24 74 6d 70 5f 6c 69 62 73 20 22  ase "$tmp_libs "
cb90: 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 64   in..      *" $d
cba0: 65 70 6c 69 62 20 22 2a 29 20 73 70 65 63 69 61  eplib "*) specia
cbb0: 6c 64 65 70 6c 69 62 73 3d 22 24 73 70 65 63 69  ldeplibs="$speci
cbc0: 61 6c 64 65 70 6c 69 62 73 20 24 64 65 70 6c 69  aldeplibs $depli
cbd0: 62 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61  b" ;;..      esa
cbe0: 63 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 74  c..    fi..    t
cbf0: 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70 5f 6c 69  mp_libs="$tmp_li
cc00: 62 73 20 24 64 65 70 6c 69 62 22 0a 09 20 20 64  bs $deplib"..  d
cc10: 6f 6e 65 20 23 20 66 6f 72 20 64 65 70 6c 69 62  one # for deplib
cc20: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69  ..  continue..fi
cc30: 20 23 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70   # $linkmode = p
cc40: 72 6f 67 2e 2e 2e 0a 0a 09 6c 69 6e 6b 5f 73 74  rog......link_st
cc50: 61 74 69 63 3d 6e 6f 20 23 20 57 68 65 74 68 65  atic=no # Whethe
cc60: 72 20 74 68 65 20 64 65 70 6c 69 62 20 77 69 6c  r the deplib wil
cc70: 6c 20 62 65 20 6c 69 6e 6b 65 64 20 73 74 61 74  l be linked stat
cc80: 69 63 61 6c 6c 79 0a 09 69 66 20 74 65 73 74 20  ically..if test 
cc90: 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d  -n "$library_nam
cca0: 65 73 22 20 26 26 0a 09 20 20 20 7b 20 74 65 73  es" &&..   { tes
ccb0: 74 20 22 24 70 72 65 66 65 72 5f 73 74 61 74 69  t "$prefer_stati
ccc0: 63 5f 6c 69 62 73 22 20 3d 20 6e 6f 20 7c 7c 20  c_libs" = no || 
ccd0: 74 65 73 74 20 2d 7a 20 22 24 6f 6c 64 5f 6c 69  test -z "$old_li
cce0: 62 72 61 72 79 22 3b 20 7d 3b 20 74 68 65 6e 0a  brary"; }; then.
ccf0: 09 20 20 23 20 4c 69 6e 6b 20 61 67 61 69 6e 73  .  # Link agains
cd00: 74 20 74 68 69 73 20 73 68 61 72 65 64 20 6c 69  t this shared li
cd10: 62 72 61 72 79 0a 0a 09 20 20 69 66 20 74 65 73  brary...  if tes
cd20: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61  t "$linkmode,$pa
cd30: 73 73 22 20 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b  ss" = "prog,link
cd40: 22 20 7c 7c 0a 09 20 20 20 7b 20 74 65 73 74 20  " ||..   { test 
cd50: 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6c 69 62 20  $linkmode = lib 
cd60: 26 26 20 74 65 73 74 20 24 68 61 72 64 63 6f 64  && test $hardcod
cd70: 65 5f 69 6e 74 6f 5f 6c 69 62 73 20 3d 20 79 65  e_into_libs = ye
cd80: 73 3b 20 7d 3b 20 74 68 65 6e 0a 09 20 20 20 20  s; }; then..    
cd90: 23 20 48 61 72 64 63 6f 64 65 20 74 68 65 20 6c  # Hardcode the l
cda0: 69 62 72 61 72 79 20 70 61 74 68 2e 0a 09 20 20  ibrary path...  
cdb0: 20 20 23 20 53 6b 69 70 20 64 69 72 65 63 74 6f    # Skip directo
cdc0: 72 69 65 73 20 74 68 61 74 20 61 72 65 20 69 6e  ries that are in
cdd0: 20 74 68 65 20 73 79 73 74 65 6d 20 64 65 66 61   the system defa
cde0: 75 6c 74 20 72 75 6e 2d 74 69 6d 65 0a 09 20 20  ult run-time..  
cdf0: 20 20 23 20 73 65 61 72 63 68 20 70 61 74 68 2e    # search path.
ce00: 0a 09 20 20 20 20 63 61 73 65 20 22 20 24 73 79  ..    case " $sy
ce10: 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68 5f 70  s_lib_dlsearch_p
ce20: 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20 2a 22  ath " in..    *"
ce30: 20 24 61 62 73 64 69 72 20 22 2a 29 20 3b 3b 0a   $absdir "*) ;;.
ce40: 09 20 20 20 20 2a 29 0a 09 20 20 20 20 20 20 63  .    *)..      c
ce50: 61 73 65 20 22 24 63 6f 6d 70 69 6c 65 5f 72 70  ase "$compile_rp
ce60: 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20 20 20  ath " in..      
ce70: 2a 22 20 24 61 62 73 64 69 72 20 22 2a 29 20 3b  *" $absdir "*) ;
ce80: 3b 0a 09 20 20 20 20 20 20 2a 29 20 63 6f 6d 70  ;..      *) comp
ce90: 69 6c 65 5f 72 70 61 74 68 3d 22 24 63 6f 6d 70  ile_rpath="$comp
cea0: 69 6c 65 5f 72 70 61 74 68 20 24 61 62 73 64 69  ile_rpath $absdi
ceb0: 72 22 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  r"..      esac..
cec0: 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73        ;;..    es
ced0: 61 63 0a 09 20 20 20 20 63 61 73 65 20 22 20 24  ac..    case " $
cee0: 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68  sys_lib_dlsearch
cef0: 5f 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20  _path " in..    
cf00: 2a 22 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b  *" $libdir "*) ;
cf10: 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20 20 20 20  ;..    *)..     
cf20: 20 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a 65   case "$finalize
cf30: 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20  _rpath " in..   
cf40: 20 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a     *" $libdir "*
cf50: 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 66  ) ;;..      *) f
cf60: 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3d 22 24  inalize_rpath="$
cf70: 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 20 24  finalize_rpath $
cf80: 6c 69 62 64 69 72 22 0a 09 20 20 20 20 20 20 65  libdir"..      e
cf90: 73 61 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20  sac..      ;;.. 
cfa0: 20 20 20 65 73 61 63 0a 09 20 20 20 20 69 66 20     esac..    if 
cfb0: 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d  test $linkmode =
cfc0: 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20   prog; then..   
cfd0: 20 20 20 23 20 57 65 20 6e 65 65 64 20 74 6f 20     # We need to 
cfe0: 68 61 72 64 63 6f 64 65 20 74 68 65 20 6c 69 62  hardcode the lib
cff0: 72 61 72 79 20 70 61 74 68 0a 09 20 20 20 20 20  rary path..     
d000: 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68   if test -n "$sh
d010: 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68  libpath_var"; th
d020: 65 6e 0a 09 09 23 20 4d 61 6b 65 20 73 75 72 65  en...# Make sure
d030: 20 74 68 65 20 72 70 61 74 68 20 63 6f 6e 74 61   the rpath conta
d040: 69 6e 73 20 6f 6e 6c 79 20 75 6e 69 71 75 65 20  ins only unique 
d050: 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 09 09 63  directories....c
d060: 61 73 65 20 22 24 74 65 6d 70 5f 72 70 61 74 68  ase "$temp_rpath
d070: 20 22 20 69 6e 0a 09 09 2a 22 20 24 64 69 72 20   " in...*" $dir 
d080: 22 2a 29 20 3b 3b 0a 09 09 2a 22 20 24 61 62 73  "*) ;;...*" $abs
d090: 64 69 72 20 22 2a 29 20 3b 3b 0a 09 09 2a 29 20  dir "*) ;;...*) 
d0a0: 74 65 6d 70 5f 72 70 61 74 68 3d 22 24 74 65 6d  temp_rpath="$tem
d0b0: 70 5f 72 70 61 74 68 20 24 64 69 72 22 20 3b 3b  p_rpath $dir" ;;
d0c0: 0a 09 09 65 73 61 63 0a 09 20 20 20 20 20 20 66  ...esac..      f
d0d0: 69 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69 20  i..    fi..  fi 
d0e0: 23 20 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73  # $linkmode,$pas
d0f0: 73 20 3d 20 70 72 6f 67 2c 6c 69 6e 6b 2e 2e 2e  s = prog,link...
d100: 0a 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 61  ...  if test "$a
d110: 6c 6c 64 65 70 6c 69 62 73 22 20 3d 20 79 65 73  lldeplibs" = yes
d120: 20 26 26 0a 09 20 20 20 20 20 7b 20 74 65 73 74   &&..     { test
d130: 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b   "$deplibs_check
d140: 5f 6d 65 74 68 6f 64 22 20 3d 20 70 61 73 73 5f  _method" = pass_
d150: 61 6c 6c 20 7c 7c 0a 09 20 20 20 20 20 20 20 7b  all ||..       {
d160: 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
d170: 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
d180: 73 20 26 26 0a 09 09 20 74 65 73 74 20 2d 6e 20  s &&... test -n 
d190: 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 22  "$library_names"
d1a0: 3b 20 7d 3b 20 7d 3b 20 74 68 65 6e 0a 09 20 20  ; }; }; then..  
d1b0: 20 20 23 20 57 65 20 6f 6e 6c 79 20 6e 65 65 64    # We only need
d1c0: 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 73   to search for s
d1d0: 74 61 74 69 63 20 6c 69 62 72 61 72 69 65 73 0a  tatic libraries.
d1e0: 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20  .    continue.. 
d1f0: 20 66 69 0a 0a 09 20 20 69 66 20 74 65 73 74 20   fi...  if test 
d200: 22 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d 20 6e  "$installed" = n
d210: 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 6e 6f 74  o; then..    not
d220: 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d 22 24 6e  inst_deplibs="$n
d230: 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 20 24  otinst_deplibs $
d240: 6c 69 62 22 0a 09 20 20 20 20 6e 65 65 64 5f 72  lib"..    need_r
d250: 65 6c 69 6e 6b 3d 79 65 73 0a 09 20 20 66 69 0a  elink=yes..  fi.
d260: 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22  ..  if test -n "
d270: 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f  $old_archive_fro
d280: 6d 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73 22 3b  m_expsyms_cmds";
d290: 20 74 68 65 6e 0a 09 20 20 20 20 23 20 66 69 67   then..    # fig
d2a0: 75 72 65 20 6f 75 74 20 74 68 65 20 73 6f 6e 61  ure out the sona
d2b0: 6d 65 0a 09 20 20 20 20 73 65 74 20 64 75 6d 6d  me..    set dumm
d2c0: 79 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  y $library_names
d2d0: 0a 09 20 20 20 20 72 65 61 6c 6e 61 6d 65 3d 22  ..    realname="
d2e0: 24 32 22 0a 09 20 20 20 20 73 68 69 66 74 3b 20  $2"..    shift; 
d2f0: 73 68 69 66 74 0a 09 20 20 20 20 6c 69 62 6e 61  shift..    libna
d300: 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f  me=`eval \\$echo
d310: 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63   \"$libname_spec
d320: 5c 22 60 0a 09 20 20 20 20 23 20 75 73 65 20 64  \"`..    # use d
d330: 6c 6e 61 6d 65 20 69 66 20 77 65 20 67 6f 74 20  lname if we got 
d340: 69 74 2e 20 69 74 27 73 20 70 65 72 66 65 63 74  it. it's perfect
d350: 6c 79 20 67 6f 6f 64 2c 20 6e 6f 3f 0a 09 20 20  ly good, no?..  
d360: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64    if test -n "$d
d370: 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20  lname"; then..  
d380: 20 20 20 20 73 6f 6e 61 6d 65 3d 22 24 64 6c 6e      soname="$dln
d390: 61 6d 65 22 0a 09 20 20 20 20 65 6c 69 66 20 74  ame"..    elif t
d3a0: 65 73 74 20 2d 6e 20 22 24 73 6f 6e 61 6d 65 5f  est -n "$soname_
d3b0: 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 20  spec"; then..   
d3c0: 20 20 20 23 20 62 6c 65 68 20 77 69 6e 64 6f 77     # bleh window
d3d0: 73 0a 09 20 20 20 20 20 20 63 61 73 65 20 24 68  s..      case $h
d3e0: 6f 73 74 20 69 6e 0a 09 20 20 20 20 20 20 2a 63  ost in..      *c
d3f0: 79 67 77 69 6e 2a 29 0a 09 09 6d 61 6a 6f 72 3d  ygwin*)...major=
d400: 60 65 78 70 72 20 24 63 75 72 72 65 6e 74 20 2d  `expr $current -
d410: 20 24 61 67 65 60 0a 09 09 76 65 72 73 75 66 66   $age`...versuff
d420: 69 78 3d 22 2d 24 6d 61 6a 6f 72 22 0a 09 09 3b  ix="-$major"...;
d430: 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20  ;..      esac.. 
d440: 20 20 20 20 20 65 76 61 6c 20 73 6f 6e 61 6d 65       eval soname
d450: 3d 5c 22 24 73 6f 6e 61 6d 65 5f 73 70 65 63 5c  =\"$soname_spec\
d460: 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20  "..    else..   
d470: 20 20 20 73 6f 6e 61 6d 65 3d 22 24 72 65 61 6c     soname="$real
d480: 6e 61 6d 65 22 0a 09 20 20 20 20 66 69 0a 0a 09  name"..    fi...
d490: 20 20 20 20 23 20 4d 61 6b 65 20 61 20 6e 65 77      # Make a new
d4a0: 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 65 78   name for the ex
d4b0: 74 72 61 63 74 5f 65 78 70 73 79 6d 73 5f 63 6d  tract_expsyms_cm
d4c0: 64 73 20 74 6f 20 75 73 65 0a 09 20 20 20 20 73  ds to use..    s
d4d0: 6f 72 6f 6f 74 3d 22 24 73 6f 6e 61 6d 65 22 0a  oroot="$soname".
d4e0: 09 20 20 20 20 73 6f 6e 61 6d 65 3d 60 65 63 68  .    soname=`ech
d4f0: 6f 20 24 73 6f 72 6f 6f 74 20 7c 20 24 7b 53 45  o $soroot | ${SE
d500: 44 7d 20 2d 65 20 27 73 2f 5e 2e 2a 5c 2f 2f 2f  D} -e 's/^.*\///
d510: 27 60 0a 09 20 20 20 20 6e 65 77 6c 69 62 3d 22  '`..    newlib="
d520: 6c 69 62 69 6d 70 2d 60 65 63 68 6f 20 24 73 6f  libimp-`echo $so
d530: 6e 61 6d 65 20 7c 20 24 7b 53 45 44 7d 20 27 73  name | ${SED} 's
d540: 2f 5e 6c 69 62 2f 2f 3b 73 2f 5c 2e 64 6c 6c 24  /^lib//;s/\.dll$
d550: 2f 2f 27 60 2e 61 22 0a 0a 09 20 20 20 20 23 20  //'`.a"...    # 
d560: 49 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 68  If the library h
d570: 61 73 20 6e 6f 20 65 78 70 6f 72 74 20 6c 69 73  as no export lis
d580: 74 2c 20 74 68 65 6e 20 63 72 65 61 74 65 20 6f  t, then create o
d590: 6e 65 20 6e 6f 77 0a 09 20 20 20 20 69 66 20 74  ne now..    if t
d5a0: 65 73 74 20 2d 66 20 22 24 6f 75 74 70 75 74 5f  est -f "$output_
d5b0: 6f 62 6a 64 69 72 2f 24 73 6f 6e 61 6d 65 2d 64  objdir/$soname-d
d5c0: 65 66 22 3b 20 74 68 65 6e 20 3a 0a 09 20 20 20  ef"; then :..   
d5d0: 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24 73 68   else..      $sh
d5e0: 6f 77 20 22 65 78 74 72 61 63 74 69 6e 67 20 65  ow "extracting e
d5f0: 78 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 20 6c  xported symbol l
d600: 69 73 74 20 66 72 6f 6d 20 5c 60 24 73 6f 6e 61  ist from \`$sona
d610: 6d 65 27 22 0a 09 20 20 20 20 20 20 73 61 76 65  me'"..      save
d620: 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53  _ifs="$IFS"; IFS
d630: 3d 27 7e 27 0a 09 20 20 20 20 20 20 65 76 61 6c  ='~'..      eval
d640: 20 63 6d 64 73 3d 5c 22 24 65 78 74 72 61 63 74   cmds=\"$extract
d650: 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73 5c 22 0a  _expsyms_cmds\".
d660: 09 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20 69  .      for cmd i
d670: 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 09 49 46  n $cmds; do...IF
d680: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 09  S="$save_ifs"...
d690: 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24  $show "$cmd"...$
d6a0: 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20  run eval "$cmd" 
d6b0: 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20  || exit $?..    
d6c0: 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46    done..      IF
d6d0: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20  S="$save_ifs".. 
d6e0: 20 20 20 66 69 0a 0a 09 20 20 20 20 23 20 43 72     fi...    # Cr
d6f0: 65 61 74 65 20 24 6e 65 77 6c 69 62 0a 09 20 20  eate $newlib..  
d700: 20 20 69 66 20 74 65 73 74 20 2d 66 20 22 24 6f    if test -f "$o
d710: 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6e 65  utput_objdir/$ne
d720: 77 6c 69 62 22 3b 20 74 68 65 6e 20 3a 3b 20 65  wlib"; then :; e
d730: 6c 73 65 0a 09 20 20 20 20 20 20 24 73 68 6f 77  lse..      $show
d740: 20 22 67 65 6e 65 72 61 74 69 6e 67 20 69 6d 70   "generating imp
d750: 6f 72 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20  ort library for 
d760: 5c 60 24 73 6f 6e 61 6d 65 27 22 0a 09 20 20 20  \`$soname'"..   
d770: 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46     save_ifs="$IF
d780: 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20  S"; IFS='~'..   
d790: 20 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24     eval cmds=\"$
d7a0: 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d  old_archive_from
d7b0: 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73 5c 22 0a  _expsyms_cmds\".
d7c0: 09 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20 69  .      for cmd i
d7d0: 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 09 49 46  n $cmds; do...IF
d7e0: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 09  S="$save_ifs"...
d7f0: 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24  $show "$cmd"...$
d800: 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20  run eval "$cmd" 
d810: 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20  || exit $?..    
d820: 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46    done..      IF
d830: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20  S="$save_ifs".. 
d840: 20 20 20 66 69 0a 09 20 20 20 20 23 20 6d 61 6b     fi..    # mak
d850: 65 20 73 75 72 65 20 74 68 65 20 6c 69 62 72 61  e sure the libra
d860: 72 79 20 76 61 72 69 61 62 6c 65 73 20 61 72 65  ry variables are
d870: 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65   pointing to the
d880: 20 6e 65 77 20 6c 69 62 72 61 72 79 0a 09 20 20   new library..  
d890: 20 20 64 69 72 3d 24 6f 75 74 70 75 74 5f 6f 62    dir=$output_ob
d8a0: 6a 64 69 72 0a 09 20 20 20 20 6c 69 6e 6b 6c 69  jdir..    linkli
d8b0: 62 3d 24 6e 65 77 6c 69 62 0a 09 20 20 66 69 20  b=$newlib..  fi 
d8c0: 23 20 74 65 73 74 20 2d 6e 20 24 6f 6c 64 5f 61  # test -n $old_a
d8d0: 72 63 68 69 76 65 5f 66 72 6f 6d 5f 65 78 70 73  rchive_from_exps
d8e0: 79 6d 73 5f 63 6d 64 73 0a 0a 09 20 20 69 66 20  yms_cmds...  if 
d8f0: 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d  test $linkmode =
d900: 20 70 72 6f 67 20 7c 7c 20 74 65 73 74 20 22 24   prog || test "$
d910: 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69 6e 6b 3b  mode" != relink;
d920: 20 74 68 65 6e 0a 09 20 20 20 20 61 64 64 5f 73   then..    add_s
d930: 68 6c 69 62 70 61 74 68 3d 0a 09 20 20 20 20 61  hlibpath=..    a
d940: 64 64 5f 64 69 72 3d 0a 09 20 20 20 20 61 64 64  dd_dir=..    add
d950: 3d 0a 09 20 20 20 20 6c 69 62 5f 6c 69 6e 6b 65  =..    lib_linke
d960: 64 3d 79 65 73 0a 09 20 20 20 20 63 61 73 65 20  d=yes..    case 
d970: 24 68 61 72 64 63 6f 64 65 5f 61 63 74 69 6f 6e  $hardcode_action
d980: 20 69 6e 0a 09 20 20 20 20 69 6d 6d 65 64 69 61   in..    immedia
d990: 74 65 20 7c 20 75 6e 73 75 70 70 6f 72 74 65 64  te | unsupported
d9a0: 29 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  )..      if test
d9b0: 20 22 24 68 61 72 64 63 6f 64 65 5f 64 69 72 65   "$hardcode_dire
d9c0: 63 74 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  ct" = no; then..
d9d0: 09 61 64 64 3d 22 24 64 69 72 2f 24 6c 69 6e 6b  .add="$dir/$link
d9e0: 6c 69 62 22 0a 09 20 20 20 20 20 20 65 6c 69 66  lib"..      elif
d9f0: 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
da00: 5f 6d 69 6e 75 73 5f 4c 22 20 3d 20 6e 6f 3b 20  _minus_L" = no; 
da10: 74 68 65 6e 0a 09 09 63 61 73 65 20 24 68 6f 73  then...case $hos
da20: 74 20 69 6e 0a 09 09 2a 2d 2a 2d 73 75 6e 6f 73  t in...*-*-sunos
da30: 2a 29 20 61 64 64 5f 73 68 6c 69 62 70 61 74 68  *) add_shlibpath
da40: 3d 22 24 64 69 72 22 20 3b 3b 0a 09 09 65 73 61  ="$dir" ;;...esa
da50: 63 0a 09 09 61 64 64 5f 64 69 72 3d 22 2d 4c 24  c...add_dir="-L$
da60: 64 69 72 22 0a 09 09 61 64 64 3d 22 2d 6c 24 6e  dir"...add="-l$n
da70: 61 6d 65 22 0a 09 20 20 20 20 20 20 65 6c 69 66  ame"..      elif
da80: 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
da90: 5f 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20  _shlibpath_var" 
daa0: 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 61 64 64  = no; then...add
dab0: 5f 73 68 6c 69 62 70 61 74 68 3d 22 24 64 69 72  _shlibpath="$dir
dac0: 22 0a 09 09 61 64 64 3d 22 2d 6c 24 6e 61 6d 65  "...add="-l$name
dad0: 22 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09  "..      else...
dae0: 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e 6f 0a 09 20  lib_linked=no.. 
daf0: 20 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 3b       fi..      ;
db00: 3b 0a 09 20 20 20 20 72 65 6c 69 6e 6b 29 0a 09  ;..    relink)..
db10: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
db20: 68 61 72 64 63 6f 64 65 5f 64 69 72 65 63 74 22  hardcode_direct"
db30: 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 61   = yes; then...a
db40: 64 64 3d 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69  dd="$dir/$linkli
db50: 62 22 0a 09 20 20 20 20 20 20 65 6c 69 66 20 74  b"..      elif t
db60: 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 6d  est "$hardcode_m
db70: 69 6e 75 73 5f 4c 22 20 3d 20 79 65 73 3b 20 74  inus_L" = yes; t
db80: 68 65 6e 0a 09 09 61 64 64 5f 64 69 72 3d 22 2d  hen...add_dir="-
db90: 4c 24 64 69 72 22 0a 09 09 23 20 54 72 79 20 6c  L$dir"...# Try l
dba0: 6f 6f 6b 69 6e 67 20 66 69 72 73 74 20 69 6e 20  ooking first in 
dbb0: 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 65 27  the location we'
dbc0: 72 65 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c  re being install
dbd0: 65 64 20 74 6f 2e 0a 09 09 69 66 20 74 65 73 74  ed to....if test
dbe0: 20 2d 6e 20 22 24 69 6e 73 74 5f 70 72 65 66 69   -n "$inst_prefi
dbf0: 78 5f 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20  x_dir"; then... 
dc00: 20 63 61 73 65 20 22 24 6c 69 62 64 69 72 22 20   case "$libdir" 
dc10: 69 6e 0a 09 09 20 20 5b 5c 2f 5d 2a 29 0a 09 09  in...  [\/]*)...
dc20: 20 20 20 20 61 64 64 5f 64 69 72 3d 22 2d 4c 24      add_dir="-L$
dc30: 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 24  inst_prefix_dir$
dc40: 6c 69 62 64 69 72 20 24 61 64 64 5f 64 69 72 22  libdir $add_dir"
dc50: 0a 09 09 20 20 20 20 3b 3b 0a 09 09 20 20 65 73  ...    ;;...  es
dc60: 61 63 0a 09 09 66 69 0a 09 09 61 64 64 3d 22 2d  ac...fi...add="-
dc70: 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 20 20 65  l$name"..      e
dc80: 6c 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63  lif test "$hardc
dc90: 6f 64 65 5f 73 68 6c 69 62 70 61 74 68 5f 76 61  ode_shlibpath_va
dca0: 72 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  r" = yes; then..
dcb0: 09 61 64 64 5f 73 68 6c 69 62 70 61 74 68 3d 22  .add_shlibpath="
dcc0: 24 64 69 72 22 0a 09 09 61 64 64 3d 22 2d 6c 24  $dir"...add="-l$
dcd0: 6e 61 6d 65 22 0a 09 20 20 20 20 20 20 65 6c 73  name"..      els
dce0: 65 0a 09 09 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e  e...lib_linked=n
dcf0: 6f 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20  o..      fi..   
dd00: 20 20 20 3b 3b 0a 09 20 20 20 20 2a 29 20 6c 69     ;;..    *) li
dd10: 62 5f 6c 69 6e 6b 65 64 3d 6e 6f 20 3b 3b 0a 09  b_linked=no ;;..
dd20: 20 20 20 20 65 73 61 63 0a 0a 09 20 20 20 20 69      esac...    i
dd30: 66 20 74 65 73 74 20 22 24 6c 69 62 5f 6c 69 6e  f test "$lib_lin
dd40: 6b 65 64 22 20 21 3d 20 79 65 73 3b 20 74 68 65  ked" != yes; the
dd50: 6e 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  n..      $echo "
dd60: 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 6f 6e 66 69  $modename: confi
dd70: 67 75 72 61 74 69 6f 6e 20 65 72 72 6f 72 3a 20  guration error: 
dd80: 75 6e 73 75 70 70 6f 72 74 65 64 20 68 61 72 64  unsupported hard
dd90: 63 6f 64 65 20 70 72 6f 70 65 72 74 69 65 73 22  code properties"
dda0: 0a 09 20 20 20 20 20 20 65 78 69 74 20 31 0a 09  ..      exit 1..
ddb0: 20 20 20 20 66 69 0a 0a 09 20 20 20 20 69 66 20      fi...    if 
ddc0: 74 65 73 74 20 2d 6e 20 22 24 61 64 64 5f 73 68  test -n "$add_sh
ddd0: 6c 69 62 70 61 74 68 22 3b 20 74 68 65 6e 0a 09  libpath"; then..
dde0: 20 20 20 20 20 20 63 61 73 65 20 3a 24 63 6f 6d        case :$com
ddf0: 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 3a 20  pile_shlibpath: 
de00: 69 6e 0a 09 20 20 20 20 20 20 2a 22 3a 24 61 64  in..      *":$ad
de10: 64 5f 73 68 6c 69 62 70 61 74 68 3a 22 2a 29 20  d_shlibpath:"*) 
de20: 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 63 6f 6d  ;;..      *) com
de30: 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 3d 22  pile_shlibpath="
de40: 24 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61  $compile_shlibpa
de50: 74 68 24 61 64 64 5f 73 68 6c 69 62 70 61 74 68  th$add_shlibpath
de60: 3a 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61  :" ;;..      esa
de70: 63 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 69  c..    fi..    i
de80: 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65  f test $linkmode
de90: 20 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 20   = prog; then.. 
dea0: 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 61       test -n "$a
deb0: 64 64 5f 64 69 72 22 20 26 26 20 63 6f 6d 70 69  dd_dir" && compi
dec0: 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 61 64 64  le_deplibs="$add
ded0: 5f 64 69 72 20 24 63 6f 6d 70 69 6c 65 5f 64 65  _dir $compile_de
dee0: 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20 74 65  plibs"..      te
def0: 73 74 20 2d 6e 20 22 24 61 64 64 22 20 26 26 20  st -n "$add" && 
df00: 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d  compile_deplibs=
df10: 22 24 61 64 64 20 24 63 6f 6d 70 69 6c 65 5f 64  "$add $compile_d
df20: 65 70 6c 69 62 73 22 0a 09 20 20 20 20 65 6c 73  eplibs"..    els
df30: 65 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  e..      test -n
df40: 20 22 24 61 64 64 5f 64 69 72 22 20 26 26 20 64   "$add_dir" && d
df50: 65 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69 72  eplibs="$add_dir
df60: 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20   $deplibs"..    
df70: 20 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 22    test -n "$add"
df80: 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24 61 64   && deplibs="$ad
df90: 64 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20  d $deplibs"..   
dfa0: 20 20 20 69 66 20 74 65 73 74 20 22 24 68 61 72     if test "$har
dfb0: 64 63 6f 64 65 5f 64 69 72 65 63 74 22 20 21 3d  dcode_direct" !=
dfc0: 20 79 65 73 20 26 26 20 5c 0a 09 09 20 74 65 73   yes && \... tes
dfd0: 74 20 22 24 68 61 72 64 63 6f 64 65 5f 6d 69 6e  t "$hardcode_min
dfe0: 75 73 5f 4c 22 20 21 3d 20 79 65 73 20 26 26 20  us_L" != yes && 
dff0: 5c 0a 09 09 20 74 65 73 74 20 22 24 68 61 72 64  \... test "$hard
e000: 63 6f 64 65 5f 73 68 6c 69 62 70 61 74 68 5f 76  code_shlibpath_v
e010: 61 72 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  ar" = yes; then.
e020: 09 09 63 61 73 65 20 3a 24 66 69 6e 61 6c 69 7a  ..case :$finaliz
e030: 65 5f 73 68 6c 69 62 70 61 74 68 3a 20 69 6e 0a  e_shlibpath: in.
e040: 09 09 2a 22 3a 24 6c 69 62 64 69 72 3a 22 2a 29  ..*":$libdir:"*)
e050: 20 3b 3b 0a 09 09 2a 29 20 66 69 6e 61 6c 69 7a   ;;...*) finaliz
e060: 65 5f 73 68 6c 69 62 70 61 74 68 3d 22 24 66 69  e_shlibpath="$fi
e070: 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68  nalize_shlibpath
e080: 24 6c 69 62 64 69 72 3a 22 20 3b 3b 0a 09 09 65  $libdir:" ;;...e
e090: 73 61 63 0a 09 20 20 20 20 20 20 66 69 0a 09 20  sac..      fi.. 
e0a0: 20 20 20 66 69 0a 09 20 20 66 69 0a 0a 09 20 20     fi..  fi...  
e0b0: 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64  if test $linkmod
e0c0: 65 20 3d 20 70 72 6f 67 20 7c 7c 20 74 65 73 74  e = prog || test
e0d0: 20 22 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e   "$mode" = relin
e0e0: 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20 61 64 64  k; then..    add
e0f0: 5f 73 68 6c 69 62 70 61 74 68 3d 0a 09 20 20 20  _shlibpath=..   
e100: 20 61 64 64 5f 64 69 72 3d 0a 09 20 20 20 20 61   add_dir=..    a
e110: 64 64 3d 0a 09 20 20 20 20 23 20 46 69 6e 61 6c  dd=..    # Final
e120: 69 7a 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20  ize command for 
e130: 62 6f 74 68 20 69 73 20 73 69 6d 70 6c 65 3a 20  both is simple: 
e140: 6a 75 73 74 20 68 61 72 64 63 6f 64 65 20 69 74  just hardcode it
e150: 2e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  ...    if test "
e160: 24 68 61 72 64 63 6f 64 65 5f 64 69 72 65 63 74  $hardcode_direct
e170: 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
e180: 20 20 20 20 20 61 64 64 3d 22 24 6c 69 62 64 69       add="$libdi
e190: 72 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09 20 20 20  r/$linklib"..   
e1a0: 20 65 6c 69 66 20 74 65 73 74 20 22 24 68 61 72   elif test "$har
e1b0: 64 63 6f 64 65 5f 6d 69 6e 75 73 5f 4c 22 20 3d  dcode_minus_L" =
e1c0: 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
e1d0: 20 20 61 64 64 5f 64 69 72 3d 22 2d 4c 24 6c 69    add_dir="-L$li
e1e0: 62 64 69 72 22 0a 09 20 20 20 20 20 20 61 64 64  bdir"..      add
e1f0: 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20  ="-l$name"..    
e200: 65 6c 69 66 20 74 65 73 74 20 22 24 68 61 72 64  elif test "$hard
e210: 63 6f 64 65 5f 73 68 6c 69 62 70 61 74 68 5f 76  code_shlibpath_v
e220: 61 72 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  ar" = yes; then.
e230: 09 20 20 20 20 20 20 63 61 73 65 20 3a 24 66 69  .      case :$fi
e240: 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68  nalize_shlibpath
e250: 3a 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 3a 24  : in..      *":$
e260: 6c 69 62 64 69 72 3a 22 2a 29 20 3b 3b 0a 09 20  libdir:"*) ;;.. 
e270: 20 20 20 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65       *) finalize
e280: 5f 73 68 6c 69 62 70 61 74 68 3d 22 24 66 69 6e  _shlibpath="$fin
e290: 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 24  alize_shlibpath$
e2a0: 6c 69 62 64 69 72 3a 22 20 3b 3b 0a 09 20 20 20  libdir:" ;;..   
e2b0: 20 20 20 65 73 61 63 0a 09 20 20 20 20 20 20 61     esac..      a
e2c0: 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20  dd="-l$name"..  
e2d0: 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23 20    else..      # 
e2e0: 57 65 20 63 61 6e 6e 6f 74 20 73 65 65 6d 20 74  We cannot seem t
e2f0: 6f 20 68 61 72 64 63 6f 64 65 20 69 74 2c 20 67  o hardcode it, g
e300: 75 65 73 73 20 77 65 27 6c 6c 20 66 61 6b 65 20  uess we'll fake 
e310: 69 74 2e 0a 09 20 20 20 20 20 20 61 64 64 5f 64  it...      add_d
e320: 69 72 3d 22 2d 4c 24 6c 69 62 64 69 72 22 0a 09  ir="-L$libdir"..
e330: 20 20 20 20 20 20 23 20 54 72 79 20 6c 6f 6f 6b        # Try look
e340: 69 6e 67 20 66 69 72 73 74 20 69 6e 20 74 68 65  ing first in the
e350: 20 6c 6f 63 61 74 69 6f 6e 20 77 65 27 72 65 20   location we're 
e360: 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64 20  being installed 
e370: 74 6f 2e 0a 09 20 20 20 20 20 20 69 66 20 74 65  to...      if te
e380: 73 74 20 2d 6e 20 22 24 69 6e 73 74 5f 70 72 65  st -n "$inst_pre
e390: 66 69 78 5f 64 69 72 22 3b 20 74 68 65 6e 0a 09  fix_dir"; then..
e3a0: 09 63 61 73 65 20 22 24 6c 69 62 64 69 72 22 20  .case "$libdir" 
e3b0: 69 6e 0a 09 09 5b 5c 2f 5d 2a 29 0a 09 09 20 20  in...[\/]*)...  
e3c0: 61 64 64 5f 64 69 72 3d 22 2d 4c 24 69 6e 73 74  add_dir="-L$inst
e3d0: 5f 70 72 65 66 69 78 5f 64 69 72 24 6c 69 62 64  _prefix_dir$libd
e3e0: 69 72 20 24 61 64 64 5f 64 69 72 22 0a 09 09 20  ir $add_dir"... 
e3f0: 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20 20   ;;...esac..    
e400: 20 20 66 69 0a 09 20 20 20 20 20 20 61 64 64 3d    fi..      add=
e410: 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 66  "-l$name"..    f
e420: 69 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  i...    if test 
e430: 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72 6f 67  $linkmode = prog
e440: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 74 65  ; then..      te
e450: 73 74 20 2d 6e 20 22 24 61 64 64 5f 64 69 72 22  st -n "$add_dir"
e460: 20 26 26 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70   && finalize_dep
e470: 6c 69 62 73 3d 22 24 61 64 64 5f 64 69 72 20 24  libs="$add_dir $
e480: 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73  finalize_deplibs
e490: 22 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  "..      test -n
e4a0: 20 22 24 61 64 64 22 20 26 26 20 66 69 6e 61 6c   "$add" && final
e4b0: 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 61 64  ize_deplibs="$ad
e4c0: 64 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  d $finalize_depl
e4d0: 69 62 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09  ibs"..    else..
e4e0: 20 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24        test -n "$
e4f0: 61 64 64 5f 64 69 72 22 20 26 26 20 64 65 70 6c  add_dir" && depl
e500: 69 62 73 3d 22 24 61 64 64 5f 64 69 72 20 24 64  ibs="$add_dir $d
e510: 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20 74  eplibs"..      t
e520: 65 73 74 20 2d 6e 20 22 24 61 64 64 22 20 26 26  est -n "$add" &&
e530: 20 64 65 70 6c 69 62 73 3d 22 24 61 64 64 20 24   deplibs="$add $
e540: 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66 69  deplibs"..    fi
e550: 0a 09 20 20 66 69 0a 09 65 6c 69 66 20 74 65 73  ..  fi..elif tes
e560: 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72  t $linkmode = pr
e570: 6f 67 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74  og; then..  if t
e580: 65 73 74 20 22 24 61 6c 6c 64 65 70 6c 69 62 73  est "$alldeplibs
e590: 22 20 3d 20 79 65 73 20 26 26 0a 09 20 20 20 20  " = yes &&..    
e5a0: 20 7b 20 74 65 73 74 20 22 24 64 65 70 6c 69 62   { test "$deplib
e5b0: 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20  s_check_method" 
e5c0: 3d 20 70 61 73 73 5f 61 6c 6c 20 7c 7c 0a 09 20  = pass_all ||.. 
e5d0: 20 20 20 20 20 20 7b 20 74 65 73 74 20 22 24 62        { test "$b
e5e0: 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
e5f0: 73 22 20 3d 20 79 65 73 20 26 26 0a 09 09 20 74  s" = yes &&... t
e600: 65 73 74 20 2d 6e 20 22 24 6c 69 62 72 61 72 79  est -n "$library
e610: 5f 6e 61 6d 65 73 22 3b 20 7d 3b 20 7d 3b 20 74  _names"; }; }; t
e620: 68 65 6e 0a 09 20 20 20 20 23 20 57 65 20 6f 6e  hen..    # We on
e630: 6c 79 20 6e 65 65 64 20 74 6f 20 73 65 61 72 63  ly need to searc
e640: 68 20 66 6f 72 20 73 74 61 74 69 63 20 6c 69 62  h for static lib
e650: 72 61 72 69 65 73 0a 09 20 20 20 20 63 6f 6e 74  raries..    cont
e660: 69 6e 75 65 0a 09 20 20 66 69 0a 0a 09 20 20 23  inue..  fi...  #
e670: 20 54 72 79 20 74 6f 20 6c 69 6e 6b 20 74 68 65   Try to link the
e680: 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 0a   static library.
e690: 09 20 20 23 20 48 65 72 65 20 77 65 20 61 73 73  .  # Here we ass
e6a0: 75 6d 65 20 74 68 61 74 20 6f 6e 65 20 6f 66 20  ume that one of 
e6b0: 68 61 72 64 63 6f 64 65 5f 64 69 72 65 63 74 20  hardcode_direct 
e6c0: 6f 72 20 68 61 72 64 63 6f 64 65 5f 6d 69 6e 75  or hardcode_minu
e6d0: 73 5f 4c 0a 09 20 20 23 20 69 73 20 6e 6f 74 20  s_L..  # is not 
e6e0: 75 6e 73 75 70 70 6f 72 74 65 64 2e 20 20 54 68  unsupported.  Th
e6f0: 69 73 20 69 73 20 76 61 6c 69 64 20 6f 6e 20 61  is is valid on a
e700: 6c 6c 20 6b 6e 6f 77 6e 20 73 74 61 74 69 63 20  ll known static 
e710: 61 6e 64 0a 09 20 20 23 20 73 68 61 72 65 64 20  and..  # shared 
e720: 70 6c 61 74 66 6f 72 6d 73 2e 0a 09 20 20 69 66  platforms...  if
e730: 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
e740: 5f 64 69 72 65 63 74 22 20 21 3d 20 75 6e 73 75  _direct" != unsu
e750: 70 70 6f 72 74 65 64 3b 20 74 68 65 6e 0a 09 20  pported; then.. 
e760: 20 20 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64     test -n "$old
e770: 5f 6c 69 62 72 61 72 79 22 20 26 26 20 6c 69 6e  _library" && lin
e780: 6b 6c 69 62 3d 22 24 6f 6c 64 5f 6c 69 62 72 61  klib="$old_libra
e790: 72 79 22 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65  ry"..    compile
e7a0: 5f 64 65 70 6c 69 62 73 3d 22 24 64 69 72 2f 24  _deplibs="$dir/$
e7b0: 6c 69 6e 6b 6c 69 62 20 24 63 6f 6d 70 69 6c 65  linklib $compile
e7c0: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66  _deplibs"..    f
e7d0: 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d  inalize_deplibs=
e7e0: 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 20 24  "$dir/$linklib $
e7f0: 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73  finalize_deplibs
e800: 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 63  "..  else..    c
e810: 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22  ompile_deplibs="
e820: 2d 6c 24 6e 61 6d 65 20 2d 4c 24 64 69 72 20 24  -l$name -L$dir $
e830: 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22  compile_deplibs"
e840: 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64  ..    finalize_d
e850: 65 70 6c 69 62 73 3d 22 2d 6c 24 6e 61 6d 65 20  eplibs="-l$name 
e860: 2d 4c 24 64 69 72 20 24 66 69 6e 61 6c 69 7a 65  -L$dir $finalize
e870: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 66 69 0a  _deplibs"..  fi.
e880: 09 65 6c 69 66 20 74 65 73 74 20 22 24 62 75 69  .elif test "$bui
e890: 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22  ld_libtool_libs"
e8a0: 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
e8b0: 23 20 4e 6f 74 20 61 20 73 68 61 72 65 64 20 6c  # Not a shared l
e8c0: 69 62 72 61 72 79 0a 09 20 20 69 66 20 74 65 73  ibrary..  if tes
e8d0: 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63  t "$deplibs_chec
e8e0: 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73  k_method" != pas
e8f0: 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20  s_all; then..   
e900: 20 23 20 57 65 27 72 65 20 74 72 79 69 6e 67 20   # We're trying 
e910: 6c 69 6e 6b 20 61 20 73 68 61 72 65 64 20 6c 69  link a shared li
e920: 62 72 61 72 79 20 61 67 61 69 6e 73 74 20 61 20  brary against a 
e930: 73 74 61 74 69 63 20 6f 6e 65 0a 09 20 20 20 20  static one..    
e940: 23 20 62 75 74 20 74 68 65 20 73 79 73 74 65 6d  # but the system
e950: 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74   doesn't support
e960: 20 69 74 2e 0a 0a 09 20 20 20 20 23 20 4a 75 73   it....    # Jus
e970: 74 20 70 72 69 6e 74 20 61 20 77 61 72 6e 69 6e  t print a warnin
e980: 67 20 61 6e 64 20 61 64 64 20 74 68 65 20 6c 69  g and add the li
e990: 62 72 61 72 79 20 74 6f 20 64 65 70 65 6e 64 65  brary to depende
e9a0: 6e 63 79 5f 6c 69 62 73 20 73 6f 0a 09 20 20 20  ncy_libs so..   
e9b0: 20 23 20 74 68 61 74 20 74 68 65 20 70 72 6f 67   # that the prog
e9c0: 72 61 6d 20 63 61 6e 20 62 65 20 6c 69 6e 6b 65  ram can be linke
e9d0: 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 73 74  d against the st
e9e0: 61 74 69 63 20 6c 69 62 72 61 72 79 2e 0a 09 20  atic library... 
e9f0: 20 20 20 65 63 68 6f 0a 09 20 20 20 20 65 63 68     echo..    ech
ea00: 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
ea10: 54 68 69 73 20 73 79 73 74 65 6d 20 63 61 6e 20  This system can 
ea20: 6e 6f 74 20 6c 69 6e 6b 20 74 6f 20 73 74 61 74  not link to stat
ea30: 69 63 20 6c 69 62 20 61 72 63 68 69 76 65 20 24  ic lib archive $
ea40: 6c 69 62 2e 22 0a 09 20 20 20 20 65 63 68 6f 20  lib."..    echo 
ea50: 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68 65 20  "*** I have the 
ea60: 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 6d 61  capability to ma
ea70: 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72 79 20  ke that library 
ea80: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69  automatically li
ea90: 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 20 20 20  nk in when"..   
eaa0: 20 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c   echo "*** you l
eab0: 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69 62 72  ink to this libr
eac0: 61 72 79 2e 20 20 42 75 74 20 49 20 63 61 6e 20  ary.  But I can 
ead0: 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66 20  only do this if 
eae0: 79 6f 75 20 68 61 76 65 20 61 22 0a 09 20 20 20  you have a"..   
eaf0: 20 65 63 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65   echo "*** share
eb00: 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65  d version of the
eb10: 20 6c 69 62 72 61 72 79 2c 20 77 68 69 63 68 20   library, which 
eb20: 79 6f 75 20 64 6f 20 6e 6f 74 20 61 70 70 65 61  you do not appea
eb30: 72 20 74 6f 20 68 61 76 65 2e 22 0a 09 20 20 20  r to have."..   
eb40: 20 69 66 20 74 65 73 74 20 22 24 6d 6f 64 75 6c   if test "$modul
eb50: 65 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  e" = yes; then..
eb60: 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20        echo "*** 
eb70: 42 75 74 20 61 73 20 79 6f 75 20 74 72 79 20 74  But as you try t
eb80: 6f 20 62 75 69 6c 64 20 61 20 6d 6f 64 75 6c 65  o build a module
eb90: 20 6c 69 62 72 61 72 79 2c 20 6c 69 62 74 6f 6f   library, libtoo
eba0: 6c 20 77 69 6c 6c 20 73 74 69 6c 6c 20 63 72 65  l will still cre
ebb0: 61 74 65 20 22 0a 09 20 20 20 20 20 20 65 63 68  ate "..      ech
ebc0: 6f 20 22 2a 2a 2a 20 61 20 73 74 61 74 69 63 20  o "*** a static 
ebd0: 6d 6f 64 75 6c 65 2c 20 74 68 61 74 20 73 68 6f  module, that sho
ebe0: 75 6c 64 20 77 6f 72 6b 20 61 73 20 6c 6f 6e 67  uld work as long
ebf0: 20 61 73 20 74 68 65 20 64 6c 6f 70 65 6e 69 6e   as the dlopenin
ec00: 67 20 61 70 70 6c 69 63 61 74 69 6f 6e 22 0a 09  g application"..
ec10: 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20        echo "*** 
ec20: 69 73 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74  is linked with t
ec30: 68 65 20 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 20  he -dlopen flag 
ec40: 74 6f 20 72 65 73 6f 6c 76 65 20 73 79 6d 62 6f  to resolve symbo
ec50: 6c 73 20 61 74 20 72 75 6e 74 69 6d 65 2e 22 0a  ls at runtime.".
ec60: 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
ec70: 7a 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f  z "$global_symbo
ec80: 6c 5f 70 69 70 65 22 3b 20 74 68 65 6e 0a 09 09  l_pipe"; then...
ec90: 65 63 68 6f 0a 09 09 65 63 68 6f 20 22 2a 2a 2a  echo...echo "***
eca0: 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 77   However, this w
ecb0: 6f 75 6c 64 20 6f 6e 6c 79 20 77 6f 72 6b 20 69  ould only work i
ecc0: 66 20 6c 69 62 74 6f 6f 6c 20 77 61 73 20 61 62  f libtool was ab
ecd0: 6c 65 20 74 6f 20 65 78 74 72 61 63 74 20 73 79  le to extract sy
ece0: 6d 62 6f 6c 22 0a 09 09 65 63 68 6f 20 22 2a 2a  mbol"...echo "**
ecf0: 2a 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 70  * lists from a p
ed00: 72 6f 67 72 61 6d 2c 20 75 73 69 6e 67 20 5c 60  rogram, using \`
ed10: 6e 6d 27 20 6f 72 20 65 71 75 69 76 61 6c 65 6e  nm' or equivalen
ed20: 74 2c 20 62 75 74 20 6c 69 62 74 6f 6f 6c 20 63  t, but libtool c
ed30: 6f 75 6c 64 22 0a 09 09 65 63 68 6f 20 22 2a 2a  ould"...echo "**
ed40: 2a 20 6e 6f 74 20 66 69 6e 64 20 73 75 63 68 20  * not find such 
ed50: 61 20 70 72 6f 67 72 61 6d 2e 20 20 53 6f 2c 20  a program.  So, 
ed60: 74 68 69 73 20 6d 6f 64 75 6c 65 20 69 73 20 70  this module is p
ed70: 72 6f 62 61 62 6c 79 20 75 73 65 6c 65 73 73 2e  robably useless.
ed80: 22 0a 09 09 65 63 68 6f 20 22 2a 2a 2a 20 5c 60  "...echo "*** \`
ed90: 6e 6d 27 20 66 72 6f 6d 20 47 4e 55 20 62 69 6e  nm' from GNU bin
eda0: 75 74 69 6c 73 20 61 6e 64 20 61 20 66 75 6c 6c  utils and a full
edb0: 20 72 65 62 75 69 6c 64 20 6d 61 79 20 68 65 6c   rebuild may hel
edc0: 70 2e 22 0a 09 20 20 20 20 20 20 66 69 0a 09 20  p."..      fi.. 
edd0: 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62       if test "$b
ede0: 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d  uild_old_libs" =
edf0: 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 62 75 69 6c   no; then...buil
ee00: 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d  d_libtool_libs=m
ee10: 6f 64 75 6c 65 0a 09 09 62 75 69 6c 64 5f 6f 6c  odule...build_ol
ee20: 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 20 20  d_libs=yes..    
ee30: 20 20 65 6c 73 65 0a 09 09 62 75 69 6c 64 5f 6c    else...build_l
ee40: 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09  ibtool_libs=no..
ee50: 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 66 69        fi..    fi
ee60: 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 63 6f  ..  else..    co
ee70: 6e 76 65 6e 69 65 6e 63 65 3d 22 24 63 6f 6e 76  nvenience="$conv
ee80: 65 6e 69 65 6e 63 65 20 24 64 69 72 2f 24 6f 6c  enience $dir/$ol
ee90: 64 5f 6c 69 62 72 61 72 79 22 0a 09 20 20 20 20  d_library"..    
eea0: 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 3d  old_convenience=
eeb0: 22 24 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63  "$old_convenienc
eec0: 65 20 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72  e $dir/$old_libr
eed0: 61 72 79 22 0a 09 20 20 20 20 64 65 70 6c 69 62  ary"..    deplib
eee0: 73 3d 22 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62  s="$dir/$old_lib
eef0: 72 61 72 79 20 24 64 65 70 6c 69 62 73 22 0a 09  rary $deplibs"..
ef00: 20 20 20 20 6c 69 6e 6b 5f 73 74 61 74 69 63 3d      link_static=
ef10: 79 65 73 0a 09 20 20 66 69 0a 09 66 69 20 23 20  yes..  fi..fi # 
ef20: 6c 69 6e 6b 20 73 68 61 72 65 64 2f 73 74 61 74  link shared/stat
ef30: 69 63 20 6c 69 62 72 61 72 79 3f 0a 0a 09 69 66  ic library?...if
ef40: 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20   test $linkmode 
ef50: 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09 20 20 69  = lib; then..  i
ef60: 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65 70 65  f test -n "$depe
ef70: 6e 64 65 6e 63 79 5f 6c 69 62 73 22 20 26 26 0a  ndency_libs" &&.
ef80: 09 20 20 20 20 20 7b 20 74 65 73 74 20 24 68 61  .     { test $ha
ef90: 72 64 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73  rdcode_into_libs
efa0: 20 21 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20   != yes || test 
efb0: 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 20  $build_old_libs 
efc0: 3d 20 79 65 73 20 7c 7c 0a 09 20 20 20 20 20 20  = yes ||..      
efd0: 20 74 65 73 74 20 24 6c 69 6e 6b 5f 73 74 61 74   test $link_stat
efe0: 69 63 20 3d 20 79 65 73 3b 20 7d 3b 20 74 68 65  ic = yes; }; the
eff0: 6e 0a 09 20 20 20 20 23 20 45 78 74 72 61 63 74  n..    # Extract
f000: 20 2d 52 20 66 72 6f 6d 20 64 65 70 65 6e 64 65   -R from depende
f010: 6e 63 79 5f 6c 69 62 73 0a 09 20 20 20 20 74 65  ncy_libs..    te
f020: 6d 70 5f 64 65 70 6c 69 62 73 3d 0a 09 20 20 20  mp_deplibs=..   
f030: 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24   for libdir in $
f040: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b  dependency_libs;
f050: 20 64 6f 0a 09 20 20 20 20 20 20 63 61 73 65 20   do..      case 
f060: 24 6c 69 62 64 69 72 20 69 6e 0a 09 20 20 20 20  $libdir in..    
f070: 20 20 2d 52 2a 29 20 74 65 6d 70 5f 78 72 70 61    -R*) temp_xrpa
f080: 74 68 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62  th=`$echo "X$lib
f090: 64 69 72 22 20 7c 20 24 58 73 65 64 20 2d 65 20  dir" | $Xsed -e 
f0a0: 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09 09 20 20 20  's/^-R//'`...   
f0b0: 63 61 73 65 20 22 20 24 78 72 70 61 74 68 20 22  case " $xrpath "
f0c0: 20 69 6e 0a 09 09 20 20 20 2a 22 20 24 74 65 6d   in...   *" $tem
f0d0: 70 5f 78 72 70 61 74 68 20 22 2a 29 20 3b 3b 0a  p_xrpath "*) ;;.
f0e0: 09 09 20 20 20 2a 29 20 78 72 70 61 74 68 3d 22  ..   *) xrpath="
f0f0: 24 78 72 70 61 74 68 20 24 74 65 6d 70 5f 78 72  $xrpath $temp_xr
f100: 70 61 74 68 22 3b 3b 0a 09 09 20 20 20 65 73 61  path";;...   esa
f110: 63 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 74 65  c;;..      *) te
f120: 6d 70 5f 64 65 70 6c 69 62 73 3d 22 24 74 65 6d  mp_deplibs="$tem
f130: 70 5f 64 65 70 6c 69 62 73 20 24 6c 69 62 64 69  p_deplibs $libdi
f140: 72 22 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  r";;..      esac
f150: 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20  ..    done..    
f160: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d  dependency_libs=
f170: 22 24 74 65 6d 70 5f 64 65 70 6c 69 62 73 22 0a  "$temp_deplibs".
f180: 09 20 20 66 69 0a 0a 09 20 20 6e 65 77 6c 69 62  .  fi...  newlib
f190: 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6e  _search_path="$n
f1a0: 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ewlib_search_pat
f1b0: 68 20 24 61 62 73 64 69 72 22 0a 09 20 20 23 20  h $absdir"..  # 
f1c0: 4c 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 69  Link against thi
f1d0: 73 20 6c 69 62 72 61 72 79 0a 09 20 20 74 65 73  s library..  tes
f1e0: 74 20 22 24 6c 69 6e 6b 5f 73 74 61 74 69 63 22  t "$link_static"
f1f0: 20 3d 20 6e 6f 20 26 26 20 6e 65 77 64 65 70 65   = no && newdepe
f200: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 61 62  ndency_libs="$ab
f210: 73 5f 6c 61 64 69 72 2f 24 6c 61 6e 61 6d 65 20  s_ladir/$laname 
f220: 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c  $newdependency_l
f230: 69 62 73 22 0a 09 20 20 23 20 2e 2e 2e 20 61 6e  ibs"..  # ... an
f240: 64 20 69 74 73 20 64 65 70 65 6e 64 65 6e 63 79  d its dependency
f250: 5f 6c 69 62 73 0a 09 20 20 74 6d 70 5f 6c 69 62  _libs..  tmp_lib
f260: 73 3d 0a 09 20 20 66 6f 72 20 64 65 70 6c 69 62  s=..  for deplib
f270: 20 69 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f   in $dependency_
f280: 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 6e 65  libs; do..    ne
f290: 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
f2a0: 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77 64 65  ="$deplib $newde
f2b0: 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09  pendency_libs"..
f2c0: 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64      if test "X$d
f2d0: 75 70 6c 69 63 61 74 65 5f 64 65 70 73 22 20 3d  uplicate_deps" =
f2e0: 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09   "Xyes" ; then..
f2f0: 20 20 20 20 20 20 63 61 73 65 20 22 24 74 6d 70        case "$tmp
f300: 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20 20 20 20  _libs " in..    
f310: 20 20 2a 22 20 24 64 65 70 6c 69 62 20 22 2a 29    *" $deplib "*)
f320: 20 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 3d   specialdeplibs=
f330: 22 24 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73  "$specialdeplibs
f340: 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20   $deplib" ;;..  
f350: 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 66 69      esac..    fi
f360: 0a 09 20 20 20 20 74 6d 70 5f 6c 69 62 73 3d 22  ..    tmp_libs="
f370: 24 74 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c 69  $tmp_libs $depli
f380: 62 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20 20 69  b"..  done...  i
f390: 66 20 74 65 73 74 20 24 6c 69 6e 6b 5f 61 6c 6c  f test $link_all
f3a0: 5f 64 65 70 6c 69 62 73 20 21 3d 20 6e 6f 3b 20  _deplibs != no; 
f3b0: 74 68 65 6e 0a 09 20 20 20 20 23 20 41 64 64 20  then..    # Add 
f3c0: 74 68 65 20 73 65 61 72 63 68 20 70 61 74 68 73  the search paths
f3d0: 20 6f 66 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e   of all dependen
f3e0: 63 79 20 6c 69 62 72 61 72 69 65 73 0a 09 20 20  cy libraries..  
f3f0: 20 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20    for deplib in 
f400: 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  $dependency_libs
f410: 3b 20 64 6f 0a 09 20 20 20 20 20 20 63 61 73 65  ; do..      case
f420: 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 20 20 20   $deplib in..   
f430: 20 20 20 2d 4c 2a 29 20 70 61 74 68 3d 22 24 64     -L*) path="$d
f440: 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20 20 20 20  eplib" ;;..     
f450: 20 2a 2e 6c 61 29 0a 09 09 64 69 72 3d 60 24 65   *.la)...dir=`$e
f460: 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c  cho "X$deplib" |
f470: 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e   $Xsed -e 's%/[^
f480: 2f 5d 2a 24 25 25 27 60 0a 09 09 74 65 73 74 20  /]*$%%'`...test 
f490: 22 58 24 64 69 72 22 20 3d 20 22 58 24 64 65 70  "X$dir" = "X$dep
f4a0: 6c 69 62 22 20 26 26 20 64 69 72 3d 22 2e 22 0a  lib" && dir=".".
f4b0: 09 09 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61  ..# We need an a
f4c0: 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 09  bsolute path....
f4d0: 63 61 73 65 20 24 64 69 72 20 69 6e 0a 09 09 5b  case $dir in...[
f4e0: 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d  \\/]* | [A-Za-z]
f4f0: 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 64 69 72 3d  :[\\/]*) absdir=
f500: 22 24 64 69 72 22 20 3b 3b 0a 09 09 2a 29 0a 09  "$dir" ;;...*)..
f510: 09 20 20 61 62 73 64 69 72 3d 60 63 64 20 22 24  .  absdir=`cd "$
f520: 64 69 72 22 20 26 26 20 70 77 64 60 0a 09 09 20  dir" && pwd`... 
f530: 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 61 62   if test -z "$ab
f540: 73 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20  sdir"; then...  
f550: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
f560: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 63 61 6e  me: warning: can
f570: 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 61 62  not determine ab
f580: 73 6f 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79  solute directory
f590: 20 6e 61 6d 65 20 6f 66 20 5c 60 24 64 69 72 27   name of \`$dir'
f5a0: 22 20 31 3e 26 32 0a 09 09 20 20 20 20 61 62 73  " 1>&2...    abs
f5b0: 64 69 72 3d 22 24 64 69 72 22 0a 09 09 20 20 66  dir="$dir"...  f
f5c0: 69 0a 09 09 20 20 3b 3b 0a 09 09 65 73 61 63 0a  i...  ;;...esac.
f5d0: 09 09 69 66 20 67 72 65 70 20 22 5e 69 6e 73 74  ..if grep "^inst
f5e0: 61 6c 6c 65 64 3d 6e 6f 22 20 24 64 65 70 6c 69  alled=no" $depli
f5f0: 62 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74  b > /dev/null; t
f600: 68 65 6e 0a 09 09 20 20 70 61 74 68 3d 22 2d 4c  hen...  path="-L
f610: 24 61 62 73 64 69 72 2f 24 6f 62 6a 64 69 72 22  $absdir/$objdir"
f620: 0a 09 09 65 6c 73 65 0a 09 09 20 20 65 76 61 6c  ...else...  eval
f630: 20 6c 69 62 64 69 72 3d 60 24 7b 53 45 44 7d 20   libdir=`${SED} 
f640: 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62 64 69 72  -n -e 's/^libdir
f650: 3d 5c 28 2e 2a 5c 29 24 2f 5c 31 2f 70 27 20 24  =\(.*\)$/\1/p' $
f660: 64 65 70 6c 69 62 60 0a 09 09 20 20 69 66 20 74  deplib`...  if t
f670: 65 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22  est -z "$libdir"
f680: 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 24 65 63  ; then...    $ec
f690: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
f6a0: 60 24 64 65 70 6c 69 62 27 20 69 73 20 6e 6f 74  `$deplib' is not
f6b0: 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c   a valid libtool
f6c0: 20 61 72 63 68 69 76 65 22 20 31 3e 26 32 0a 09   archive" 1>&2..
f6d0: 09 20 20 20 20 65 78 69 74 20 31 0a 09 09 20 20  .    exit 1...  
f6e0: 66 69 0a 09 09 20 20 69 66 20 74 65 73 74 20 22  fi...  if test "
f6f0: 24 61 62 73 64 69 72 22 20 21 3d 20 22 24 6c 69  $absdir" != "$li
f700: 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20  bdir"; then...  
f710: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
f720: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24  me: warning: \`$
f730: 64 65 70 6c 69 62 27 20 73 65 65 6d 73 20 74 6f  deplib' seems to
f740: 20 62 65 20 6d 6f 76 65 64 22 20 31 3e 26 32 0a   be moved" 1>&2.
f750: 09 09 20 20 66 69 0a 09 09 20 20 70 61 74 68 3d  ..  fi...  path=
f760: 22 2d 4c 24 61 62 73 64 69 72 22 0a 09 09 66 69  "-L$absdir"...fi
f770: 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20  ...;;..      *) 
f780: 63 6f 6e 74 69 6e 75 65 20 3b 3b 0a 09 20 20 20  continue ;;..   
f790: 20 20 20 65 73 61 63 0a 09 20 20 20 20 20 20 63     esac..      c
f7a0: 61 73 65 20 22 20 24 64 65 70 6c 69 62 73 20 22  ase " $deplibs "
f7b0: 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 70   in..      *" $p
f7c0: 61 74 68 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20  ath "*) ;;..    
f7d0: 20 20 2a 29 20 64 65 70 6c 69 62 73 3d 22 24 64    *) deplibs="$d
f7e0: 65 70 6c 69 62 73 20 24 70 61 74 68 22 20 3b 3b  eplibs $path" ;;
f7f0: 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
f800: 20 20 64 6f 6e 65 0a 09 20 20 66 69 20 23 20 6c    done..  fi # l
f810: 69 6e 6b 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 20  ink_all_deplibs 
f820: 21 3d 20 6e 6f 0a 09 66 69 20 23 20 6c 69 6e 6b  != no..fi # link
f830: 6d 6f 64 65 20 3d 20 6c 69 62 0a 20 20 20 20 20  mode = lib.     
f840: 20 64 6f 6e 65 20 23 20 66 6f 72 20 64 65 70 6c   done # for depl
f850: 69 62 20 69 6e 20 24 6c 69 62 73 0a 20 20 20 20  ib in $libs.    
f860: 20 20 69 66 20 74 65 73 74 20 24 70 61 73 73 20    if test $pass 
f870: 3d 20 64 6c 70 72 65 6f 70 65 6e 3b 20 74 68 65  = dlpreopen; the
f880: 6e 0a 09 23 20 4c 69 6e 6b 20 74 68 65 20 64 6c  n..# Link the dl
f890: 70 72 65 6f 70 65 6e 65 64 20 6c 69 62 72 61 72  preopened librar
f8a0: 69 65 73 20 62 65 66 6f 72 65 20 6f 74 68 65 72  ies before other
f8b0: 20 6c 69 62 72 61 72 69 65 73 0a 09 66 6f 72 20   libraries..for 
f8c0: 64 65 70 6c 69 62 20 69 6e 20 24 73 61 76 65 5f  deplib in $save_
f8d0: 64 65 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 64  deplibs; do..  d
f8e0: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20  eplibs="$deplib 
f8f0: 24 64 65 70 6c 69 62 73 22 0a 09 64 6f 6e 65 0a  $deplibs"..done.
f900: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 69        fi.      i
f910: 66 20 74 65 73 74 20 24 70 61 73 73 20 21 3d 20  f test $pass != 
f920: 64 6c 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 74 65  dlopen; then..te
f930: 73 74 20 24 70 61 73 73 20 21 3d 20 73 63 61 6e  st $pass != scan
f940: 20 26 26 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c   && dependency_l
f950: 69 62 73 3d 22 24 6e 65 77 64 65 70 65 6e 64 65  ibs="$newdepende
f960: 6e 63 79 5f 6c 69 62 73 22 0a 09 69 66 20 74 65  ncy_libs"..if te
f970: 73 74 20 24 70 61 73 73 20 21 3d 20 63 6f 6e 76  st $pass != conv
f980: 3b 20 74 68 65 6e 0a 09 20 20 23 20 4d 61 6b 65  ; then..  # Make
f990: 20 73 75 72 65 20 6c 69 62 5f 73 65 61 72 63 68   sure lib_search
f9a0: 5f 70 61 74 68 20 63 6f 6e 74 61 69 6e 73 20 6f  _path contains o
f9b0: 6e 6c 79 20 75 6e 69 71 75 65 20 64 69 72 65 63  nly unique direc
f9c0: 74 6f 72 69 65 73 2e 0a 09 20 20 6c 69 62 5f 73  tories...  lib_s
f9d0: 65 61 72 63 68 5f 70 61 74 68 3d 0a 09 20 20 66  earch_path=..  f
f9e0: 6f 72 20 64 69 72 20 69 6e 20 24 6e 65 77 6c 69  or dir in $newli
f9f0: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3b 20 64  b_search_path; d
fa00: 6f 0a 09 20 20 20 20 63 61 73 65 20 22 24 6c 69  o..    case "$li
fa10: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20 22 20  b_search_path " 
fa20: 69 6e 0a 09 20 20 20 20 2a 22 20 24 64 69 72 20  in..    *" $dir 
fa30: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 6c  "*) ;;..    *) l
fa40: 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 22  ib_search_path="
fa50: 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
fa60: 20 24 64 69 72 22 20 3b 3b 0a 09 20 20 20 20 65   $dir" ;;..    e
fa70: 73 61 63 0a 09 20 20 64 6f 6e 65 0a 09 20 20 6e  sac..  done..  n
fa80: 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ewlib_search_pat
fa90: 68 3d 0a 09 66 69 0a 0a 09 69 66 20 74 65 73 74  h=..fi...if test
faa0: 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73   "$linkmode,$pas
fab0: 73 22 20 21 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b  s" != "prog,link
fac0: 22 3b 20 74 68 65 6e 0a 09 20 20 76 61 72 73 3d  "; then..  vars=
fad0: 22 64 65 70 6c 69 62 73 22 0a 09 65 6c 73 65 0a  "deplibs"..else.
fae0: 09 20 20 76 61 72 73 3d 22 63 6f 6d 70 69 6c 65  .  vars="compile
faf0: 5f 64 65 70 6c 69 62 73 20 66 69 6e 61 6c 69 7a  _deplibs finaliz
fb00: 65 5f 64 65 70 6c 69 62 73 22 0a 09 66 69 0a 09  e_deplibs"..fi..
fb10: 66 6f 72 20 76 61 72 20 69 6e 20 24 76 61 72 73  for var in $vars
fb20: 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73   dependency_libs
fb30: 3b 20 64 6f 0a 09 20 20 23 20 41 64 64 20 6c 69  ; do..  # Add li
fb40: 62 72 61 72 69 65 73 20 74 6f 20 24 76 61 72 20  braries to $var 
fb50: 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72  in reverse order
fb60: 0a 09 20 20 65 76 61 6c 20 74 6d 70 5f 6c 69 62  ..  eval tmp_lib
fb70: 73 3d 5c 22 5c 24 24 76 61 72 5c 22 0a 09 20 20  s=\"\$$var\"..  
fb80: 6e 65 77 5f 6c 69 62 73 3d 0a 09 20 20 66 6f 72  new_libs=..  for
fb90: 20 64 65 70 6c 69 62 20 69 6e 20 24 74 6d 70 5f   deplib in $tmp_
fba0: 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 63 61  libs; do..    ca
fbb0: 73 65 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 20  se $deplib in.. 
fbc0: 20 20 20 2d 4c 2a 29 20 6e 65 77 5f 6c 69 62 73     -L*) new_libs
fbd0: 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c  ="$deplib $new_l
fbe0: 69 62 73 22 20 3b 3b 0a 09 20 20 20 20 2a 29 0a  ibs" ;;..    *).
fbf0: 09 20 20 20 20 20 20 63 61 73 65 20 22 20 24 73  .      case " $s
fc00: 70 65 63 69 61 6c 64 65 70 6c 69 62 73 20 22 20  pecialdeplibs " 
fc10: 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65  in..      *" $de
fc20: 70 6c 69 62 20 22 2a 29 20 6e 65 77 5f 6c 69 62  plib "*) new_lib
fc30: 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77 5f  s="$deplib $new_
fc40: 6c 69 62 73 22 20 3b 3b 0a 09 20 20 20 20 20 20  libs" ;;..      
fc50: 2a 29 0a 09 09 63 61 73 65 20 22 20 24 6e 65 77  *)...case " $new
fc60: 5f 6c 69 62 73 20 22 20 69 6e 0a 09 09 2a 22 20  _libs " in...*" 
fc70: 24 64 65 70 6c 69 62 20 22 2a 29 20 3b 3b 0a 09  $deplib "*) ;;..
fc80: 09 2a 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24 64  .*) new_libs="$d
fc90: 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69 62 73 22  eplib $new_libs"
fca0: 20 3b 3b 0a 09 09 65 73 61 63 0a 09 09 3b 3b 0a   ;;...esac...;;.
fcb0: 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
fcc0: 20 20 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a     ;;..    esac.
fcd0: 09 20 20 64 6f 6e 65 0a 09 20 20 74 6d 70 5f 6c  .  done..  tmp_l
fce0: 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70 6c  ibs=..  for depl
fcf0: 69 62 20 69 6e 20 24 6e 65 77 5f 6c 69 62 73 3b  ib in $new_libs;
fd00: 20 64 6f 0a 09 20 20 20 20 63 61 73 65 20 24 64   do..    case $d
fd10: 65 70 6c 69 62 20 69 6e 0a 09 20 20 20 20 2d 4c  eplib in..    -L
fd20: 2a 29 0a 09 20 20 20 20 20 20 63 61 73 65 20 22  *)..      case "
fd30: 20 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a   $tmp_libs " in.
fd40: 09 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69  .      *" $depli
fd50: 62 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20  b "*) ;;..      
fd60: 2a 29 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d  *) tmp_libs="$tm
fd70: 70 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20  p_libs $deplib" 
fd80: 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
fd90: 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 2a 29        ;;..    *)
fda0: 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70 5f   tmp_libs="$tmp_
fdb0: 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b  libs $deplib" ;;
fdc0: 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 64 6f  ..    esac..  do
fdd0: 6e 65 0a 09 20 20 65 76 61 6c 20 24 76 61 72 3d  ne..  eval $var=
fde0: 5c 22 24 74 6d 70 5f 6c 69 62 73 5c 22 0a 09 64  \"$tmp_libs\"..d
fdf0: 6f 6e 65 20 23 20 66 6f 72 20 76 61 72 0a 20 20  one # for var.  
fe00: 20 20 20 20 66 69 0a 20 20 20 20 20 20 69 66 20      fi.      if 
fe10: 74 65 73 74 20 22 24 70 61 73 73 22 20 3d 20 22  test "$pass" = "
fe20: 63 6f 6e 76 22 20 26 26 0a 20 20 20 20 20 20 20  conv" &&.       
fe30: 7b 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64  { test "$linkmod
fe40: 65 22 20 3d 20 22 6c 69 62 22 20 7c 7c 20 74 65  e" = "lib" || te
fe50: 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d  st "$linkmode" =
fe60: 20 22 70 72 6f 67 22 3b 20 7d 3b 20 74 68 65 6e   "prog"; }; then
fe70: 0a 09 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  ..libs="$deplibs
fe80: 22 20 23 20 72 65 73 65 74 20 6c 69 62 73 0a 09  " # reset libs..
fe90: 64 65 70 6c 69 62 73 3d 0a 20 20 20 20 20 20 66  deplibs=.      f
fea0: 69 0a 20 20 20 20 64 6f 6e 65 20 23 20 66 6f 72  i.    done # for
feb0: 20 70 61 73 73 0a 20 20 20 20 69 66 20 74 65 73   pass.    if tes
fec0: 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72  t $linkmode = pr
fed0: 6f 67 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 64  og; then.      d
fee0: 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69  lfiles="$newdlfi
fef0: 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 70 72 65  les".      dlpre
ff00: 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65  files="$newdlpre
ff10: 66 69 6c 65 73 22 0a 20 20 20 20 66 69 0a 0a 20  files".    fi.. 
ff20: 20 20 20 63 61 73 65 20 24 6c 69 6e 6b 6d 6f 64     case $linkmod
ff30: 65 20 69 6e 0a 20 20 20 20 6f 6c 64 6c 69 62 29  e in.    oldlib)
ff40: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
ff50: 6e 20 22 24 64 6c 66 69 6c 65 73 24 64 6c 70 72  n "$dlfiles$dlpr
ff60: 65 66 69 6c 65 73 22 20 7c 7c 20 74 65 73 74 20  efiles" || test 
ff70: 22 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e 6f 3b  "$dlself" != no;
ff80: 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
ff90: 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
ffa0: 3a 20 5c 60 2d 64 6c 6f 70 65 6e 27 20 69 73 20  : \`-dlopen' is 
ffb0: 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68  ignored for arch
ffc0: 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ives" 1>&2.     
ffd0: 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
ffe0: 73 74 20 2d 6e 20 22 24 72 70 61 74 68 22 3b 20  st -n "$rpath"; 
fff0: 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f  then..$echo "$mo
10000 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
10010 20 5c 60 2d 72 70 61 74 68 27 20 69 73 20 69 67   \`-rpath' is ig
10020 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68 69 76  nored for archiv
10030 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  es" 1>&2.      f
10040 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
10050 20 2d 6e 20 22 24 78 72 70 61 74 68 22 3b 20 74   -n "$xrpath"; t
10060 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  hen..$echo "$mod
10070 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
10080 5c 60 2d 52 27 20 69 73 20 69 67 6e 6f 72 65 64  \`-R' is ignored
10090 20 66 6f 72 20 61 72 63 68 69 76 65 73 22 20 31   for archives" 1
100a0 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  >&2.      fi..  
100b0 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
100c0 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a 09 24  $vinfo"; then..$
100d0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
100e0 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65 72   warning: \`-ver
100f0 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73 20 69 67  sion-info' is ig
10100 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68 69 76  nored for archiv
10110 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  es" 1>&2.      f
10120 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
10130 20 2d 6e 20 22 24 72 65 6c 65 61 73 65 22 3b 20   -n "$release"; 
10140 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f  then..$echo "$mo
10150 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
10160 20 5c 60 2d 72 65 6c 65 61 73 65 27 20 69 73 20   \`-release' is 
10170 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68  ignored for arch
10180 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ives" 1>&2.     
10190 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
101a0 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73  st -n "$export_s
101b0 79 6d 62 6f 6c 73 22 20 7c 7c 20 74 65 73 74 20  ymbols" || test 
101c0 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  -n "$export_symb
101d0 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74 68 65 6e  ols_regex"; then
101e0 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
101f0 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
10200 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 27 20  export-symbols' 
10210 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61  is ignored for a
10220 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20  rchives" 1>&2.  
10230 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20      fi..      # 
10240 4e 6f 77 20 73 65 74 20 74 68 65 20 76 61 72 69  Now set the vari
10250 61 62 6c 65 73 20 66 6f 72 20 62 75 69 6c 64 69  ables for buildi
10260 6e 67 20 6f 6c 64 20 6c 69 62 72 61 72 69 65 73  ng old libraries
10270 2e 0a 20 20 20 20 20 20 62 75 69 6c 64 5f 6c 69  ..      build_li
10280 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 20 20  btool_libs=no.  
10290 20 20 20 20 6f 6c 64 6c 69 62 73 3d 22 24 6f 75      oldlibs="$ou
102a0 74 70 75 74 22 0a 20 20 20 20 20 20 6f 62 6a 73  tput".      objs
102b0 3d 22 24 6f 62 6a 73 24 6f 6c 64 5f 64 65 70 6c  ="$objs$old_depl
102c0 69 62 73 22 0a 20 20 20 20 20 20 3b 3b 0a 0a 20  ibs".      ;;.. 
102d0 20 20 20 6c 69 62 29 0a 20 20 20 20 20 20 23 20     lib).      # 
102e0 4d 61 6b 65 20 73 75 72 65 20 77 65 20 6f 6e 6c  Make sure we onl
102f0 79 20 67 65 6e 65 72 61 74 65 20 6c 69 62 72 61  y generate libra
10300 72 69 65 73 20 6f 66 20 74 68 65 20 66 6f 72 6d  ries of the form
10310 20 60 6c 69 62 4e 41 4d 45 2e 6c 61 27 2e 0a 20   `libNAME.la'.. 
10320 20 20 20 20 20 63 61 73 65 20 24 6f 75 74 70 75       case $outpu
10330 74 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 20 6c  tname in.      l
10340 69 62 2a 29 0a 09 6e 61 6d 65 3d 60 24 65 63 68  ib*)..name=`$ech
10350 6f 20 22 58 24 6f 75 74 70 75 74 6e 61 6d 65 22  o "X$outputname"
10360 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5c   | $Xsed -e 's/\
10370 2e 6c 61 24 2f 2f 27 20 2d 65 20 27 73 2f 5e 6c  .la$//' -e 's/^l
10380 69 62 2f 2f 27 60 0a 09 65 76 61 6c 20 6c 69 62  ib//'`..eval lib
10390 6e 61 6d 65 3d 5c 22 24 6c 69 62 6e 61 6d 65 5f  name=\"$libname_
103a0 73 70 65 63 5c 22 0a 09 3b 3b 0a 20 20 20 20 20  spec\"..;;.     
103b0 20 2a 29 0a 09 69 66 20 74 65 73 74 20 22 24 6d   *)..if test "$m
103c0 6f 64 75 6c 65 22 20 3d 20 6e 6f 3b 20 74 68 65  odule" = no; the
103d0 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  n..  $echo "$mod
103e0 65 6e 61 6d 65 3a 20 6c 69 62 74 6f 6f 6c 20 6c  ename: libtool l
103f0 69 62 72 61 72 79 20 5c 60 24 6f 75 74 70 75 74  ibrary \`$output
10400 27 20 6d 75 73 74 20 62 65 67 69 6e 20 77 69 74  ' must begin wit
10410 68 20 5c 60 6c 69 62 27 22 20 31 3e 26 32 0a 09  h \`lib'" 1>&2..
10420 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20    $echo "$help" 
10430 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09  1>&2..  exit 1..
10440 66 69 0a 09 69 66 20 74 65 73 74 20 22 24 6e 65  fi..if test "$ne
10450 65 64 5f 6c 69 62 5f 70 72 65 66 69 78 22 20 21  ed_lib_prefix" !
10460 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 23 20  = no; then..  # 
10470 41 64 64 20 74 68 65 20 22 6c 69 62 22 20 70 72  Add the "lib" pr
10480 65 66 69 78 20 66 6f 72 20 6d 6f 64 75 6c 65 73  efix for modules
10490 20 69 66 20 72 65 71 75 69 72 65 64 0a 09 20 20   if required..  
104a0 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6f  name=`$echo "X$o
104b0 75 74 70 75 74 6e 61 6d 65 22 20 7c 20 24 58 73  utputname" | $Xs
104c0 65 64 20 2d 65 20 27 73 2f 5c 2e 6c 61 24 2f 2f  ed -e 's/\.la$//
104d0 27 60 0a 09 20 20 65 76 61 6c 20 6c 69 62 6e 61  '`..  eval libna
104e0 6d 65 3d 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70  me=\"$libname_sp
104f0 65 63 5c 22 0a 09 65 6c 73 65 0a 09 20 20 6c 69  ec\"..else..  li
10500 62 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24  bname=`$echo "X$
10510 6f 75 74 70 75 74 6e 61 6d 65 22 20 7c 20 24 58  outputname" | $X
10520 73 65 64 20 2d 65 20 27 73 2f 5c 2e 6c 61 24 2f  sed -e 's/\.la$/
10530 2f 27 60 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20  /'`..fi..;;.    
10540 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 69 66    esac..      if
10550 20 74 65 73 74 20 2d 6e 20 22 24 6f 62 6a 73 22   test -n "$objs"
10560 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20  ; then..if test 
10570 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f  "$deplibs_check_
10580 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73 73 5f  method" != pass_
10590 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  all; then..  $ec
105a0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63  ho "$modename: c
105b0 61 6e 6e 6f 74 20 62 75 69 6c 64 20 6c 69 62 74  annot build libt
105c0 6f 6f 6c 20 6c 69 62 72 61 72 79 20 5c 60 24 6f  ool library \`$o
105d0 75 74 70 75 74 27 20 66 72 6f 6d 20 6e 6f 6e 2d  utput' from non-
105e0 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 73 20  libtool objects 
105f0 6f 6e 20 74 68 69 73 20 68 6f 73 74 3a 24 6f 62  on this host:$ob
10600 6a 73 22 20 32 3e 26 31 0a 09 20 20 65 78 69 74  js" 2>&1..  exit
10610 20 31 0a 09 65 6c 73 65 0a 09 20 20 65 63 68 6f   1..else..  echo
10620 0a 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57 61  ..  echo "*** Wa
10630 72 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74  rning: Linking t
10640 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  he shared librar
10650 79 20 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73  y $output agains
10660 74 20 74 68 65 20 6e 6f 6e 2d 6c 69 62 74 6f 6f  t the non-libtoo
10670 6c 22 0a 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20  l"..  echo "*** 
10680 6f 62 6a 65 63 74 73 20 24 6f 62 6a 73 20 69 73  objects $objs is
10690 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65 21 22 0a   not portable!".
106a0 09 20 20 6c 69 62 6f 62 6a 73 3d 22 24 6c 69 62  .  libobjs="$lib
106b0 6f 62 6a 73 20 24 6f 62 6a 73 22 0a 09 66 69 0a  objs $objs"..fi.
106c0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
106d0 69 66 20 74 65 73 74 20 22 24 64 6c 73 65 6c 66  if test "$dlself
106e0 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 24  " != no; then..$
106f0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
10700 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 64 6c 6f   warning: \`-dlo
10710 70 65 6e 20 73 65 6c 66 27 20 69 73 20 69 67 6e  pen self' is ign
10720 6f 72 65 64 20 66 6f 72 20 6c 69 62 74 6f 6f 6c  ored for libtool
10730 20 6c 69 62 72 61 72 69 65 73 22 20 31 3e 26 32   libraries" 1>&2
10740 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
10750 20 73 65 74 20 64 75 6d 6d 79 20 24 72 70 61 74   set dummy $rpat
10760 68 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  h.      if test 
10770 24 23 20 2d 67 74 20 32 3b 20 74 68 65 6e 0a 09  $# -gt 2; then..
10780 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
10790 3a 20 77 61 72 6e 69 6e 67 3a 20 69 67 6e 6f 72  : warning: ignor
107a0 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 5c 60 2d  ing multiple \`-
107b0 72 70 61 74 68 27 73 20 66 6f 72 20 61 20 6c 69  rpath's for a li
107c0 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 22 20 31  btool library" 1
107d0 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 20 20 20  >&2.      fi.   
107e0 20 20 20 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69     install_libdi
107f0 72 3d 22 24 32 22 0a 0a 20 20 20 20 20 20 6f 6c  r="$2"..      ol
10800 64 6c 69 62 73 3d 0a 20 20 20 20 20 20 69 66 20  dlibs=.      if 
10810 74 65 73 74 20 2d 7a 20 22 24 72 70 61 74 68 22  test -z "$rpath"
10820 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20  ; then..if test 
10830 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
10840 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65  libs" = yes; the
10850 6e 0a 09 20 20 23 20 42 75 69 6c 64 69 6e 67 20  n..  # Building 
10860 61 20 6c 69 62 74 6f 6f 6c 20 63 6f 6e 76 65 6e  a libtool conven
10870 69 65 6e 63 65 20 6c 69 62 72 61 72 79 2e 0a 09  ience library...
10880 20 20 6c 69 62 65 78 74 3d 61 6c 0a 09 20 20 6f    libext=al..  o
10890 6c 64 6c 69 62 73 3d 22 24 6f 75 74 70 75 74 5f  ldlibs="$output_
108a0 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e  objdir/$libname.
108b0 24 6c 69 62 65 78 74 20 24 6f 6c 64 6c 69 62 73  $libext $oldlibs
108c0 22 0a 09 20 20 62 75 69 6c 64 5f 6c 69 62 74 6f  "..  build_libto
108d0 6f 6c 5f 6c 69 62 73 3d 63 6f 6e 76 65 6e 69 65  ol_libs=convenie
108e0 6e 63 65 0a 09 20 20 62 75 69 6c 64 5f 6f 6c 64  nce..  build_old
108f0 5f 6c 69 62 73 3d 79 65 73 0a 09 66 69 0a 0a 09  _libs=yes..fi...
10900 69 66 20 74 65 73 74 20 2d 6e 20 22 24 76 69 6e  if test -n "$vin
10910 66 6f 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  fo"; then..  $ec
10920 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77  ho "$modename: w
10930 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65 72 73 69  arning: \`-versi
10940 6f 6e 2d 69 6e 66 6f 27 20 69 73 20 69 67 6e 6f  on-info' is igno
10950 72 65 64 20 66 6f 72 20 63 6f 6e 76 65 6e 69 65  red for convenie
10960 6e 63 65 20 6c 69 62 72 61 72 69 65 73 22 20 31  nce libraries" 1
10970 3e 26 32 0a 09 66 69 0a 0a 09 69 66 20 74 65 73  >&2..fi...if tes
10980 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65 22 3b  t -n "$release";
10990 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22   then..  $echo "
109a0 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
109b0 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20  ng: \`-release' 
109c0 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 63  is ignored for c
109d0 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62 72 61  onvenience libra
109e0 72 69 65 73 22 20 31 3e 26 32 0a 09 66 69 0a 20  ries" 1>&2..fi. 
109f0 20 20 20 20 20 65 6c 73 65 0a 0a 09 23 20 50 61       else...# Pa
10a00 72 73 65 20 74 68 65 20 76 65 72 73 69 6f 6e 20  rse the version 
10a10 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 72 67 75  information argu
10a20 6d 65 6e 74 2e 0a 09 73 61 76 65 5f 69 66 73 3d  ment...save_ifs=
10a30 22 24 49 46 53 22 3b 20 49 46 53 3d 27 3a 27 0a  "$IFS"; IFS=':'.
10a40 09 73 65 74 20 64 75 6d 6d 79 20 24 76 69 6e 66  .set dummy $vinf
10a50 6f 20 30 20 30 20 30 0a 09 49 46 53 3d 22 24 73  o 0 0 0..IFS="$s
10a60 61 76 65 5f 69 66 73 22 0a 0a 09 69 66 20 74 65  ave_ifs"...if te
10a70 73 74 20 2d 6e 20 22 24 38 22 3b 20 74 68 65 6e  st -n "$8"; then
10a80 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
10a90 6e 61 6d 65 3a 20 74 6f 6f 20 6d 61 6e 79 20 70  name: too many p
10aa0 61 72 61 6d 65 74 65 72 73 20 74 6f 20 5c 60 2d  arameters to \`-
10ab0 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 22 20 31  version-info'" 1
10ac0 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68  >&2..  $echo "$h
10ad0 65 6c 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69  elp" 1>&2..  exi
10ae0 74 20 31 0a 09 66 69 0a 0a 09 63 75 72 72 65 6e  t 1..fi...curren
10af0 74 3d 22 24 32 22 0a 09 72 65 76 69 73 69 6f 6e  t="$2"..revision
10b00 3d 22 24 33 22 0a 09 61 67 65 3d 22 24 34 22 0a  ="$3"..age="$4".
10b10 0a 09 23 20 43 68 65 63 6b 20 74 68 61 74 20 65  ..# Check that e
10b20 61 63 68 20 6f 66 20 74 68 65 20 74 68 69 6e 67  ach of the thing
10b30 73 20 61 72 65 20 76 61 6c 69 64 20 6e 75 6d 62  s are valid numb
10b40 65 72 73 2e 0a 09 63 61 73 65 20 24 63 75 72 72  ers...case $curr
10b50 65 6e 74 20 69 6e 0a 09 30 20 7c 20 5b 31 2d 39  ent in..0 | [1-9
10b60 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 20 7c  ] | [1-9][0-9] |
10b70 20 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d   [1-9][0-9][0-9]
10b80 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68  ) ;;..*)..  $ech
10b90 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 43 55  o "$modename: CU
10ba0 52 52 45 4e 54 20 5c 60 24 63 75 72 72 65 6e 74  RRENT \`$current
10bb0 27 20 69 73 20 6e 6f 74 20 61 20 6e 6f 6e 6e 65  ' is not a nonne
10bc0 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 22 20  gative integer" 
10bd0 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24  1>&2..  $echo "$
10be0 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69 6e  modename: \`$vin
10bf0 66 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c 69 64  fo' is not valid
10c00 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61   version informa
10c10 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65 78  tion" 1>&2..  ex
10c20 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63  it 1..  ;;..esac
10c30 0a 0a 09 63 61 73 65 20 24 72 65 76 69 73 69 6f  ...case $revisio
10c40 6e 20 69 6e 0a 09 30 20 7c 20 5b 31 2d 39 5d 20  n in..0 | [1-9] 
10c50 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 20 7c 20 5b  | [1-9][0-9] | [
10c60 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 29 20  1-9][0-9][0-9]) 
10c70 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f 20  ;;..*)..  $echo 
10c80 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 52 45 56 49  "$modename: REVI
10c90 53 49 4f 4e 20 5c 60 24 72 65 76 69 73 69 6f 6e  SION \`$revision
10ca0 27 20 69 73 20 6e 6f 74 20 61 20 6e 6f 6e 6e 65  ' is not a nonne
10cb0 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 22 20  gative integer" 
10cc0 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24  1>&2..  $echo "$
10cd0 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69 6e  modename: \`$vin
10ce0 66 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c 69 64  fo' is not valid
10cf0 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61   version informa
10d00 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65 78  tion" 1>&2..  ex
10d10 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63  it 1..  ;;..esac
10d20 0a 0a 09 63 61 73 65 20 24 61 67 65 20 69 6e 0a  ...case $age in.
10d30 09 30 20 7c 20 5b 31 2d 39 5d 20 7c 20 5b 31 2d  .0 | [1-9] | [1-
10d40 39 5d 5b 30 2d 39 5d 20 7c 20 5b 31 2d 39 5d 5b  9][0-9] | [1-9][
10d50 30 2d 39 5d 5b 30 2d 39 5d 29 20 3b 3b 0a 09 2a  0-9][0-9]) ;;..*
10d60 29 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  )..  $echo "$mod
10d70 65 6e 61 6d 65 3a 20 41 47 45 20 5c 60 24 61 67  ename: AGE \`$ag
10d80 65 27 20 69 73 20 6e 6f 74 20 61 20 6e 6f 6e 6e  e' is not a nonn
10d90 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 22  egative integer"
10da0 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22   1>&2..  $echo "
10db0 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69  $modename: \`$vi
10dc0 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c 69  nfo' is not vali
10dd0 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d  d version inform
10de0 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65  ation" 1>&2..  e
10df0 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61  xit 1..  ;;..esa
10e00 63 0a 0a 09 69 66 20 74 65 73 74 20 24 61 67 65  c...if test $age
10e10 20 2d 67 74 20 24 63 75 72 72 65 6e 74 3b 20 74   -gt $current; t
10e20 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  hen..  $echo "$m
10e30 6f 64 65 6e 61 6d 65 3a 20 41 47 45 20 5c 60 24  odename: AGE \`$
10e40 61 67 65 27 20 69 73 20 67 72 65 61 74 65 72 20  age' is greater 
10e50 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74  than the current
10e60 20 69 6e 74 65 72 66 61 63 65 20 6e 75 6d 62 65   interface numbe
10e70 72 20 5c 60 24 63 75 72 72 65 6e 74 27 22 20 31  r \`$current'" 1
10e80 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  >&2..  $echo "$m
10e90 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69 6e 66  odename: \`$vinf
10ea0 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20  o' is not valid 
10eb0 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74  version informat
10ec0 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65 78 69  ion" 1>&2..  exi
10ed0 74 20 31 0a 09 66 69 0a 0a 09 23 20 43 61 6c 63  t 1..fi...# Calc
10ee0 75 6c 61 74 65 20 74 68 65 20 76 65 72 73 69 6f  ulate the versio
10ef0 6e 20 76 61 72 69 61 62 6c 65 73 2e 0a 09 6d 61  n variables...ma
10f00 6a 6f 72 3d 0a 09 76 65 72 73 75 66 66 69 78 3d  jor=..versuffix=
10f10 0a 09 76 65 72 73 74 72 69 6e 67 3d 0a 09 63 61  ..verstring=..ca
10f20 73 65 20 24 76 65 72 73 69 6f 6e 5f 74 79 70 65  se $version_type
10f30 20 69 6e 0a 09 6e 6f 6e 65 29 20 3b 3b 0a 0a 09   in..none) ;;...
10f40 64 61 72 77 69 6e 29 0a 09 20 20 23 20 4c 69 6b  darwin)..  # Lik
10f50 65 20 4c 69 6e 75 78 2c 20 62 75 74 20 77 69 74  e Linux, but wit
10f60 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 65  h the current ve
10f70 72 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20  rsion available 
10f80 69 6e 0a 09 20 20 23 20 76 65 72 73 74 72 69 6e  in..  # verstrin
10f90 67 20 66 6f 72 20 63 6f 64 69 6e 67 20 69 74 20  g for coding it 
10fa0 69 6e 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79  into the library
10fb0 20 68 65 61 64 65 72 0a 09 20 20 6d 61 6a 6f 72   header..  major
10fc0 3d 2e 60 65 78 70 72 20 24 63 75 72 72 65 6e 74  =.`expr $current
10fd0 20 2d 20 24 61 67 65 60 0a 09 20 20 76 65 72 73   - $age`..  vers
10fe0 75 66 66 69 78 3d 22 24 6d 61 6a 6f 72 2e 24 61  uffix="$major.$a
10ff0 67 65 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09 20  ge.$revision".. 
11000 20 23 20 44 61 72 77 69 6e 20 6c 64 20 64 6f 65   # Darwin ld doe
11010 73 6e 27 74 20 6c 69 6b 65 20 30 20 66 6f 72 20  sn't like 0 for 
11020 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 2e 2e 2e  these options...
11030 0a 09 20 20 6d 69 6e 6f 72 5f 63 75 72 72 65 6e  ..  minor_curren
11040 74 3d 60 65 78 70 72 20 24 63 75 72 72 65 6e 74  t=`expr $current
11050 20 2b 20 31 60 0a 09 20 20 76 65 72 73 74 72 69   + 1`..  verstri
11060 6e 67 3d 22 2d 63 6f 6d 70 61 74 69 62 69 6c 69  ng="-compatibili
11070 74 79 5f 76 65 72 73 69 6f 6e 20 24 6d 69 6e 6f  ty_version $mino
11080 72 5f 63 75 72 72 65 6e 74 20 2d 63 75 72 72 65  r_current -curre
11090 6e 74 5f 76 65 72 73 69 6f 6e 20 24 6d 69 6e 6f  nt_version $mino
110a0 72 5f 63 75 72 72 65 6e 74 2e 24 72 65 76 69 73  r_current.$revis
110b0 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09 66 72 65  ion"..  ;;...fre
110c0 65 62 73 64 2d 61 6f 75 74 29 0a 09 20 20 6d 61  ebsd-aout)..  ma
110d0 6a 6f 72 3d 22 2e 24 63 75 72 72 65 6e 74 22 0a  jor=".$current".
110e0 09 20 20 76 65 72 73 75 66 66 69 78 3d 22 2e 24  .  versuffix=".$
110f0 63 75 72 72 65 6e 74 2e 24 72 65 76 69 73 69 6f  current.$revisio
11100 6e 22 3b 0a 09 20 20 3b 3b 0a 0a 09 66 72 65 65  n";..  ;;...free
11110 62 73 64 2d 65 6c 66 29 0a 09 20 20 6d 61 6a 6f  bsd-elf)..  majo
11120 72 3d 22 2e 24 63 75 72 72 65 6e 74 22 0a 09 20  r=".$current".. 
11130 20 76 65 72 73 75 66 66 69 78 3d 22 2e 24 63 75   versuffix=".$cu
11140 72 72 65 6e 74 22 3b 0a 09 20 20 3b 3b 0a 0a 09  rrent";..  ;;...
11150 69 72 69 78 20 7c 20 6e 6f 6e 73 74 6f 70 75 78  irix | nonstopux
11160 29 0a 09 20 20 6d 61 6a 6f 72 3d 60 65 78 70 72  )..  major=`expr
11170 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61 67 65   $current - $age
11180 20 2b 20 31 60 0a 0a 09 20 20 63 61 73 65 20 24   + 1`...  case $
11190 76 65 72 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a  version_type in.
111a0 09 20 20 20 20 6e 6f 6e 73 74 6f 70 75 78 29 20  .    nonstopux) 
111b0 76 65 72 73 74 72 69 6e 67 5f 70 72 65 66 69 78  verstring_prefix
111c0 3d 6e 6f 6e 73 74 6f 70 75 78 20 3b 3b 0a 09 20  =nonstopux ;;.. 
111d0 20 20 20 2a 29 20 20 20 20 20 20 20 20 20 76 65     *)         ve
111e0 72 73 74 72 69 6e 67 5f 70 72 65 66 69 78 3d 73  rstring_prefix=s
111f0 67 69 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20  gi ;;..  esac.. 
11200 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76 65 72   verstring="$ver
11210 73 74 72 69 6e 67 5f 70 72 65 66 69 78 24 6d 61  string_prefix$ma
11220 6a 6f 72 2e 24 72 65 76 69 73 69 6f 6e 22 0a 0a  jor.$revision"..
11230 09 20 20 23 20 41 64 64 20 69 6e 20 61 6c 6c 20  .  # Add in all 
11240 74 68 65 20 69 6e 74 65 72 66 61 63 65 73 20 74  the interfaces t
11250 68 61 74 20 77 65 20 61 72 65 20 63 6f 6d 70 61  hat we are compa
11260 74 69 62 6c 65 20 77 69 74 68 2e 0a 09 20 20 6c  tible with...  l
11270 6f 6f 70 3d 24 72 65 76 69 73 69 6f 6e 0a 09 20  oop=$revision.. 
11280 20 77 68 69 6c 65 20 74 65 73 74 20 24 6c 6f 6f   while test $loo
11290 70 20 21 3d 20 30 3b 20 64 6f 0a 09 20 20 20 20  p != 0; do..    
112a0 69 66 61 63 65 3d 60 65 78 70 72 20 24 72 65 76  iface=`expr $rev
112b0 69 73 69 6f 6e 20 2d 20 24 6c 6f 6f 70 60 0a 09  ision - $loop`..
112c0 20 20 20 20 6c 6f 6f 70 3d 60 65 78 70 72 20 24      loop=`expr $
112d0 6c 6f 6f 70 20 2d 20 31 60 0a 09 20 20 20 20 76  loop - 1`..    v
112e0 65 72 73 74 72 69 6e 67 3d 22 24 76 65 72 73 74  erstring="$verst
112f0 72 69 6e 67 5f 70 72 65 66 69 78 24 6d 61 6a 6f  ring_prefix$majo
11300 72 2e 24 69 66 61 63 65 3a 24 76 65 72 73 74 72  r.$iface:$verstr
11310 69 6e 67 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20  ing"..  done... 
11320 20 23 20 42 65 66 6f 72 65 20 74 68 69 73 20 70   # Before this p
11330 6f 69 6e 74 2c 20 24 6d 61 6a 6f 72 20 6d 75 73  oint, $major mus
11340 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 60 2e  t not contain `.
11350 27 2e 0a 09 20 20 6d 61 6a 6f 72 3d 2e 24 6d 61  '...  major=.$ma
11360 6a 6f 72 0a 09 20 20 76 65 72 73 75 66 66 69 78  jor..  versuffix
11370 3d 22 24 6d 61 6a 6f 72 2e 24 72 65 76 69 73 69  ="$major.$revisi
11380 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09 6c 69 6e 75  on"..  ;;...linu
11390 78 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e 60 65 78  x)..  major=.`ex
113a0 70 72 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61  pr $current - $a
113b0 67 65 60 0a 09 20 20 76 65 72 73 75 66 66 69 78  ge`..  versuffix
113c0 3d 22 24 6d 61 6a 6f 72 2e 24 61 67 65 2e 24 72  ="$major.$age.$r
113d0 65 76 69 73 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a  evision"..  ;;..
113e0 09 6f 73 66 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e  .osf)..  major=.
113f0 60 65 78 70 72 20 24 63 75 72 72 65 6e 74 20 2d  `expr $current -
11400 20 24 61 67 65 60 0a 09 20 20 76 65 72 73 75 66   $age`..  versuf
11410 66 69 78 3d 22 2e 24 63 75 72 72 65 6e 74 2e 24  fix=".$current.$
11420 61 67 65 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09  age.$revision"..
11430 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 63 75    verstring="$cu
11440 72 72 65 6e 74 2e 24 61 67 65 2e 24 72 65 76 69  rrent.$age.$revi
11450 73 69 6f 6e 22 0a 0a 09 20 20 23 20 41 64 64 20  sion"...  # Add 
11460 69 6e 20 61 6c 6c 20 74 68 65 20 69 6e 74 65 72  in all the inter
11470 66 61 63 65 73 20 74 68 61 74 20 77 65 20 61 72  faces that we ar
11480 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  e compatible wit
11490 68 2e 0a 09 20 20 6c 6f 6f 70 3d 24 61 67 65 0a  h...  loop=$age.
114a0 09 20 20 77 68 69 6c 65 20 74 65 73 74 20 24 6c  .  while test $l
114b0 6f 6f 70 20 21 3d 20 30 3b 20 64 6f 0a 09 20 20  oop != 0; do..  
114c0 20 20 69 66 61 63 65 3d 60 65 78 70 72 20 24 63    iface=`expr $c
114d0 75 72 72 65 6e 74 20 2d 20 24 6c 6f 6f 70 60 0a  urrent - $loop`.
114e0 09 20 20 20 20 6c 6f 6f 70 3d 60 65 78 70 72 20  .    loop=`expr 
114f0 24 6c 6f 6f 70 20 2d 20 31 60 0a 09 20 20 20 20  $loop - 1`..    
11500 76 65 72 73 74 72 69 6e 67 3d 22 24 76 65 72 73  verstring="$vers
11510 74 72 69 6e 67 3a 24 7b 69 66 61 63 65 7d 2e 30  tring:${iface}.0
11520 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20 20 23 20  "..  done...  # 
11530 4d 61 6b 65 20 65 78 65 63 75 74 61 62 6c 65 73  Make executables
11540 20 64 65 70 65 6e 64 20 6f 6e 20 6f 75 72 20 63   depend on our c
11550 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 2e 0a  urrent version..
11560 09 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76  .  verstring="$v
11570 65 72 73 74 72 69 6e 67 3a 24 7b 63 75 72 72 65  erstring:${curre
11580 6e 74 7d 2e 30 22 0a 09 20 20 3b 3b 0a 0a 09 73  nt}.0"..  ;;...s
11590 75 6e 6f 73 29 0a 09 20 20 6d 61 6a 6f 72 3d 22  unos)..  major="
115a0 2e 24 63 75 72 72 65 6e 74 22 0a 09 20 20 76 65  .$current"..  ve
115b0 72 73 75 66 66 69 78 3d 22 2e 24 63 75 72 72 65  rsuffix=".$curre
115c0 6e 74 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09 20  nt.$revision".. 
115d0 20 3b 3b 0a 0a 09 77 69 6e 64 6f 77 73 29 0a 09   ;;...windows)..
115e0 20 20 23 20 55 73 65 20 27 2d 27 20 72 61 74 68    # Use '-' rath
115f0 65 72 20 74 68 61 6e 20 27 2e 27 2c 20 73 69 6e  er than '.', sin
11600 63 65 20 77 65 20 6f 6e 6c 79 20 77 61 6e 74 20  ce we only want 
11610 6f 6e 65 0a 09 20 20 23 20 65 78 74 65 6e 73 69  one..  # extensi
11620 6f 6e 20 6f 6e 20 44 4f 53 20 38 2e 33 20 66 69  on on DOS 8.3 fi
11630 6c 65 73 79 73 74 65 6d 73 2e 0a 09 20 20 6d 61  lesystems...  ma
11640 6a 6f 72 3d 60 65 78 70 72 20 24 63 75 72 72 65  jor=`expr $curre
11650 6e 74 20 2d 20 24 61 67 65 60 0a 09 20 20 76 65  nt - $age`..  ve
11660 72 73 75 66 66 69 78 3d 22 2d 24 6d 61 6a 6f 72  rsuffix="-$major
11670 22 0a 09 20 20 3b 3b 0a 0a 09 2a 29 0a 09 20 20  "..  ;;...*)..  
11680 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
11690 3a 20 75 6e 6b 6e 6f 77 6e 20 6c 69 62 72 61 72  : unknown librar
116a0 79 20 76 65 72 73 69 6f 6e 20 74 79 70 65 20 5c  y version type \
116b0 60 24 76 65 72 73 69 6f 6e 5f 74 79 70 65 27 22  `$version_type'"
116c0 20 31 3e 26 32 0a 09 20 20 65 63 68 6f 20 22 46   1>&2..  echo "F
116d0 61 74 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69  atal configurati
116e0 6f 6e 20 65 72 72 6f 72 2e 20 20 53 65 65 20 74  on error.  See t
116f0 68 65 20 24 50 41 43 4b 41 47 45 20 64 6f 63 73  he $PACKAGE docs
11700 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d   for more inform
11710 61 74 69 6f 6e 2e 22 20 31 3e 26 32 0a 09 20 20  ation." 1>&2..  
11720 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73  exit 1..  ;;..es
11730 61 63 0a 0a 09 23 20 43 6c 65 61 72 20 74 68 65  ac...# Clear the
11740 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 69 66   version info if
11750 20 77 65 20 64 65 66 61 75 6c 74 65 64 2c 20 61   we defaulted, a
11760 6e 64 20 74 68 65 79 20 73 70 65 63 69 66 69 65  nd they specifie
11770 64 20 61 20 72 65 6c 65 61 73 65 2e 0a 09 69 66  d a release...if
11780 20 74 65 73 74 20 2d 7a 20 22 24 76 69 6e 66 6f   test -z "$vinfo
11790 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 72  " && test -n "$r
117a0 65 6c 65 61 73 65 22 3b 20 74 68 65 6e 0a 09 20  elease"; then.. 
117b0 20 6d 61 6a 6f 72 3d 0a 09 20 20 76 65 72 73 74   major=..  verst
117c0 72 69 6e 67 3d 22 30 2e 30 22 0a 09 20 20 63 61  ring="0.0"..  ca
117d0 73 65 20 24 76 65 72 73 69 6f 6e 5f 74 79 70 65  se $version_type
117e0 20 69 6e 0a 09 20 20 64 61 72 77 69 6e 29 0a 09   in..  darwin)..
117f0 20 20 20 20 23 20 77 65 20 63 61 6e 27 74 20 63      # we can't c
11800 68 65 63 6b 20 66 6f 72 20 22 30 2e 30 22 20 69  heck for "0.0" i
11810 6e 20 61 72 63 68 69 76 65 5f 63 6d 64 73 20 64  n archive_cmds d
11820 75 65 20 74 6f 20 71 75 6f 74 69 6e 67 0a 09 20  ue to quoting.. 
11830 20 20 20 23 20 70 72 6f 62 6c 65 6d 73 2c 20 73     # problems, s
11840 6f 20 77 65 20 72 65 73 65 74 20 69 74 20 63 6f  o we reset it co
11850 6d 70 6c 65 74 65 6c 79 0a 09 20 20 20 20 76 65  mpletely..    ve
11860 72 73 74 72 69 6e 67 3d 22 22 0a 09 20 20 20 20  rstring=""..    
11870 3b 3b 0a 09 20 20 2a 29 0a 09 20 20 20 20 76 65  ;;..  *)..    ve
11880 72 73 74 72 69 6e 67 3d 22 30 2e 30 22 0a 09 20  rstring="0.0".. 
11890 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20     ;;..  esac.. 
118a0 20 69 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f   if test "$need_
118b0 76 65 72 73 69 6f 6e 22 20 3d 20 6e 6f 3b 20 74  version" = no; t
118c0 68 65 6e 0a 09 20 20 20 20 76 65 72 73 75 66 66  hen..    versuff
118d0 69 78 3d 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  ix=..  else..   
118e0 20 76 65 72 73 75 66 66 69 78 3d 22 2e 30 2e 30   versuffix=".0.0
118f0 22 0a 09 20 20 66 69 0a 09 66 69 0a 0a 09 23 20  "..  fi..fi...# 
11900 52 65 6d 6f 76 65 20 76 65 72 73 69 6f 6e 20 69  Remove version i
11910 6e 66 6f 20 66 72 6f 6d 20 6e 61 6d 65 20 69 66  nfo from name if
11920 20 76 65 72 73 69 6f 6e 69 6e 67 20 73 68 6f 75   versioning shou
11930 6c 64 20 62 65 20 61 76 6f 69 64 65 64 0a 09 69  ld be avoided..i
11940 66 20 74 65 73 74 20 22 24 61 76 6f 69 64 5f 76  f test "$avoid_v
11950 65 72 73 69 6f 6e 22 20 3d 20 79 65 73 20 26 26  ersion" = yes &&
11960 20 74 65 73 74 20 22 24 6e 65 65 64 5f 76 65 72   test "$need_ver
11970 73 69 6f 6e 22 20 3d 20 6e 6f 3b 20 74 68 65 6e  sion" = no; then
11980 0a 09 20 20 6d 61 6a 6f 72 3d 0a 09 20 20 76 65  ..  major=..  ve
11990 72 73 75 66 66 69 78 3d 0a 09 20 20 76 65 72 73  rsuffix=..  vers
119a0 74 72 69 6e 67 3d 22 22 0a 09 66 69 0a 0a 09 23  tring=""..fi...#
119b0 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66   Check to see if
119c0 20 74 68 65 20 61 72 63 68 69 76 65 20 77 69 6c   the archive wil
119d0 6c 20 68 61 76 65 20 75 6e 64 65 66 69 6e 65 64  l have undefined
119e0 20 73 79 6d 62 6f 6c 73 2e 0a 09 69 66 20 74 65   symbols...if te
119f0 73 74 20 22 24 61 6c 6c 6f 77 5f 75 6e 64 65 66  st "$allow_undef
11a00 69 6e 65 64 22 20 3d 20 79 65 73 3b 20 74 68 65  ined" = yes; the
11a10 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 61  n..  if test "$a
11a20 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 5f 66  llow_undefined_f
11a30 6c 61 67 22 20 3d 20 75 6e 73 75 70 70 6f 72 74  lag" = unsupport
11a40 65 64 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  ed; then..    $e
11a50 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
11a60 77 61 72 6e 69 6e 67 3a 20 75 6e 64 65 66 69 6e  warning: undefin
11a70 65 64 20 73 79 6d 62 6f 6c 73 20 6e 6f 74 20 61  ed symbols not a
11a80 6c 6c 6f 77 65 64 20 69 6e 20 24 68 6f 73 74 20  llowed in $host 
11a90 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73  shared libraries
11aa0 22 20 31 3e 26 32 0a 09 20 20 20 20 62 75 69 6c  " 1>&2..    buil
11ab0 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e  d_libtool_libs=n
11ac0 6f 0a 09 20 20 20 20 62 75 69 6c 64 5f 6f 6c 64  o..    build_old
11ad0 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 66 69 0a  _libs=yes..  fi.
11ae0 09 65 6c 73 65 0a 09 20 20 23 20 44 6f 6e 27 74  .else..  # Don't
11af0 20 61 6c 6c 6f 77 20 75 6e 64 65 66 69 6e 65 64   allow undefined
11b00 20 73 79 6d 62 6f 6c 73 2e 0a 09 20 20 61 6c 6c   symbols...  all
11b10 6f 77 5f 75 6e 64 65 66 69 6e 65 64 5f 66 6c 61  ow_undefined_fla
11b20 67 3d 22 24 6e 6f 5f 75 6e 64 65 66 69 6e 65 64  g="$no_undefined
11b30 5f 66 6c 61 67 22 0a 09 66 69 0a 20 20 20 20 20  _flag"..fi.     
11b40 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
11b50 73 74 20 22 24 6d 6f 64 65 22 20 21 3d 20 72 65  st "$mode" != re
11b60 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 23 20 52 65  link; then..# Re
11b70 6d 6f 76 65 20 6f 75 72 20 6f 75 74 70 75 74 73  move our outputs
11b80 2e 0a 09 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72  ...$show "${rm}r
11b90 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f   $output_objdir/
11ba0 24 6f 75 74 70 75 74 6e 61 6d 65 20 24 6f 75 74  $outputname $out
11bb0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e  put_objdir/$libn
11bc0 61 6d 65 2e 2a 20 24 6f 75 74 70 75 74 5f 6f 62  ame.* $output_ob
11bd0 6a 64 69 72 2f 24 7b 6c 69 62 6e 61 6d 65 7d 24  jdir/${libname}$
11be0 7b 72 65 6c 65 61 73 65 7d 2e 2a 22 0a 09 24 72  {release}.*"..$r
11bf0 75 6e 20 24 7b 72 6d 7d 72 20 24 6f 75 74 70 75  un ${rm}r $outpu
11c00 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74  t_objdir/$output
11c10 6e 61 6d 65 20 24 6f 75 74 70 75 74 5f 6f 62 6a  name $output_obj
11c20 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 2a 20 24  dir/$libname.* $
11c30 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b  output_objdir/${
11c40 6c 69 62 6e 61 6d 65 7d 24 7b 72 65 6c 65 61 73  libname}${releas
11c50 65 7d 2e 2a 0a 20 20 20 20 20 20 66 69 0a 0a 20  e}.*.      fi.. 
11c60 20 20 20 20 20 23 20 4e 6f 77 20 73 65 74 20 74       # Now set t
11c70 68 65 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72  he variables for
11c80 20 62 75 69 6c 64 69 6e 67 20 6f 6c 64 20 6c 69   building old li
11c90 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 69  braries..      i
11ca0 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f  f test "$build_o
11cb0 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 20 26  ld_libs" = yes &
11cc0 26 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c  & test "$build_l
11cd0 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20  ibtool_libs" != 
11ce0 63 6f 6e 76 65 6e 69 65 6e 63 65 20 3b 20 74 68  convenience ; th
11cf0 65 6e 0a 09 6f 6c 64 6c 69 62 73 3d 22 24 6f 6c  en..oldlibs="$ol
11d00 64 6c 69 62 73 20 24 6f 75 74 70 75 74 5f 6f 62  dlibs $output_ob
11d10 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c  jdir/$libname.$l
11d20 69 62 65 78 74 22 0a 0a 09 23 20 54 72 61 6e 73  ibext"...# Trans
11d30 66 6f 72 6d 20 2e 6c 6f 20 66 69 6c 65 73 20 74  form .lo files t
11d40 6f 20 2e 6f 20 66 69 6c 65 73 2e 0a 09 6f 6c 64  o .o files...old
11d50 6f 62 6a 73 3d 22 24 6f 62 6a 73 20 22 60 24 65  objs="$objs "`$e
11d60 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22 20  cho "X$libobjs" 
11d70 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64  | $SP2NL | $Xsed
11d80 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c 69 62 65 78   -e '/\.'${libex
11d90 74 7d 27 24 2f 64 27 20 2d 65 20 22 24 6c 6f 32  t}'$/d' -e "$lo2
11da0 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a 20 20 20  o" | $NL2SP`.   
11db0 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 45     fi..      # E
11dc0 6c 69 6d 69 6e 61 74 65 20 61 6c 6c 20 74 65 6d  liminate all tem
11dd0 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 69  porary directori
11de0 65 73 2e 0a 20 20 20 20 20 20 66 6f 72 20 70 61  es..      for pa
11df0 74 68 20 69 6e 20 24 6e 6f 74 69 6e 73 74 5f 70  th in $notinst_p
11e00 61 74 68 3b 20 64 6f 0a 09 6c 69 62 5f 73 65 61  ath; do..lib_sea
11e10 72 63 68 5f 70 61 74 68 3d 60 65 63 68 6f 20 22  rch_path=`echo "
11e20 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
11e30 20 22 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27   " | ${SED} -e '
11e40 73 25 20 24 70 61 74 68 20 25 20 25 67 27 60 0a  s% $path % %g'`.
11e50 09 64 65 70 6c 69 62 73 3d 60 65 63 68 6f 20 22  .deplibs=`echo "
11e60 24 64 65 70 6c 69 62 73 20 22 20 7c 20 24 7b 53  $deplibs " | ${S
11e70 45 44 7d 20 2d 65 20 27 73 25 20 2d 4c 24 70 61  ED} -e 's% -L$pa
11e80 74 68 20 25 20 25 67 27 60 0a 09 64 65 70 65 6e  th % %g'`..depen
11e90 64 65 6e 63 79 5f 6c 69 62 73 3d 60 65 63 68 6f  dency_libs=`echo
11ea0 20 22 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69   "$dependency_li
11eb0 62 73 20 22 20 7c 20 24 7b 53 45 44 7d 20 2d 65  bs " | ${SED} -e
11ec0 20 27 73 25 20 2d 4c 24 70 61 74 68 20 25 20 25   's% -L$path % %
11ed0 67 27 60 0a 20 20 20 20 20 20 64 6f 6e 65 0a 0a  g'`.      done..
11ee0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
11ef0 20 22 24 78 72 70 61 74 68 22 3b 20 74 68 65 6e   "$xrpath"; then
11f00 0a 09 23 20 49 66 20 74 68 65 20 75 73 65 72 20  ..# If the user 
11f10 73 70 65 63 69 66 69 65 64 20 61 6e 79 20 72 70  specified any rp
11f20 61 74 68 20 66 6c 61 67 73 2c 20 74 68 65 6e 20  ath flags, then 
11f30 61 64 64 20 74 68 65 6d 2e 0a 09 74 65 6d 70 5f  add them...temp_
11f40 78 72 70 61 74 68 3d 0a 09 66 6f 72 20 6c 69 62  xrpath=..for lib
11f50 64 69 72 20 69 6e 20 24 78 72 70 61 74 68 3b 20  dir in $xrpath; 
11f60 64 6f 0a 09 20 20 74 65 6d 70 5f 78 72 70 61 74  do..  temp_xrpat
11f70 68 3d 22 24 74 65 6d 70 5f 78 72 70 61 74 68 20  h="$temp_xrpath 
11f80 2d 52 24 6c 69 62 64 69 72 22 0a 09 20 20 63 61  -R$libdir"..  ca
11f90 73 65 20 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70  se "$finalize_rp
11fa0 61 74 68 20 22 20 69 6e 0a 09 20 20 2a 22 20 24  ath " in..  *" $
11fb0 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20  libdir "*) ;;.. 
11fc0 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61   *) finalize_rpa
11fd0 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70  th="$finalize_rp
11fe0 61 74 68 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a  ath $libdir" ;;.
11ff0 09 20 20 65 73 61 63 0a 09 64 6f 6e 65 0a 09 69  .  esac..done..i
12000 66 20 74 65 73 74 20 24 68 61 72 64 63 6f 64 65  f test $hardcode
12010 5f 69 6e 74 6f 5f 6c 69 62 73 20 21 3d 20 79 65  _into_libs != ye
12020 73 20 7c 7c 20 74 65 73 74 20 24 62 75 69 6c 64  s || test $build
12030 5f 6f 6c 64 5f 6c 69 62 73 20 3d 20 79 65 73 3b  _old_libs = yes;
12040 20 74 68 65 6e 0a 09 20 20 64 65 70 65 6e 64 65   then..  depende
12050 6e 63 79 5f 6c 69 62 73 3d 22 24 74 65 6d 70 5f  ncy_libs="$temp_
12060 78 72 70 61 74 68 20 24 64 65 70 65 6e 64 65 6e  xrpath $dependen
12070 63 79 5f 6c 69 62 73 22 0a 09 66 69 0a 20 20 20  cy_libs"..fi.   
12080 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 4d     fi..      # M
12090 61 6b 65 20 73 75 72 65 20 64 6c 66 69 6c 65 73  ake sure dlfiles
120a0 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75   contains only u
120b0 6e 69 71 75 65 20 66 69 6c 65 73 20 74 68 61 74  nique files that
120c0 20 77 6f 6e 27 74 20 62 65 20 64 6c 70 72 65 6f   won't be dlpreo
120d0 70 65 6e 65 64 0a 20 20 20 20 20 20 6f 6c 64 5f  pened.      old_
120e0 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65  dlfiles="$dlfile
120f0 73 22 0a 20 20 20 20 20 20 64 6c 66 69 6c 65 73  s".      dlfiles
12100 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c 69 62 20  =.      for lib 
12110 69 6e 20 24 6f 6c 64 5f 64 6c 66 69 6c 65 73 3b  in $old_dlfiles;
12120 20 64 6f 0a 09 63 61 73 65 20 22 20 24 64 6c 70   do..case " $dlp
12130 72 65 66 69 6c 65 73 20 24 64 6c 66 69 6c 65 73  refiles $dlfiles
12140 20 22 20 69 6e 0a 09 2a 22 20 24 6c 69 62 20 22   " in..*" $lib "
12150 2a 29 20 3b 3b 0a 09 2a 29 20 64 6c 66 69 6c 65  *) ;;..*) dlfile
12160 73 3d 22 24 64 6c 66 69 6c 65 73 20 24 6c 69 62  s="$dlfiles $lib
12170 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20  " ;;..esac.     
12180 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 23 20 4d   done..      # M
12190 61 6b 65 20 73 75 72 65 20 64 6c 70 72 65 66 69  ake sure dlprefi
121a0 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c  les contains onl
121b0 79 20 75 6e 69 71 75 65 20 66 69 6c 65 73 0a 20  y unique files. 
121c0 20 20 20 20 20 6f 6c 64 5f 64 6c 70 72 65 66 69       old_dlprefi
121d0 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73  les="$dlprefiles
121e0 22 0a 20 20 20 20 20 20 64 6c 70 72 65 66 69 6c  ".      dlprefil
121f0 65 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c 69  es=.      for li
12200 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 70 72 65 66  b in $old_dlpref
12210 69 6c 65 73 3b 20 64 6f 0a 09 63 61 73 65 20 22  iles; do..case "
12220 24 64 6c 70 72 65 66 69 6c 65 73 20 22 20 69 6e  $dlprefiles " in
12230 0a 09 2a 22 20 24 6c 69 62 20 22 2a 29 20 3b 3b  ..*" $lib "*) ;;
12240 0a 09 2a 29 20 64 6c 70 72 65 66 69 6c 65 73 3d  ..*) dlprefiles=
12250 22 24 64 6c 70 72 65 66 69 6c 65 73 20 24 6c 69  "$dlprefiles $li
12260 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20  b" ;;..esac.    
12270 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 69 66    done..      if
12280 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
12290 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
122a0 73 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74  s; then..if test
122b0 20 2d 6e 20 22 24 72 70 61 74 68 22 3b 20 74 68   -n "$rpath"; th
122c0 65 6e 0a 09 20 20 63 61 73 65 20 24 68 6f 73 74  en..  case $host
122d0 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79 67 77 69   in..  *-*-cygwi
122e0 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a 20  n* | *-*-mingw* 
122f0 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a 2d  | *-*-pw32* | *-
12300 2a 2d 6f 73 32 2a 20 7c 20 2a 2d 2a 2d 62 65 6f  *-os2* | *-*-beo
12310 73 2a 29 0a 09 20 20 20 20 23 20 74 68 65 73 65  s*)..    # these
12320 20 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20 61   systems don't a
12330 63 74 75 61 6c 6c 79 20 68 61 76 65 20 61 20 63  ctually have a c
12340 20 6c 69 62 72 61 72 79 20 28 61 73 20 73 75 63   library (as suc
12350 68 29 21 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a  h)!..    ;;..  *
12360 2d 2a 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20 2a  -*-rhapsody* | *
12370 2d 2a 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32 5d  -*-darwin1.[012]
12380 29 0a 09 20 20 20 20 23 20 52 68 61 70 73 6f 64  )..    # Rhapsod
12390 79 20 43 20 6c 69 62 72 61 72 79 20 69 73 20 69  y C library is i
123a0 6e 20 74 68 65 20 53 79 73 74 65 6d 20 66 72 61  n the System fra
123b0 6d 65 77 6f 72 6b 0a 09 20 20 20 20 64 65 70 6c  mework..    depl
123c0 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 2d 66  ibs="$deplibs -f
123d0 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65 6d 22  ramework System"
123e0 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d 2a 2d  ..    ;;..  *-*-
123f0 6e 65 74 62 73 64 2a 29 0a 09 20 20 20 20 23 20  netbsd*)..    # 
12400 44 6f 6e 27 74 20 6c 69 6e 6b 20 77 69 74 68 20  Don't link with 
12410 6c 69 62 63 20 75 6e 74 69 6c 20 74 68 65 20 61  libc until the a
12420 2e 6f 75 74 20 6c 64 2e 73 6f 20 69 73 20 66 69  .out ld.so is fi
12430 78 65 64 2e 0a 09 20 20 20 20 3b 3b 0a 09 20 20  xed...    ;;..  
12440 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20 7c 20 2a  *-*-openbsd* | *
12450 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a 09 20 20  -*-freebsd*)..  
12460 20 20 23 20 44 6f 20 6e 6f 74 20 69 6e 63 6c 75    # Do not inclu
12470 64 65 20 6c 69 62 63 20 64 75 65 20 74 6f 20 75  de libc due to u
12480 73 20 68 61 76 69 6e 67 20 6c 69 62 63 2f 6c 69  s having libc/li
12490 62 63 5f 72 2e 0a 09 20 20 20 20 3b 3b 0a 09 20  bc_r...    ;;.. 
124a0 20 2a 29 0a 09 20 20 20 20 23 20 41 64 64 20 6c   *)..    # Add l
124b0 69 62 63 20 74 6f 20 64 65 70 6c 69 62 73 20 6f  ibc to deplibs o
124c0 6e 20 61 6c 6c 20 6f 74 68 65 72 20 73 79 73 74  n all other syst
124d0 65 6d 73 20 69 66 20 6e 65 63 65 73 73 61 72 79  ems if necessary
124e0 2e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 24  ...    if test $
124f0 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6e 65  build_libtool_ne
12500 65 64 5f 6c 63 20 3d 20 22 79 65 73 22 3b 20 74  ed_lc = "yes"; t
12510 68 65 6e 0a 09 20 20 20 20 20 20 64 65 70 6c 69  hen..      depli
12520 62 73 3d 22 24 64 65 70 6c 69 62 73 20 2d 6c 63  bs="$deplibs -lc
12530 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 3b  "..    fi..    ;
12540 3b 0a 09 20 20 65 73 61 63 0a 09 66 69 0a 0a 09  ;..  esac..fi...
12550 23 20 54 72 61 6e 73 66 6f 72 6d 20 64 65 70 6c  # Transform depl
12560 69 62 73 20 69 6e 74 6f 20 6f 6e 6c 79 20 64 65  ibs into only de
12570 70 6c 69 62 73 20 74 68 61 74 20 63 61 6e 20 62  plibs that can b
12580 65 20 6c 69 6e 6b 65 64 20 69 6e 20 73 68 61 72  e linked in shar
12590 65 64 2e 0a 09 6e 61 6d 65 5f 73 61 76 65 3d 24  ed...name_save=$
125a0 6e 61 6d 65 0a 09 6c 69 62 6e 61 6d 65 5f 73 61  name..libname_sa
125b0 76 65 3d 24 6c 69 62 6e 61 6d 65 0a 09 72 65 6c  ve=$libname..rel
125c0 65 61 73 65 5f 73 61 76 65 3d 24 72 65 6c 65 61  ease_save=$relea
125d0 73 65 0a 09 76 65 72 73 75 66 66 69 78 5f 73 61  se..versuffix_sa
125e0 76 65 3d 24 76 65 72 73 75 66 66 69 78 0a 09 6d  ve=$versuffix..m
125f0 61 6a 6f 72 5f 73 61 76 65 3d 24 6d 61 6a 6f 72  ajor_save=$major
12600 0a 09 23 20 49 27 6d 20 6e 6f 74 20 73 75 72 65  ..# I'm not sure
12610 20 69 66 20 49 27 6d 20 74 72 65 61 74 69 6e 67   if I'm treating
12620 20 74 68 65 20 72 65 6c 65 61 73 65 20 63 6f 72   the release cor
12630 72 65 63 74 6c 79 2e 20 20 49 20 74 68 69 6e 6b  rectly.  I think
12640 0a 09 23 20 72 65 6c 65 61 73 65 20 73 68 6f 75  ..# release shou
12650 6c 64 20 73 68 6f 77 20 75 70 20 69 6e 20 74 68  ld show up in th
12660 65 20 2d 6c 20 28 69 65 20 2d 6c 67 6d 70 35 29  e -l (ie -lgmp5)
12670 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 77 61 6e   so we don't wan
12680 74 20 74 6f 0a 09 23 20 61 64 64 20 69 74 20 69  t to..# add it i
12690 6e 20 74 77 69 63 65 2e 20 20 49 73 20 74 68 61  n twice.  Is tha
126a0 74 20 63 6f 72 72 65 63 74 3f 0a 09 72 65 6c 65  t correct?..rele
126b0 61 73 65 3d 22 22 0a 09 76 65 72 73 75 66 66 69  ase=""..versuffi
126c0 78 3d 22 22 0a 09 6d 61 6a 6f 72 3d 22 22 0a 09  x=""..major=""..
126d0 6e 65 77 64 65 70 6c 69 62 73 3d 0a 09 64 72 6f  newdeplibs=..dro
126e0 70 70 65 64 64 65 70 73 3d 6e 6f 0a 09 63 61 73  ppeddeps=no..cas
126f0 65 20 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b  e $deplibs_check
12700 5f 6d 65 74 68 6f 64 20 69 6e 0a 09 70 61 73 73  _method in..pass
12710 5f 61 6c 6c 29 0a 09 20 20 23 20 44 6f 6e 27 74  _all)..  # Don't
12720 20 63 68 65 63 6b 20 66 6f 72 20 73 68 61 72 65   check for share
12730 64 2f 73 74 61 74 69 63 2e 20 20 45 76 65 72 79  d/static.  Every
12740 74 68 69 6e 67 20 77 6f 72 6b 73 2e 0a 09 20 20  thing works...  
12750 23 20 54 68 69 73 20 6d 69 67 68 74 20 62 65 20  # This might be 
12760 61 20 6c 69 74 74 6c 65 20 6e 61 69 76 65 2e 20  a little naive. 
12770 20 57 65 20 6d 69 67 68 74 20 77 61 6e 74 20 74   We might want t
12780 6f 20 63 68 65 63 6b 0a 09 20 20 23 20 77 68 65  o check..  # whe
12790 74 68 65 72 20 74 68 65 20 6c 69 62 72 61 72 79  ther the library
127a0 20 65 78 69 73 74 73 20 6f 72 20 6e 6f 74 2e 20   exists or not. 
127b0 20 42 75 74 20 74 68 69 73 20 69 73 20 6f 6e 0a   But this is on.
127c0 09 20 20 23 20 6f 73 66 33 20 26 20 6f 73 66 34  .  # osf3 & osf4
127d0 20 61 6e 64 20 49 27 6d 20 6e 6f 74 20 72 65 61   and I'm not rea
127e0 6c 6c 79 20 73 75 72 65 2e 2e 2e 20 4a 75 73 74  lly sure... Just
127f0 0a 09 20 20 23 20 69 6d 70 6c 65 6d 65 6e 74 69  ..  # implementi
12800 6e 67 20 77 68 61 74 20 77 61 73 20 61 6c 72 65  ng what was alre
12810 61 64 79 20 74 68 65 20 62 65 68 61 76 69 6f 75  ady the behaviou
12820 72 2e 0a 09 20 20 6e 65 77 64 65 70 6c 69 62 73  r...  newdeplibs
12830 3d 24 64 65 70 6c 69 62 73 0a 09 20 20 3b 3b 0a  =$deplibs..  ;;.
12840 09 74 65 73 74 5f 63 6f 6d 70 69 6c 65 29 0a 09  .test_compile)..
12850 20 20 23 20 54 68 69 73 20 63 6f 64 65 20 73 74    # This code st
12860 72 65 73 73 65 73 20 74 68 65 20 22 6c 69 62 72  resses the "libr
12870 61 72 69 65 73 20 61 72 65 20 70 72 6f 67 72 61  aries are progra
12880 6d 73 22 20 70 61 72 61 64 69 67 6d 20 74 6f 20  ms" paradigm to 
12890 69 74 73 0a 09 20 20 23 20 6c 69 6d 69 74 73 2e  its..  # limits.
128a0 20 4d 61 79 62 65 20 65 76 65 6e 20 62 72 65 61   Maybe even brea
128b0 6b 73 20 69 74 2e 20 20 57 65 20 63 6f 6d 70 69  ks it.  We compi
128c0 6c 65 20 61 20 70 72 6f 67 72 61 6d 2c 20 6c 69  le a program, li
128d0 6e 6b 69 6e 67 20 69 74 0a 09 20 20 23 20 61 67  nking it..  # ag
128e0 61 69 6e 73 74 20 74 68 65 20 64 65 70 6c 69 62  ainst the deplib
128f0 73 20 61 73 20 61 20 70 72 6f 78 79 20 66 6f 72  s as a proxy for
12900 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 54   the library.  T
12910 68 65 6e 20 77 65 20 63 61 6e 20 63 68 65 63 6b  hen we can check
12920 0a 09 20 20 23 20 77 68 65 74 68 65 72 20 74 68  ..  # whether th
12930 65 79 20 6c 69 6e 6b 65 64 20 69 6e 20 73 74 61  ey linked in sta
12940 74 69 63 61 6c 6c 79 20 6f 72 20 64 79 6e 61 6d  tically or dynam
12950 69 63 61 6c 6c 79 20 77 69 74 68 20 6c 64 64 2e  ically with ldd.
12960 0a 09 20 20 24 72 6d 20 63 6f 6e 66 74 65 73 74  ..  $rm conftest
12970 2e 63 0a 09 20 20 63 61 74 20 3e 20 63 6f 6e 66  .c..  cat > conf
12980 74 65 73 74 2e 63 20 3c 3c 45 4f 46 0a 09 20 20  test.c <<EOF..  
12990 69 6e 74 20 6d 61 69 6e 28 29 20 7b 20 72 65 74  int main() { ret
129a0 75 72 6e 20 30 3b 20 7d 0a 45 4f 46 0a 09 20 20  urn 0; }.EOF..  
129b0 24 72 6d 20 63 6f 6e 66 74 65 73 74 0a 09 20 20  $rm conftest..  
129c0 24 43 43 20 2d 6f 20 63 6f 6e 66 74 65 73 74 20  $CC -o conftest 
129d0 63 6f 6e 66 74 65 73 74 2e 63 20 24 64 65 70 6c  conftest.c $depl
129e0 69 62 73 0a 09 20 20 69 66 20 74 65 73 74 20 24  ibs..  if test $
129f0 3f 20 2d 65 71 20 30 20 3b 20 74 68 65 6e 0a 09  ? -eq 0 ; then..
12a00 20 20 20 20 6c 64 64 5f 6f 75 74 70 75 74 3d 60      ldd_output=`
12a10 6c 64 64 20 63 6f 6e 66 74 65 73 74 60 0a 09 20  ldd conftest`.. 
12a20 20 20 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70     for i in $dep
12a30 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20  libs; do..      
12a40 6e 61 6d 65 3d 22 60 65 78 70 72 20 24 69 20 3a  name="`expr $i :
12a50 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20   '-l\(.*\)'`".. 
12a60 20 20 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20       # If $name 
12a70 69 73 20 65 6d 70 74 79 20 77 65 20 61 72 65 20  is empty we are 
12a80 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d  operating on a -
12a90 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20  L argument...   
12aa0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
12ab0 6e 61 6d 65 22 20 26 26 20 74 65 73 74 20 22 24  name" && test "$
12ac0 6e 61 6d 65 22 20 21 3d 20 22 30 22 3b 20 74 68  name" != "0"; th
12ad0 65 6e 0a 09 09 6c 69 62 6e 61 6d 65 3d 60 65 76  en...libname=`ev
12ae0 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69  al \\$echo \"$li
12af0 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09 09  bname_spec\"`...
12b00 64 65 70 6c 69 62 5f 6d 61 74 63 68 65 73 3d 60  deplib_matches=`
12b10 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24  eval \\$echo \"$
12b20 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 5f 73 70  library_names_sp
12b30 65 63 5c 22 60 0a 09 09 73 65 74 20 64 75 6d 6d  ec\"`...set dumm
12b40 79 20 24 64 65 70 6c 69 62 5f 6d 61 74 63 68 65  y $deplib_matche
12b50 73 0a 09 09 64 65 70 6c 69 62 5f 6d 61 74 63 68  s...deplib_match
12b60 3d 24 32 0a 09 09 69 66 20 74 65 73 74 20 60 65  =$2...if test `e
12b70 78 70 72 20 22 24 6c 64 64 5f 6f 75 74 70 75 74  xpr "$ldd_output
12b80 22 20 3a 20 22 2e 2a 24 64 65 70 6c 69 62 5f 6d  " : ".*$deplib_m
12b90 61 74 63 68 22 60 20 2d 6e 65 20 30 20 3b 20 74  atch"` -ne 0 ; t
12ba0 68 65 6e 0a 09 09 20 20 6e 65 77 64 65 70 6c 69  hen...  newdepli
12bb0 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
12bc0 24 69 22 0a 09 09 65 6c 73 65 0a 09 09 20 20 64  $i"...else...  d
12bd0 72 6f 70 70 65 64 64 65 70 73 3d 79 65 73 0a 09  roppeddeps=yes..
12be0 09 20 20 65 63 68 6f 0a 09 09 20 20 65 63 68 6f  .  echo...  echo
12bf0 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 64   "*** Warning: d
12c00 79 6e 61 6d 69 63 20 6c 69 6e 6b 65 72 20 64 6f  ynamic linker do
12c10 65 73 20 6e 6f 74 20 61 63 63 65 70 74 20 6e 65  es not accept ne
12c20 65 64 65 64 20 6c 69 62 72 61 72 79 20 24 69 2e  eded library $i.
12c30 22 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20  "...  echo "*** 
12c40 49 20 68 61 76 65 20 74 68 65 20 63 61 70 61 62  I have the capab
12c50 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20 74 68  ility to make th
12c60 61 74 20 6c 69 62 72 61 72 79 20 61 75 74 6f 6d  at library autom
12c70 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e  atically link in
12c80 20 77 68 65 6e 22 0a 09 09 20 20 65 63 68 6f 20   when"...  echo 
12c90 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f  "*** you link to
12ca0 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20   this library.  
12cb0 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64  But I can only d
12cc0 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61  o this if you ha
12cd0 76 65 20 61 22 0a 09 09 20 20 65 63 68 6f 20 22  ve a"...  echo "
12ce0 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73 69  *** shared versi
12cf0 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72  on of the librar
12d00 79 2c 20 77 68 69 63 68 20 49 20 62 65 6c 69 65  y, which I belie
12d10 76 65 20 79 6f 75 20 64 6f 20 6e 6f 74 20 68 61  ve you do not ha
12d20 76 65 22 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a  ve"...  echo "**
12d30 2a 20 62 65 63 61 75 73 65 20 61 20 74 65 73 74  * because a test
12d40 5f 63 6f 6d 70 69 6c 65 20 64 69 64 20 72 65 76  _compile did rev
12d50 65 61 6c 20 74 68 61 74 20 74 68 65 20 6c 69 6e  eal that the lin
12d60 6b 65 72 20 64 69 64 20 6e 6f 74 20 75 73 65 20  ker did not use 
12d70 69 74 20 66 6f 72 22 0a 09 09 20 20 65 63 68 6f  it for"...  echo
12d80 20 22 2a 2a 2a 20 69 74 73 20 64 79 6e 61 6d 69   "*** its dynami
12d90 63 20 64 65 70 65 6e 64 65 6e 63 79 20 6c 69 73  c dependency lis
12da0 74 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  t that programs 
12db0 67 65 74 20 72 65 73 6f 6c 76 65 64 20 77 69 74  get resolved wit
12dc0 68 20 61 74 20 72 75 6e 74 69 6d 65 2e 22 0a 09  h at runtime."..
12dd0 09 66 69 0a 09 20 20 20 20 20 20 65 6c 73 65 0a  .fi..      else.
12de0 09 09 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e  ..newdeplibs="$n
12df0 65 77 64 65 70 6c 69 62 73 20 24 69 22 0a 09 20  ewdeplibs $i".. 
12e00 20 20 20 20 20 66 69 0a 09 20 20 20 20 64 6f 6e       fi..    don
12e10 65 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 23  e..  else..    #
12e20 20 45 72 72 6f 72 20 6f 63 63 75 72 65 64 20 69   Error occured i
12e30 6e 20 74 68 65 20 66 69 72 73 74 20 63 6f 6d 70  n the first comp
12e40 69 6c 65 2e 20 20 4c 65 74 27 73 20 74 72 79 20  ile.  Let's try 
12e50 74 6f 20 73 61 6c 76 61 67 65 0a 09 20 20 20 20  to salvage..    
12e60 23 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 3a  # the situation:
12e70 20 43 6f 6d 70 69 6c 65 20 61 20 73 65 70 61 72   Compile a separ
12e80 61 74 65 20 70 72 6f 67 72 61 6d 20 66 6f 72 20  ate program for 
12e90 65 61 63 68 20 6c 69 62 72 61 72 79 2e 0a 09 20  each library... 
12ea0 20 20 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70     for i in $dep
12eb0 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20  libs; do..      
12ec0 6e 61 6d 65 3d 22 60 65 78 70 72 20 24 69 20 3a  name="`expr $i :
12ed0 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20   '-l\(.*\)'`".. 
12ee0 20 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69      # If $name i
12ef0 73 20 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f  s empty we are o
12f00 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c  perating on a -L
12f10 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20   argument...    
12f20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6e    if test -n "$n
12f30 61 6d 65 22 20 26 26 20 74 65 73 74 20 22 24 6e  ame" && test "$n
12f40 61 6d 65 22 20 21 3d 20 22 30 22 3b 20 74 68 65  ame" != "0"; the
12f50 6e 0a 09 09 24 72 6d 20 63 6f 6e 66 74 65 73 74  n...$rm conftest
12f60 0a 09 09 24 43 43 20 2d 6f 20 63 6f 6e 66 74 65  ...$CC -o confte
12f70 73 74 20 63 6f 6e 66 74 65 73 74 2e 63 20 24 69  st conftest.c $i
12f80 0a 09 09 23 20 44 69 64 20 69 74 20 77 6f 72 6b  ...# Did it work
12f90 3f 0a 09 09 69 66 20 74 65 73 74 20 24 3f 20 2d  ?...if test $? -
12fa0 65 71 20 30 20 3b 20 74 68 65 6e 0a 09 09 20 20  eq 0 ; then...  
12fb0 6c 64 64 5f 6f 75 74 70 75 74 3d 60 6c 64 64 20  ldd_output=`ldd 
12fc0 63 6f 6e 66 74 65 73 74 60 0a 09 09 20 20 6c 69  conftest`...  li
12fd0 62 6e 61 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65  bname=`eval \\$e
12fe0 63 68 6f 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73  cho \"$libname_s
12ff0 70 65 63 5c 22 60 0a 09 09 20 20 64 65 70 6c 69  pec\"`...  depli
13000 62 5f 6d 61 74 63 68 65 73 3d 60 65 76 61 6c 20  b_matches=`eval 
13010 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 72 61  \\$echo \"$libra
13020 72 79 5f 6e 61 6d 65 73 5f 73 70 65 63 5c 22 60  ry_names_spec\"`
13030 0a 09 09 20 20 73 65 74 20 64 75 6d 6d 79 20 24  ...  set dummy $
13040 64 65 70 6c 69 62 5f 6d 61 74 63 68 65 73 0a 09  deplib_matches..
13050 09 20 20 64 65 70 6c 69 62 5f 6d 61 74 63 68 3d  .  deplib_match=
13060 24 32 0a 09 09 20 20 69 66 20 74 65 73 74 20 60  $2...  if test `
13070 65 78 70 72 20 22 24 6c 64 64 5f 6f 75 74 70 75  expr "$ldd_outpu
13080 74 22 20 3a 20 22 2e 2a 24 64 65 70 6c 69 62 5f  t" : ".*$deplib_
13090 6d 61 74 63 68 22 60 20 2d 6e 65 20 30 20 3b 20  match"` -ne 0 ; 
130a0 74 68 65 6e 0a 09 09 20 20 20 20 6e 65 77 64 65  then...    newde
130b0 70 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69  plibs="$newdepli
130c0 62 73 20 24 69 22 0a 09 09 20 20 65 6c 73 65 0a  bs $i"...  else.
130d0 09 09 20 20 20 20 64 72 6f 70 70 65 64 64 65 70  ..    droppeddep
130e0 73 3d 79 65 73 0a 09 09 20 20 20 20 65 63 68 6f  s=yes...    echo
130f0 0a 09 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  ...    echo "***
13100 20 57 61 72 6e 69 6e 67 3a 20 64 79 6e 61 6d 69   Warning: dynami
13110 63 20 6c 69 6e 6b 65 72 20 64 6f 65 73 20 6e 6f  c linker does no
13120 74 20 61 63 63 65 70 74 20 6e 65 65 64 65 64 20  t accept needed 
13130 6c 69 62 72 61 72 79 20 24 69 2e 22 0a 09 09 20  library $i."... 
13140 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68     echo "*** I h
13150 61 76 65 20 74 68 65 20 63 61 70 61 62 69 6c 69  ave the capabili
13160 74 79 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20  ty to make that 
13170 6c 69 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69  library automati
13180 63 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68  cally link in wh
13190 65 6e 22 0a 09 09 20 20 20 20 65 63 68 6f 20 22  en"...    echo "
131a0 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f 20  *** you link to 
131b0 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20 42  this library.  B
131c0 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64 6f  ut I can only do
131d0 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61 76   this if you hav
131e0 65 20 61 22 0a 09 09 20 20 20 20 65 63 68 6f 20  e a"...    echo 
131f0 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73  "*** shared vers
13200 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61  ion of the libra
13210 72 79 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f  ry, which you do
13220 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68   not appear to h
13230 61 76 65 22 0a 09 09 20 20 20 20 65 63 68 6f 20  ave"...    echo 
13240 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 61 20 74  "*** because a t
13250 65 73 74 5f 63 6f 6d 70 69 6c 65 20 64 69 64 20  est_compile did 
13260 72 65 76 65 61 6c 20 74 68 61 74 20 74 68 65 20  reveal that the 
13270 6c 69 6e 6b 65 72 20 64 69 64 20 6e 6f 74 20 75  linker did not u
13280 73 65 20 74 68 69 73 20 6f 6e 65 22 0a 09 09 20  se this one"... 
13290 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 61 73 20     echo "*** as 
132a0 61 20 64 79 6e 61 6d 69 63 20 64 65 70 65 6e 64  a dynamic depend
132b0 65 6e 63 79 20 74 68 61 74 20 70 72 6f 67 72 61  ency that progra
132c0 6d 73 20 63 61 6e 20 67 65 74 20 72 65 73 6f 6c  ms can get resol
132d0 76 65 64 20 77 69 74 68 20 61 74 20 72 75 6e 74  ved with at runt
132e0 69 6d 65 2e 22 0a 09 09 20 20 66 69 0a 09 09 65  ime."...  fi...e
132f0 6c 73 65 0a 09 09 20 20 64 72 6f 70 70 65 64 64  lse...  droppedd
13300 65 70 73 3d 79 65 73 0a 09 09 20 20 65 63 68 6f  eps=yes...  echo
13310 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57  ...  echo "*** W
13320 61 72 6e 69 6e 67 21 20 20 4c 69 62 72 61 72 79  arning!  Library
13330 20 24 69 20 69 73 20 6e 65 65 64 65 64 20 62 79   $i is needed by
13340 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 62 75   this library bu
13350 74 20 49 20 77 61 73 20 6e 6f 74 20 61 62 6c 65  t I was not able
13360 20 74 6f 22 0a 09 09 20 20 65 63 68 6f 20 22 2a   to"...  echo "*
13370 2a 2a 20 20 6d 61 6b 65 20 69 74 20 6c 69 6e 6b  **  make it link
13380 20 69 6e 21 20 20 59 6f 75 20 77 69 6c 6c 20 70   in!  You will p
13390 72 6f 62 61 62 6c 79 20 6e 65 65 64 20 74 6f 20  robably need to 
133a0 69 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 73 6f  install it or so
133b0 6d 65 22 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a  me"...  echo "**
133c0 2a 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 69  * library that i
133d0 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 62 65 66  t depends on bef
133e0 6f 72 65 20 74 68 69 73 20 6c 69 62 72 61 72 79  ore this library
133f0 20 77 69 6c 6c 20 62 65 20 66 75 6c 6c 79 22 0a   will be fully".
13400 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20 66 75  ..  echo "*** fu
13410 6e 63 74 69 6f 6e 61 6c 2e 20 20 49 6e 73 74 61  nctional.  Insta
13420 6c 6c 69 6e 67 20 69 74 20 62 65 66 6f 72 65 20  lling it before 
13430 63 6f 6e 74 69 6e 75 69 6e 67 20 77 6f 75 6c 64  continuing would
13440 20 62 65 20 65 76 65 6e 20 62 65 74 74 65 72 2e   be even better.
13450 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65 6c  "...fi..      el
13460 73 65 0a 09 09 6e 65 77 64 65 70 6c 69 62 73 3d  se...newdeplibs=
13470 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 69 22  "$newdeplibs $i"
13480 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
13490 64 6f 6e 65 0a 09 20 20 66 69 0a 09 20 20 3b 3b  done..  fi..  ;;
134a0 0a 09 66 69 6c 65 5f 6d 61 67 69 63 2a 29 0a 09  ..file_magic*)..
134b0 20 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70    set dummy $dep
134c0 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f  libs_check_metho
134d0 64 0a 09 20 20 66 69 6c 65 5f 6d 61 67 69 63 5f  d..  file_magic_
134e0 72 65 67 65 78 3d 60 65 78 70 72 20 22 24 64 65  regex=`expr "$de
134f0 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
13500 6f 64 22 20 3a 20 22 24 32 20 5c 28 2e 2a 5c 29  od" : "$2 \(.*\)
13510 22 60 0a 09 20 20 66 6f 72 20 61 5f 64 65 70 6c  "`..  for a_depl
13520 69 62 20 69 6e 20 24 64 65 70 6c 69 62 73 3b 20  ib in $deplibs; 
13530 64 6f 0a 09 20 20 20 20 6e 61 6d 65 3d 22 60 65  do..    name="`e
13540 78 70 72 20 24 61 5f 64 65 70 6c 69 62 20 3a 20  xpr $a_deplib : 
13550 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20 20  '-l\(.*\)'`"..  
13560 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73 20    # If $name is 
13570 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70 65  empty we are ope
13580 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20 61  rating on a -L a
13590 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 69 66  rgument...    if
135a0 20 74 65 73 74 20 2d 6e 20 22 24 6e 61 6d 65 22   test -n "$name"
135b0 20 26 26 20 74 65 73 74 20 22 24 6e 61 6d 65 22   && test "$name"
135c0 20 21 3d 20 22 30 22 3b 20 74 68 65 6e 0a 09 20   != "0"; then.. 
135d0 20 20 20 20 20 6c 69 62 6e 61 6d 65 3d 60 65 76       libname=`ev
135e0 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69  al \\$echo \"$li
135f0 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09 20  bname_spec\"`.. 
13600 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24 6c       for i in $l
13610 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20 24  ib_search_path $
13620 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70  sys_lib_search_p
13630 61 74 68 20 24 73 68 6c 69 62 5f 73 65 61 72 63  ath $shlib_searc
13640 68 5f 70 61 74 68 3b 20 64 6f 0a 09 09 20 20 20  h_path; do...   
13650 20 70 6f 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3d   potential_libs=
13660 60 6c 73 20 24 69 2f 24 6c 69 62 6e 61 6d 65 5b  `ls $i/$libname[
13670 2e 2d 5d 2a 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  .-]* 2>/dev/null
13680 60 0a 09 09 20 20 20 20 66 6f 72 20 70 6f 74 65  `...    for pote
13690 6e 74 5f 6c 69 62 20 69 6e 20 24 70 6f 74 65 6e  nt_lib in $poten
136a0 74 69 61 6c 5f 6c 69 62 73 3b 20 64 6f 0a 09 09  tial_libs; do...
136b0 20 20 20 20 20 20 23 20 46 6f 6c 6c 6f 77 20 73        # Follow s
136c0 6f 66 74 20 6c 69 6e 6b 73 2e 0a 09 09 20 20 20  oft links....   
136d0 20 20 20 69 66 20 6c 73 20 2d 6c 4c 64 20 22 24     if ls -lLd "$
136e0 70 6f 74 65 6e 74 5f 6c 69 62 22 20 32 3e 2f 64  potent_lib" 2>/d
136f0 65 76 2f 6e 75 6c 6c 20 5c 0a 09 09 09 20 7c 20  ev/null \.... | 
13700 67 72 65 70 20 22 20 2d 3e 20 22 20 3e 2f 64 65  grep " -> " >/de
13710 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09  v/null; then....
13720 63 6f 6e 74 69 6e 75 65 0a 09 09 20 20 20 20 20  continue...     
13730 20 66 69 0a 09 09 20 20 20 20 20 20 23 20 54 68   fi...      # Th
13740 65 20 73 74 61 74 65 6d 65 6e 74 20 61 62 6f 76  e statement abov
13750 65 20 74 72 69 65 73 20 74 6f 20 61 76 6f 69 64  e tries to avoid
13760 20 65 6e 74 65 72 69 6e 67 20 61 6e 0a 09 09 20   entering an... 
13770 20 20 20 20 20 23 20 65 6e 64 6c 65 73 73 20 6c       # endless l
13780 6f 6f 70 20 62 65 6c 6f 77 2c 20 69 6e 20 63 61  oop below, in ca
13790 73 65 20 6f 66 20 63 79 63 6c 69 63 20 6c 69 6e  se of cyclic lin
137a0 6b 73 2e 0a 09 09 20 20 20 20 20 20 23 20 57 65  ks....      # We
137b0 20 6d 69 67 68 74 20 73 74 69 6c 6c 20 65 6e 74   might still ent
137c0 65 72 20 61 6e 20 65 6e 64 6c 65 73 73 20 6c 6f  er an endless lo
137d0 6f 70 2c 20 73 69 6e 63 65 20 61 20 6c 69 6e 6b  op, since a link
137e0 0a 09 09 20 20 20 20 20 20 23 20 6c 6f 6f 70 20  ...      # loop 
137f0 63 61 6e 20 62 65 20 63 6c 6f 73 65 64 20 77 68  can be closed wh
13800 69 6c 65 20 77 65 20 66 6f 6c 6c 6f 77 20 6c 69  ile we follow li
13810 6e 6b 73 2c 0a 09 09 20 20 20 20 20 20 23 20 62  nks,...      # b
13820 75 74 20 73 6f 20 77 68 61 74 3f 0a 09 09 20 20  ut so what?...  
13830 20 20 20 20 70 6f 74 6c 69 62 3d 22 24 70 6f 74      potlib="$pot
13840 65 6e 74 5f 6c 69 62 22 0a 09 09 20 20 20 20 20  ent_lib"...     
13850 20 77 68 69 6c 65 20 74 65 73 74 20 2d 68 20 22   while test -h "
13860 24 70 6f 74 6c 69 62 22 20 32 3e 2f 64 65 76 2f  $potlib" 2>/dev/
13870 6e 75 6c 6c 3b 20 64 6f 0a 09 09 09 70 6f 74 6c  null; do....potl
13880 69 62 6c 69 6e 6b 3d 60 6c 73 20 2d 6c 64 20 24  iblink=`ls -ld $
13890 70 6f 74 6c 69 62 20 7c 20 24 7b 53 45 44 7d 20  potlib | ${SED} 
138a0 27 73 2f 2e 2a 20 2d 3e 20 2f 2f 27 60 0a 09 09  's/.* -> //'`...
138b0 09 63 61 73 65 20 24 70 6f 74 6c 69 62 6c 69 6e  .case $potliblin
138c0 6b 20 69 6e 0a 09 09 09 5b 5c 5c 2f 5d 2a 20 7c  k in....[\\/]* |
138d0 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a   [A-Za-z]:[\\/]*
138e0 29 20 70 6f 74 6c 69 62 3d 22 24 70 6f 74 6c 69  ) potlib="$potli
138f0 62 6c 69 6e 6b 22 3b 3b 0a 09 09 09 2a 29 20 70  blink";;....*) p
13900 6f 74 6c 69 62 3d 60 24 65 63 68 6f 20 22 58 24  otlib=`$echo "X$
13910 70 6f 74 6c 69 62 22 20 7c 20 24 58 73 65 64 20  potlib" | $Xsed 
13920 2d 65 20 27 73 2c 5b 5e 2f 5d 2a 24 2c 2c 27 60  -e 's,[^/]*$,,'`
13930 22 24 70 6f 74 6c 69 62 6c 69 6e 6b 22 3b 3b 0a  "$potliblink";;.
13940 09 09 09 65 73 61 63 0a 09 09 20 20 20 20 20 20  ...esac...      
13950 64 6f 6e 65 0a 09 09 20 20 20 20 20 20 69 66 20  done...      if 
13960 65 76 61 6c 20 24 66 69 6c 65 5f 6d 61 67 69 63  eval $file_magic
13970 5f 63 6d 64 20 5c 22 5c 24 70 6f 74 6c 69 62 5c  _cmd \"\$potlib\
13980 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a  " 2>/dev/null \.
13990 09 09 09 20 7c 20 24 7b 53 45 44 7d 20 31 30 71  ... | ${SED} 10q
139a0 20 5c 0a 09 09 09 20 7c 20 65 67 72 65 70 20 22   \.... | egrep "
139b0 24 66 69 6c 65 5f 6d 61 67 69 63 5f 72 65 67 65  $file_magic_rege
139c0 78 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20  x" > /dev/null; 
139d0 74 68 65 6e 0a 09 09 09 6e 65 77 64 65 70 6c 69  then....newdepli
139e0 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
139f0 24 61 5f 64 65 70 6c 69 62 22 0a 09 09 09 61 5f  $a_deplib"....a_
13a00 64 65 70 6c 69 62 3d 22 22 0a 09 09 09 62 72 65  deplib=""....bre
13a10 61 6b 20 32 0a 09 09 20 20 20 20 20 20 66 69 0a  ak 2...      fi.
13a20 09 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20  ..    done..    
13a30 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 69 66    done..      if
13a40 20 74 65 73 74 20 2d 6e 20 22 24 61 5f 64 65 70   test -n "$a_dep
13a50 6c 69 62 22 20 3b 20 74 68 65 6e 0a 09 09 64 72  lib" ; then...dr
13a60 6f 70 70 65 64 64 65 70 73 3d 79 65 73 0a 09 09  oppeddeps=yes...
13a70 65 63 68 6f 0a 09 09 65 63 68 6f 20 22 2a 2a 2a  echo...echo "***
13a80 20 57 61 72 6e 69 6e 67 3a 20 6c 69 6e 6b 65 72   Warning: linker
13a90 20 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 68   path does not h
13aa0 61 76 65 20 72 65 61 6c 20 66 69 6c 65 20 66 6f  ave real file fo
13ab0 72 20 6c 69 62 72 61 72 79 20 24 61 5f 64 65 70  r library $a_dep
13ac0 6c 69 62 2e 22 0a 09 09 65 63 68 6f 20 22 2a 2a  lib."...echo "**
13ad0 2a 20 49 20 68 61 76 65 20 74 68 65 20 63 61 70  * I have the cap
13ae0 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20  ability to make 
13af0 74 68 61 74 20 6c 69 62 72 61 72 79 20 61 75 74  that library aut
13b00 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  omatically link 
13b10 69 6e 20 77 68 65 6e 22 0a 09 09 65 63 68 6f 20  in when"...echo 
13b20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f  "*** you link to
13b30 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20   this library.  
13b40 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64  But I can only d
13b50 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61  o this if you ha
13b60 76 65 20 61 22 0a 09 09 65 63 68 6f 20 22 2a 2a  ve a"...echo "**
13b70 2a 20 73 68 61 72 65 64 20 76 65 72 73 69 6f 6e  * shared version
13b80 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2c   of the library,
13b90 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f   which you do no
13ba0 74 20 61 70 70 65 61 72 20 74 6f 20 68 61 76 65  t appear to have
13bb0 22 0a 09 09 65 63 68 6f 20 22 2a 2a 2a 20 62 65  "...echo "*** be
13bc0 63 61 75 73 65 20 49 20 64 69 64 20 63 68 65 63  cause I did chec
13bd0 6b 20 74 68 65 20 6c 69 6e 6b 65 72 20 70 61 74  k the linker pat
13be0 68 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 20  h looking for a 
13bf0 66 69 6c 65 20 73 74 61 72 74 69 6e 67 22 0a 09  file starting"..
13c00 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 70 6f  .if test -z "$po
13c10 74 6c 69 62 22 20 3b 20 74 68 65 6e 0a 09 09 20  tlib" ; then... 
13c20 20 65 63 68 6f 20 22 2a 2a 2a 20 77 69 74 68 20   echo "*** with 
13c30 24 6c 69 62 6e 61 6d 65 20 62 75 74 20 6e 6f 20  $libname but no 
13c40 63 61 6e 64 69 64 61 74 65 73 20 77 65 72 65 20  candidates were 
13c50 66 6f 75 6e 64 2e 20 28 2e 2e 2e 66 6f 72 20 66  found. (...for f
13c60 69 6c 65 20 6d 61 67 69 63 20 74 65 73 74 29 22  ile magic test)"
13c70 0a 09 09 65 6c 73 65 0a 09 09 20 20 65 63 68 6f  ...else...  echo
13c80 20 22 2a 2a 2a 20 77 69 74 68 20 24 6c 69 62 6e   "*** with $libn
13c90 61 6d 65 20 61 6e 64 20 6e 6f 6e 65 20 6f 66 20  ame and none of 
13ca0 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 70  the candidates p
13cb0 61 73 73 65 64 20 61 20 66 69 6c 65 20 66 6f 72  assed a file for
13cc0 6d 61 74 20 74 65 73 74 22 0a 09 09 20 20 65 63  mat test"...  ec
13cd0 68 6f 20 22 2a 2a 2a 20 75 73 69 6e 67 20 61 20  ho "*** using a 
13ce0 66 69 6c 65 20 6d 61 67 69 63 2e 20 4c 61 73 74  file magic. Last
13cf0 20 66 69 6c 65 20 63 68 65 63 6b 65 64 3a 20 24   file checked: $
13d00 70 6f 74 6c 69 62 22 0a 09 09 66 69 0a 09 20 20  potlib"...fi..  
13d10 20 20 20 20 66 69 0a 09 20 20 20 20 65 6c 73 65      fi..    else
13d20 0a 09 20 20 20 20 20 20 23 20 41 64 64 20 61 20  ..      # Add a 
13d30 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20  -L argument...  
13d40 20 20 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 22      newdeplibs="
13d50 24 6e 65 77 64 65 70 6c 69 62 73 20 24 61 5f 64  $newdeplibs $a_d
13d60 65 70 6c 69 62 22 0a 09 20 20 20 20 66 69 0a 09  eplib"..    fi..
13d70 20 20 64 6f 6e 65 20 23 20 47 6f 6e 65 20 74 68    done # Gone th
13d80 72 6f 75 67 68 20 61 6c 6c 20 64 65 70 6c 69 62  rough all deplib
13d90 73 2e 0a 09 20 20 3b 3b 0a 09 6d 61 74 63 68 5f  s...  ;;..match_
13da0 70 61 74 74 65 72 6e 2a 29 0a 09 20 20 73 65 74  pattern*)..  set
13db0 20 64 75 6d 6d 79 20 24 64 65 70 6c 69 62 73 5f   dummy $deplibs_
13dc0 63 68 65 63 6b 5f 6d 65 74 68 6f 64 0a 09 20 20  check_method..  
13dd0 6d 61 74 63 68 5f 70 61 74 74 65 72 6e 5f 72 65  match_pattern_re
13de0 67 65 78 3d 60 65 78 70 72 20 22 24 64 65 70 6c  gex=`expr "$depl
13df0 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64  ibs_check_method
13e00 22 20 3a 20 22 24 32 20 5c 28 2e 2a 5c 29 22 60  " : "$2 \(.*\)"`
13e10 0a 09 20 20 66 6f 72 20 61 5f 64 65 70 6c 69 62  ..  for a_deplib
13e20 20 69 6e 20 24 64 65 70 6c 69 62 73 3b 20 64 6f   in $deplibs; do
13e30 0a 09 20 20 20 20 6e 61 6d 65 3d 22 60 65 78 70  ..    name="`exp
13e40 72 20 24 61 5f 64 65 70 6c 69 62 20 3a 20 27 2d  r $a_deplib : '-
13e50 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20 20 20 20  l\(.*\)'`"..    
13e60 23 20 49 66 20 24 6e 61 6d 65 20 69 73 20 65 6d  # If $name is em
13e70 70 74 79 20 77 65 20 61 72 65 20 6f 70 65 72 61  pty we are opera
13e80 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20 61 72 67  ting on a -L arg
13e90 75 6d 65 6e 74 2e 0a 09 20 20 20 20 69 66 20 74  ument...    if t
13ea0 65 73 74 20 2d 6e 20 22 24 6e 61 6d 65 22 20 26  est -n "$name" &
13eb0 26 20 74 65 73 74 20 22 24 6e 61 6d 65 22 20 21  & test "$name" !
13ec0 3d 20 22 30 22 3b 20 74 68 65 6e 0a 09 20 20 20  = "0"; then..   
13ed0 20 20 20 6c 69 62 6e 61 6d 65 3d 60 65 76 61 6c     libname=`eval
13ee0 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 6e   \\$echo \"$libn
13ef0 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09 20 20 20  ame_spec\"`..   
13f00 20 20 20 66 6f 72 20 69 20 69 6e 20 24 6c 69 62     for i in $lib
13f10 5f 73 65 61 72 63 68 5f 70 61 74 68 20 24 73 79  _search_path $sy
13f20 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  s_lib_search_pat
13f30 68 20 24 73 68 6c 69 62 5f 73 65 61 72 63 68 5f  h $shlib_search_
13f40 70 61 74 68 3b 20 64 6f 0a 09 09 70 6f 74 65 6e  path; do...poten
13f50 74 69 61 6c 5f 6c 69 62 73 3d 60 6c 73 20 24 69  tial_libs=`ls $i
13f60 2f 24 6c 69 62 6e 61 6d 65 5b 2e 2d 5d 2a 20 32  /$libname[.-]* 2
13f70 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 09 09 66 6f  >/dev/null`...fo
13f80 72 20 70 6f 74 65 6e 74 5f 6c 69 62 20 69 6e 20  r potent_lib in 
13f90 24 70 6f 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3b  $potential_libs;
13fa0 20 64 6f 0a 09 09 20 20 70 6f 74 6c 69 62 3d 22   do...  potlib="
13fb0 24 70 6f 74 65 6e 74 5f 6c 69 62 22 20 23 20 73  $potent_lib" # s
13fc0 65 65 20 73 79 6d 6c 69 6e 6b 2d 63 68 65 63 6b  ee symlink-check
13fd0 20 62 65 6c 6f 77 20 69 6e 20 66 69 6c 65 5f 6d   below in file_m
13fe0 61 67 69 63 20 74 65 73 74 0a 09 09 20 20 69 66  agic test...  if
13ff0 20 65 76 61 6c 20 65 63 68 6f 20 5c 22 24 70 6f   eval echo \"$po
14000 74 65 6e 74 5f 6c 69 62 5c 22 20 32 3e 2f 64 65  tent_lib\" 2>/de
14010 76 2f 6e 75 6c 6c 20 5c 0a 09 09 20 20 20 20 20  v/null \...     
14020 20 7c 20 24 7b 53 45 44 7d 20 31 30 71 20 5c 0a   | ${SED} 10q \.
14030 09 09 20 20 20 20 20 20 7c 20 65 67 72 65 70 20  ..      | egrep 
14040 22 24 6d 61 74 63 68 5f 70 61 74 74 65 72 6e 5f  "$match_pattern_
14050 72 65 67 65 78 22 20 3e 20 2f 64 65 76 2f 6e 75  regex" > /dev/nu
14060 6c 6c 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 6e  ll; then...    n
14070 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64  ewdeplibs="$newd
14080 65 70 6c 69 62 73 20 24 61 5f 64 65 70 6c 69 62  eplibs $a_deplib
14090 22 0a 09 09 20 20 20 20 61 5f 64 65 70 6c 69 62  "...    a_deplib
140a0 3d 22 22 0a 09 09 20 20 20 20 62 72 65 61 6b 20  =""...    break 
140b0 32 0a 09 09 20 20 66 69 0a 09 09 64 6f 6e 65 0a  2...  fi...done.
140c0 09 20 20 20 20 20 20 64 6f 6e 65 0a 09 20 20 20  .      done..   
140d0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
140e0 61 5f 64 65 70 6c 69 62 22 20 3b 20 74 68 65 6e  a_deplib" ; then
140f0 0a 09 09 64 72 6f 70 70 65 64 64 65 70 73 3d 79  ...droppeddeps=y
14100 65 73 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f  es...echo...echo
14110 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 6c   "*** Warning: l
14120 69 6e 6b 65 72 20 70 61 74 68 20 64 6f 65 73 20  inker path does 
14130 6e 6f 74 20 68 61 76 65 20 72 65 61 6c 20 66 69  not have real fi
14140 6c 65 20 66 6f 72 20 6c 69 62 72 61 72 79 20 24  le for library $
14150 61 5f 64 65 70 6c 69 62 2e 22 0a 09 09 65 63 68  a_deplib."...ech
14160 6f 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68  o "*** I have th
14170 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20  e capability to 
14180 6d 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72  make that librar
14190 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  y automatically 
141a0 6c 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 09  link in when"...
141b0 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c 69  echo "*** you li
141c0 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69 62 72 61  nk to this libra
141d0 72 79 2e 20 20 42 75 74 20 49 20 63 61 6e 20 6f  ry.  But I can o
141e0 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66 20 79  nly do this if y
141f0 6f 75 20 68 61 76 65 20 61 22 0a 09 09 65 63 68  ou have a"...ech
14200 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65  o "*** shared ve
14210 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62  rsion of the lib
14220 72 61 72 79 2c 20 77 68 69 63 68 20 79 6f 75 20  rary, which you 
14230 64 6f 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f  do not appear to
14240 20 68 61 76 65 22 0a 09 09 65 63 68 6f 20 22 2a   have"...echo "*
14250 2a 2a 20 62 65 63 61 75 73 65 20 49 20 64 69 64  ** because I did
14260 20 63 68 65 63 6b 20 74 68 65 20 6c 69 6e 6b 65   check the linke
14270 72 20 70 61 74 68 20 6c 6f 6f 6b 69 6e 67 20 66  r path looking f
14280 6f 72 20 61 20 66 69 6c 65 20 73 74 61 72 74 69  or a file starti
14290 6e 67 22 0a 09 09 69 66 20 74 65 73 74 20 2d 7a  ng"...if test -z
142a0 20 22 24 70 6f 74 6c 69 62 22 20 3b 20 74 68 65   "$potlib" ; the
142b0 6e 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20  n...  echo "*** 
142c0 77 69 74 68 20 24 6c 69 62 6e 61 6d 65 20 62 75  with $libname bu
142d0 74 20 6e 6f 20 63 61 6e 64 69 64 61 74 65 73 20  t no candidates 
142e0 77 65 72 65 20 66 6f 75 6e 64 2e 20 28 2e 2e 2e  were found. (...
142f0 66 6f 72 20 72 65 67 65 78 20 70 61 74 74 65 72  for regex patter
14300 6e 20 74 65 73 74 29 22 0a 09 09 65 6c 73 65 0a  n test)"...else.
14310 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20 77 69  ..  echo "*** wi
14320 74 68 20 24 6c 69 62 6e 61 6d 65 20 61 6e 64 20  th $libname and 
14330 6e 6f 6e 65 20 6f 66 20 74 68 65 20 63 61 6e 64  none of the cand
14340 69 64 61 74 65 73 20 70 61 73 73 65 64 20 61 20  idates passed a 
14350 66 69 6c 65 20 66 6f 72 6d 61 74 20 74 65 73 74  file format test
14360 22 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20  "...  echo "*** 
14370 75 73 69 6e 67 20 61 20 72 65 67 65 78 20 70 61  using a regex pa
14380 74 74 65 72 6e 2e 20 4c 61 73 74 20 66 69 6c 65  ttern. Last file
14390 20 63 68 65 63 6b 65 64 3a 20 24 70 6f 74 6c 69   checked: $potli
143a0 62 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20 66  b"...fi..      f
143b0 69 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20  i..    else..   
143c0 20 20 20 23 20 41 64 64 20 61 20 2d 4c 20 61 72     # Add a -L ar
143d0 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 20 20 6e  gument...      n
143e0 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64  ewdeplibs="$newd
143f0 65 70 6c 69 62 73 20 24 61 5f 64 65 70 6c 69 62  eplibs $a_deplib
14400 22 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e  "..    fi..  don
14410 65 20 23 20 47 6f 6e 65 20 74 68 72 6f 75 67 68  e # Gone through
14420 20 61 6c 6c 20 64 65 70 6c 69 62 73 2e 0a 09 20   all deplibs... 
14430 20 3b 3b 0a 09 6e 6f 6e 65 20 7c 20 75 6e 6b 6e   ;;..none | unkn
14440 6f 77 6e 20 7c 20 2a 29 0a 09 20 20 6e 65 77 64  own | *)..  newd
14450 65 70 6c 69 62 73 3d 22 22 0a 09 20 20 69 66 20  eplibs=""..  if 
14460 24 65 63 68 6f 20 22 58 20 24 64 65 70 6c 69 62  $echo "X $deplib
14470 73 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  s" | $Xsed -e 's
14480 2f 20 2d 6c 63 24 2f 2f 27 20 5c 0a 09 20 20 20  / -lc$//' \..   
14490 20 20 20 20 2d 65 20 27 73 2f 20 2d 5b 4c 52 5d      -e 's/ -[LR]
144a0 5b 5e 20 5d 2a 2f 2f 67 27 20 2d 65 20 27 73 2f  [^ ]*//g' -e 's/
144b0 5b 20 09 5d 2f 2f 67 27 20 7c 0a 09 20 20 20 20  [ .]//g' |..    
144c0 20 67 72 65 70 20 2e 20 3e 2f 64 65 76 2f 6e 75   grep . >/dev/nu
144d0 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20 20 65 63  ll; then..    ec
144e0 68 6f 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  ho..    if test 
144f0 22 58 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b  "X$deplibs_check
14500 5f 6d 65 74 68 6f 64 22 20 3d 20 22 58 6e 6f 6e  _method" = "Xnon
14510 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  e"; then..      
14520 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e  echo "*** Warnin
14530 67 3a 20 69 6e 74 65 72 2d 6c 69 62 72 61 72 79  g: inter-library
14540 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72   dependencies ar
14550 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20  e not supported 
14560 69 6e 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d  in this platform
14570 2e 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  ."..    else..  
14580 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57 61      echo "*** Wa
14590 72 6e 69 6e 67 3a 20 69 6e 74 65 72 2d 6c 69 62  rning: inter-lib
145a0 72 61 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65  rary dependencie
145b0 73 20 61 72 65 20 6e 6f 74 20 6b 6e 6f 77 6e 20  s are not known 
145c0 74 6f 20 62 65 20 73 75 70 70 6f 72 74 65 64 2e  to be supported.
145d0 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 65  "..    fi..    e
145e0 63 68 6f 20 22 2a 2a 2a 20 41 6c 6c 20 64 65 63  cho "*** All dec
145f0 6c 61 72 65 64 20 69 6e 74 65 72 2d 6c 69 62 72  lared inter-libr
14600 61 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73  ary dependencies
14610 20 61 72 65 20 62 65 69 6e 67 20 64 72 6f 70 70   are being dropp
14620 65 64 2e 22 0a 09 20 20 20 20 64 72 6f 70 70 65  ed."..    droppe
14630 64 64 65 70 73 3d 79 65 73 0a 09 20 20 66 69 0a  ddeps=yes..  fi.
14640 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 76 65 72  .  ;;..esac..ver
14650 73 75 66 66 69 78 3d 24 76 65 72 73 75 66 66 69  suffix=$versuffi
14660 78 5f 73 61 76 65 0a 09 6d 61 6a 6f 72 3d 24 6d  x_save..major=$m
14670 61 6a 6f 72 5f 73 61 76 65 0a 09 72 65 6c 65 61  ajor_save..relea
14680 73 65 3d 24 72 65 6c 65 61 73 65 5f 73 61 76 65  se=$release_save
14690 0a 09 6c 69 62 6e 61 6d 65 3d 24 6c 69 62 6e 61  ..libname=$libna
146a0 6d 65 5f 73 61 76 65 0a 09 6e 61 6d 65 3d 24 6e  me_save..name=$n
146b0 61 6d 65 5f 73 61 76 65 0a 0a 09 63 61 73 65 20  ame_save...case 
146c0 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 72 68  $host in..*-*-rh
146d0 61 70 73 6f 64 79 2a 20 7c 20 2a 2d 2a 2d 64 61  apsody* | *-*-da
146e0 72 77 69 6e 31 2e 5b 30 31 32 5d 29 0a 09 20 20  rwin1.[012])..  
146f0 23 20 4f 6e 20 52 68 61 70 73 6f 64 79 20 72 65  # On Rhapsody re
14700 70 6c 61 63 65 20 74 68 65 20 43 20 6c 69 62 72  place the C libr
14710 61 72 79 20 69 73 20 74 68 65 20 53 79 73 74 65  ary is the Syste
14720 6d 20 66 72 61 6d 65 77 6f 72 6b 0a 09 20 20 6e  m framework..  n
14730 65 77 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f  ewdeplibs=`$echo
14740 20 22 58 20 24 6e 65 77 64 65 70 6c 69 62 73 22   "X $newdeplibs"
14750 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 20   | $Xsed -e 's/ 
14760 2d 6c 63 20 2f 20 2d 66 72 61 6d 65 77 6f 72 6b  -lc / -framework
14770 20 53 79 73 74 65 6d 20 2f 27 60 0a 09 20 20 3b   System /'`..  ;
14780 3b 0a 09 65 73 61 63 0a 0a 09 69 66 20 74 65 73  ;..esac...if tes
14790 74 20 22 24 64 72 6f 70 70 65 64 64 65 70 73 22  t "$droppeddeps"
147a0 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
147b0 69 66 20 74 65 73 74 20 22 24 6d 6f 64 75 6c 65  if test "$module
147c0 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
147d0 20 20 20 65 63 68 6f 0a 09 20 20 20 20 65 63 68     echo..    ech
147e0 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
147f0 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f  libtool could no
14800 74 20 73 61 74 69 73 66 79 20 61 6c 6c 20 64 65  t satisfy all de
14810 63 6c 61 72 65 64 20 69 6e 74 65 72 2d 6c 69 62  clared inter-lib
14820 72 61 72 79 22 0a 09 20 20 20 20 65 63 68 6f 20  rary"..    echo 
14830 22 2a 2a 2a 20 64 65 70 65 6e 64 65 6e 63 69 65  "*** dependencie
14840 73 20 6f 66 20 6d 6f 64 75 6c 65 20 24 6c 69 62  s of module $lib
14850 6e 61 6d 65 2e 20 20 54 68 65 72 65 66 6f 72 65  name.  Therefore
14860 2c 20 6c 69 62 74 6f 6f 6c 20 77 69 6c 6c 20 63  , libtool will c
14870 72 65 61 74 65 22 0a 09 20 20 20 20 65 63 68 6f  reate"..    echo
14880 20 22 2a 2a 2a 20 61 20 73 74 61 74 69 63 20 6d   "*** a static m
14890 6f 64 75 6c 65 2c 20 74 68 61 74 20 73 68 6f 75  odule, that shou
148a0 6c 64 20 77 6f 72 6b 20 61 73 20 6c 6f 6e 67 20  ld work as long 
148b0 61 73 20 74 68 65 20 64 6c 6f 70 65 6e 69 6e 67  as the dlopening
148c0 22 0a 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  "..    echo "***
148d0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20   application is 
148e0 6c 69 6e 6b 65 64 20 77 69 74 68 20 74 68 65 20  linked with the 
148f0 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 2e 22 0a 09  -dlopen flag."..
14900 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
14910 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70  $global_symbol_p
14920 69 70 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ipe"; then..    
14930 20 20 65 63 68 6f 0a 09 20 20 20 20 20 20 65 63    echo..      ec
14940 68 6f 20 22 2a 2a 2a 20 48 6f 77 65 76 65 72 2c  ho "*** However,
14950 20 74 68 69 73 20 77 6f 75 6c 64 20 6f 6e 6c 79   this would only
14960 20 77 6f 72 6b 20 69 66 20 6c 69 62 74 6f 6f 6c   work if libtool
14970 20 77 61 73 20 61 62 6c 65 20 74 6f 20 65 78 74   was able to ext
14980 72 61 63 74 20 73 79 6d 62 6f 6c 22 0a 09 20 20  ract symbol"..  
14990 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 6c 69      echo "*** li
149a0 73 74 73 20 66 72 6f 6d 20 61 20 70 72 6f 67 72  sts from a progr
149b0 61 6d 2c 20 75 73 69 6e 67 20 5c 60 6e 6d 27 20  am, using \`nm' 
149c0 6f 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 62  or equivalent, b
149d0 75 74 20 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64  ut libtool could
149e0 22 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a  "..      echo "*
149f0 2a 2a 20 6e 6f 74 20 66 69 6e 64 20 73 75 63 68  ** not find such
14a00 20 61 20 70 72 6f 67 72 61 6d 2e 20 20 53 6f 2c   a program.  So,
14a10 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 69 73 20   this module is 
14a20 70 72 6f 62 61 62 6c 79 20 75 73 65 6c 65 73 73  probably useless
14a30 2e 22 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22  ."..      echo "
14a40 2a 2a 2a 20 5c 60 6e 6d 27 20 66 72 6f 6d 20 47  *** \`nm' from G
14a50 4e 55 20 62 69 6e 75 74 69 6c 73 20 61 6e 64 20  NU binutils and 
14a60 61 20 66 75 6c 6c 20 72 65 62 75 69 6c 64 20 6d  a full rebuild m
14a70 61 79 20 68 65 6c 70 2e 22 0a 09 20 20 20 20 66  ay help."..    f
14a80 69 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  i..    if test "
14a90 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22  $build_old_libs"
14aa0 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20   = no; then..   
14ab0 20 20 20 6f 6c 64 6c 69 62 73 3d 22 24 6f 75 74     oldlibs="$out
14ac0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e  put_objdir/$libn
14ad0 61 6d 65 2e 24 6c 69 62 65 78 74 22 0a 09 20 20  ame.$libext"..  
14ae0 20 20 20 20 62 75 69 6c 64 5f 6c 69 62 74 6f 6f      build_libtoo
14af0 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c 65 0a 09 20  l_libs=module.. 
14b00 20 20 20 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c       build_old_l
14b10 69 62 73 3d 79 65 73 0a 09 20 20 20 20 65 6c 73  ibs=yes..    els
14b20 65 0a 09 20 20 20 20 20 20 62 75 69 6c 64 5f 6c  e..      build_l
14b30 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09  ibtool_libs=no..
14b40 20 20 20 20 66 69 0a 09 20 20 65 6c 73 65 0a 09      fi..  else..
14b50 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 54 68      echo "*** Th
14b60 65 20 69 6e 74 65 72 2d 6c 69 62 72 61 72 79 20  e inter-library 
14b70 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 68 61  dependencies tha
14b80 74 20 68 61 76 65 20 62 65 65 6e 20 64 72 6f 70  t have been drop
14b90 70 65 64 20 68 65 72 65 20 77 69 6c 6c 20 62 65  ped here will be
14ba0 22 0a 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  "..    echo "***
14bb0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61   automatically a
14bc0 64 64 65 64 20 77 68 65 6e 65 76 65 72 20 61 20  dded whenever a 
14bd0 70 72 6f 67 72 61 6d 20 69 73 20 6c 69 6e 6b 65  program is linke
14be0 64 20 77 69 74 68 20 74 68 69 73 20 6c 69 62 72  d with this libr
14bf0 61 72 79 22 0a 09 20 20 20 20 65 63 68 6f 20 22  ary"..    echo "
14c00 2a 2a 2a 20 6f 72 20 69 73 20 64 65 63 6c 61 72  *** or is declar
14c10 65 64 20 74 6f 20 2d 64 6c 6f 70 65 6e 20 69 74  ed to -dlopen it
14c20 2e 22 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74  ."...    if test
14c30 20 24 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65   $allow_undefine
14c40 64 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20  d = no; then..  
14c50 20 20 20 20 65 63 68 6f 0a 09 20 20 20 20 20 20      echo..      
14c60 65 63 68 6f 20 22 2a 2a 2a 20 53 69 6e 63 65 20  echo "*** Since 
14c70 74 68 69 73 20 6c 69 62 72 61 72 79 20 6d 75 73  this library mus
14c80 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 75 6e  t not contain un
14c90 64 65 66 69 6e 65 64 20 73 79 6d 62 6f 6c 73 2c  defined symbols,
14ca0 22 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a  "..      echo "*
14cb0 2a 2a 20 62 65 63 61 75 73 65 20 65 69 74 68 65  ** because eithe
14cc0 72 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 64  r the platform d
14cd0 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20  oes not support 
14ce0 74 68 65 6d 20 6f 72 22 0a 09 20 20 20 20 20 20  them or"..      
14cf0 65 63 68 6f 20 22 2a 2a 2a 20 69 74 20 77 61 73  echo "*** it was
14d00 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 71 75   explicitly requ
14d10 65 73 74 65 64 20 77 69 74 68 20 2d 6e 6f 2d 75  ested with -no-u
14d20 6e 64 65 66 69 6e 65 64 2c 22 0a 09 20 20 20 20  ndefined,"..    
14d30 20 20 65 63 68 6f 20 22 2a 2a 2a 20 6c 69 62 74    echo "*** libt
14d40 6f 6f 6c 20 77 69 6c 6c 20 6f 6e 6c 79 20 63 72  ool will only cr
14d50 65 61 74 65 20 61 20 73 74 61 74 69 63 20 76 65  eate a static ve
14d60 72 73 69 6f 6e 20 6f 66 20 69 74 2e 22 0a 09 20  rsion of it.".. 
14d70 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62       if test "$b
14d80 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d  uild_old_libs" =
14d90 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 6f 6c 64 6c   no; then...oldl
14da0 69 62 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a  ibs="$output_obj
14db0 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c 69  dir/$libname.$li
14dc0 62 65 78 74 22 0a 09 09 62 75 69 6c 64 5f 6c 69  bext"...build_li
14dd0 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c  btool_libs=modul
14de0 65 0a 09 09 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69  e...build_old_li
14df0 62 73 3d 79 65 73 0a 09 20 20 20 20 20 20 65 6c  bs=yes..      el
14e00 73 65 0a 09 09 62 75 69 6c 64 5f 6c 69 62 74 6f  se...build_libto
14e10 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20 20 20  ol_libs=no..    
14e20 20 20 66 69 0a 09 20 20 20 20 66 69 0a 09 20 20    fi..    fi..  
14e30 66 69 0a 09 66 69 0a 09 23 20 44 6f 6e 65 20 63  fi..fi..# Done c
14e40 68 65 63 6b 69 6e 67 20 64 65 70 6c 69 62 73 21  hecking deplibs!
14e50 0a 09 64 65 70 6c 69 62 73 3d 24 6e 65 77 64 65  ..deplibs=$newde
14e60 70 6c 69 62 73 0a 20 20 20 20 20 20 66 69 0a 0a  plibs.      fi..
14e70 20 20 20 20 20 20 23 20 41 6c 6c 20 74 68 65 20        # All the 
14e80 6c 69 62 72 61 72 79 2d 73 70 65 63 69 66 69 63  library-specific
14e90 20 76 61 72 69 61 62 6c 65 73 20 28 69 6e 73 74   variables (inst
14ea0 61 6c 6c 5f 6c 69 62 64 69 72 20 69 73 20 73 65  all_libdir is se
14eb0 74 20 61 62 6f 76 65 29 2e 0a 20 20 20 20 20 20  t above)..      
14ec0 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d 0a 20  library_names=. 
14ed0 20 20 20 20 20 6f 6c 64 5f 6c 69 62 72 61 72 79       old_library
14ee0 3d 0a 20 20 20 20 20 20 64 6c 6e 61 6d 65 3d 0a  =.      dlname=.
14ef0 0a 20 20 20 20 20 20 23 20 54 65 73 74 20 61 67  .      # Test ag
14f00 61 69 6e 2c 20 77 65 20 6d 61 79 20 68 61 76 65  ain, we may have
14f10 20 64 65 63 69 64 65 64 20 6e 6f 74 20 74 6f 20   decided not to 
14f20 62 75 69 6c 64 20 69 74 20 61 6e 79 20 6d 6f 72  build it any mor
14f30 65 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  e.      if test 
14f40 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
14f50 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65  libs" = yes; the
14f60 6e 0a 09 69 66 20 74 65 73 74 20 24 68 61 72 64  n..if test $hard
14f70 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 20 3d  code_into_libs =
14f80 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23 20   yes; then..  # 
14f90 48 61 72 64 63 6f 64 65 20 74 68 65 20 6c 69 62  Hardcode the lib
14fa0 72 61 72 79 20 70 61 74 68 73 0a 09 20 20 68 61  rary paths..  ha
14fb0 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 0a  rdcode_libdirs=.
14fc0 09 20 20 64 65 70 5f 72 70 61 74 68 3d 0a 09 20  .  dep_rpath=.. 
14fd0 20 72 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a   rpath="$finaliz
14fe0 65 5f 72 70 61 74 68 22 0a 09 20 20 74 65 73 74  e_rpath"..  test
14ff0 20 22 24 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69   "$mode" != reli
15000 6e 6b 20 26 26 20 72 70 61 74 68 3d 22 24 63 6f  nk && rpath="$co
15010 6d 70 69 6c 65 5f 72 70 61 74 68 24 72 70 61 74  mpile_rpath$rpat
15020 68 22 0a 09 20 20 66 6f 72 20 6c 69 62 64 69 72  h"..  for libdir
15030 20 69 6e 20 24 72 70 61 74 68 3b 20 64 6f 0a 09   in $rpath; do..
15040 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
15050 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
15060 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65  _flag_spec"; the
15070 6e 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  n..      if test
15080 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -n "$hardcode_l
15090 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22  ibdir_separator"
150a0 3b 20 74 68 65 6e 0a 09 09 69 66 20 74 65 73 74  ; then...if test
150b0 20 2d 7a 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -z "$hardcode_l
150c0 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 09  ibdirs"; then...
150d0 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69    hardcode_libdi
150e0 72 73 3d 22 24 6c 69 62 64 69 72 22 0a 09 09 65  rs="$libdir"...e
150f0 6c 73 65 0a 09 09 20 20 23 20 4a 75 73 74 20 61  lse...  # Just a
15100 63 63 75 6d 75 6c 61 74 65 20 74 68 65 20 75 6e  ccumulate the un
15110 69 71 75 65 20 6c 69 62 64 69 72 73 2e 0a 09 09  ique libdirs....
15120 20 20 63 61 73 65 20 24 68 61 72 64 63 6f 64 65    case $hardcode
15130 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
15140 72 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  r$hardcode_libdi
15150 72 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  rs$hardcode_libd
15160 69 72 5f 73 65 70 61 72 61 74 6f 72 20 69 6e 0a  ir_separator in.
15170 09 09 20 20 2a 22 24 68 61 72 64 63 6f 64 65 5f  ..  *"$hardcode_
15180 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
15190 24 6c 69 62 64 69 72 24 68 61 72 64 63 6f 64 65  $libdir$hardcode
151a0 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
151b0 72 22 2a 29 0a 09 09 20 20 20 20 3b 3b 0a 09 09  r"*)...    ;;...
151c0 20 20 2a 29 0a 09 09 20 20 20 20 68 61 72 64 63    *)...    hardc
151d0 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22 24 68 61  ode_libdirs="$ha
151e0 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 24 68  rdcode_libdirs$h
151f0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73  ardcode_libdir_s
15200 65 70 61 72 61 74 6f 72 24 6c 69 62 64 69 72 22  eparator$libdir"
15210 0a 09 09 20 20 20 20 3b 3b 0a 09 09 20 20 65 73  ...    ;;...  es
15220 61 63 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65  ac...fi..      e
15230 6c 73 65 0a 09 09 65 76 61 6c 20 66 6c 61 67 3d  lse...eval flag=
15240 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  \"$hardcode_libd
15250 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09  ir_flag_spec\"..
15260 09 64 65 70 5f 72 70 61 74 68 3d 22 24 64 65 70  .dep_rpath="$dep
15270 5f 72 70 61 74 68 20 24 66 6c 61 67 22 0a 09 20  _rpath $flag".. 
15280 20 20 20 20 20 66 69 0a 09 20 20 20 20 65 6c 69       fi..    eli
15290 66 20 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70  f test -n "$runp
152a0 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09  ath_var"; then..
152b0 20 20 20 20 20 20 63 61 73 65 20 22 24 70 65 72        case "$per
152c0 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20  m_rpath " in..  
152d0 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22      *" $libdir "
152e0 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20  *) ;;..      *) 
152f0 70 65 72 6d 5f 72 70 61 74 68 3d 22 24 70 65 72  perm_rpath="$per
15300 6d 5f 72 70 61 74 68 20 24 6c 69 62 64 69 72 22  m_rpath $libdir"
15310 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a   ;;..      esac.
15320 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65 0a  .    fi..  done.
15330 09 20 20 23 20 53 75 62 73 74 69 74 75 74 65 20  .  # Substitute 
15340 74 68 65 20 68 61 72 64 63 6f 64 65 64 20 6c 69  the hardcoded li
15350 62 64 69 72 73 20 69 6e 74 6f 20 74 68 65 20 72  bdirs into the r
15360 70 61 74 68 2e 0a 09 20 20 69 66 20 74 65 73 74  path...  if test
15370 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -n "$hardcode_l
15380 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22  ibdir_separator"
15390 20 26 26 0a 09 20 20 20 20 20 74 65 73 74 20 2d   &&..     test -
153a0 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  n "$hardcode_lib
153b0 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 20 20 20  dirs"; then..   
153c0 20 6c 69 62 64 69 72 3d 22 24 68 61 72 64 63 6f   libdir="$hardco
153d0 64 65 5f 6c 69 62 64 69 72 73 22 0a 09 20 20 20  de_libdirs"..   
153e0 20 65 76 61 6c 20 64 65 70 5f 72 70 61 74 68 3d   eval dep_rpath=
153f0 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  \"$hardcode_libd
15400 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09  ir_flag_spec\"..
15410 20 20 66 69 0a 09 20 20 69 66 20 74 65 73 74 20    fi..  if test 
15420 2d 6e 20 22 24 72 75 6e 70 61 74 68 5f 76 61 72  -n "$runpath_var
15430 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 70  " && test -n "$p
15440 65 72 6d 5f 72 70 61 74 68 22 3b 20 74 68 65 6e  erm_rpath"; then
15450 0a 09 20 20 20 20 23 20 57 65 20 73 68 6f 75 6c  ..    # We shoul
15460 64 20 73 65 74 20 74 68 65 20 72 75 6e 70 61 74  d set the runpat
15470 68 5f 76 61 72 2e 0a 09 20 20 20 20 72 70 61 74  h_var...    rpat
15480 68 3d 0a 09 20 20 20 20 66 6f 72 20 64 69 72 20  h=..    for dir 
15490 69 6e 20 24 70 65 72 6d 5f 72 70 61 74 68 3b 20  in $perm_rpath; 
154a0 64 6f 0a 09 20 20 20 20 20 20 72 70 61 74 68 3d  do..      rpath=
154b0 22 24 72 70 61 74 68 24 64 69 72 3a 22 0a 09 20  "$rpath$dir:".. 
154c0 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 65 76 61     done..    eva
154d0 6c 20 22 24 72 75 6e 70 61 74 68 5f 76 61 72 3d  l "$runpath_var=
154e0 27 24 72 70 61 74 68 5c 24 24 72 75 6e 70 61 74  '$rpath\$$runpat
154f0 68 5f 76 61 72 27 3b 20 65 78 70 6f 72 74 20 24  h_var'; export $
15500 72 75 6e 70 61 74 68 5f 76 61 72 22 0a 09 20 20  runpath_var"..  
15510 66 69 0a 09 20 20 74 65 73 74 20 2d 6e 20 22 24  fi..  test -n "$
15520 64 65 70 5f 72 70 61 74 68 22 20 26 26 20 64 65  dep_rpath" && de
15530 70 6c 69 62 73 3d 22 24 64 65 70 5f 72 70 61 74  plibs="$dep_rpat
15540 68 20 24 64 65 70 6c 69 62 73 22 0a 09 66 69 0a  h $deplibs"..fi.
15550 0a 09 73 68 6c 69 62 70 61 74 68 3d 22 24 66 69  ..shlibpath="$fi
15560 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68  nalize_shlibpath
15570 22 0a 09 74 65 73 74 20 22 24 6d 6f 64 65 22 20  "..test "$mode" 
15580 21 3d 20 72 65 6c 69 6e 6b 20 26 26 20 73 68 6c  != relink && shl
15590 69 62 70 61 74 68 3d 22 24 63 6f 6d 70 69 6c 65  ibpath="$compile
155a0 5f 73 68 6c 69 62 70 61 74 68 24 73 68 6c 69 62  _shlibpath$shlib
155b0 70 61 74 68 22 0a 09 69 66 20 74 65 73 74 20 2d  path"..if test -
155c0 6e 20 22 24 73 68 6c 69 62 70 61 74 68 22 3b 20  n "$shlibpath"; 
155d0 74 68 65 6e 0a 09 20 20 65 76 61 6c 20 22 24 73  then..  eval "$s
155e0 68 6c 69 62 70 61 74 68 5f 76 61 72 3d 27 24 73  hlibpath_var='$s
155f0 68 6c 69 62 70 61 74 68 5c 24 24 73 68 6c 69 62  hlibpath\$$shlib
15600 70 61 74 68 5f 76 61 72 27 3b 20 65 78 70 6f 72  path_var'; expor
15610 74 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  t $shlibpath_var
15620 22 0a 09 66 69 0a 0a 09 23 20 47 65 74 20 74 68  "..fi...# Get th
15630 65 20 72 65 61 6c 20 61 6e 64 20 6c 69 6e 6b 20  e real and link 
15640 6e 61 6d 65 73 20 6f 66 20 74 68 65 20 6c 69 62  names of the lib
15650 72 61 72 79 2e 0a 09 65 76 61 6c 20 6c 69 62 72  rary...eval libr
15660 61 72 79 5f 6e 61 6d 65 73 3d 5c 22 24 6c 69 62  ary_names=\"$lib
15670 72 61 72 79 5f 6e 61 6d 65 73 5f 73 70 65 63 5c  rary_names_spec\
15680 22 0a 09 73 65 74 20 64 75 6d 6d 79 20 24 6c 69  "..set dummy $li
15690 62 72 61 72 79 5f 6e 61 6d 65 73 0a 09 72 65 61  brary_names..rea
156a0 6c 6e 61 6d 65 3d 22 24 32 22 0a 09 73 68 69 66  lname="$2"..shif
156b0 74 3b 20 73 68 69 66 74 0a 0a 09 69 66 20 74 65  t; shift...if te
156c0 73 74 20 2d 6e 20 22 24 73 6f 6e 61 6d 65 5f 73  st -n "$soname_s
156d0 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 65 76  pec"; then..  ev
156e0 61 6c 20 73 6f 6e 61 6d 65 3d 5c 22 24 73 6f 6e  al soname=\"$son
156f0 61 6d 65 5f 73 70 65 63 5c 22 0a 09 65 6c 73 65  ame_spec\"..else
15700 0a 09 20 20 73 6f 6e 61 6d 65 3d 22 24 72 65 61  ..  soname="$rea
15710 6c 6e 61 6d 65 22 0a 09 66 69 0a 09 74 65 73 74  lname"..fi..test
15720 20 2d 7a 20 22 24 64 6c 6e 61 6d 65 22 20 26 26   -z "$dlname" &&
15730 20 64 6c 6e 61 6d 65 3d 24 73 6f 6e 61 6d 65 0a   dlname=$soname.
15740 0a 09 6c 69 62 3d 22 24 6f 75 74 70 75 74 5f 6f  ..lib="$output_o
15750 62 6a 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22  bjdir/$realname"
15760 0a 09 66 6f 72 20 6c 69 6e 6b 0a 09 64 6f 0a 09  ..for link..do..
15770 20 20 6c 69 6e 6b 6e 61 6d 65 73 3d 22 24 6c 69    linknames="$li
15780 6e 6b 6e 61 6d 65 73 20 24 6c 69 6e 6b 22 0a 09  nknames $link"..
15790 64 6f 6e 65 0a 0a 09 23 20 45 6e 73 75 72 65 20  done...# Ensure 
157a0 74 68 61 74 20 77 65 20 68 61 76 65 20 2e 6f 20  that we have .o 
157b0 6f 62 6a 65 63 74 73 20 66 6f 72 20 6c 69 6e 6b  objects for link
157c0 65 72 73 20 77 68 69 63 68 20 64 69 73 6c 69 6b  ers which dislik
157d0 65 20 2e 6c 6f 0a 09 23 20 28 65 2e 67 2e 20 61  e .lo..# (e.g. a
157e0 69 78 29 20 69 6e 20 63 61 73 65 20 77 65 20 61  ix) in case we a
157f0 72 65 20 72 75 6e 6e 69 6e 67 20 2d 2d 64 69 73  re running --dis
15800 61 62 6c 65 2d 73 74 61 74 69 63 0a 09 66 6f 72  able-static..for
15810 20 6f 62 6a 20 69 6e 20 24 6c 69 62 6f 62 6a 73   obj in $libobjs
15820 3b 20 64 6f 0a 09 20 20 78 64 69 72 3d 60 24 65  ; do..  xdir=`$e
15830 63 68 6f 20 22 58 24 6f 62 6a 22 20 7c 20 24 58  cho "X$obj" | $X
15840 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a  sed -e 's%/[^/]*
15850 24 25 25 27 60 0a 09 20 20 69 66 20 74 65 73 74  $%%'`..  if test
15860 20 22 58 24 78 64 69 72 22 20 3d 20 22 58 24 6f   "X$xdir" = "X$o
15870 62 6a 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 78  bj"; then..    x
15880 64 69 72 3d 22 2e 22 0a 09 20 20 65 6c 73 65 0a  dir="."..  else.
15890 09 20 20 20 20 78 64 69 72 3d 22 24 78 64 69 72  .    xdir="$xdir
158a0 22 0a 09 20 20 66 69 0a 09 20 20 62 61 73 65 6f  "..  fi..  baseo
158b0 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a  bj=`$echo "X$obj
158c0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
158d0 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 6f 6c 64 6f  ^.*/%%'`..  oldo
158e0 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 62 61 73  bj=`$echo "X$bas
158f0 65 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65  eobj" | $Xsed -e
15900 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20 69 66 20   "$lo2o"`..  if 
15910 74 65 73 74 20 21 20 2d 66 20 24 78 64 69 72 2f  test ! -f $xdir/
15920 24 6f 6c 64 6f 62 6a 3b 20 74 68 65 6e 0a 09 20  $oldobj; then.. 
15930 20 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 78     $show "(cd $x
15940 64 69 72 20 26 26 20 24 7b 4c 4e 5f 53 7d 20 24  dir && ${LN_S} $
15950 62 61 73 65 6f 62 6a 20 24 6f 6c 64 6f 62 6a 29  baseobj $oldobj)
15960 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c  "..    $run eval
15970 20 27 28 63 64 20 24 78 64 69 72 20 26 26 20 24   '(cd $xdir && $
15980 7b 4c 4e 5f 53 7d 20 24 62 61 73 65 6f 62 6a 20  {LN_S} $baseobj 
15990 24 6f 6c 64 6f 62 6a 29 27 20 7c 7c 20 65 78 69  $oldobj)' || exi
159a0 74 20 24 3f 0a 09 20 20 66 69 0a 09 64 6f 6e 65  t $?..  fi..done
159b0 0a 0a 09 23 20 55 73 65 20 73 74 61 6e 64 61 72  ...# Use standar
159c0 64 20 6f 62 6a 65 63 74 73 20 69 66 20 74 68 65  d objects if the
159d0 79 20 61 72 65 20 70 69 63 0a 09 74 65 73 74 20  y are pic..test 
159e0 2d 7a 20 22 24 70 69 63 5f 66 6c 61 67 22 20 26  -z "$pic_flag" &
159f0 26 20 6c 69 62 6f 62 6a 73 3d 60 24 65 63 68 6f  & libobjs=`$echo
15a00 20 22 58 24 6c 69 62 6f 62 6a 73 22 20 7c 20 24   "X$libobjs" | $
15a10 53 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d 65  SP2NL | $Xsed -e
15a20 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53   "$lo2o" | $NL2S
15a30 50 60 0a 0a 09 23 20 50 72 65 70 61 72 65 20 74  P`...# Prepare t
15a40 68 65 20 6c 69 73 74 20 6f 66 20 65 78 70 6f 72  he list of expor
15a50 74 65 64 20 73 79 6d 62 6f 6c 73 0a 09 69 66 20  ted symbols..if 
15a60 74 65 73 74 20 2d 7a 20 22 24 65 78 70 6f 72 74  test -z "$export
15a70 5f 73 79 6d 62 6f 6c 73 22 3b 20 74 68 65 6e 0a  _symbols"; then.
15a80 09 20 20 69 66 20 74 65 73 74 20 22 24 61 6c 77  .  if test "$alw
15a90 61 79 73 5f 65 78 70 6f 72 74 5f 73 79 6d 62 6f  ays_export_symbo
15aa0 6c 73 22 20 3d 20 79 65 73 20 7c 7c 20 74 65 73  ls" = yes || tes
15ab0 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79  t -n "$export_sy
15ac0 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74 68  mbols_regex"; th
15ad0 65 6e 0a 09 20 20 20 20 24 73 68 6f 77 20 22 67  en..    $show "g
15ae0 65 6e 65 72 61 74 69 6e 67 20 73 79 6d 62 6f 6c  enerating symbol
15af0 20 6c 69 73 74 20 66 6f 72 20 5c 60 24 6c 69 62   list for \`$lib
15b00 6e 61 6d 65 2e 6c 61 27 22 0a 09 20 20 20 20 65  name.la'"..    e
15b10 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 3d 22 24  xport_symbols="$
15b20 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c  output_objdir/$l
15b30 69 62 6e 61 6d 65 2e 65 78 70 22 0a 09 20 20 20  ibname.exp"..   
15b40 20 24 72 75 6e 20 24 72 6d 20 24 65 78 70 6f 72   $run $rm $expor
15b50 74 5f 73 79 6d 62 6f 6c 73 0a 09 20 20 20 20 65  t_symbols..    e
15b60 76 61 6c 20 63 6d 64 73 3d 5c 22 24 65 78 70 6f  val cmds=\"$expo
15b70 72 74 5f 73 79 6d 62 6f 6c 73 5f 63 6d 64 73 5c  rt_symbols_cmds\
15b80 22 0a 09 20 20 20 20 73 61 76 65 5f 69 66 73 3d  "..    save_ifs=
15b90 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a  "$IFS"; IFS='~'.
15ba0 09 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20  .    for cmd in 
15bb0 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 20 20 20  $cmds; do..     
15bc0 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
15bd0 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22 24  ..      $show "$
15be0 63 6d 64 22 0a 09 20 20 20 20 20 20 24 72 75 6e  cmd"..      $run
15bf0 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20   eval "$cmd" || 
15c00 65 78 69 74 20 24 3f 0a 09 20 20 20 20 64 6f 6e  exit $?..    don
15c10 65 0a 09 20 20 20 20 49 46 53 3d 22 24 73 61 76  e..    IFS="$sav
15c20 65 5f 69 66 73 22 0a 09 20 20 20 20 69 66 20 74  e_ifs"..    if t
15c30 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f  est -n "$export_
15c40 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b 20  symbols_regex"; 
15c50 74 68 65 6e 0a 09 20 20 20 20 20 20 24 73 68 6f  then..      $sho
15c60 77 20 22 65 67 72 65 70 20 2d 65 20 5c 22 24 65  w "egrep -e \"$e
15c70 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65  xport_symbols_re
15c80 67 65 78 5c 22 20 5c 22 24 65 78 70 6f 72 74 5f  gex\" \"$export_
15c90 73 79 6d 62 6f 6c 73 5c 22 20 3e 20 5c 22 24 7b  symbols\" > \"${
15ca0 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 7d 54  export_symbols}T
15cb0 5c 22 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20  \""..      $run 
15cc0 65 76 61 6c 20 27 65 67 72 65 70 20 2d 65 20 22  eval 'egrep -e "
15cd0 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f  $export_symbols_
15ce0 72 65 67 65 78 22 20 22 24 65 78 70 6f 72 74 5f  regex" "$export_
15cf0 73 79 6d 62 6f 6c 73 22 20 3e 20 22 24 7b 65 78  symbols" > "${ex
15d00 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 7d 54 22 27  port_symbols}T"'
15d10 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22 24  ..      $show "$
15d20 6d 76 20 5c 22 24 7b 65 78 70 6f 72 74 5f 73 79  mv \"${export_sy
15d30 6d 62 6f 6c 73 7d 54 5c 22 20 5c 22 24 65 78 70  mbols}T\" \"$exp
15d40 6f 72 74 5f 73 79 6d 62 6f 6c 73 5c 22 22 0a 09  ort_symbols\""..
15d50 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
15d60 27 24 6d 76 20 22 24 7b 65 78 70 6f 72 74 5f 73  '$mv "${export_s
15d70 79 6d 62 6f 6c 73 7d 54 22 20 22 24 65 78 70 6f  ymbols}T" "$expo
15d80 72 74 5f 73 79 6d 62 6f 6c 73 22 27 0a 09 20 20  rt_symbols"'..  
15d90 20 20 66 69 0a 09 20 20 66 69 0a 09 66 69 0a 0a    fi..  fi..fi..
15da0 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78  .if test -n "$ex
15db0 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 26 26  port_symbols" &&
15dc0 20 74 65 73 74 20 2d 6e 20 22 24 69 6e 63 6c 75   test -n "$inclu
15dd0 64 65 5f 65 78 70 73 79 6d 73 22 3b 20 74 68 65  de_expsyms"; the
15de0 6e 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 27  n..  $run eval '
15df0 24 65 63 68 6f 20 22 58 24 69 6e 63 6c 75 64 65  $echo "X$include
15e00 5f 65 78 70 73 79 6d 73 22 20 7c 20 24 53 50 32  _expsyms" | $SP2
15e10 4e 4c 20 3e 3e 20 22 24 65 78 70 6f 72 74 5f 73  NL >> "$export_s
15e20 79 6d 62 6f 6c 73 22 27 0a 09 66 69 0a 0a 09 69  ymbols"'..fi...i
15e30 66 20 74 65 73 74 20 2d 6e 20 22 24 63 6f 6e 76  f test -n "$conv
15e40 65 6e 69 65 6e 63 65 22 3b 20 74 68 65 6e 0a 09  enience"; then..
15e50 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 77    if test -n "$w
15e60 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61  hole_archive_fla
15e70 67 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20  g_spec"; then.. 
15e80 20 20 20 65 76 61 6c 20 6c 69 62 6f 62 6a 73 3d     eval libobjs=
15e90 5c 22 5c 24 6c 69 62 6f 62 6a 73 20 24 77 68 6f  \"\$libobjs $who
15ea0 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61 67 5f  le_archive_flag_
15eb0 73 70 65 63 5c 22 0a 09 20 20 65 6c 73 65 0a 09  spec\"..  else..
15ec0 20 20 20 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74      gentop="$out
15ed0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74  put_objdir/${out
15ee0 70 75 74 6e 61 6d 65 7d 78 22 0a 09 20 20 20 20  putname}x"..    
15ef0 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20 24 67  $show "${rm}r $g
15f00 65 6e 74 6f 70 22 0a 09 20 20 20 20 24 72 75 6e  entop"..    $run
15f10 20 24 7b 72 6d 7d 72 20 22 24 67 65 6e 74 6f 70   ${rm}r "$gentop
15f20 22 0a 09 20 20 20 20 24 73 68 6f 77 20 22 6d 6b  "..    $show "mk
15f30 64 69 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20  dir $gentop"..  
15f40 20 20 24 72 75 6e 20 6d 6b 64 69 72 20 22 24 67    $run mkdir "$g
15f50 65 6e 74 6f 70 22 0a 09 20 20 20 20 73 74 61 74  entop"..    stat
15f60 75 73 3d 24 3f 0a 09 20 20 20 20 69 66 20 74 65  us=$?..    if te
15f70 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65 20 30  st $status -ne 0
15f80 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 22 24   && test ! -d "$
15f90 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09 20  gentop"; then.. 
15fa0 20 20 20 20 20 65 78 69 74 20 24 73 74 61 74 75       exit $statu
15fb0 73 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 67  s..    fi..    g
15fc0 65 6e 65 72 61 74 65 64 3d 22 24 67 65 6e 65 72  enerated="$gener
15fd0 61 74 65 64 20 24 67 65 6e 74 6f 70 22 0a 0a 09  ated $gentop"...
15fe0 20 20 20 20 66 6f 72 20 78 6c 69 62 20 69 6e 20      for xlib in 
15ff0 24 63 6f 6e 76 65 6e 69 65 6e 63 65 3b 20 64 6f  $convenience; do
16000 0a 09 20 20 20 20 20 20 23 20 45 78 74 72 61 63  ..      # Extrac
16010 74 20 74 68 65 20 6f 62 6a 65 63 74 73 2e 0a 09  t the objects...
16020 20 20 20 20 20 20 63 61 73 65 20 24 78 6c 69 62        case $xlib
16030 20 69 6e 0a 09 20 20 20 20 20 20 5b 5c 5c 2f 5d   in..      [\\/]
16040 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c  * | [A-Za-z]:[\\
16050 2f 5d 2a 29 20 78 61 62 73 3d 22 24 78 6c 69 62  /]*) xabs="$xlib
16060 22 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 78  " ;;..      *) x
16070 61 62 73 3d 60 70 77 64 60 22 2f 24 78 6c 69 62  abs=`pwd`"/$xlib
16080 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  " ;;..      esac
16090 0a 09 20 20 20 20 20 20 78 6c 69 62 3d 60 24 65  ..      xlib=`$e
160a0 63 68 6f 20 22 58 24 78 6c 69 62 22 20 7c 20 24  cho "X$xlib" | $
160b0 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
160c0 25 27 60 0a 09 20 20 20 20 20 20 78 64 69 72 3d  %'`..      xdir=
160d0 22 24 67 65 6e 74 6f 70 2f 24 78 6c 69 62 22 0a  "$gentop/$xlib".
160e0 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22 24  ..      $show "$
160f0 7b 72 6d 7d 72 20 24 78 64 69 72 22 0a 09 20 20  {rm}r $xdir"..  
16100 20 20 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20      $run ${rm}r 
16110 22 24 78 64 69 72 22 0a 09 20 20 20 20 20 20 24  "$xdir"..      $
16120 73 68 6f 77 20 22 6d 6b 64 69 72 20 24 78 64 69  show "mkdir $xdi
16130 72 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20 6d  r"..      $run m
16140 6b 64 69 72 20 22 24 78 64 69 72 22 0a 09 20 20  kdir "$xdir"..  
16150 20 20 20 20 73 74 61 74 75 73 3d 24 3f 0a 09 20      status=$?.. 
16160 20 20 20 20 20 69 66 20 74 65 73 74 20 24 73 74       if test $st
16170 61 74 75 73 20 2d 6e 65 20 30 20 26 26 20 74 65  atus -ne 0 && te
16180 73 74 20 21 20 2d 64 20 22 24 78 64 69 72 22 3b  st ! -d "$xdir";
16190 20 74 68 65 6e 0a 09 09 65 78 69 74 20 24 73 74   then...exit $st
161a0 61 74 75 73 0a 09 20 20 20 20 20 20 66 69 0a 09  atus..      fi..
161b0 20 20 20 20 20 20 24 73 68 6f 77 20 22 28 63 64        $show "(cd
161c0 20 24 78 64 69 72 20 26 26 20 24 41 52 20 78 20   $xdir && $AR x 
161d0 24 78 61 62 73 29 22 0a 09 20 20 20 20 20 20 24  $xabs)"..      $
161e0 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20 5c 24  run eval "(cd \$
161f0 78 64 69 72 20 26 26 20 24 41 52 20 78 20 5c 24  xdir && $AR x \$
16200 78 61 62 73 29 22 20 7c 7c 20 65 78 69 74 20 24  xabs)" || exit $
16210 3f 0a 0a 09 20 20 20 20 20 20 6c 69 62 6f 62 6a  ?...      libobj
16220 73 3d 22 24 6c 69 62 6f 62 6a 73 20 22 60 66 69  s="$libobjs "`fi
16230 6e 64 20 24 78 64 69 72 20 2d 6e 61 6d 65 20 5c  nd $xdir -name \
16240 2a 2e 6f 20 2d 70 72 69 6e 74 20 2d 6f 20 2d 6e  *.o -print -o -n
16250 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e 74  ame \*.lo -print
16260 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20 20 20   | $NL2SP`..    
16270 64 6f 6e 65 0a 09 20 20 66 69 0a 09 66 69 0a 0a  done..  fi..fi..
16280 09 69 66 20 74 65 73 74 20 22 24 74 68 72 65 61  .if test "$threa
16290 64 5f 73 61 66 65 22 20 3d 20 79 65 73 20 26 26  d_safe" = yes &&
162a0 20 74 65 73 74 20 2d 6e 20 22 24 74 68 72 65 61   test -n "$threa
162b0 64 5f 73 61 66 65 5f 66 6c 61 67 5f 73 70 65 63  d_safe_flag_spec
162c0 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c 20  "; then..  eval 
162d0 66 6c 61 67 3d 5c 22 24 74 68 72 65 61 64 5f 73  flag=\"$thread_s
162e0 61 66 65 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a  afe_flag_spec\".
162f0 09 20 20 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 3d  .  linker_flags=
16300 22 24 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 20 24  "$linker_flags $
16310 66 6c 61 67 22 0a 09 66 69 0a 0a 09 23 20 4d 61  flag"..fi...# Ma
16320 6b 65 20 61 20 62 61 63 6b 75 70 20 6f 66 20 74  ke a backup of t
16330 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c  he uninstalled l
16340 69 62 72 61 72 79 20 77 68 65 6e 20 72 65 6c 69  ibrary when reli
16350 6e 6b 69 6e 67 0a 09 69 66 20 74 65 73 74 20 22  nking..if test "
16360 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b  $mode" = relink;
16370 20 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65 76   then..  $run ev
16380 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74 5f  al '(cd $output_
16390 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24 7b  objdir && $rm ${
163a0 72 65 61 6c 6e 61 6d 65 7d 55 20 26 26 20 24 6d  realname}U && $m
163b0 76 20 24 72 65 61 6c 6e 61 6d 65 20 24 7b 72 65  v $realname ${re
163c0 61 6c 6e 61 6d 65 7d 55 29 27 20 7c 7c 20 65 78  alname}U)' || ex
163d0 69 74 20 24 3f 0a 09 66 69 0a 0a 09 23 20 44 6f  it $?..fi...# Do
163e0 20 65 61 63 68 20 6f 66 20 74 68 65 20 61 72 63   each of the arc
163f0 68 69 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 09  hive commands...
16400 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70  if test -n "$exp
16410 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 26 26 20  ort_symbols" && 
16420 74 65 73 74 20 2d 6e 20 22 24 61 72 63 68 69 76  test -n "$archiv
16430 65 5f 65 78 70 73 79 6d 5f 63 6d 64 73 22 3b 20  e_expsym_cmds"; 
16440 74 68 65 6e 0a 09 20 20 65 76 61 6c 20 63 6d 64  then..  eval cmd
16450 73 3d 5c 22 24 61 72 63 68 69 76 65 5f 65 78 70  s=\"$archive_exp
16460 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 65 6c 73 65  sym_cmds\"..else
16470 0a 09 20 20 73 61 76 65 5f 64 65 70 6c 69 62 73  ..  save_deplibs
16480 3d 22 24 64 65 70 6c 69 62 73 22 0a 09 20 20 66  ="$deplibs"..  f
16490 6f 72 20 63 6f 6e 76 20 69 6e 20 24 63 6f 6e 76  or conv in $conv
164a0 65 6e 69 65 6e 63 65 3b 20 64 6f 0a 09 20 20 20  enience; do..   
164b0 20 74 6d 70 5f 64 65 70 6c 69 62 73 3d 0a 09 20   tmp_deplibs=.. 
164c0 20 20 20 66 6f 72 20 74 65 73 74 5f 64 65 70 6c     for test_depl
164d0 69 62 20 69 6e 20 24 64 65 70 6c 69 62 73 3b 20  ib in $deplibs; 
164e0 64 6f 0a 09 20 20 20 20 20 20 69 66 20 74 65 73  do..      if tes
164f0 74 20 22 24 74 65 73 74 5f 64 65 70 6c 69 62 22  t "$test_deplib"
16500 20 21 3d 20 22 24 63 6f 6e 76 22 3b 20 74 68 65   != "$conv"; the
16510 6e 0a 09 09 74 6d 70 5f 64 65 70 6c 69 62 73 3d  n...tmp_deplibs=
16520 22 24 74 6d 70 5f 64 65 70 6c 69 62 73 20 24 74  "$tmp_deplibs $t
16530 65 73 74 5f 64 65 70 6c 69 62 22 0a 09 20 20 20  est_deplib"..   
16540 20 20 20 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a     fi..    done.
16550 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 74  .    deplibs="$t
16560 6d 70 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 64  mp_deplibs"..  d
16570 6f 6e 65 0a 09 20 20 65 76 61 6c 20 63 6d 64 73  one..  eval cmds
16580 3d 5c 22 24 61 72 63 68 69 76 65 5f 63 6d 64 73  =\"$archive_cmds
16590 5c 22 0a 09 20 20 64 65 70 6c 69 62 73 3d 22 24  \"..  deplibs="$
165a0 73 61 76 65 5f 64 65 70 6c 69 62 73 22 0a 09 66  save_deplibs"..f
165b0 69 0a 09 73 61 76 65 5f 69 66 73 3d 22 24 49 46  i..save_ifs="$IF
165c0 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09 66 6f 72  S"; IFS='~'..for
165d0 20 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64   cmd in $cmds; d
165e0 6f 0a 09 20 20 49 46 53 3d 22 24 73 61 76 65 5f  o..  IFS="$save_
165f0 69 66 73 22 0a 09 20 20 24 73 68 6f 77 20 22 24  ifs"..  $show "$
16600 63 6d 64 22 0a 09 20 20 24 72 75 6e 20 65 76 61  cmd"..  $run eva
16610 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74  l "$cmd" || exit
16620 20 24 3f 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22   $?..done..IFS="
16630 24 73 61 76 65 5f 69 66 73 22 0a 0a 09 23 20 52  $save_ifs"...# R
16640 65 73 74 6f 72 65 20 74 68 65 20 75 6e 69 6e 73  estore the unins
16650 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 79 20 61  talled library a
16660 6e 64 20 65 78 69 74 0a 09 69 66 20 74 65 73 74  nd exit..if test
16670 20 22 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e   "$mode" = relin
16680 6b 3b 20 74 68 65 6e 0a 09 20 20 24 72 75 6e 20  k; then..  $run 
16690 65 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75  eval '(cd $outpu
166a0 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20  t_objdir && $rm 
166b0 24 7b 72 65 61 6c 6e 61 6d 65 7d 54 20 26 26 20  ${realname}T && 
166c0 24 6d 76 20 24 72 65 61 6c 6e 61 6d 65 20 24 7b  $mv $realname ${
166d0 72 65 61 6c 6e 61 6d 65 7d 54 20 26 26 20 24 6d  realname}T && $m
166e0 76 20 22 24 72 65 61 6c 6e 61 6d 65 22 55 20 24  v "$realname"U $
166f0 72 65 61 6c 6e 61 6d 65 29 27 20 7c 7c 20 65 78  realname)' || ex
16700 69 74 20 24 3f 0a 09 20 20 65 78 69 74 20 30 0a  it $?..  exit 0.
16710 09 66 69 0a 0a 09 23 20 43 72 65 61 74 65 20 6c  .fi...# Create l
16720 69 6e 6b 73 20 74 6f 20 74 68 65 20 72 65 61 6c  inks to the real
16730 20 6c 69 62 72 61 72 79 2e 0a 09 66 6f 72 20 6c   library...for l
16740 69 6e 6b 6e 61 6d 65 20 69 6e 20 24 6c 69 6e 6b  inkname in $link
16750 6e 61 6d 65 73 3b 20 64 6f 0a 09 20 20 69 66 20  names; do..  if 
16760 74 65 73 74 20 22 24 72 65 61 6c 6e 61 6d 65 22  test "$realname"
16770 20 21 3d 20 22 24 6c 69 6e 6b 6e 61 6d 65 22 3b   != "$linkname";
16780 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77   then..    $show
16790 20 22 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62   "(cd $output_ob
167a0 6a 64 69 72 20 26 26 20 24 72 6d 20 24 6c 69 6e  jdir && $rm $lin
167b0 6b 6e 61 6d 65 20 26 26 20 24 4c 4e 5f 53 20 24  kname && $LN_S $
167c0 72 65 61 6c 6e 61 6d 65 20 24 6c 69 6e 6b 6e 61  realname $linkna
167d0 6d 65 29 22 0a 09 20 20 20 20 24 72 75 6e 20 65  me)"..    $run e
167e0 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74  val '(cd $output
167f0 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24  _objdir && $rm $
16800 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c 4e 5f  linkname && $LN_
16810 53 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c 69 6e  S $realname $lin
16820 6b 6e 61 6d 65 29 27 20 7c 7c 20 65 78 69 74 20  kname)' || exit 
16830 24 3f 0a 09 20 20 66 69 0a 09 64 6f 6e 65 0a 0a  $?..  fi..done..
16840 09 23 20 49 66 20 2d 6d 6f 64 75 6c 65 20 6f 72  .# If -module or
16850 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63   -export-dynamic
16860 20 77 61 73 20 73 70 65 63 69 66 69 65 64 2c 20   was specified, 
16870 73 65 74 20 74 68 65 20 64 6c 6e 61 6d 65 2e 0a  set the dlname..
16880 09 69 66 20 74 65 73 74 20 22 24 6d 6f 64 75 6c  .if test "$modul
16890 65 22 20 3d 20 79 65 73 20 7c 7c 20 74 65 73 74  e" = yes || test
168a0 20 22 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69   "$export_dynami
168b0 63 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  c" = yes; then..
168c0 20 20 23 20 4f 6e 20 61 6c 6c 20 6b 6e 6f 77 6e    # On all known
168d0 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65   operating syste
168e0 6d 73 2c 20 74 68 65 73 65 20 61 72 65 20 69 64  ms, these are id
168f0 65 6e 74 69 63 61 6c 2e 0a 09 20 20 64 6c 6e 61  entical...  dlna
16900 6d 65 3d 22 24 73 6f 6e 61 6d 65 22 0a 09 66 69  me="$soname"..fi
16910 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
16920 3b 3b 0a 0a 20 20 20 20 6f 62 6a 29 0a 20 20 20  ;;..    obj).   
16930 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
16940 64 65 70 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09  deplibs"; then..
16950 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
16960 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 6c 27  : warning: \`-l'
16970 20 61 6e 64 20 5c 60 2d 4c 27 20 61 72 65 20 69   and \`-L' are i
16980 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63  gnored for objec
16990 74 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  ts" 1>&2.      f
169a0 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
169b0 20 2d 6e 20 22 24 64 6c 66 69 6c 65 73 24 64 6c   -n "$dlfiles$dl
169c0 70 72 65 66 69 6c 65 73 22 20 7c 7c 20 74 65 73  prefiles" || tes
169d0 74 20 22 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e  t "$dlself" != n
169e0 6f 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  o; then..$echo "
169f0 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
16a00 6e 67 3a 20 5c 60 2d 64 6c 6f 70 65 6e 27 20 69  ng: \`-dlopen' i
16a10 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62  s ignored for ob
16a20 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20  jects" 1>&2.    
16a30 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
16a40 65 73 74 20 2d 6e 20 22 24 72 70 61 74 68 22 3b  est -n "$rpath";
16a50 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
16a60 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
16a70 3a 20 5c 60 2d 72 70 61 74 68 27 20 69 73 20 69  : \`-rpath' is i
16a80 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63  gnored for objec
16a90 74 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  ts" 1>&2.      f
16aa0 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
16ab0 20 2d 6e 20 22 24 78 72 70 61 74 68 22 3b 20 74   -n "$xrpath"; t
16ac0 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  hen..$echo "$mod
16ad0 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
16ae0 5c 60 2d 52 27 20 69 73 20 69 67 6e 6f 72 65 64  \`-R' is ignored
16af0 20 66 6f 72 20 6f 62 6a 65 63 74 73 22 20 31 3e   for objects" 1>
16b00 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  &2.      fi..   
16b10 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
16b20 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a 09 24 65  vinfo"; then..$e
16b30 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
16b40 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65 72 73  warning: \`-vers
16b50 69 6f 6e 2d 69 6e 66 6f 27 20 69 73 20 69 67 6e  ion-info' is ign
16b60 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74 73  ored for objects
16b70 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a  " 1>&2.      fi.
16b80 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
16b90 6e 20 22 24 72 65 6c 65 61 73 65 22 3b 20 74 68  n "$release"; th
16ba0 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
16bb0 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c  name: warning: \
16bc0 60 2d 72 65 6c 65 61 73 65 27 20 69 73 20 69 67  `-release' is ig
16bd0 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74  nored for object
16be0 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69  s" 1>&2.      fi
16bf0 0a 0a 20 20 20 20 20 20 63 61 73 65 20 24 6f 75  ..      case $ou
16c00 74 70 75 74 20 69 6e 0a 20 20 20 20 20 20 2a 2e  tput in.      *.
16c10 6c 6f 29 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  lo)..if test -n 
16c20 22 24 6f 62 6a 73 24 6f 6c 64 5f 64 65 70 6c 69  "$objs$old_depli
16c30 62 73 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  bs"; then..  $ec
16c40 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63  ho "$modename: c
16c50 61 6e 6e 6f 74 20 62 75 69 6c 64 20 6c 69 62 72  annot build libr
16c60 61 72 79 20 6f 62 6a 65 63 74 20 5c 60 24 6f 75  ary object \`$ou
16c70 74 70 75 74 27 20 66 72 6f 6d 20 6e 6f 6e 2d 6c  tput' from non-l
16c80 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 73 22 20  ibtool objects" 
16c90 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09  1>&2..  exit 1..
16ca0 66 69 0a 09 6c 69 62 6f 62 6a 3d 22 24 6f 75 74  fi..libobj="$out
16cb0 70 75 74 22 0a 09 6f 62 6a 3d 60 24 65 63 68 6f  put"..obj=`$echo
16cc0 20 22 58 24 6f 75 74 70 75 74 22 20 7c 20 24 58   "X$output" | $X
16cd0 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a  sed -e "$lo2o"`.
16ce0 09 3b 3b 0a 20 20 20 20 20 20 2a 29 0a 09 6c 69  .;;.      *)..li
16cf0 62 6f 62 6a 3d 0a 09 6f 62 6a 3d 22 24 6f 75 74  bobj=..obj="$out
16d00 70 75 74 22 0a 09 3b 3b 0a 20 20 20 20 20 20 65  put"..;;.      e
16d10 73 61 63 0a 0a 20 20 20 20 20 20 23 20 44 65 6c  sac..      # Del
16d20 65 74 65 20 74 68 65 20 6f 6c 64 20 6f 62 6a 65  ete the old obje
16d30 63 74 73 2e 0a 20 20 20 20 20 20 24 72 75 6e 20  cts..      $run 
16d40 24 72 6d 20 24 6f 62 6a 20 24 6c 69 62 6f 62 6a  $rm $obj $libobj
16d50 0a 0a 20 20 20 20 20 20 23 20 4f 62 6a 65 63 74  ..      # Object
16d60 73 20 66 72 6f 6d 20 63 6f 6e 76 65 6e 69 65 6e  s from convenien
16d70 63 65 20 6c 69 62 72 61 72 69 65 73 2e 20 20 54  ce libraries.  T
16d80 68 69 73 20 61 73 73 75 6d 65 73 0a 20 20 20 20  his assumes.    
16d90 20 20 23 20 73 69 6e 67 6c 65 2d 76 65 72 73 69    # single-versi
16da0 6f 6e 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c  on convenience l
16db0 69 62 72 61 72 69 65 73 2e 20 20 57 68 65 6e 65  ibraries.  Whene
16dc0 76 65 72 20 77 65 20 63 72 65 61 74 65 0a 20 20  ver we create.  
16dd0 20 20 20 20 23 20 64 69 66 66 65 72 65 6e 74 20      # different 
16de0 6f 6e 65 73 20 66 6f 72 20 50 49 43 2f 6e 6f 6e  ones for PIC/non
16df0 2d 50 49 43 2c 20 74 68 69 73 20 77 65 27 6c 6c  -PIC, this we'll
16e00 20 68 61 76 65 20 74 6f 20 64 75 70 6c 69 63 61   have to duplica
16e10 74 65 0a 20 20 20 20 20 20 23 20 74 68 65 20 65  te.      # the e
16e20 78 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20  xtraction..     
16e30 20 72 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a   reload_conv_obj
16e40 73 3d 0a 20 20 20 20 20 20 67 65 6e 74 6f 70 3d  s=.      gentop=
16e50 0a 20 20 20 20 20 20 23 20 72 65 6c 6f 61 64 5f  .      # reload_
16e60 63 6d 64 73 20 72 75 6e 73 20 24 4c 44 20 64 69  cmds runs $LD di
16e70 72 65 63 74 6c 79 2c 20 73 6f 20 6c 65 74 20 75  rectly, so let u
16e80 73 20 67 65 74 20 72 69 64 20 6f 66 0a 20 20 20  s get rid of.   
16e90 20 20 20 23 20 2d 57 6c 20 66 72 6f 6d 20 77 68     # -Wl from wh
16ea0 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61 67  ole_archive_flag
16eb0 5f 73 70 65 63 0a 20 20 20 20 20 20 77 6c 3d 0a  _spec.      wl=.
16ec0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
16ed0 6e 20 22 24 63 6f 6e 76 65 6e 69 65 6e 63 65 22  n "$convenience"
16ee0 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20  ; then..if test 
16ef0 2d 6e 20 22 24 77 68 6f 6c 65 5f 61 72 63 68 69  -n "$whole_archi
16f00 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74  ve_flag_spec"; t
16f10 68 65 6e 0a 09 20 20 65 76 61 6c 20 72 65 6c 6f  hen..  eval relo
16f20 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 3d 5c 22 5c  ad_conv_objs=\"\
16f30 24 72 65 6c 6f 61 64 5f 6f 62 6a 73 20 24 77 68  $reload_objs $wh
16f40 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61 67  ole_archive_flag
16f50 5f 73 70 65 63 5c 22 0a 09 65 6c 73 65 0a 09 20  _spec\"..else.. 
16f60 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75 74   gentop="$output
16f70 5f 6f 62 6a 64 69 72 2f 24 7b 6f 62 6a 7d 78 22  _objdir/${obj}x"
16f80 0a 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d  ..  $show "${rm}
16f90 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 24 72  r $gentop"..  $r
16fa0 75 6e 20 24 7b 72 6d 7d 72 20 22 24 67 65 6e 74  un ${rm}r "$gent
16fb0 6f 70 22 0a 09 20 20 24 73 68 6f 77 20 22 6d 6b  op"..  $show "mk
16fc0 64 69 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20  dir $gentop"..  
16fd0 24 72 75 6e 20 6d 6b 64 69 72 20 22 24 67 65 6e  $run mkdir "$gen
16fe0 74 6f 70 22 0a 09 20 20 73 74 61 74 75 73 3d 24  top"..  status=$
16ff0 3f 0a 09 20 20 69 66 20 74 65 73 74 20 24 73 74  ?..  if test $st
17000 61 74 75 73 20 2d 6e 65 20 30 20 26 26 20 74 65  atus -ne 0 && te
17010 73 74 20 21 20 2d 64 20 22 24 67 65 6e 74 6f 70  st ! -d "$gentop
17020 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 65 78 69  "; then..    exi
17030 74 20 24 73 74 61 74 75 73 0a 09 20 20 66 69 0a  t $status..  fi.
17040 09 20 20 67 65 6e 65 72 61 74 65 64 3d 22 24 67  .  generated="$g
17050 65 6e 65 72 61 74 65 64 20 24 67 65 6e 74 6f 70  enerated $gentop
17060 22 0a 0a 09 20 20 66 6f 72 20 78 6c 69 62 20 69  "...  for xlib i
17070 6e 20 24 63 6f 6e 76 65 6e 69 65 6e 63 65 3b 20  n $convenience; 
17080 64 6f 0a 09 20 20 20 20 23 20 45 78 74 72 61 63  do..    # Extrac
17090 74 20 74 68 65 20 6f 62 6a 65 63 74 73 2e 0a 09  t the objects...
170a0 20 20 20 20 63 61 73 65 20 24 78 6c 69 62 20 69      case $xlib i
170b0 6e 0a 09 20 20 20 20 5b 5c 5c 2f 5d 2a 20 7c 20  n..    [\\/]* | 
170c0 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29  [A-Za-z]:[\\/]*)
170d0 20 78 61 62 73 3d 22 24 78 6c 69 62 22 20 3b 3b   xabs="$xlib" ;;
170e0 0a 09 20 20 20 20 2a 29 20 78 61 62 73 3d 60 70  ..    *) xabs=`p
170f0 77 64 60 22 2f 24 78 6c 69 62 22 20 3b 3b 0a 09  wd`"/$xlib" ;;..
17100 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 78 6c      esac..    xl
17110 69 62 3d 60 24 65 63 68 6f 20 22 58 24 78 6c 69  ib=`$echo "X$xli
17120 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  b" | $Xsed -e 's
17130 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20 78  %^.*/%%'`..    x
17140 64 69 72 3d 22 24 67 65 6e 74 6f 70 2f 24 78 6c  dir="$gentop/$xl
17150 69 62 22 0a 0a 09 20 20 20 20 24 73 68 6f 77 20  ib"...    $show 
17160 22 24 7b 72 6d 7d 72 20 24 78 64 69 72 22 0a 09  "${rm}r $xdir"..
17170 20 20 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20      $run ${rm}r 
17180 22 24 78 64 69 72 22 0a 09 20 20 20 20 24 73 68  "$xdir"..    $sh
17190 6f 77 20 22 6d 6b 64 69 72 20 24 78 64 69 72 22  ow "mkdir $xdir"
171a0 0a 09 20 20 20 20 24 72 75 6e 20 6d 6b 64 69 72  ..    $run mkdir
171b0 20 22 24 78 64 69 72 22 0a 09 20 20 20 20 73 74   "$xdir"..    st
171c0 61 74 75 73 3d 24 3f 0a 09 20 20 20 20 69 66 20  atus=$?..    if 
171d0 74 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65  test $status -ne
171e0 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20   0 && test ! -d 
171f0 22 24 78 64 69 72 22 3b 20 74 68 65 6e 0a 09 20  "$xdir"; then.. 
17200 20 20 20 20 20 65 78 69 74 20 24 73 74 61 74 75       exit $statu
17210 73 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 24  s..    fi..    $
17220 73 68 6f 77 20 22 28 63 64 20 24 78 64 69 72 20  show "(cd $xdir 
17230 26 26 20 24 41 52 20 78 20 24 78 61 62 73 29 22  && $AR x $xabs)"
17240 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20  ..    $run eval 
17250 22 28 63 64 20 5c 24 78 64 69 72 20 26 26 20 24  "(cd \$xdir && $
17260 41 52 20 78 20 5c 24 78 61 62 73 29 22 20 7c 7c  AR x \$xabs)" ||
17270 20 65 78 69 74 20 24 3f 0a 0a 09 20 20 20 20 72   exit $?...    r
17280 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 3d  eload_conv_objs=
17290 22 24 72 65 6c 6f 61 64 5f 6f 62 6a 73 20 22 60  "$reload_objs "`
172a0 66 69 6e 64 20 24 78 64 69 72 20 2d 6e 61 6d 65  find $xdir -name
172b0 20 5c 2a 2e 6f 20 2d 70 72 69 6e 74 20 2d 6f 20   \*.o -print -o 
172c0 2d 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69  -name \*.lo -pri
172d0 6e 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20  nt | $NL2SP`..  
172e0 64 6f 6e 65 0a 09 66 69 0a 20 20 20 20 20 20 66  done..fi.      f
172f0 69 0a 0a 20 20 20 20 20 20 23 20 43 72 65 61 74  i..      # Creat
17300 65 20 74 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20  e the old-style 
17310 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 72 65  object..      re
17320 6c 6f 61 64 5f 6f 62 6a 73 3d 22 24 6f 62 6a 73  load_objs="$objs
17330 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20 22 60 24  $old_deplibs "`$
17340 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22  echo "X$libobjs"
17350 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65   | $SP2NL | $Xse
17360 64 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c 69 62 65  d -e '/\.'${libe
17370 78 74 7d 24 27 2f 64 27 20 2d 65 20 27 2f 5c 2e  xt}$'/d' -e '/\.
17380 6c 69 62 24 2f 64 27 20 2d 65 20 22 24 6c 6f 32  lib$/d' -e "$lo2
17390 6f 22 20 7c 20 24 4e 4c 32 53 50 60 22 20 24 72  o" | $NL2SP`" $r
173a0 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 22  eload_conv_objs"
173b0 20 23 23 23 20 74 65 73 74 73 75 69 74 65 3a 20   ### testsuite: 
173c0 73 6b 69 70 20 6e 65 73 74 65 64 20 71 75 6f 74  skip nested quot
173d0 69 6e 67 20 74 65 73 74 0a 0a 20 20 20 20 20 20  ing test..      
173e0 6f 75 74 70 75 74 3d 22 24 6f 62 6a 22 0a 20 20  output="$obj".  
173f0 20 20 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22      eval cmds=\"
17400 24 72 65 6c 6f 61 64 5f 63 6d 64 73 5c 22 0a 20  $reload_cmds\". 
17410 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24       save_ifs="$
17420 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 20 20  IFS"; IFS='~'.  
17430 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24      for cmd in $
17440 63 6d 64 73 3b 20 64 6f 0a 09 49 46 53 3d 22 24  cmds; do..IFS="$
17450 73 61 76 65 5f 69 66 73 22 0a 09 24 73 68 6f 77  save_ifs"..$show
17460 20 22 24 63 6d 64 22 0a 09 24 72 75 6e 20 65 76   "$cmd"..$run ev
17470 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69  al "$cmd" || exi
17480 74 20 24 3f 0a 20 20 20 20 20 20 64 6f 6e 65 0a  t $?.      done.
17490 20 20 20 20 20 20 49 46 53 3d 22 24 73 61 76 65        IFS="$save
174a0 5f 69 66 73 22 0a 0a 20 20 20 20 20 20 23 20 45  _ifs"..      # E
174b0 78 69 74 20 69 66 20 77 65 20 61 72 65 6e 27 74  xit if we aren't
174c0 20 64 6f 69 6e 67 20 61 20 6c 69 62 72 61 72 79   doing a library
174d0 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20   object file..  
174e0 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
174f0 24 6c 69 62 6f 62 6a 22 3b 20 74 68 65 6e 0a 09  $libobj"; then..
17500 69 66 20 74 65 73 74 20 2d 6e 20 22 24 67 65 6e  if test -n "$gen
17510 74 6f 70 22 3b 20 74 68 65 6e 0a 09 20 20 24 73  top"; then..  $s
17520 68 6f 77 20 22 24 7b 72 6d 7d 72 20 24 67 65 6e  how "${rm}r $gen
17530 74 6f 70 22 0a 09 20 20 24 72 75 6e 20 24 7b 72  top"..  $run ${r
17540 6d 7d 72 20 24 67 65 6e 74 6f 70 0a 09 66 69 0a  m}r $gentop..fi.
17550 0a 09 65 78 69 74 20 30 0a 20 20 20 20 20 20 66  ..exit 0.      f
17560 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
17570 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
17580 5f 6c 69 62 73 22 20 21 3d 20 79 65 73 3b 20 74  _libs" != yes; t
17590 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  hen..if test -n 
175a0 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a  "$gentop"; then.
175b0 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72  .  $show "${rm}r
175c0 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 24 72 75   $gentop"..  $ru
175d0 6e 20 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70  n ${rm}r $gentop
175e0 0a 09 66 69 0a 0a 09 23 20 43 72 65 61 74 65 20  ..fi...# Create 
175f0 61 6e 20 69 6e 76 61 6c 69 64 20 6c 69 62 74 6f  an invalid libto
17600 6f 6c 20 6f 62 6a 65 63 74 20 69 66 20 6e 6f 20  ol object if no 
17610 50 49 43 2c 20 73 6f 20 74 68 61 74 20 77 65 20  PIC, so that we 
17620 64 6f 6e 27 74 0a 09 23 20 61 63 63 69 64 65 6e  don't..# acciden
17630 74 61 6c 6c 79 20 6c 69 6e 6b 20 69 74 20 69 6e  tally link it in
17640 74 6f 20 61 20 70 72 6f 67 72 61 6d 2e 0a 09 24  to a program...$
17650 73 68 6f 77 20 22 65 63 68 6f 20 74 69 6d 65 73  show "echo times
17660 74 61 6d 70 20 3e 20 24 6c 69 62 6f 62 6a 22 0a  tamp > $libobj".
17670 09 24 72 75 6e 20 65 76 61 6c 20 22 65 63 68 6f  .$run eval "echo
17680 20 74 69 6d 65 73 74 61 6d 70 20 3e 20 24 6c 69   timestamp > $li
17690 62 6f 62 6a 22 20 7c 7c 20 65 78 69 74 20 24 3f  bobj" || exit $?
176a0 0a 09 65 78 69 74 20 30 0a 20 20 20 20 20 20 66  ..exit 0.      f
176b0 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
176c0 20 2d 6e 20 22 24 70 69 63 5f 66 6c 61 67 22 20   -n "$pic_flag" 
176d0 7c 7c 20 74 65 73 74 20 22 24 70 69 63 5f 6d 6f  || test "$pic_mo
176e0 64 65 22 20 21 3d 20 64 65 66 61 75 6c 74 3b 20  de" != default; 
176f0 74 68 65 6e 0a 09 23 20 4f 6e 6c 79 20 64 6f 20  then..# Only do 
17700 63 6f 6d 6d 61 6e 64 73 20 69 66 20 77 65 20 72  commands if we r
17710 65 61 6c 6c 79 20 68 61 76 65 20 64 69 66 66 65  eally have diffe
17720 72 65 6e 74 20 50 49 43 20 6f 62 6a 65 63 74 73  rent PIC objects
17730 2e 0a 09 72 65 6c 6f 61 64 5f 6f 62 6a 73 3d 22  ...reload_objs="
17740 24 6c 69 62 6f 62 6a 73 20 24 72 65 6c 6f 61 64  $libobjs $reload
17750 5f 63 6f 6e 76 5f 6f 62 6a 73 22 0a 09 6f 75 74  _conv_objs"..out
17760 70 75 74 3d 22 24 6c 69 62 6f 62 6a 22 0a 09 65  put="$libobj"..e
17770 76 61 6c 20 63 6d 64 73 3d 5c 22 24 72 65 6c 6f  val cmds=\"$relo
17780 61 64 5f 63 6d 64 73 5c 22 0a 09 73 61 76 65 5f  ad_cmds\"..save_
17790 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d  ifs="$IFS"; IFS=
177a0 27 7e 27 0a 09 66 6f 72 20 63 6d 64 20 69 6e 20  '~'..for cmd in 
177b0 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 49 46 53  $cmds; do..  IFS
177c0 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20  ="$save_ifs"..  
177d0 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20 20  $show "$cmd"..  
177e0 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22  $run eval "$cmd"
177f0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 64 6f 6e   || exit $?..don
17800 65 0a 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66  e..IFS="$save_if
17810 73 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 23  s".      else..#
17820 20 4a 75 73 74 20 63 72 65 61 74 65 20 61 20 73   Just create a s
17830 79 6d 6c 69 6e 6b 2e 0a 09 24 73 68 6f 77 20 24  ymlink...$show $
17840 72 6d 20 24 6c 69 62 6f 62 6a 0a 09 24 72 75 6e  rm $libobj..$run
17850 20 24 72 6d 20 24 6c 69 62 6f 62 6a 0a 09 78 64   $rm $libobj..xd
17860 69 72 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62  ir=`$echo "X$lib
17870 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20  obj" | $Xsed -e 
17880 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09  's%/[^/]*$%%'`..
17890 69 66 20 74 65 73 74 20 22 58 24 78 64 69 72 22  if test "X$xdir"
178a0 20 3d 20 22 58 24 6c 69 62 6f 62 6a 22 3b 20 74   = "X$libobj"; t
178b0 68 65 6e 0a 09 20 20 78 64 69 72 3d 22 2e 22 0a  hen..  xdir=".".
178c0 09 65 6c 73 65 0a 09 20 20 78 64 69 72 3d 22 24  .else..  xdir="$
178d0 78 64 69 72 22 0a 09 66 69 0a 09 62 61 73 65 6f  xdir"..fi..baseo
178e0 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62  bj=`$echo "X$lib
178f0 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20  obj" | $Xsed -e 
17900 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 6f 6c 64  's%^.*/%%'`..old
17910 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 62 61  obj=`$echo "X$ba
17920 73 65 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d  seobj" | $Xsed -
17930 65 20 22 24 6c 6f 32 6f 22 60 0a 09 24 73 68 6f  e "$lo2o"`..$sho
17940 77 20 22 28 63 64 20 24 78 64 69 72 20 26 26 20  w "(cd $xdir && 
17950 24 4c 4e 5f 53 20 24 6f 6c 64 6f 62 6a 20 24 62  $LN_S $oldobj $b
17960 61 73 65 6f 62 6a 29 22 0a 09 24 72 75 6e 20 65  aseobj)"..$run e
17970 76 61 6c 20 27 28 63 64 20 24 78 64 69 72 20 26  val '(cd $xdir &
17980 26 20 24 4c 4e 5f 53 20 24 6f 6c 64 6f 62 6a 20  & $LN_S $oldobj 
17990 24 62 61 73 65 6f 62 6a 29 27 20 7c 7c 20 65 78  $baseobj)' || ex
179a0 69 74 20 24 3f 0a 20 20 20 20 20 20 66 69 0a 0a  it $?.      fi..
179b0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
179c0 20 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e   "$gentop"; then
179d0 0a 09 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20  ..$show "${rm}r 
179e0 24 67 65 6e 74 6f 70 22 0a 09 24 72 75 6e 20 24  $gentop"..$run $
179f0 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70 0a 20 20  {rm}r $gentop.  
17a00 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 65 78      fi..      ex
17a10 69 74 20 30 0a 20 20 20 20 20 20 3b 3b 0a 0a 20  it 0.      ;;.. 
17a20 20 20 20 70 72 6f 67 29 0a 20 20 20 20 20 20 63     prog).      c
17a30 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a 63  ase $host in..*c
17a40 79 67 77 69 6e 2a 29 20 6f 75 74 70 75 74 3d 60  ygwin*) output=`
17a50 65 63 68 6f 20 24 6f 75 74 70 75 74 20 7c 20 24  echo $output | $
17a60 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e 65 78 65  {SED} -e 's,.exe
17a70 24 2c 2c 3b 73 2c 24 2c 2e 65 78 65 2c 27 60 20  $,,;s,$,.exe,'` 
17a80 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20  ;;.      esac.  
17a90 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
17aa0 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a 09 24  $vinfo"; then..$
17ab0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
17ac0 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65 72   warning: \`-ver
17ad0 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73 20 69 67  sion-info' is ig
17ae0 6e 6f 72 65 64 20 66 6f 72 20 70 72 6f 67 72 61  nored for progra
17af0 6d 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  ms" 1>&2.      f
17b00 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
17b10 20 2d 6e 20 22 24 72 65 6c 65 61 73 65 22 3b 20   -n "$release"; 
17b20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f  then..$echo "$mo
17b30 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
17b40 20 5c 60 2d 72 65 6c 65 61 73 65 27 20 69 73 20   \`-release' is 
17b50 69 67 6e 6f 72 65 64 20 66 6f 72 20 70 72 6f 67  ignored for prog
17b60 72 61 6d 73 22 20 31 3e 26 32 0a 20 20 20 20 20  rams" 1>&2.     
17b70 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
17b80 73 74 20 22 24 70 72 65 6c 6f 61 64 22 20 3d 20  st "$preload" = 
17b90 79 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  yes; then..if te
17ba0 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73 75 70 70  st "$dlopen_supp
17bb0 6f 72 74 22 20 3d 20 75 6e 6b 6e 6f 77 6e 20 26  ort" = unknown &
17bc0 26 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f  & test "$dlopen_
17bd0 73 65 6c 66 22 20 3d 20 75 6e 6b 6e 6f 77 6e 20  self" = unknown 
17be0 26 26 0a 09 20 20 20 74 65 73 74 20 22 24 64 6c  &&..   test "$dl
17bf0 6f 70 65 6e 5f 73 65 6c 66 5f 73 74 61 74 69 63  open_self_static
17c00 22 20 3d 20 75 6e 6b 6e 6f 77 6e 3b 20 74 68 65  " = unknown; the
17c10 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  n..  $echo "$mod
17c20 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
17c30 5c 60 41 43 5f 4c 49 42 54 4f 4f 4c 5f 44 4c 4f  \`AC_LIBTOOL_DLO
17c40 50 45 4e 27 20 6e 6f 74 20 75 73 65 64 2e 20 41  PEN' not used. A
17c50 73 73 75 6d 69 6e 67 20 6e 6f 20 64 6c 6f 70 65  ssuming no dlope
17c60 6e 20 73 75 70 70 6f 72 74 2e 22 0a 09 66 69 0a  n support."..fi.
17c70 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
17c80 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 20 20  case $host in.  
17c90 20 20 20 20 2a 2d 2a 2d 72 68 61 70 73 6f 64 79      *-*-rhapsody
17ca0 2a 20 7c 20 2a 2d 2a 2d 64 61 72 77 69 6e 31 2e  * | *-*-darwin1.
17cb0 5b 30 31 32 5d 29 0a 09 23 20 4f 6e 20 52 68 61  [012])..# On Rha
17cc0 70 73 6f 64 79 20 72 65 70 6c 61 63 65 20 74 68  psody replace th
17cd0 65 20 43 20 6c 69 62 72 61 72 79 20 69 73 20 74  e C library is t
17ce0 68 65 20 53 79 73 74 65 6d 20 66 72 61 6d 65 77  he System framew
17cf0 6f 72 6b 0a 09 63 6f 6d 70 69 6c 65 5f 64 65 70  ork..compile_dep
17d00 6c 69 62 73 3d 60 24 65 63 68 6f 20 22 58 20 24  libs=`$echo "X $
17d10 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22  compile_deplibs"
17d20 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 20   | $Xsed -e 's/ 
17d30 2d 6c 63 20 2f 20 2d 66 72 61 6d 65 77 6f 72 6b  -lc / -framework
17d40 20 53 79 73 74 65 6d 20 2f 27 60 0a 09 66 69 6e   System /'`..fin
17d50 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 60 24  alize_deplibs=`$
17d60 65 63 68 6f 20 22 58 20 24 66 69 6e 61 6c 69 7a  echo "X $finaliz
17d70 65 5f 64 65 70 6c 69 62 73 22 20 7c 20 24 58 73  e_deplibs" | $Xs
17d80 65 64 20 2d 65 20 27 73 2f 20 2d 6c 63 20 2f 20  ed -e 's/ -lc / 
17d90 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65  -framework Syste
17da0 6d 20 2f 27 60 0a 09 63 61 73 65 20 24 68 6f 73  m /'`..case $hos
17db0 74 20 69 6e 0a 09 2a 64 61 72 77 69 6e 2a 29 0a  t in..*darwin*).
17dc0 09 20 20 23 20 44 6f 6e 27 74 20 61 6c 6c 6f 77  .  # Don't allow
17dd0 20 6c 61 7a 79 20 6c 69 6e 6b 69 6e 67 2c 20 69   lazy linking, i
17de0 74 20 62 72 65 61 6b 73 20 43 2b 2b 20 67 6c 6f  t breaks C++ glo
17df0 62 61 6c 20 63 6f 6e 73 74 72 75 63 74 6f 72 73  bal constructors
17e00 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  ..  compile_comm
17e10 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f  and="$compile_co
17e20 6d 6d 61 6e 64 20 24 7b 77 6c 7d 2d 62 69 6e 64  mmand ${wl}-bind
17e30 5f 61 74 5f 6c 6f 61 64 22 0a 09 20 20 66 69 6e  _at_load"..  fin
17e40 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
17e50 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
17e60 20 24 7b 77 6c 7d 2d 62 69 6e 64 5f 61 74 5f 6c   ${wl}-bind_at_l
17e70 6f 61 64 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63  oad"..  ;;..esac
17e80 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
17e90 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63  .      compile_c
17ea0 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
17eb0 5f 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d 70 69 6c  _command $compil
17ec0 65 5f 64 65 70 6c 69 62 73 22 0a 20 20 20 20 20  e_deplibs".     
17ed0 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e   finalize_comman
17ee0 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  d="$finalize_com
17ef0 6d 61 6e 64 20 24 66 69 6e 61 6c 69 7a 65 5f 64  mand $finalize_d
17f00 65 70 6c 69 62 73 22 0a 0a 20 20 20 20 20 20 69  eplibs"..      i
17f10 66 20 74 65 73 74 20 2d 6e 20 22 24 72 70 61 74  f test -n "$rpat
17f20 68 24 78 72 70 61 74 68 22 3b 20 74 68 65 6e 0a  h$xrpath"; then.
17f30 09 23 20 49 66 20 74 68 65 20 75 73 65 72 20 73  .# If the user s
17f40 70 65 63 69 66 69 65 64 20 61 6e 79 20 72 70 61  pecified any rpa
17f50 74 68 20 66 6c 61 67 73 2c 20 74 68 65 6e 20 61  th flags, then a
17f60 64 64 20 74 68 65 6d 2e 0a 09 66 6f 72 20 6c 69  dd them...for li
17f70 62 64 69 72 20 69 6e 20 24 72 70 61 74 68 20 24  bdir in $rpath $
17f80 78 72 70 61 74 68 3b 20 64 6f 0a 09 20 20 23 20  xrpath; do..  # 
17f90 54 68 69 73 20 69 73 20 74 68 65 20 6d 61 67 69  This is the magi
17fa0 63 20 74 6f 20 75 73 65 20 2d 72 70 61 74 68 2e  c to use -rpath.
17fb0 0a 09 20 20 63 61 73 65 20 22 24 66 69 6e 61 6c  ..  case "$final
17fc0 69 7a 65 5f 72 70 61 74 68 20 22 20 69 6e 0a 09  ize_rpath " in..
17fd0 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a 29    *" $libdir "*)
17fe0 20 3b 3b 0a 09 20 20 2a 29 20 66 69 6e 61 6c 69   ;;..  *) finali
17ff0 7a 65 5f 72 70 61 74 68 3d 22 24 66 69 6e 61 6c  ze_rpath="$final
18000 69 7a 65 5f 72 70 61 74 68 20 24 6c 69 62 64 69  ize_rpath $libdi
18010 72 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 64  r" ;;..  esac..d
18020 6f 6e 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  one.      fi..  
18030 20 20 20 20 23 20 4e 6f 77 20 68 61 72 64 63 6f      # Now hardco
18040 64 65 20 74 68 65 20 6c 69 62 72 61 72 79 20 70  de the library p
18050 61 74 68 73 0a 20 20 20 20 20 20 72 70 61 74 68  aths.      rpath
18060 3d 0a 20 20 20 20 20 20 68 61 72 64 63 6f 64 65  =.      hardcode
18070 5f 6c 69 62 64 69 72 73 3d 0a 20 20 20 20 20 20  _libdirs=.      
18080 66 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24 63  for libdir in $c
18090 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20 24 66 69  ompile_rpath $fi
180a0 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3b 20 64 6f  nalize_rpath; do
180b0 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 68  ..if test -n "$h
180c0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
180d0 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a  lag_spec"; then.
180e0 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
180f0 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
18100 73 65 70 61 72 61 74 6f 72 22 3b 20 74 68 65 6e  separator"; then
18110 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a  ..    if test -z
18120 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
18130 69 72 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  irs"; then..    
18140 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69    hardcode_libdi
18150 72 73 3d 22 24 6c 69 62 64 69 72 22 0a 09 20 20  rs="$libdir"..  
18160 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23 20    else..      # 
18170 4a 75 73 74 20 61 63 63 75 6d 75 6c 61 74 65 20  Just accumulate 
18180 74 68 65 20 75 6e 69 71 75 65 20 6c 69 62 64 69  the unique libdi
18190 72 73 2e 0a 09 20 20 20 20 20 20 63 61 73 65 20  rs...      case 
181a0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
181b0 5f 73 65 70 61 72 61 74 6f 72 24 68 61 72 64 63  _separator$hardc
181c0 6f 64 65 5f 6c 69 62 64 69 72 73 24 68 61 72 64  ode_libdirs$hard
181d0 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
181e0 72 61 74 6f 72 20 69 6e 0a 09 20 20 20 20 20 20  rator in..      
181f0 2a 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  *"$hardcode_libd
18200 69 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62  ir_separator$lib
18210 64 69 72 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  dir$hardcode_lib
18220 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22 2a 29  dir_separator"*)
18230 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20 2a 29 0a  ...;;..      *).
18240 09 09 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  ..hardcode_libdi
18250 72 73 3d 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  rs="$hardcode_li
18260 62 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f 6c  bdirs$hardcode_l
18270 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 24  ibdir_separator$
18280 6c 69 62 64 69 72 22 0a 09 09 3b 3b 0a 09 20 20  libdir"...;;..  
18290 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 66 69      esac..    fi
182a0 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 65 76  ..  else..    ev
182b0 61 6c 20 66 6c 61 67 3d 5c 22 24 68 61 72 64 63  al flag=\"$hardc
182c0 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
182d0 73 70 65 63 5c 22 0a 09 20 20 20 20 72 70 61 74  spec\"..    rpat
182e0 68 3d 22 24 72 70 61 74 68 20 24 66 6c 61 67 22  h="$rpath $flag"
182f0 0a 09 20 20 66 69 0a 09 65 6c 69 66 20 74 65 73  ..  fi..elif tes
18300 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68 5f 76  t -n "$runpath_v
18310 61 72 22 3b 20 74 68 65 6e 0a 09 20 20 63 61 73  ar"; then..  cas
18320 65 20 22 24 70 65 72 6d 5f 72 70 61 74 68 20 22  e "$perm_rpath "
18330 20 69 6e 0a 09 20 20 2a 22 20 24 6c 69 62 64 69   in..  *" $libdi
18340 72 20 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 70  r "*) ;;..  *) p
18350 65 72 6d 5f 72 70 61 74 68 3d 22 24 70 65 72 6d  erm_rpath="$perm
18360 5f 72 70 61 74 68 20 24 6c 69 62 64 69 72 22 20  _rpath $libdir" 
18370 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66 69 0a 09  ;;..  esac..fi..
18380 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a  case $host in..*
18390 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a  -*-cygwin* | *-*
183a0 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77  -mingw* | *-*-pw
183b0 33 32 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a  32* | *-*-os2*).
183c0 09 20 20 63 61 73 65 20 3a 24 64 6c 6c 73 65 61  .  case :$dllsea
183d0 72 63 68 70 61 74 68 3a 20 69 6e 0a 09 20 20 2a  rchpath: in..  *
183e0 22 3a 24 6c 69 62 64 69 72 3a 22 2a 29 20 3b 3b  ":$libdir:"*) ;;
183f0 0a 09 20 20 2a 29 20 64 6c 6c 73 65 61 72 63 68  ..  *) dllsearch
18400 70 61 74 68 3d 22 24 64 6c 6c 73 65 61 72 63 68  path="$dllsearch
18410 70 61 74 68 3a 24 6c 69 62 64 69 72 22 3b 3b 0a  path:$libdir";;.
18420 09 20 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65  .  esac..  ;;..e
18430 73 61 63 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20  sac.      done. 
18440 20 20 20 20 20 23 20 53 75 62 73 74 69 74 75 74       # Substitut
18450 65 20 74 68 65 20 68 61 72 64 63 6f 64 65 64 20  e the hardcoded 
18460 6c 69 62 64 69 72 73 20 69 6e 74 6f 20 74 68 65  libdirs into the
18470 20 72 70 61 74 68 2e 0a 20 20 20 20 20 20 69 66   rpath..      if
18480 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
18490 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
184a0 61 74 6f 72 22 20 26 26 0a 09 20 74 65 73 74 20  ator" &&.. test 
184b0 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  -n "$hardcode_li
184c0 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 6c 69  bdirs"; then..li
184d0 62 64 69 72 3d 22 24 68 61 72 64 63 6f 64 65 5f  bdir="$hardcode_
184e0 6c 69 62 64 69 72 73 22 0a 09 65 76 61 6c 20 72  libdirs"..eval r
184f0 70 61 74 68 3d 5c 22 20 24 68 61 72 64 63 6f 64  path=\" $hardcod
18500 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70  e_libdir_flag_sp
18510 65 63 5c 22 0a 20 20 20 20 20 20 66 69 0a 20 20  ec\".      fi.  
18520 20 20 20 20 63 6f 6d 70 69 6c 65 5f 72 70 61 74      compile_rpat
18530 68 3d 22 24 72 70 61 74 68 22 0a 0a 20 20 20 20  h="$rpath"..    
18540 20 20 72 70 61 74 68 3d 0a 20 20 20 20 20 20 68    rpath=.      h
18550 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d  ardcode_libdirs=
18560 0a 20 20 20 20 20 20 66 6f 72 20 6c 69 62 64 69  .      for libdi
18570 72 20 69 6e 20 24 66 69 6e 61 6c 69 7a 65 5f 72  r in $finalize_r
18580 70 61 74 68 3b 20 64 6f 0a 09 69 66 20 74 65 73  path; do..if tes
18590 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f  t -n "$hardcode_
185a0 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
185b0 22 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65  "; then..  if te
185c0 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65  st -n "$hardcode
185d0 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
185e0 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 69 66  r"; then..    if
185f0 20 74 65 73 74 20 2d 7a 20 22 24 68 61 72 64 63   test -z "$hardc
18600 6f 64 65 5f 6c 69 62 64 69 72 73 22 3b 20 74 68  ode_libdirs"; th
18610 65 6e 0a 09 20 20 20 20 20 20 68 61 72 64 63 6f  en..      hardco
18620 64 65 5f 6c 69 62 64 69 72 73 3d 22 24 6c 69 62  de_libdirs="$lib
18630 64 69 72 22 0a 09 20 20 20 20 65 6c 73 65 0a 09  dir"..    else..
18640 20 20 20 20 20 20 23 20 4a 75 73 74 20 61 63 63        # Just acc
18650 75 6d 75 6c 61 74 65 20 74 68 65 20 75 6e 69 71  umulate the uniq
18660 75 65 20 6c 69 62 64 69 72 73 2e 0a 09 20 20 20  ue libdirs...   
18670 20 20 20 63 61 73 65 20 24 68 61 72 64 63 6f 64     case $hardcod
18680 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
18690 6f 72 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  or$hardcode_libd
186a0 69 72 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  irs$hardcode_lib
186b0 64 69 72 5f 73 65 70 61 72 61 74 6f 72 20 69 6e  dir_separator in
186c0 0a 09 20 20 20 20 20 20 2a 22 24 68 61 72 64 63  ..      *"$hardc
186d0 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
186e0 61 74 6f 72 24 6c 69 62 64 69 72 24 68 61 72 64  ator$libdir$hard
186f0 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
18700 72 61 74 6f 72 22 2a 29 0a 09 09 3b 3b 0a 09 20  rator"*)...;;.. 
18710 20 20 20 20 20 2a 29 0a 09 09 68 61 72 64 63 6f       *)...hardco
18720 64 65 5f 6c 69 62 64 69 72 73 3d 22 24 68 61 72  de_libdirs="$har
18730 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 24 68 61  dcode_libdirs$ha
18740 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65  rdcode_libdir_se
18750 70 61 72 61 74 6f 72 24 6c 69 62 64 69 72 22 0a  parator$libdir".
18760 09 09 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  ..;;..      esac
18770 0a 09 20 20 20 20 66 69 0a 09 20 20 65 6c 73 65  ..    fi..  else
18780 0a 09 20 20 20 20 65 76 61 6c 20 66 6c 61 67 3d  ..    eval flag=
18790 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  \"$hardcode_libd
187a0 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09  ir_flag_spec\"..
187b0 20 20 20 20 72 70 61 74 68 3d 22 24 72 70 61 74      rpath="$rpat
187c0 68 20 24 66 6c 61 67 22 0a 09 20 20 66 69 0a 09  h $flag"..  fi..
187d0 65 6c 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72  elif test -n "$r
187e0 75 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65  unpath_var"; the
187f0 6e 0a 09 20 20 63 61 73 65 20 22 24 66 69 6e 61  n..  case "$fina
18800 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61 74 68 20  lize_perm_rpath 
18810 22 20 69 6e 0a 09 20 20 2a 22 20 24 6c 69 62 64  " in..  *" $libd
18820 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20  ir "*) ;;..  *) 
18830 66 69 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f 72 70  finalize_perm_rp
18840 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 70  ath="$finalize_p
18850 65 72 6d 5f 72 70 61 74 68 20 24 6c 69 62 64 69  erm_rpath $libdi
18860 72 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66  r" ;;..  esac..f
18870 69 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20  i.      done.   
18880 20 20 20 23 20 53 75 62 73 74 69 74 75 74 65 20     # Substitute 
18890 74 68 65 20 68 61 72 64 63 6f 64 65 64 20 6c 69  the hardcoded li
188a0 62 64 69 72 73 20 69 6e 74 6f 20 74 68 65 20 72  bdirs into the r
188b0 70 61 74 68 2e 0a 20 20 20 20 20 20 69 66 20 74  path..      if t
188c0 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64  est -n "$hardcod
188d0 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
188e0 6f 72 22 20 26 26 0a 09 20 74 65 73 74 20 2d 6e  or" &&.. test -n
188f0 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
18900 69 72 73 22 3b 20 74 68 65 6e 0a 09 6c 69 62 64  irs"; then..libd
18910 69 72 3d 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  ir="$hardcode_li
18920 62 64 69 72 73 22 0a 09 65 76 61 6c 20 72 70 61  bdirs"..eval rpa
18930 74 68 3d 5c 22 20 24 68 61 72 64 63 6f 64 65 5f  th=\" $hardcode_
18940 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
18950 5c 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  \".      fi.    
18960 20 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68    finalize_rpath
18970 3d 22 24 72 70 61 74 68 22 0a 0a 20 20 20 20 20  ="$rpath"..     
18980 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6c 69   if test -n "$li
18990 62 6f 62 6a 73 22 20 26 26 20 74 65 73 74 20 22  bobjs" && test "
189a0 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22  $build_old_libs"
189b0 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 23 20   = yes; then..# 
189c0 54 72 61 6e 73 66 6f 72 6d 20 61 6c 6c 20 74 68  Transform all th
189d0 65 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74  e library object
189e0 73 20 69 6e 74 6f 20 73 74 61 6e 64 61 72 64 20  s into standard 
189f0 6f 62 6a 65 63 74 73 2e 0a 09 63 6f 6d 70 69 6c  objects...compil
18a00 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f  e_command=`$echo
18a10 20 22 58 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d   "X$compile_comm
18a20 61 6e 64 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20  and" | $SP2NL | 
18a30 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22  $Xsed -e "$lo2o"
18a40 20 7c 20 24 4e 4c 32 53 50 60 0a 09 66 69 6e 61   | $NL2SP`..fina
18a50 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65  lize_command=`$e
18a60 63 68 6f 20 22 58 24 66 69 6e 61 6c 69 7a 65 5f  cho "X$finalize_
18a70 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 53 50 32 4e  command" | $SP2N
18a80 4c 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  L | $Xsed -e "$l
18a90 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a 20  o2o" | $NL2SP`. 
18aa0 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 64       fi..      d
18ab0 6c 73 79 6d 73 3d 0a 20 20 20 20 20 20 69 66 20  lsyms=.      if 
18ac0 74 65 73 74 20 2d 6e 20 22 24 64 6c 66 69 6c 65  test -n "$dlfile
18ad0 73 24 64 6c 70 72 65 66 69 6c 65 73 22 20 7c 7c  s$dlprefiles" ||
18ae0 20 74 65 73 74 20 22 24 64 6c 73 65 6c 66 22 20   test "$dlself" 
18af0 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 69 66 20  != no; then..if 
18b00 74 65 73 74 20 2d 6e 20 22 24 4e 4d 22 20 26 26  test -n "$NM" &&
18b10 20 74 65 73 74 20 2d 6e 20 22 24 67 6c 6f 62 61   test -n "$globa
18b20 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 22 3b 20  l_symbol_pipe"; 
18b30 74 68 65 6e 0a 09 20 20 64 6c 73 79 6d 73 3d 22  then..  dlsyms="
18b40 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 53 2e 63  ${outputname}S.c
18b50 22 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f  "..else..  $echo
18b60 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6e 6f 74   "$modename: not
18b70 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 65   configured to e
18b80 78 74 72 61 63 74 20 67 6c 6f 62 61 6c 20 73 79  xtract global sy
18b90 6d 62 6f 6c 73 20 66 72 6f 6d 20 64 6c 70 72 65  mbols from dlpre
18ba0 6f 70 65 6e 65 64 20 66 69 6c 65 73 22 20 31 3e  opened files" 1>
18bb0 26 32 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a  &2..fi.      fi.
18bc0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
18bd0 6e 20 22 24 64 6c 73 79 6d 73 22 3b 20 74 68 65  n "$dlsyms"; the
18be0 6e 0a 09 63 61 73 65 20 24 64 6c 73 79 6d 73 20  n..case $dlsyms 
18bf0 69 6e 0a 09 22 22 29 20 3b 3b 0a 09 2a 2e 63 29  in.."") ;;..*.c)
18c00 0a 09 20 20 23 20 44 69 73 63 6f 76 65 72 20 74  ..  # Discover t
18c10 68 65 20 6e 6c 69 73 74 20 6f 66 20 65 61 63 68  he nlist of each
18c20 20 6f 66 20 74 68 65 20 64 6c 66 69 6c 65 73 2e   of the dlfiles.
18c30 0a 09 20 20 6e 6c 69 73 74 3d 22 24 6f 75 74 70  ..  nlist="$outp
18c40 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70  ut_objdir/${outp
18c50 75 74 6e 61 6d 65 7d 2e 6e 6d 22 0a 0a 09 20 20  utname}.nm"...  
18c60 24 73 68 6f 77 20 22 24 72 6d 20 24 6e 6c 69 73  $show "$rm $nlis
18c70 74 20 24 7b 6e 6c 69 73 74 7d 53 20 24 7b 6e 6c  t ${nlist}S ${nl
18c80 69 73 74 7d 54 22 0a 09 20 20 24 72 75 6e 20 24  ist}T"..  $run $
18c90 72 6d 20 22 24 6e 6c 69 73 74 22 20 22 24 7b 6e  rm "$nlist" "${n
18ca0 6c 69 73 74 7d 53 22 20 22 24 7b 6e 6c 69 73 74  list}S" "${nlist
18cb0 7d 54 22 0a 0a 09 20 20 23 20 50 61 72 73 65 20  }T"...  # Parse 
18cc0 74 68 65 20 6e 61 6d 65 20 6c 69 73 74 20 69 6e  the name list in
18cd0 74 6f 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65  to a source file
18ce0 2e 0a 09 20 20 24 73 68 6f 77 20 22 63 72 65 61  ...  $show "crea
18cf0 74 69 6e 67 20 24 6f 75 74 70 75 74 5f 6f 62 6a  ting $output_obj
18d00 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a 0a 09 20  dir/$dlsyms"... 
18d10 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 20   test -z "$run" 
18d20 26 26 20 24 65 63 68 6f 20 3e 20 22 24 6f 75 74  && $echo > "$out
18d30 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79  put_objdir/$dlsy
18d40 6d 73 22 20 22 5c 0a 2f 2a 20 24 64 6c 73 79 6d  ms" "\./* $dlsym
18d50 73 20 2d 20 73 79 6d 62 6f 6c 20 72 65 73 6f 6c  s - symbol resol
18d60 75 74 69 6f 6e 20 74 61 62 6c 65 20 66 6f 72 20  ution table for 
18d70 5c 60 24 6f 75 74 70 75 74 6e 61 6d 65 27 20 64  \`$outputname' d
18d80 6c 73 79 6d 20 65 6d 75 6c 61 74 69 6f 6e 2e 20  lsym emulation. 
18d90 2a 2f 0a 2f 2a 20 47 65 6e 65 72 61 74 65 64 20  */./* Generated 
18da0 62 79 20 24 50 52 4f 47 52 41 4d 20 2d 20 47 4e  by $PROGRAM - GN
18db0 55 20 24 50 41 43 4b 41 47 45 20 24 56 45 52 53  U $PACKAGE $VERS
18dc0 49 4f 4e 24 54 49 4d 45 53 54 41 4d 50 20 2a 2f  ION$TIMESTAMP */
18dd0 0a 0a 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  ..#ifdef __cplus
18de0 70 6c 75 73 0a 65 78 74 65 72 6e 20 5c 22 43 5c  plus.extern \"C\
18df0 22 20 7b 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20 50  " {.#endif../* P
18e00 72 65 76 65 6e 74 20 74 68 65 20 6f 6e 6c 79 20  revent the only 
18e10 6b 69 6e 64 20 6f 66 20 64 65 63 6c 61 72 61 74  kind of declarat
18e20 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 73 20 77 65  ion conflicts we
18e30 20 63 61 6e 20 6d 61 6b 65 2e 20 2a 2f 0a 23 64   can make. */.#d
18e40 65 66 69 6e 65 20 6c 74 5f 70 72 65 6c 6f 61 64  efine lt_preload
18e50 65 64 5f 73 79 6d 62 6f 6c 73 20 73 6f 6d 65 5f  ed_symbols some_
18e60 6f 74 68 65 72 5f 73 79 6d 62 6f 6c 0a 0a 2f 2a  other_symbol../*
18e70 20 45 78 74 65 72 6e 61 6c 20 73 79 6d 62 6f 6c   External symbol
18e80 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f   declarations fo
18e90 72 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20  r the compiler. 
18ea0 2a 2f 5c 0a 22 0a 0a 09 20 20 69 66 20 74 65 73  */\."...  if tes
18eb0 74 20 22 24 64 6c 73 65 6c 66 22 20 3d 20 79 65  t "$dlself" = ye
18ec0 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68  s; then..    $sh
18ed0 6f 77 20 22 67 65 6e 65 72 61 74 69 6e 67 20 73  ow "generating s
18ee0 79 6d 62 6f 6c 20 6c 69 73 74 20 66 6f 72 20 5c  ymbol list for \
18ef0 60 24 6f 75 74 70 75 74 27 22 0a 0a 09 20 20 20  `$output'"...   
18f00 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 20   test -z "$run" 
18f10 26 26 20 24 65 63 68 6f 20 27 3a 20 40 50 52 4f  && $echo ': @PRO
18f20 47 52 41 4d 40 20 27 20 3e 20 22 24 6e 6c 69 73  GRAM@ ' > "$nlis
18f30 74 22 0a 0a 09 20 20 20 20 23 20 41 64 64 20 6f  t"...    # Add o
18f40 75 72 20 6f 77 6e 20 70 72 6f 67 72 61 6d 20 6f  ur own program o
18f50 62 6a 65 63 74 73 20 74 6f 20 74 68 65 20 73 79  bjects to the sy
18f60 6d 62 6f 6c 20 6c 69 73 74 2e 0a 09 20 20 20 20  mbol list...    
18f70 70 72 6f 67 66 69 6c 65 73 3d 60 24 65 63 68 6f  progfiles=`$echo
18f80 20 22 58 24 6f 62 6a 73 24 6f 6c 64 5f 64 65 70   "X$objs$old_dep
18f90 6c 69 62 73 22 20 7c 20 24 53 50 32 4e 4c 20 7c  libs" | $SP2NL |
18fa0 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f   $Xsed -e "$lo2o
18fb0 22 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20 20  " | $NL2SP`..   
18fc0 20 66 6f 72 20 61 72 67 20 69 6e 20 24 70 72 6f   for arg in $pro
18fd0 67 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20  gfiles; do..    
18fe0 20 20 24 73 68 6f 77 20 22 65 78 74 72 61 63 74    $show "extract
18ff0 69 6e 67 20 67 6c 6f 62 61 6c 20 43 20 73 79 6d  ing global C sym
19000 62 6f 6c 73 20 66 72 6f 6d 20 5c 60 24 61 72 67  bols from \`$arg
19010 27 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65  '"..      $run e
19020 76 61 6c 20 22 24 4e 4d 20 24 61 72 67 20 7c 20  val "$NM $arg | 
19030 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70  $global_symbol_p
19040 69 70 65 20 3e 3e 20 27 24 6e 6c 69 73 74 27 22  ipe >> '$nlist'"
19050 0a 09 20 20 20 20 64 6f 6e 65 0a 0a 09 20 20 20  ..    done...   
19060 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78   if test -n "$ex
19070 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 22 3b 20  clude_expsyms"; 
19080 74 68 65 6e 0a 09 20 20 20 20 20 20 24 72 75 6e  then..      $run
19090 20 65 76 61 6c 20 27 65 67 72 65 70 20 2d 76 20   eval 'egrep -v 
190a0 22 20 28 24 65 78 63 6c 75 64 65 5f 65 78 70 73  " ($exclude_exps
190b0 79 6d 73 29 24 22 20 22 24 6e 6c 69 73 74 22 20  yms)$" "$nlist" 
190c0 3e 20 22 24 6e 6c 69 73 74 22 54 27 0a 09 20 20  > "$nlist"T'..  
190d0 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27 24      $run eval '$
190e0 6d 76 20 22 24 6e 6c 69 73 74 22 54 20 22 24 6e  mv "$nlist"T "$n
190f0 6c 69 73 74 22 27 0a 09 20 20 20 20 66 69 0a 0a  list"'..    fi..
19100 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
19110 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
19120 5f 72 65 67 65 78 22 3b 20 74 68 65 6e 0a 09 20  _regex"; then.. 
19130 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27       $run eval '
19140 65 67 72 65 70 20 2d 65 20 22 24 65 78 70 6f 72  egrep -e "$expor
19150 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22  t_symbols_regex"
19160 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c   "$nlist" > "$nl
19170 69 73 74 22 54 27 0a 09 20 20 20 20 20 20 24 72  ist"T'..      $r
19180 75 6e 20 65 76 61 6c 20 27 24 6d 76 20 22 24 6e  un eval '$mv "$n
19190 6c 69 73 74 22 54 20 22 24 6e 6c 69 73 74 22 27  list"T "$nlist"'
191a0 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 23  ..    fi...    #
191b0 20 50 72 65 70 61 72 65 20 74 68 65 20 6c 69 73   Prepare the lis
191c0 74 20 6f 66 20 65 78 70 6f 72 74 65 64 20 73 79  t of exported sy
191d0 6d 62 6f 6c 73 0a 09 20 20 20 20 69 66 20 74 65  mbols..    if te
191e0 73 74 20 2d 7a 20 22 24 65 78 70 6f 72 74 5f 73  st -z "$export_s
191f0 79 6d 62 6f 6c 73 22 3b 20 74 68 65 6e 0a 09 20  ymbols"; then.. 
19200 20 20 20 20 20 65 78 70 6f 72 74 5f 73 79 6d 62       export_symb
19210 6f 6c 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a  ols="$output_obj
19220 64 69 72 2f 24 6f 75 74 70 75 74 2e 65 78 70 22  dir/$output.exp"
19230 0a 09 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d  ..      $run $rm
19240 20 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73   $export_symbols
19250 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76 61  ..      $run eva
19260 6c 20 22 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20  l "${SED} -n -e 
19270 27 2f 5e 3a 20 40 50 52 4f 47 52 41 4d 40 24 2f  '/^: @PROGRAM@$/
19280 64 27 20 2d 65 20 27 73 2f 5e 2e 2a 20 5c 28 2e  d' -e 's/^.* \(.
19290 2a 5c 29 24 2f 5c 31 2f 70 27 20 22 27 3c 20 22  *\)$/\1/p' "'< "
192a0 24 6e 6c 69 73 74 22 20 3e 20 22 24 65 78 70 6f  $nlist" > "$expo
192b0 72 74 5f 73 79 6d 62 6f 6c 73 22 27 0a 09 20 20  rt_symbols"'..  
192c0 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24 72    else..      $r
192d0 75 6e 20 65 76 61 6c 20 22 24 7b 53 45 44 7d 20  un eval "${SED} 
192e0 2d 65 20 27 73 2f 5c 28 5b 5d 5b 2e 2a 5e 24 5d  -e 's/\([][.*^$]
192f0 5c 29 2f 5c 5c 5c 31 2f 67 27 20 2d 65 20 27 73  \)/\\\1/g' -e 's
19300 2f 5e 2f 20 2f 27 20 2d 65 20 27 73 2f 24 2f 24  /^/ /' -e 's/$/$
19310 2f 27 22 27 20 3c 20 22 24 65 78 70 6f 72 74 5f  /'"' < "$export_
19320 73 79 6d 62 6f 6c 73 22 20 3e 20 22 24 6f 75 74  symbols" > "$out
19330 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70  put_objdir/$outp
19340 75 74 2e 65 78 70 22 27 0a 09 20 20 20 20 20 20  ut.exp"'..      
19350 24 72 75 6e 20 65 76 61 6c 20 27 67 72 65 70 20  $run eval 'grep 
19360 2d 66 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64  -f "$output_objd
19370 69 72 2f 24 6f 75 74 70 75 74 2e 65 78 70 22 20  ir/$output.exp" 
19380 3c 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e  < "$nlist" > "$n
19390 6c 69 73 74 22 54 27 0a 09 20 20 20 20 20 20 24  list"T'..      $
193a0 72 75 6e 20 65 76 61 6c 20 27 6d 76 20 22 24 6e  run eval 'mv "$n
193b0 6c 69 73 74 22 54 20 22 24 6e 6c 69 73 74 22 27  list"T "$nlist"'
193c0 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 0a  ..    fi..  fi..
193d0 09 20 20 66 6f 72 20 61 72 67 20 69 6e 20 24 64  .  for arg in $d
193e0 6c 70 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20  lprefiles; do.. 
193f0 20 20 20 24 73 68 6f 77 20 22 65 78 74 72 61 63     $show "extrac
19400 74 69 6e 67 20 67 6c 6f 62 61 6c 20 43 20 73 79  ting global C sy
19410 6d 62 6f 6c 73 20 66 72 6f 6d 20 5c 60 24 61 72  mbols from \`$ar
19420 67 27 22 0a 09 20 20 20 20 6e 61 6d 65 3d 60 65  g'"..    name=`e
19430 63 68 6f 20 22 24 61 72 67 22 20 7c 20 24 7b 53  cho "$arg" | ${S
19440 45 44 7d 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  ED} -e 's%^.*/%%
19450 27 60 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61  '`..    $run eva
19460 6c 20 27 65 63 68 6f 20 22 3a 20 24 6e 61 6d 65  l 'echo ": $name
19470 20 22 20 3e 3e 20 22 24 6e 6c 69 73 74 22 27 0a   " >> "$nlist"'.
19480 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22  .    $run eval "
19490 24 4e 4d 20 24 61 72 67 20 7c 20 24 67 6c 6f 62  $NM $arg | $glob
194a0 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 20 3e  al_symbol_pipe >
194b0 3e 20 27 24 6e 6c 69 73 74 27 22 0a 09 20 20 64  > '$nlist'"..  d
194c0 6f 6e 65 0a 0a 09 20 20 69 66 20 74 65 73 74 20  one...  if test 
194d0 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a  -z "$run"; then.
194e0 09 20 20 20 20 23 20 4d 61 6b 65 20 73 75 72 65  .    # Make sure
194f0 20 77 65 20 68 61 76 65 20 61 74 20 6c 65 61 73   we have at leas
19500 74 20 61 6e 20 65 6d 70 74 79 20 66 69 6c 65 2e  t an empty file.
19510 0a 09 20 20 20 20 74 65 73 74 20 2d 66 20 22 24  ..    test -f "$
19520 6e 6c 69 73 74 22 20 7c 7c 20 3a 20 3e 20 22 24  nlist" || : > "$
19530 6e 6c 69 73 74 22 0a 0a 09 20 20 20 20 69 66 20  nlist"...    if 
19540 74 65 73 74 20 2d 6e 20 22 24 65 78 63 6c 75 64  test -n "$exclud
19550 65 5f 65 78 70 73 79 6d 73 22 3b 20 74 68 65 6e  e_expsyms"; then
19560 0a 09 20 20 20 20 20 20 65 67 72 65 70 20 2d 76  ..      egrep -v
19570 20 22 20 28 24 65 78 63 6c 75 64 65 5f 65 78 70   " ($exclude_exp
19580 73 79 6d 73 29 24 22 20 22 24 6e 6c 69 73 74 22  syms)$" "$nlist"
19590 20 3e 20 22 24 6e 6c 69 73 74 22 54 0a 09 20 20   > "$nlist"T..  
195a0 20 20 20 20 24 6d 76 20 22 24 6e 6c 69 73 74 22      $mv "$nlist"
195b0 54 20 22 24 6e 6c 69 73 74 22 0a 09 20 20 20 20  T "$nlist"..    
195c0 66 69 0a 0a 09 20 20 20 20 23 20 54 72 79 20 73  fi...    # Try s
195d0 6f 72 74 69 6e 67 20 61 6e 64 20 75 6e 69 71 75  orting and uniqu
195e0 69 66 79 69 6e 67 20 74 68 65 20 6f 75 74 70 75  ifying the outpu
195f0 74 2e 0a 09 20 20 20 20 69 66 20 67 72 65 70 20  t...    if grep 
19600 2d 76 20 22 5e 3a 20 22 20 3c 20 22 24 6e 6c 69  -v "^: " < "$nli
19610 73 74 22 20 7c 0a 09 09 69 66 20 73 6f 72 74 20  st" |...if sort 
19620 2d 6b 20 33 20 3c 2f 64 65 76 2f 6e 75 6c 6c 20  -k 3 </dev/null 
19630 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b  >/dev/null 2>&1;
19640 20 74 68 65 6e 0a 09 09 20 20 73 6f 72 74 20 2d   then...  sort -
19650 6b 20 33 0a 09 09 65 6c 73 65 0a 09 09 20 20 73  k 3...else...  s
19660 6f 72 74 20 2b 32 0a 09 09 66 69 20 7c 0a 09 09  ort +2...fi |...
19670 75 6e 69 71 20 3e 20 22 24 6e 6c 69 73 74 22 53  uniq > "$nlist"S
19680 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 3a 0a  ; then..      :.
19690 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
196a0 20 67 72 65 70 20 2d 76 20 22 5e 3a 20 22 20 3c   grep -v "^: " <
196b0 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c   "$nlist" > "$nl
196c0 69 73 74 22 53 0a 09 20 20 20 20 66 69 0a 0a 09  ist"S..    fi...
196d0 20 20 20 20 69 66 20 74 65 73 74 20 2d 66 20 22      if test -f "
196e0 24 6e 6c 69 73 74 22 53 3b 20 74 68 65 6e 0a 09  $nlist"S; then..
196f0 20 20 20 20 20 20 65 76 61 6c 20 22 24 67 6c 6f        eval "$glo
19700 62 61 6c 5f 73 79 6d 62 6f 6c 5f 74 6f 5f 63 64  bal_symbol_to_cd
19710 65 63 6c 22 27 20 3c 20 22 24 6e 6c 69 73 74 22  ecl"' < "$nlist"
19720 53 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62  S >> "$output_ob
19730 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 27 0a 09  jdir/$dlsyms"'..
19740 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
19750 65 63 68 6f 20 27 2f 2a 20 4e 4f 4e 45 20 2a 2f  echo '/* NONE */
19760 27 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62  ' >> "$output_ob
19770 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a 09 20  jdir/$dlsyms".. 
19780 20 20 20 66 69 0a 0a 09 20 20 20 20 24 65 63 68     fi...    $ech
19790 6f 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62  o >> "$output_ob
197a0 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 20 22 5c  jdir/$dlsyms" "\
197b0 0a 0a 23 75 6e 64 65 66 20 6c 74 5f 70 72 65 6c  ..#undef lt_prel
197c0 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 0a 0a 23  oaded_symbols..#
197d0 69 66 20 64 65 66 69 6e 65 64 20 28 5f 5f 53 54  if defined (__ST
197e0 44 43 5f 5f 29 20 26 26 20 5f 5f 53 54 44 43 5f  DC__) && __STDC_
197f0 5f 0a 23 20 64 65 66 69 6e 65 20 6c 74 5f 70 74  _.# define lt_pt
19800 72 20 76 6f 69 64 20 2a 0a 23 65 6c 73 65 0a 23  r void *.#else.#
19810 20 64 65 66 69 6e 65 20 6c 74 5f 70 74 72 20 63   define lt_ptr c
19820 68 61 72 20 2a 0a 23 20 64 65 66 69 6e 65 20 63  har *.# define c
19830 6f 6e 73 74 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20  onst.#endif../* 
19840 54 68 65 20 6d 61 70 70 69 6e 67 20 62 65 74 77  The mapping betw
19850 65 65 6e 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 73  een symbol names
19860 20 61 6e 64 20 73 79 6d 62 6f 6c 73 2e 20 2a 2f   and symbols. */
19870 0a 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7b 0a  .const struct {.
19880 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61    const char *na
19890 6d 65 3b 0a 20 20 6c 74 5f 70 74 72 20 61 64 64  me;.  lt_ptr add
198a0 72 65 73 73 3b 0a 7d 0a 6c 74 5f 70 72 65 6c 6f  ress;.}.lt_prelo
198b0 61 64 65 64 5f 73 79 6d 62 6f 6c 73 5b 5d 20 3d  aded_symbols[] =
198c0 0a 7b 5c 0a 22 0a 0a 09 20 20 20 20 65 76 61 6c  .{\."...    eval
198d0 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c   "$global_symbol
198e0 5f 74 6f 5f 63 5f 6e 61 6d 65 5f 61 64 64 72 65  _to_c_name_addre
198f0 73 73 22 20 3c 20 22 24 6e 6c 69 73 74 22 20 3e  ss" < "$nlist" >
19900 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  > "$output_objdi
19910 72 2f 24 64 6c 73 79 6d 73 22 0a 0a 09 20 20 20  r/$dlsyms"...   
19920 20 24 65 63 68 6f 20 3e 3e 20 22 24 6f 75 74 70   $echo >> "$outp
19930 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d  ut_objdir/$dlsym
19940 73 22 20 22 5c 0a 20 20 7b 30 2c 20 28 6c 74 5f  s" "\.  {0, (lt_
19950 70 74 72 29 20 30 7d 0a 7d 3b 0a 0a 2f 2a 20 54  ptr) 0}.};../* T
19960 68 69 73 20 77 6f 72 6b 73 20 61 72 6f 75 6e 64  his works around
19970 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 20 46 72   a problem in Fr
19980 65 65 42 53 44 20 6c 69 6e 6b 65 72 20 2a 2f 0a  eeBSD linker */.
19990 23 69 66 64 65 66 20 46 52 45 45 42 53 44 5f 57  #ifdef FREEBSD_W
199a0 4f 52 4b 41 52 4f 55 4e 44 0a 73 74 61 74 69 63  ORKAROUND.static
199b0 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6c 74 5f   const void *lt_
199c0 70 72 65 6c 6f 61 64 65 64 5f 73 65 74 75 70 28  preloaded_setup(
199d0 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 6c 74 5f  ) {.  return lt_
199e0 70 72 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c  preloaded_symbol
199f0 73 3b 0a 7d 0a 23 65 6e 64 69 66 0a 0a 23 69 66  s;.}.#endif..#if
19a00 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0a  def __cplusplus.
19a10 7d 0a 23 65 6e 64 69 66 5c 0a 22 0a 09 20 20 66  }.#endif\."..  f
19a20 69 0a 0a 09 20 20 70 69 63 5f 66 6c 61 67 5f 66  i...  pic_flag_f
19a30 6f 72 5f 73 79 6d 74 61 62 6c 65 3d 0a 09 20 20  or_symtable=..  
19a40 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 20  case $host in.. 
19a50 20 23 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65   # compiling the
19a60 20 73 79 6d 62 6f 6c 20 74 61 62 6c 65 20 66 69   symbol table fi
19a70 6c 65 20 77 69 74 68 20 70 69 63 5f 66 6c 61 67  le with pic_flag
19a80 20 77 6f 72 6b 73 20 61 72 6f 75 6e 64 0a 09 20   works around.. 
19a90 20 23 20 61 20 46 72 65 65 42 53 44 20 62 75 67   # a FreeBSD bug
19aa0 20 74 68 61 74 20 63 61 75 73 65 73 20 70 72 6f   that causes pro
19ab0 67 72 61 6d 73 20 74 6f 20 63 72 61 73 68 20 77  grams to crash w
19ac0 68 65 6e 20 2d 6c 6d 20 69 73 0a 09 20 20 23 20  hen -lm is..  # 
19ad0 6c 69 6e 6b 65 64 20 62 65 66 6f 72 65 20 61 6e  linked before an
19ae0 79 20 6f 74 68 65 72 20 50 49 43 20 6f 62 6a 65  y other PIC obje
19af0 63 74 2e 20 20 42 75 74 20 77 65 20 6d 75 73 74  ct.  But we must
19b00 20 6e 6f 74 20 75 73 65 0a 09 20 20 23 20 70 69   not use..  # pi
19b10 63 5f 66 6c 61 67 20 77 68 65 6e 20 6c 69 6e 6b  c_flag when link
19b20 69 6e 67 20 77 69 74 68 20 2d 73 74 61 74 69 63  ing with -static
19b30 2e 20 20 54 68 65 20 70 72 6f 62 6c 65 6d 20 65  .  The problem e
19b40 78 69 73 74 73 20 69 6e 0a 09 20 20 23 20 46 72  xists in..  # Fr
19b50 65 65 42 53 44 20 32 2e 32 2e 36 20 61 6e 64 20  eeBSD 2.2.6 and 
19b60 69 73 20 66 69 78 65 64 20 69 6e 20 46 72 65 65  is fixed in Free
19b70 42 53 44 20 33 2e 31 2e 0a 09 20 20 2a 2d 2a 2d  BSD 3.1...  *-*-
19b80 66 72 65 65 62 73 64 32 2a 7c 2a 2d 2a 2d 66 72  freebsd2*|*-*-fr
19b90 65 65 62 73 64 33 2e 30 2a 7c 2a 2d 2a 2d 66 72  eebsd3.0*|*-*-fr
19ba0 65 65 62 73 64 65 6c 66 33 2e 30 2a 29 0a 09 20  eebsdelf3.0*).. 
19bb0 20 20 20 63 61 73 65 20 22 24 63 6f 6d 70 69 6c     case "$compil
19bc0 65 5f 63 6f 6d 6d 61 6e 64 20 22 20 69 6e 0a 09  e_command " in..
19bd0 20 20 20 20 2a 22 20 2d 73 74 61 74 69 63 20 22      *" -static "
19be0 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 70 69  *) ;;..    *) pi
19bf0 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d 74 61  c_flag_for_symta
19c00 62 6c 65 3d 22 20 24 70 69 63 5f 66 6c 61 67 20  ble=" $pic_flag 
19c10 2d 44 50 49 43 20 2d 44 46 52 45 45 42 53 44 5f  -DPIC -DFREEBSD_
19c20 57 4f 52 4b 41 52 4f 55 4e 44 22 3b 3b 0a 09 20  WORKAROUND";;.. 
19c30 20 20 20 65 73 61 63 3b 3b 0a 09 20 20 2a 2d 2a     esac;;..  *-*
19c40 2d 68 70 75 78 2a 29 0a 09 20 20 20 20 63 61 73  -hpux*)..    cas
19c50 65 20 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  e "$compile_comm
19c60 61 6e 64 20 22 20 69 6e 0a 09 20 20 20 20 2a 22  and " in..    *"
19c70 20 2d 73 74 61 74 69 63 20 22 2a 29 20 3b 3b 0a   -static "*) ;;.
19c80 09 20 20 20 20 2a 29 20 70 69 63 5f 66 6c 61 67  .    *) pic_flag
19c90 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 3d 22 20  _for_symtable=" 
19ca0 24 70 69 63 5f 66 6c 61 67 20 2d 44 50 49 43 22  $pic_flag -DPIC"
19cb0 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20  ;;..    esac..  
19cc0 65 73 61 63 0a 0a 09 20 20 23 20 4e 6f 77 20 63  esac...  # Now c
19cd0 6f 6d 70 69 6c 65 20 74 68 65 20 64 79 6e 61 6d  ompile the dynam
19ce0 69 63 20 73 79 6d 62 6f 6c 20 66 69 6c 65 2e 0a  ic symbol file..
19cf0 09 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 6f  .  $show "(cd $o
19d00 75 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20  utput_objdir && 
19d10 24 43 43 20 2d 63 24 6e 6f 5f 62 75 69 6c 74 69  $CC -c$no_builti
19d20 6e 5f 66 6c 61 67 24 70 69 63 5f 66 6c 61 67 5f  n_flag$pic_flag_
19d30 66 6f 72 5f 73 79 6d 74 61 62 6c 65 20 5c 22 24  for_symtable \"$
19d40 64 6c 73 79 6d 73 5c 22 29 22 0a 09 20 20 24 72  dlsyms\")"..  $r
19d50 75 6e 20 65 76 61 6c 20 27 28 63 64 20 24 6f 75  un eval '(cd $ou
19d60 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24  tput_objdir && $
19d70 43 43 20 2d 63 24 6e 6f 5f 62 75 69 6c 74 69 6e  CC -c$no_builtin
19d80 5f 66 6c 61 67 24 70 69 63 5f 66 6c 61 67 5f 66  _flag$pic_flag_f
19d90 6f 72 5f 73 79 6d 74 61 62 6c 65 20 22 24 64 6c  or_symtable "$dl
19da0 73 79 6d 73 22 29 27 20 7c 7c 20 65 78 69 74 20  syms")' || exit 
19db0 24 3f 0a 0a 09 20 20 23 20 43 6c 65 61 6e 20 75  $?...  # Clean u
19dc0 70 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20  p the generated 
19dd0 66 69 6c 65 73 2e 0a 09 20 20 24 73 68 6f 77 20  files...  $show 
19de0 22 24 72 6d 20 24 6f 75 74 70 75 74 5f 6f 62 6a  "$rm $output_obj
19df0 64 69 72 2f 24 64 6c 73 79 6d 73 20 24 6e 6c 69  dir/$dlsyms $nli
19e00 73 74 20 24 7b 6e 6c 69 73 74 7d 53 20 24 7b 6e  st ${nlist}S ${n
19e10 6c 69 73 74 7d 54 22 0a 09 20 20 24 72 75 6e 20  list}T"..  $run 
19e20 24 72 6d 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a  $rm "$output_obj
19e30 64 69 72 2f 24 64 6c 73 79 6d 73 22 20 22 24 6e  dir/$dlsyms" "$n
19e40 6c 69 73 74 22 20 22 24 7b 6e 6c 69 73 74 7d 53  list" "${nlist}S
19e50 22 20 22 24 7b 6e 6c 69 73 74 7d 54 22 0a 0a 09  " "${nlist}T"...
19e60 20 20 23 20 54 72 61 6e 73 66 6f 72 6d 20 74 68    # Transform th
19e70 65 20 73 79 6d 62 6f 6c 20 66 69 6c 65 20 69 6e  e symbol file in
19e80 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 6e  to the correct n
19e90 61 6d 65 2e 0a 09 20 20 63 6f 6d 70 69 6c 65 5f  ame...  compile_
19ea0 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22  command=`$echo "
19eb0 58 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  X$compile_comman
19ec0 64 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73  d" | $Xsed -e "s
19ed0 25 40 53 59 4d 46 49 4c 45 40 25 24 6f 75 74 70  %@SYMFILE@%$outp
19ee0 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70  ut_objdir/${outp
19ef0 75 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78  utname}S.${objex
19f00 74 7d 25 22 60 0a 09 20 20 66 69 6e 61 6c 69 7a  t}%"`..  finaliz
19f10 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f  e_command=`$echo
19f20 20 22 58 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d   "X$finalize_com
19f30 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65  mand" | $Xsed -e
19f40 20 22 73 25 40 53 59 4d 46 49 4c 45 40 25 24 6f   "s%@SYMFILE@%$o
19f50 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f  utput_objdir/${o
19f60 75 74 70 75 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62  utputname}S.${ob
19f70 6a 65 78 74 7d 25 22 60 0a 09 20 20 3b 3b 0a 09  jext}%"`..  ;;..
19f80 2a 29 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  *)..  $echo "$mo
19f90 64 65 6e 61 6d 65 3a 20 75 6e 6b 6e 6f 77 6e 20  dename: unknown 
19fa0 73 75 66 66 69 78 20 66 6f 72 20 5c 60 24 64 6c  suffix for \`$dl
19fb0 73 79 6d 73 27 22 20 31 3e 26 32 0a 09 20 20 65  syms'" 1>&2..  e
19fc0 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61  xit 1..  ;;..esa
19fd0 63 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 23 20  c.      else..# 
19fe0 57 65 20 6b 65 65 70 20 67 6f 69 6e 67 20 6a 75  We keep going ju
19ff0 73 74 20 69 6e 20 63 61 73 65 20 74 68 65 20 75  st in case the u
1a000 73 65 72 20 64 69 64 6e 27 74 20 72 65 66 65 72  ser didn't refer
1a010 20 74 6f 0a 09 23 20 6c 74 5f 70 72 65 6c 6f 61   to..# lt_preloa
1a020 64 65 64 5f 73 79 6d 62 6f 6c 73 2e 20 20 54 68  ded_symbols.  Th
1a030 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 66 61  e linker will fa
1a040 69 6c 20 69 66 20 67 6c 6f 62 61 6c 5f 73 79 6d  il if global_sym
1a050 62 6f 6c 5f 70 69 70 65 0a 09 23 20 72 65 61 6c  bol_pipe..# real
1a060 6c 79 20 77 61 73 20 72 65 71 75 69 72 65 64 2e  ly was required.
1a070 0a 0a 09 23 20 4e 75 6c 6c 69 66 79 20 74 68 65  ...# Nullify the
1a080 20 73 79 6d 62 6f 6c 20 66 69 6c 65 2e 0a 09 63   symbol file...c
1a090 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 60  ompile_command=`
1a0a0 24 65 63 68 6f 20 22 58 24 63 6f 6d 70 69 6c 65  $echo "X$compile
1a0b0 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65  _command" | $Xse
1a0c0 64 20 2d 65 20 22 73 25 20 40 53 59 4d 46 49 4c  d -e "s% @SYMFIL
1a0d0 45 40 25 25 22 60 0a 09 66 69 6e 61 6c 69 7a 65  E@%%"`..finalize
1a0e0 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20  _command=`$echo 
1a0f0 22 58 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  "X$finalize_comm
1a100 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65 20  and" | $Xsed -e 
1a110 22 73 25 20 40 53 59 4d 46 49 4c 45 40 25 25 22  "s% @SYMFILE@%%"
1a120 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  `.      fi..    
1a130 20 20 69 66 20 74 65 73 74 20 24 6e 65 65 64 5f    if test $need_
1a140 72 65 6c 69 6e 6b 20 3d 20 6e 6f 20 7c 7c 20 74  relink = no || t
1a150 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
1a160 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79 65 73  ool_libs" != yes
1a170 3b 20 74 68 65 6e 0a 09 23 20 52 65 70 6c 61 63  ; then..# Replac
1a180 65 20 74 68 65 20 6f 75 74 70 75 74 20 66 69 6c  e the output fil
1a190 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e  e specification.
1a1a0 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  ..compile_comman
1a1b0 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70  d=`$echo "X$comp
1a1c0 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ile_command" | $
1a1d0 58 73 65 64 20 2d 65 20 27 73 25 40 4f 55 54 50  Xsed -e 's%@OUTP
1a1e0 55 54 40 25 27 22 24 6f 75 74 70 75 74 22 27 25  UT@%'"$output"'%
1a1f0 67 27 60 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  g'`..link_comman
1a200 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  d="$compile_comm
1a210 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74  and$compile_rpat
1a220 68 22 0a 0a 09 23 20 57 65 20 68 61 76 65 20 6e  h"...# We have n
1a230 6f 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c 69  o uninstalled li
1a240 62 72 61 72 79 20 64 65 70 65 6e 64 65 6e 63 69  brary dependenci
1a250 65 73 2c 20 73 6f 20 66 69 6e 61 6c 69 7a 65 20  es, so finalize 
1a260 72 69 67 68 74 20 6e 6f 77 2e 0a 09 24 73 68 6f  right now...$sho
1a270 77 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  w "$link_command
1a280 22 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 6c  "..$run eval "$l
1a290 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 73 74  ink_command"..st
1a2a0 61 74 75 73 3d 24 3f 0a 0a 09 23 20 44 65 6c 65  atus=$?...# Dele
1a2b0 74 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64  te the generated
1a2c0 20 66 69 6c 65 73 2e 0a 09 69 66 20 74 65 73 74   files...if test
1a2d0 20 2d 6e 20 22 24 64 6c 73 79 6d 73 22 3b 20 74   -n "$dlsyms"; t
1a2e0 68 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 72  hen..  $show "$r
1a2f0 6d 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  m $output_objdir
1a300 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 53 2e  /${outputname}S.
1a310 24 7b 6f 62 6a 65 78 74 7d 22 0a 09 20 20 24 72  ${objext}"..  $r
1a320 75 6e 20 24 72 6d 20 22 24 6f 75 74 70 75 74 5f  un $rm "$output_
1a330 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e  objdir/${outputn
1a340 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 22  ame}S.${objext}"
1a350 0a 09 66 69 0a 0a 09 65 78 69 74 20 24 73 74 61  ..fi...exit $sta
1a360 74 75 73 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  tus.      fi..  
1a370 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1a380 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 3b  $shlibpath_var";
1a390 20 74 68 65 6e 0a 09 23 20 57 65 20 73 68 6f 75   then..# We shou
1a3a0 6c 64 20 73 65 74 20 74 68 65 20 73 68 6c 69 62  ld set the shlib
1a3b0 70 61 74 68 5f 76 61 72 0a 09 72 70 61 74 68 3d  path_var..rpath=
1a3c0 0a 09 66 6f 72 20 64 69 72 20 69 6e 20 24 74 65  ..for dir in $te
1a3d0 6d 70 5f 72 70 61 74 68 3b 20 64 6f 0a 09 20 20  mp_rpath; do..  
1a3e0 63 61 73 65 20 24 64 69 72 20 69 6e 0a 09 20 20  case $dir in..  
1a3f0 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a  [\\/]* | [A-Za-z
1a400 5d 3a 5b 5c 5c 2f 5d 2a 29 0a 09 20 20 20 20 23  ]:[\\/]*)..    #
1a410 20 41 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a   Absolute path..
1a420 09 20 20 20 20 72 70 61 74 68 3d 22 24 72 70 61  .    rpath="$rpa
1a430 74 68 24 64 69 72 3a 22 0a 09 20 20 20 20 3b 3b  th$dir:"..    ;;
1a440 0a 09 20 20 2a 29 0a 09 20 20 20 20 23 20 52 65  ..  *)..    # Re
1a450 6c 61 74 69 76 65 20 70 61 74 68 3a 20 61 64 64  lative path: add
1a460 20 61 20 74 68 69 73 64 69 72 20 65 6e 74 72 79   a thisdir entry
1a470 2e 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24 72  ...    rpath="$r
1a480 70 61 74 68 5c 24 74 68 69 73 64 69 72 2f 24 64  path\$thisdir/$d
1a490 69 72 3a 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20  ir:"..    ;;..  
1a4a0 65 73 61 63 0a 09 64 6f 6e 65 0a 09 74 65 6d 70  esac..done..temp
1a4b0 5f 72 70 61 74 68 3d 22 24 72 70 61 74 68 22 0a  _rpath="$rpath".
1a4c0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1a4d0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 63 6f 6d  if test -n "$com
1a4e0 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 24 66  pile_shlibpath$f
1a4f0 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74  inalize_shlibpat
1a500 68 22 3b 20 74 68 65 6e 0a 09 63 6f 6d 70 69 6c  h"; then..compil
1a510 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 73 68 6c 69  e_command="$shli
1a520 62 70 61 74 68 5f 76 61 72 3d 5c 22 24 63 6f 6d  bpath_var=\"$com
1a530 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 24 66  pile_shlibpath$f
1a540 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74  inalize_shlibpat
1a550 68 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61  h\$$shlibpath_va
1a560 72 5c 22 20 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  r\" $compile_com
1a570 6d 61 6e 64 22 0a 20 20 20 20 20 20 66 69 0a 20  mand".      fi. 
1a580 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
1a590 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62  "$finalize_shlib
1a5a0 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 66 69 6e  path"; then..fin
1a5b0 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
1a5c0 73 68 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 22  shlibpath_var=\"
1a5d0 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70  $finalize_shlibp
1a5e0 61 74 68 5c 24 24 73 68 6c 69 62 70 61 74 68 5f  ath\$$shlibpath_
1a5f0 76 61 72 5c 22 20 24 66 69 6e 61 6c 69 7a 65 5f  var\" $finalize_
1a600 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20 20 20 66  command".      f
1a610 69 0a 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65  i..      compile
1a620 5f 76 61 72 3d 0a 20 20 20 20 20 20 66 69 6e 61  _var=.      fina
1a630 6c 69 7a 65 5f 76 61 72 3d 0a 20 20 20 20 20 20  lize_var=.      
1a640 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72 75 6e  if test -n "$run
1a650 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a  path_var"; then.
1a660 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70 65  .if test -n "$pe
1a670 72 6d 5f 72 70 61 74 68 22 3b 20 74 68 65 6e 0a  rm_rpath"; then.
1a680 09 20 20 23 20 57 65 20 73 68 6f 75 6c 64 20 73  .  # We should s
1a690 65 74 20 74 68 65 20 72 75 6e 70 61 74 68 5f 76  et the runpath_v
1a6a0 61 72 2e 0a 09 20 20 72 70 61 74 68 3d 0a 09 20  ar...  rpath=.. 
1a6b0 20 66 6f 72 20 64 69 72 20 69 6e 20 24 70 65 72   for dir in $per
1a6c0 6d 5f 72 70 61 74 68 3b 20 64 6f 0a 09 20 20 20  m_rpath; do..   
1a6d0 20 72 70 61 74 68 3d 22 24 72 70 61 74 68 24 64   rpath="$rpath$d
1a6e0 69 72 3a 22 0a 09 20 20 64 6f 6e 65 0a 09 20 20  ir:"..  done..  
1a6f0 63 6f 6d 70 69 6c 65 5f 76 61 72 3d 22 24 72 75  compile_var="$ru
1a700 6e 70 61 74 68 5f 76 61 72 3d 5c 22 24 72 70 61  npath_var=\"$rpa
1a710 74 68 5c 24 24 72 75 6e 70 61 74 68 5f 76 61 72  th\$$runpath_var
1a720 5c 22 20 22 0a 09 66 69 0a 09 69 66 20 74 65 73  \" "..fi..if tes
1a730 74 20 2d 6e 20 22 24 66 69 6e 61 6c 69 7a 65 5f  t -n "$finalize_
1a740 70 65 72 6d 5f 72 70 61 74 68 22 3b 20 74 68 65  perm_rpath"; the
1a750 6e 0a 09 20 20 23 20 57 65 20 73 68 6f 75 6c 64  n..  # We should
1a760 20 73 65 74 20 74 68 65 20 72 75 6e 70 61 74 68   set the runpath
1a770 5f 76 61 72 2e 0a 09 20 20 72 70 61 74 68 3d 0a  _var...  rpath=.
1a780 09 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24 66  .  for dir in $f
1a790 69 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61  inalize_perm_rpa
1a7a0 74 68 3b 20 64 6f 0a 09 20 20 20 20 72 70 61 74  th; do..    rpat
1a7b0 68 3d 22 24 72 70 61 74 68 24 64 69 72 3a 22 0a  h="$rpath$dir:".
1a7c0 09 20 20 64 6f 6e 65 0a 09 20 20 66 69 6e 61 6c  .  done..  final
1a7d0 69 7a 65 5f 76 61 72 3d 22 24 72 75 6e 70 61 74  ize_var="$runpat
1a7e0 68 5f 76 61 72 3d 5c 22 24 72 70 61 74 68 5c 24  h_var=\"$rpath\$
1a7f0 24 72 75 6e 70 61 74 68 5f 76 61 72 5c 22 20 22  $runpath_var\" "
1a800 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20  ..fi.      fi.. 
1a810 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6e       if test "$n
1a820 6f 5f 69 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73  o_install" = yes
1a830 3b 20 74 68 65 6e 0a 09 23 20 57 65 20 64 6f 6e  ; then..# We don
1a840 27 74 20 6e 65 65 64 20 74 6f 20 63 72 65 61 74  't need to creat
1a850 65 20 61 20 77 72 61 70 70 65 72 20 73 63 72 69  e a wrapper scri
1a860 70 74 2e 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  pt...link_comman
1a870 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 76 61 72 24  d="$compile_var$
1a880 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24  compile_command$
1a890 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 22 0a 09  compile_rpath"..
1a8a0 23 20 52 65 70 6c 61 63 65 20 74 68 65 20 6f 75  # Replace the ou
1a8b0 74 70 75 74 20 66 69 6c 65 20 73 70 65 63 69 66  tput file specif
1a8c0 69 63 61 74 69 6f 6e 2e 0a 09 6c 69 6e 6b 5f 63  ication...link_c
1a8d0 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58  ommand=`$echo "X
1a8e0 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c  $link_command" |
1a8f0 20 24 58 73 65 64 20 2d 65 20 27 73 25 40 4f 55   $Xsed -e 's%@OU
1a900 54 50 55 54 40 25 27 22 24 6f 75 74 70 75 74 22  TPUT@%'"$output"
1a910 27 25 67 27 60 0a 09 23 20 44 65 6c 65 74 65 20  '%g'`..# Delete 
1a920 74 68 65 20 6f 6c 64 20 6f 75 74 70 75 74 20 66  the old output f
1a930 69 6c 65 2e 0a 09 24 72 75 6e 20 24 72 6d 20 24  ile...$run $rm $
1a940 6f 75 74 70 75 74 0a 09 23 20 4c 69 6e 6b 20 74  output..# Link t
1a950 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 6e  he executable an
1a960 64 20 65 78 69 74 0a 09 24 73 68 6f 77 20 22 24  d exit..$show "$
1a970 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 24  link_command"..$
1a980 72 75 6e 20 65 76 61 6c 20 22 24 6c 69 6e 6b 5f  run eval "$link_
1a990 63 6f 6d 6d 61 6e 64 22 20 7c 7c 20 65 78 69 74  command" || exit
1a9a0 20 24 3f 0a 09 65 78 69 74 20 30 0a 20 20 20 20   $?..exit 0.    
1a9b0 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
1a9c0 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 61  est "$hardcode_a
1a9d0 63 74 69 6f 6e 22 20 3d 20 72 65 6c 69 6e 6b 3b  ction" = relink;
1a9e0 20 74 68 65 6e 0a 09 23 20 46 61 73 74 20 69 6e   then..# Fast in
1a9f0 73 74 61 6c 6c 61 74 69 6f 6e 20 69 73 20 6e 6f  stallation is no
1aa00 74 20 73 75 70 70 6f 72 74 65 64 0a 09 6c 69 6e  t supported..lin
1aa10 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  k_command="$comp
1aa20 69 6c 65 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f  ile_var$compile_
1aa30 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f  command$compile_
1aa40 72 70 61 74 68 22 0a 09 72 65 6c 69 6e 6b 5f 63  rpath"..relink_c
1aa50 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a  ommand="$finaliz
1aa60 65 5f 76 61 72 24 66 69 6e 61 6c 69 7a 65 5f 63  e_var$finalize_c
1aa70 6f 6d 6d 61 6e 64 24 66 69 6e 61 6c 69 7a 65 5f  ommand$finalize_
1aa80 72 70 61 74 68 22 0a 0a 09 24 65 63 68 6f 20 22  rpath"...$echo "
1aa90 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
1aaa0 6e 67 3a 20 74 68 69 73 20 70 6c 61 74 66 6f 72  ng: this platfor
1aab0 6d 20 64 6f 65 73 20 6e 6f 74 20 6c 69 6b 65 20  m does not like 
1aac0 75 6e 69 6e 73 74 61 6c 6c 65 64 20 73 68 61 72  uninstalled shar
1aad0 65 64 20 6c 69 62 72 61 72 69 65 73 22 20 31 3e  ed libraries" 1>
1aae0 26 32 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  &2..$echo "$mode
1aaf0 6e 61 6d 65 3a 20 5c 60 24 6f 75 74 70 75 74 27  name: \`$output'
1ab00 20 77 69 6c 6c 20 62 65 20 72 65 6c 69 6e 6b 65   will be relinke
1ab10 64 20 64 75 72 69 6e 67 20 69 6e 73 74 61 6c 6c  d during install
1ab20 61 74 69 6f 6e 22 20 31 3e 26 32 0a 20 20 20 20  ation" 1>&2.    
1ab30 20 20 65 6c 73 65 0a 09 69 66 20 74 65 73 74 20    else..if test 
1ab40 22 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c 22 20  "$fast_install" 
1ab50 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 6c  != no; then..  l
1ab60 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69  ink_command="$fi
1ab70 6e 61 6c 69 7a 65 5f 76 61 72 24 63 6f 6d 70 69  nalize_var$compi
1ab80 6c 65 5f 63 6f 6d 6d 61 6e 64 24 66 69 6e 61 6c  le_command$final
1ab90 69 7a 65 5f 72 70 61 74 68 22 0a 09 20 20 69 66  ize_rpath"..  if
1aba0 20 74 65 73 74 20 22 24 66 61 73 74 5f 69 6e 73   test "$fast_ins
1abb0 74 61 6c 6c 22 20 3d 20 79 65 73 3b 20 74 68 65  tall" = yes; the
1abc0 6e 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f  n..    relink_co
1abd0 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24  mmand=`$echo "X$
1abe0 63 6f 6d 70 69 6c 65 5f 76 61 72 24 63 6f 6d 70  compile_var$comp
1abf0 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70  ile_command$comp
1ac00 69 6c 65 5f 72 70 61 74 68 22 20 7c 20 24 58 73  ile_rpath" | $Xs
1ac10 65 64 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54  ed -e 's%@OUTPUT
1ac20 40 25 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69  @%\$progdir/\$fi
1ac30 6c 65 25 67 27 60 0a 09 20 20 65 6c 73 65 0a 09  le%g'`..  else..
1ac40 20 20 20 20 23 20 66 61 73 74 5f 69 6e 73 74 61      # fast_insta
1ac50 6c 6c 20 69 73 20 73 65 74 20 74 6f 20 6e 65 65  ll is set to nee
1ac60 64 6c 65 73 73 0a 09 20 20 20 20 72 65 6c 69 6e  dless..    relin
1ac70 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a 09 20 20 66 69  k_command=..  fi
1ac80 0a 09 65 6c 73 65 0a 09 20 20 6c 69 6e 6b 5f 63  ..else..  link_c
1ac90 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
1aca0 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  _var$compile_com
1acb0 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72 70 61  mand$compile_rpa
1acc0 74 68 22 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f  th"..  relink_co
1acd0 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65  mmand="$finalize
1ace0 5f 76 61 72 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  _var$finalize_co
1acf0 6d 6d 61 6e 64 24 66 69 6e 61 6c 69 7a 65 5f 72  mmand$finalize_r
1ad00 70 61 74 68 22 0a 09 66 69 0a 20 20 20 20 20 20  path"..fi.      
1ad10 66 69 0a 0a 20 20 20 20 20 20 23 20 52 65 70 6c  fi..      # Repl
1ad20 61 63 65 20 74 68 65 20 6f 75 74 70 75 74 20 66  ace the output f
1ad30 69 6c 65 20 73 70 65 63 69 66 69 63 61 74 69 6f  ile specificatio
1ad40 6e 2e 0a 20 20 20 20 20 20 6c 69 6e 6b 5f 63 6f  n..      link_co
1ad50 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24  mmand=`$echo "X$
1ad60 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20  link_command" | 
1ad70 24 58 73 65 64 20 2d 65 20 27 73 25 40 4f 55 54  $Xsed -e 's%@OUT
1ad80 50 55 54 40 25 27 22 24 6f 75 74 70 75 74 5f 6f  PUT@%'"$output_o
1ad90 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d  bjdir/$outputnam
1ada0 65 22 27 25 67 27 60 0a 0a 20 20 20 20 20 20 23  e"'%g'`..      #
1adb0 20 44 65 6c 65 74 65 20 74 68 65 20 6f 6c 64 20   Delete the old 
1adc0 6f 75 74 70 75 74 20 66 69 6c 65 73 2e 0a 20 20  output files..  
1add0 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24 6f 75      $run $rm $ou
1ade0 74 70 75 74 20 24 6f 75 74 70 75 74 5f 6f 62 6a  tput $output_obj
1adf0 64 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 20  dir/$outputname 
1ae00 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 6c  $output_objdir/l
1ae10 74 2d 24 6f 75 74 70 75 74 6e 61 6d 65 0a 0a 20  t-$outputname.. 
1ae20 20 20 20 20 20 24 73 68 6f 77 20 22 24 6c 69 6e       $show "$lin
1ae30 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20 20  k_command".     
1ae40 20 24 72 75 6e 20 65 76 61 6c 20 22 24 6c 69 6e   $run eval "$lin
1ae50 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 7c 20 65 78  k_command" || ex
1ae60 69 74 20 24 3f 0a 0a 20 20 20 20 20 20 23 20 4e  it $?..      # N
1ae70 6f 77 20 63 72 65 61 74 65 20 74 68 65 20 77 72  ow create the wr
1ae80 61 70 70 65 72 20 73 63 72 69 70 74 2e 0a 20 20  apper script..  
1ae90 20 20 20 20 24 73 68 6f 77 20 22 63 72 65 61 74      $show "creat
1aea0 69 6e 67 20 24 6f 75 74 70 75 74 22 0a 0a 20 20  ing $output"..  
1aeb0 20 20 20 20 23 20 51 75 6f 74 65 20 74 68 65 20      # Quote the 
1aec0 72 65 6c 69 6e 6b 20 63 6f 6d 6d 61 6e 64 20 66  relink command f
1aed0 6f 72 20 73 68 69 70 70 69 6e 67 2e 0a 20 20 20  or shipping..   
1aee0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
1aef0 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b  relink_command";
1af00 20 74 68 65 6e 0a 09 23 20 50 72 65 73 65 72 76   then..# Preserv
1af10 65 20 61 6e 79 20 76 61 72 69 61 62 6c 65 73 20  e any variables 
1af20 74 68 61 74 20 6d 61 79 20 61 66 66 65 63 74 20  that may affect 
1af30 63 6f 6d 70 69 6c 65 72 20 62 65 68 61 76 69 6f  compiler behavio
1af40 72 0a 09 66 6f 72 20 76 61 72 20 69 6e 20 24 76  r..for var in $v
1af50 61 72 69 61 62 6c 65 73 5f 73 61 76 65 64 5f 66  ariables_saved_f
1af60 6f 72 5f 72 65 6c 69 6e 6b 3b 20 64 6f 0a 09 20  or_relink; do.. 
1af70 20 69 66 20 65 76 61 6c 20 74 65 73 74 20 2d 7a   if eval test -z
1af80 20 5c 22 5c 24 7b 24 76 61 72 2b 73 65 74 7d 5c   \"\${$var+set}\
1af90 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 72 65 6c  "; then..    rel
1afa0 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 7b 20 74  ink_command="{ t
1afb0 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24 76 61 72  est -z \"\${$var
1afc0 2b 73 65 74 7d 5c 22 20 7c 7c 20 75 6e 73 65 74  +set}\" || unset
1afd0 20 24 76 61 72 20 7c 7c 20 7b 20 24 76 61 72 3d   $var || { $var=
1afe0 3b 20 65 78 70 6f 72 74 20 24 76 61 72 3b 20 7d  ; export $var; }
1aff0 3b 20 7d 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  ; }; $relink_com
1b000 6d 61 6e 64 22 0a 09 20 20 65 6c 69 66 20 65 76  mand"..  elif ev
1b010 61 6c 20 76 61 72 5f 76 61 6c 75 65 3d 5c 24 24  al var_value=\$$
1b020 76 61 72 3b 20 74 65 73 74 20 2d 7a 20 22 24 76  var; test -z "$v
1b030 61 72 5f 76 61 6c 75 65 22 3b 20 74 68 65 6e 0a  ar_value"; then.
1b040 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  .    relink_comm
1b050 61 6e 64 3d 22 24 76 61 72 3d 3b 20 65 78 70 6f  and="$var=; expo
1b060 72 74 20 24 76 61 72 3b 20 24 72 65 6c 69 6e 6b  rt $var; $relink
1b070 5f 63 6f 6d 6d 61 6e 64 22 0a 09 20 20 65 6c 73  _command"..  els
1b080 65 0a 09 20 20 20 20 76 61 72 5f 76 61 6c 75 65  e..    var_value
1b090 3d 60 24 65 63 68 6f 20 22 58 24 76 61 72 5f 76  =`$echo "X$var_v
1b0a0 61 6c 75 65 22 20 7c 20 24 58 73 65 64 20 2d 65  alue" | $Xsed -e
1b0b0 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62   "$sed_quote_sub
1b0c0 73 74 22 60 0a 09 20 20 20 20 72 65 6c 69 6e 6b  st"`..    relink
1b0d0 5f 63 6f 6d 6d 61 6e 64 3d 22 24 76 61 72 3d 5c  _command="$var=\
1b0e0 22 24 76 61 72 5f 76 61 6c 75 65 5c 22 3b 20 65  "$var_value\"; e
1b0f0 78 70 6f 72 74 20 24 76 61 72 3b 20 24 72 65 6c  xport $var; $rel
1b100 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 20 20  ink_command"..  
1b110 66 69 0a 09 64 6f 6e 65 0a 09 72 65 6c 69 6e 6b  fi..done..relink
1b120 5f 63 6f 6d 6d 61 6e 64 3d 22 28 63 64 20 60 70  _command="(cd `p
1b130 77 64 60 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  wd`; $relink_com
1b140 6d 61 6e 64 29 22 0a 09 72 65 6c 69 6e 6b 5f 63  mand)"..relink_c
1b150 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58  ommand=`$echo "X
1b160 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  $relink_command"
1b170 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65   | $Xsed -e "$se
1b180 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a  d_quote_subst"`.
1b190 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1b1a0 23 20 51 75 6f 74 65 20 24 65 63 68 6f 20 66 6f  # Quote $echo fo
1b1b0 72 20 73 68 69 70 70 69 6e 67 2e 0a 20 20 20 20  r shipping..    
1b1c0 20 20 69 66 20 74 65 73 74 20 22 58 24 65 63 68    if test "X$ech
1b1d0 6f 22 20 3d 20 22 58 24 53 48 45 4c 4c 20 24 30  o" = "X$SHELL $0
1b1e0 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f   --fallback-echo
1b1f0 22 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 24 30  "; then..case $0
1b200 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41   in..[\\/]* | [A
1b210 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 71  -Za-z]:[\\/]*) q
1b220 65 63 68 6f 3d 22 24 53 48 45 4c 4c 20 24 30 20  echo="$SHELL $0 
1b230 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 22  --fallback-echo"
1b240 3b 3b 0a 09 2a 29 20 71 65 63 68 6f 3d 22 24 53  ;;..*) qecho="$S
1b250 48 45 4c 4c 20 60 70 77 64 60 2f 24 30 20 2d 2d  HELL `pwd`/$0 --
1b260 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 22 3b 3b  fallback-echo";;
1b270 0a 09 65 73 61 63 0a 09 71 65 63 68 6f 3d 60 24  ..esac..qecho=`$
1b280 65 63 68 6f 20 22 58 24 71 65 63 68 6f 22 20 7c  echo "X$qecho" |
1b290 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f   $Xsed -e "$sed_
1b2a0 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20  quote_subst"`.  
1b2b0 20 20 20 20 65 6c 73 65 0a 09 71 65 63 68 6f 3d      else..qecho=
1b2c0 60 24 65 63 68 6f 20 22 58 24 65 63 68 6f 22 20  `$echo "X$echo" 
1b2d0 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
1b2e0 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 20  _quote_subst"`. 
1b2f0 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23       fi..      #
1b300 20 4f 6e 6c 79 20 61 63 74 75 61 6c 6c 79 20 64   Only actually d
1b310 6f 20 74 68 69 6e 67 73 20 69 66 20 6f 75 72 20  o things if our 
1b320 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e  run command is n
1b330 6f 6e 2d 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 69  on-null..      i
1b340 66 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22  f test -z "$run"
1b350 3b 20 74 68 65 6e 0a 09 23 20 77 69 6e 33 32 20  ; then..# win32 
1b360 77 69 6c 6c 20 74 68 69 6e 6b 20 74 68 65 20 73  will think the s
1b370 63 72 69 70 74 20 69 73 20 61 20 62 69 6e 61 72  cript is a binar
1b380 79 20 69 66 20 69 74 20 68 61 73 0a 09 23 20 61  y if it has..# a
1b390 20 2e 65 78 65 20 73 75 66 66 69 78 2c 20 73 6f   .exe suffix, so
1b3a0 20 77 65 20 73 74 72 69 70 20 69 74 20 6f 66 66   we strip it off
1b3b0 20 68 65 72 65 2e 0a 09 63 61 73 65 20 24 6f 75   here...case $ou
1b3c0 74 70 75 74 20 69 6e 0a 09 20 20 2a 2e 65 78 65  tput in..  *.exe
1b3d0 29 20 6f 75 74 70 75 74 3d 60 65 63 68 6f 20 24  ) output=`echo $
1b3e0 6f 75 74 70 75 74 7c 24 7b 53 45 44 7d 20 27 73  output|${SED} 's
1b3f0 2c 2e 65 78 65 24 2c 2c 27 60 20 3b 3b 0a 09 65  ,.exe$,,'` ;;..e
1b400 73 61 63 0a 09 23 20 74 65 73 74 20 66 6f 72 20  sac..# test for 
1b410 63 79 67 77 69 6e 20 62 65 63 61 75 73 65 20 6d  cygwin because m
1b420 76 20 66 61 69 6c 73 20 77 2f 6f 20 2e 65 78 65  v fails w/o .exe
1b430 20 65 78 74 65 6e 73 69 6f 6e 73 0a 09 63 61 73   extensions..cas
1b440 65 20 24 68 6f 73 74 20 69 6e 0a 09 20 20 2a 63  e $host in..  *c
1b450 79 67 77 69 6e 2a 29 20 65 78 65 65 78 74 3d 2e  ygwin*) exeext=.
1b460 65 78 65 20 3b 3b 0a 09 20 20 2a 29 20 65 78 65  exe ;;..  *) exe
1b470 65 78 74 3d 20 3b 3b 0a 09 65 73 61 63 0a 09 24  ext= ;;..esac..$
1b480 72 6d 20 24 6f 75 74 70 75 74 0a 09 74 72 61 70  rm $output..trap
1b490 20 22 24 72 6d 20 24 6f 75 74 70 75 74 3b 20 65   "$rm $output; e
1b4a0 78 69 74 20 31 22 20 31 20 32 20 31 35 0a 0a 09  xit 1" 1 2 15...
1b4b0 24 65 63 68 6f 20 3e 20 24 6f 75 74 70 75 74 20  $echo > $output 
1b4c0 22 5c 0a 23 21 20 24 53 48 45 4c 4c 0a 0a 23 20  "\.#! $SHELL..# 
1b4d0 24 6f 75 74 70 75 74 20 2d 20 74 65 6d 70 6f 72  $output - tempor
1b4e0 61 72 79 20 77 72 61 70 70 65 72 20 73 63 72 69  ary wrapper scri
1b4f0 70 74 20 66 6f 72 20 24 6f 62 6a 64 69 72 2f 24  pt for $objdir/$
1b500 6f 75 74 70 75 74 6e 61 6d 65 0a 23 20 47 65 6e  outputname.# Gen
1b510 65 72 61 74 65 64 20 62 79 20 24 50 52 4f 47 52  erated by $PROGR
1b520 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b 41 47  AM - GNU $PACKAG
1b530 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d 45 53  E $VERSION$TIMES
1b540 54 41 4d 50 0a 23 0a 23 20 54 68 65 20 24 6f 75  TAMP.#.# The $ou
1b550 74 70 75 74 20 70 72 6f 67 72 61 6d 20 63 61 6e  tput program can
1b560 6e 6f 74 20 62 65 20 64 69 72 65 63 74 6c 79 20  not be directly 
1b570 65 78 65 63 75 74 65 64 20 75 6e 74 69 6c 20 61  executed until a
1b580 6c 6c 20 74 68 65 20 6c 69 62 74 6f 6f 6c 0a 23  ll the libtool.#
1b590 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74 20   libraries that 
1b5a0 69 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 72  it depends on ar
1b5b0 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 23 0a 23  e installed..#.#
1b5c0 20 54 68 69 73 20 77 72 61 70 70 65 72 20 73 63   This wrapper sc
1b5d0 72 69 70 74 20 73 68 6f 75 6c 64 20 6e 65 76 65  ript should neve
1b5e0 72 20 62 65 20 6d 6f 76 65 64 20 6f 75 74 20 6f  r be moved out o
1b5f0 66 20 74 68 65 20 62 75 69 6c 64 20 64 69 72 65  f the build dire
1b600 63 74 6f 72 79 2e 0a 23 20 49 66 20 69 74 20 69  ctory..# If it i
1b610 73 2c 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 6f  s, it will not o
1b620 70 65 72 61 74 65 20 63 6f 72 72 65 63 74 6c 79  perate correctly
1b630 2e 0a 0a 23 20 53 65 64 20 73 75 62 73 74 69 74  ...# Sed substit
1b640 75 74 69 6f 6e 20 74 68 61 74 20 68 65 6c 70 73  ution that helps
1b650 20 75 73 20 64 6f 20 72 6f 62 75 73 74 20 71 75   us do robust qu
1b660 6f 74 69 6e 67 2e 20 20 49 74 20 62 61 63 6b 73  oting.  It backs
1b670 6c 61 73 68 69 66 69 65 73 0a 23 20 6d 65 74 61  lashifies.# meta
1b680 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20  characters that 
1b690 61 72 65 20 73 74 69 6c 6c 20 61 63 74 69 76 65  are still active
1b6a0 20 77 69 74 68 69 6e 20 64 6f 75 62 6c 65 2d 71   within double-q
1b6b0 75 6f 74 65 64 20 73 74 72 69 6e 67 73 2e 0a 58  uoted strings..X
1b6c0 73 65 64 3d 22 24 7b 53 45 44 7d 22 27 20 2d 65  sed="${SED}"' -e
1b6d0 20 31 73 2f 5e 58 2f 2f 27 0a 73 65 64 5f 71 75   1s/^X//'.sed_qu
1b6e0 6f 74 65 5f 73 75 62 73 74 3d 27 24 73 65 64 5f  ote_subst='$sed_
1b6f0 71 75 6f 74 65 5f 73 75 62 73 74 27 0a 0a 23 20  quote_subst'..# 
1b700 54 68 65 20 48 50 2d 55 58 20 6b 73 68 20 61 6e  The HP-UX ksh an
1b710 64 20 50 4f 53 49 58 20 73 68 65 6c 6c 20 70 72  d POSIX shell pr
1b720 69 6e 74 20 74 68 65 20 74 61 72 67 65 74 20 64  int the target d
1b730 69 72 65 63 74 6f 72 79 20 74 6f 20 73 74 64 6f  irectory to stdo
1b740 75 74 0a 23 20 69 66 20 43 44 50 41 54 48 20 69  ut.# if CDPATH i
1b750 73 20 73 65 74 2e 0a 69 66 20 74 65 73 74 20 5c  s set..if test \
1b760 22 5c 24 7b 43 44 50 41 54 48 2b 73 65 74 7d 5c  "\${CDPATH+set}\
1b770 22 20 3d 20 73 65 74 3b 20 74 68 65 6e 20 43 44  " = set; then CD
1b780 50 41 54 48 3d 3a 3b 20 65 78 70 6f 72 74 20 43  PATH=:; export C
1b790 44 50 41 54 48 3b 20 66 69 0a 0a 72 65 6c 69 6e  DPATH; fi..relin
1b7a0 6b 5f 63 6f 6d 6d 61 6e 64 3d 5c 22 24 72 65 6c  k_command=\"$rel
1b7b0 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 5c 22 0a 0a 23  ink_command\"..#
1b7c0 20 54 68 69 73 20 65 6e 76 69 72 6f 6e 6d 65 6e   This environmen
1b7d0 74 20 76 61 72 69 61 62 6c 65 20 64 65 74 65 72  t variable deter
1b7e0 6d 69 6e 65 73 20 6f 75 72 20 6f 70 65 72 61 74  mines our operat
1b7f0 69 6f 6e 20 6d 6f 64 65 2e 0a 69 66 20 74 65 73  ion mode..if tes
1b800 74 20 5c 22 5c 24 6c 69 62 74 6f 6f 6c 5f 69 6e  t \"\$libtool_in
1b810 73 74 61 6c 6c 5f 6d 61 67 69 63 5c 22 20 3d 20  stall_magic\" = 
1b820 5c 22 24 6d 61 67 69 63 5c 22 3b 20 74 68 65 6e  \"$magic\"; then
1b830 0a 20 20 23 20 69 6e 73 74 61 6c 6c 20 6d 6f 64  .  # install mod
1b840 65 20 6e 65 65 64 73 20 74 68 65 20 66 6f 6c 6c  e needs the foll
1b850 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 3a 0a  owing variable:.
1b860 20 20 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62    notinst_deplib
1b870 73 3d 27 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c  s='$notinst_depl
1b880 69 62 73 27 0a 65 6c 73 65 0a 20 20 23 20 57 68  ibs'.else.  # Wh
1b890 65 6e 20 77 65 20 61 72 65 20 73 6f 75 72 63 65  en we are source
1b8a0 64 20 69 6e 20 65 78 65 63 75 74 65 20 6d 6f 64  d in execute mod
1b8b0 65 2c 20 5c 24 66 69 6c 65 20 61 6e 64 20 5c 24  e, \$file and \$
1b8c0 65 63 68 6f 20 61 72 65 20 61 6c 72 65 61 64 79  echo are already
1b8d0 20 73 65 74 2e 0a 20 20 69 66 20 74 65 73 74 20   set..  if test 
1b8e0 5c 22 5c 24 6c 69 62 74 6f 6f 6c 5f 65 78 65 63  \"\$libtool_exec
1b8f0 75 74 65 5f 6d 61 67 69 63 5c 22 20 21 3d 20 5c  ute_magic\" != \
1b900 22 24 6d 61 67 69 63 5c 22 3b 20 74 68 65 6e 0a  "$magic\"; then.
1b910 20 20 20 20 65 63 68 6f 3d 5c 22 24 71 65 63 68      echo=\"$qech
1b920 6f 5c 22 0a 20 20 20 20 66 69 6c 65 3d 5c 22 5c  o\".    file=\"\
1b930 24 30 5c 22 0a 20 20 20 20 23 20 4d 61 6b 65 20  $0\".    # Make 
1b940 73 75 72 65 20 65 63 68 6f 20 77 6f 72 6b 73 2e  sure echo works.
1b950 0a 20 20 20 20 69 66 20 74 65 73 74 20 5c 22 58  .    if test \"X
1b960 5c 24 31 5c 22 20 3d 20 58 2d 2d 6e 6f 2d 72 65  \$1\" = X--no-re
1b970 65 78 65 63 3b 20 74 68 65 6e 0a 20 20 20 20 20  exec; then.     
1b980 20 23 20 44 69 73 63 61 72 64 20 74 68 65 20 2d   # Discard the -
1b990 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c 61 67 2c  -no-reexec flag,
1b9a0 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 2e 0a 20   and continue.. 
1b9b0 20 20 20 20 20 73 68 69 66 74 0a 20 20 20 20 65       shift.    e
1b9c0 6c 69 66 20 74 65 73 74 20 5c 22 58 5c 60 28 5c  lif test \"X\`(\
1b9d0 24 65 63 68 6f 20 27 5c 74 27 29 20 32 3e 2f 64  $echo '\t') 2>/d
1b9e0 65 76 2f 6e 75 6c 6c 5c 60 5c 22 20 3d 20 27 58  ev/null\`\" = 'X
1b9f0 5c 74 27 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  \t'; then.      
1ba00 23 20 59 69 70 70 65 65 2c 20 5c 24 65 63 68 6f  # Yippee, \$echo
1ba10 20 77 6f 72 6b 73 21 0a 20 20 20 20 20 20 3a 0a   works!.      :.
1ba20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 23      else.      #
1ba30 20 52 65 73 74 61 72 74 20 75 6e 64 65 72 20 74   Restart under t
1ba40 68 65 20 63 6f 72 72 65 63 74 20 73 68 65 6c 6c  he correct shell
1ba50 2c 20 61 6e 64 20 74 68 65 6e 20 6d 61 79 62 65  , and then maybe
1ba60 20 5c 24 65 63 68 6f 20 77 69 6c 6c 20 77 6f 72   \$echo will wor
1ba70 6b 2e 0a 20 20 20 20 20 20 65 78 65 63 20 24 53  k..      exec $S
1ba80 48 45 4c 4c 20 5c 22 5c 24 30 5c 22 20 2d 2d 6e  HELL \"\$0\" --n
1ba90 6f 2d 72 65 65 78 65 63 20 5c 24 7b 31 2b 5c 22  o-reexec \${1+\"
1baa0 5c 24 40 5c 22 7d 0a 20 20 20 20 66 69 0a 20 20  \$@\"}.    fi.  
1bab0 66 69 5c 0a 22 0a 09 24 65 63 68 6f 20 3e 3e 20  fi\."..$echo >> 
1bac0 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 23 20  $output "\..  # 
1bad0 46 69 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f  Find the directo
1bae0 72 79 20 74 68 61 74 20 74 68 69 73 20 73 63 72  ry that this scr
1baf0 69 70 74 20 6c 69 76 65 73 20 69 6e 2e 0a 20 20  ipt lives in..  
1bb00 74 68 69 73 64 69 72 3d 5c 60 5c 24 65 63 68 6f  thisdir=\`\$echo
1bb10 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20 7c 20 5c   \"X\$file\" | \
1bb20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
1bb30 5d 2a 24 25 25 27 5c 60 0a 20 20 74 65 73 74 20  ]*$%%'\`.  test 
1bb40 5c 22 78 5c 24 74 68 69 73 64 69 72 5c 22 20 3d  \"x\$thisdir\" =
1bb50 20 5c 22 78 5c 24 66 69 6c 65 5c 22 20 26 26 20   \"x\$file\" && 
1bb60 74 68 69 73 64 69 72 3d 2e 0a 0a 20 20 23 20 46  thisdir=...  # F
1bb70 6f 6c 6c 6f 77 20 73 79 6d 62 6f 6c 69 63 20 6c  ollow symbolic l
1bb80 69 6e 6b 73 20 75 6e 74 69 6c 20 77 65 20 67 65  inks until we ge
1bb90 74 20 74 6f 20 74 68 65 20 72 65 61 6c 20 74 68  t to the real th
1bba0 69 73 64 69 72 2e 0a 20 20 66 69 6c 65 3d 5c 60  isdir..  file=\`
1bbb0 6c 73 20 2d 6c 64 20 5c 22 5c 24 66 69 6c 65 5c  ls -ld \"\$file\
1bbc0 22 20 7c 20 24 7b 53 45 44 7d 20 2d 6e 20 27 73  " | ${SED} -n 's
1bbd0 2f 2e 2a 2d 3e 20 2f 2f 70 27 5c 60 0a 20 20 77  /.*-> //p'\`.  w
1bbe0 68 69 6c 65 20 74 65 73 74 20 2d 6e 20 5c 22 5c  hile test -n \"\
1bbf0 24 66 69 6c 65 5c 22 3b 20 64 6f 0a 20 20 20 20  $file\"; do.    
1bc00 64 65 73 74 64 69 72 3d 5c 60 5c 24 65 63 68 6f  destdir=\`\$echo
1bc10 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20 7c 20 5c   \"X\$file\" | \
1bc20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
1bc30 5d 2a 5c 24 25 25 27 5c 60 0a 0a 20 20 20 20 23  ]*\$%%'\`..    #
1bc40 20 49 66 20 74 68 65 72 65 20 77 61 73 20 61 20   If there was a 
1bc50 64 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e  directory compon
1bc60 65 6e 74 2c 20 74 68 65 6e 20 63 68 61 6e 67 65  ent, then change
1bc70 20 74 68 69 73 64 69 72 2e 0a 20 20 20 20 69 66   thisdir..    if
1bc80 20 74 65 73 74 20 5c 22 78 5c 24 64 65 73 74 64   test \"x\$destd
1bc90 69 72 5c 22 20 21 3d 20 5c 22 78 5c 24 66 69 6c  ir\" != \"x\$fil
1bca0 65 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  e\"; then.      
1bcb0 63 61 73 65 20 5c 22 5c 24 64 65 73 74 64 69 72  case \"\$destdir
1bcc0 5c 22 20 69 6e 0a 20 20 20 20 20 20 5b 5c 5c 5c  \" in.      [\\\
1bcd0 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a  \/]* | [A-Za-z]:
1bce0 5b 5c 5c 5c 5c 2f 5d 2a 29 20 74 68 69 73 64 69  [\\\\/]*) thisdi
1bcf0 72 3d 5c 22 5c 24 64 65 73 74 64 69 72 5c 22 20  r=\"\$destdir\" 
1bd00 3b 3b 0a 20 20 20 20 20 20 2a 29 20 74 68 69 73  ;;.      *) this
1bd10 64 69 72 3d 5c 22 5c 24 74 68 69 73 64 69 72 2f  dir=\"\$thisdir/
1bd20 5c 24 64 65 73 74 64 69 72 5c 22 20 3b 3b 0a 20  \$destdir\" ;;. 
1bd30 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 66 69       esac.    fi
1bd40 0a 0a 20 20 20 20 66 69 6c 65 3d 5c 60 5c 24 65  ..    file=\`\$e
1bd50 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20  cho \"X\$file\" 
1bd60 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 25 5e  | \$Xsed -e 's%^
1bd70 2e 2a 2f 25 25 27 5c 60 0a 20 20 20 20 66 69 6c  .*/%%'\`.    fil
1bd80 65 3d 5c 60 6c 73 20 2d 6c 64 20 5c 22 5c 24 74  e=\`ls -ld \"\$t
1bd90 68 69 73 64 69 72 2f 5c 24 66 69 6c 65 5c 22 20  hisdir/\$file\" 
1bda0 7c 20 24 7b 53 45 44 7d 20 2d 6e 20 27 73 2f 2e  | ${SED} -n 's/.
1bdb0 2a 2d 3e 20 2f 2f 70 27 5c 60 0a 20 20 64 6f 6e  *-> //p'\`.  don
1bdc0 65 0a 0a 20 20 23 20 54 72 79 20 74 6f 20 67 65  e..  # Try to ge
1bdd0 74 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 64  t the absolute d
1bde0 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2e 0a 20  irectory name.. 
1bdf0 20 61 62 73 64 69 72 3d 5c 60 63 64 20 5c 22 5c   absdir=\`cd \"\
1be00 24 74 68 69 73 64 69 72 5c 22 20 26 26 20 70 77  $thisdir\" && pw
1be10 64 5c 60 0a 20 20 74 65 73 74 20 2d 6e 20 5c 22  d\`.  test -n \"
1be20 5c 24 61 62 73 64 69 72 5c 22 20 26 26 20 74 68  \$absdir\" && th
1be30 69 73 64 69 72 3d 5c 22 5c 24 61 62 73 64 69 72  isdir=\"\$absdir
1be40 5c 22 0a 22 0a 0a 09 69 66 20 74 65 73 74 20 22  \"."...if test "
1be50 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c 22 20 3d  $fast_install" =
1be60 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 65 63   yes; then..  ec
1be70 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c  ho >> $output "\
1be80 0a 20 20 70 72 6f 67 72 61 6d 3d 6c 74 2d 27 24  .  program=lt-'$
1be90 6f 75 74 70 75 74 6e 61 6d 65 27 24 65 78 65 65  outputname'$exee
1bea0 78 74 0a 20 20 70 72 6f 67 64 69 72 3d 5c 22 5c  xt.  progdir=\"\
1beb0 24 74 68 69 73 64 69 72 2f 24 6f 62 6a 64 69 72  $thisdir/$objdir
1bec0 5c 22 0a 0a 20 20 69 66 20 74 65 73 74 20 21 20  \"..  if test ! 
1bed0 2d 66 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c  -f \"\$progdir/\
1bee0 24 70 72 6f 67 72 61 6d 5c 22 20 7c 7c 20 5c 5c  $program\" || \\
1bef0 0a 20 20 20 20 20 7b 20 66 69 6c 65 3d 5c 60 6c  .     { file=\`l
1bf00 73 20 2d 31 64 74 20 5c 22 5c 24 70 72 6f 67 64  s -1dt \"\$progd
1bf10 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 5c  ir/\$program\" \
1bf20 22 5c 24 70 72 6f 67 64 69 72 2f 2e 2e 2f 5c 24  "\$progdir/../\$
1bf30 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f 64 65 76  program\" 2>/dev
1bf40 2f 6e 75 6c 6c 20 7c 20 24 7b 53 45 44 7d 20 31  /null | ${SED} 1
1bf50 71 5c 60 3b 20 5c 5c 0a 20 20 20 20 20 20 20 74  q\`; \\.       t
1bf60 65 73 74 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20  est \"X\$file\" 
1bf70 21 3d 20 5c 22 58 5c 24 70 72 6f 67 64 69 72 2f  != \"X\$progdir/
1bf80 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 20 7d 3b 20  \$program\"; }; 
1bf90 74 68 65 6e 0a 0a 20 20 20 20 66 69 6c 65 3d 5c  then..    file=\
1bfa0 22 5c 24 5c 24 2d 5c 24 70 72 6f 67 72 61 6d 5c  "\$\$-\$program\
1bfb0 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 21  "..    if test !
1bfc0 20 2d 64 20 5c 22 5c 24 70 72 6f 67 64 69 72 5c   -d \"\$progdir\
1bfd0 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 6d  "; then.      $m
1bfe0 6b 64 69 72 20 5c 22 5c 24 70 72 6f 67 64 69 72  kdir \"\$progdir
1bff0 5c 22 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20  \".    else.    
1c000 20 20 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64 69    $rm \"\$progdi
1c010 72 2f 5c 24 66 69 6c 65 5c 22 0a 20 20 20 20 66  r/\$file\".    f
1c020 69 22 0a 0a 09 20 20 65 63 68 6f 20 3e 3e 20 24  i"...  echo >> $
1c030 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 20 20 23  output "\..    #
1c040 20 72 65 6c 69 6e 6b 20 65 78 65 63 75 74 61 62   relink executab
1c050 6c 65 20 69 66 20 6e 65 63 65 73 73 61 72 79 0a  le if necessary.
1c060 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 5c      if test -n \
1c070 22 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  "\$relink_comman
1c080 64 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  d\"; then.      
1c090 69 66 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  if relink_comman
1c0a0 64 5f 6f 75 74 70 75 74 3d 5c 60 65 76 61 6c 20  d_output=\`eval 
1c0b0 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  \$relink_command
1c0c0 20 32 3e 26 31 5c 60 3b 20 74 68 65 6e 20 3a 0a   2>&1\`; then :.
1c0d0 20 20 20 20 20 20 65 6c 73 65 0a 09 24 65 63 68        else..$ech
1c0e0 6f 20 5c 22 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d  o \"\$relink_com
1c0f0 6d 61 6e 64 5f 6f 75 74 70 75 74 5c 22 20 3e 26  mand_output\" >&
1c100 32 0a 09 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64  2..$rm \"\$progd
1c110 69 72 2f 5c 24 66 69 6c 65 5c 22 0a 09 65 78 69  ir/\$file\"..exi
1c120 74 20 31 0a 20 20 20 20 20 20 66 69 0a 20 20 20  t 1.      fi.   
1c130 20 66 69 0a 0a 20 20 20 20 24 6d 76 20 5c 22 5c   fi..    $mv \"\
1c140 24 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c 65 5c  $progdir/\$file\
1c150 22 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24  " \"\$progdir/\$
1c160 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f 64 65 76  program\" 2>/dev
1c170 2f 6e 75 6c 6c 20 7c 7c 0a 20 20 20 20 7b 20 24  /null ||.    { $
1c180 72 6d 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c  rm \"\$progdir/\
1c190 24 70 72 6f 67 72 61 6d 5c 22 3b 0a 20 20 20 20  $program\";.    
1c1a0 20 20 24 6d 76 20 5c 22 5c 24 70 72 6f 67 64 69    $mv \"\$progdi
1c1b0 72 2f 5c 24 66 69 6c 65 5c 22 20 5c 22 5c 24 70  r/\$file\" \"\$p
1c1c0 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d  rogdir/\$program
1c1d0 5c 22 3b 20 7d 0a 20 20 20 20 24 72 6d 20 5c 22  \"; }.    $rm \"
1c1e0 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c 65  \$progdir/\$file
1c1f0 5c 22 0a 20 20 66 69 22 0a 09 65 6c 73 65 0a 09  \".  fi"..else..
1c200 20 20 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75    echo >> $outpu
1c210 74 20 22 5c 0a 20 20 70 72 6f 67 72 61 6d 3d 27  t "\.  program='
1c220 24 6f 75 74 70 75 74 6e 61 6d 65 27 0a 20 20 70  $outputname'.  p
1c230 72 6f 67 64 69 72 3d 5c 22 5c 24 74 68 69 73 64  rogdir=\"\$thisd
1c240 69 72 2f 24 6f 62 6a 64 69 72 5c 22 0a 22 0a 09  ir/$objdir\"."..
1c250 66 69 0a 0a 09 65 63 68 6f 20 3e 3e 20 24 6f 75  fi...echo >> $ou
1c260 74 70 75 74 20 22 5c 0a 0a 20 20 69 66 20 74 65  tput "\..  if te
1c270 73 74 20 2d 66 20 5c 22 5c 24 70 72 6f 67 64 69  st -f \"\$progdi
1c280 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 20 74  r/\$program\"; t
1c290 68 65 6e 22 0a 0a 09 23 20 45 78 70 6f 72 74 20  hen"...# Export 
1c2a0 6f 75 72 20 73 68 6c 69 62 70 61 74 68 5f 76 61  our shlibpath_va
1c2b0 72 20 69 66 20 77 65 20 68 61 76 65 20 6f 6e 65  r if we have one
1c2c0 2e 0a 09 69 66 20 74 65 73 74 20 22 24 73 68 6c  ...if test "$shl
1c2d0 69 62 70 61 74 68 5f 6f 76 65 72 72 69 64 65 73  ibpath_overrides
1c2e0 5f 72 75 6e 70 61 74 68 22 20 3d 20 79 65 73 20  _runpath" = yes 
1c2f0 26 26 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c  && test -n "$shl
1c300 69 62 70 61 74 68 5f 76 61 72 22 20 26 26 20 74  ibpath_var" && t
1c310 65 73 74 20 2d 6e 20 22 24 74 65 6d 70 5f 72 70  est -n "$temp_rp
1c320 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20 24 65  ath"; then..  $e
1c330 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
1c340 5c 0a 20 20 20 20 23 20 41 64 64 20 6f 75 72 20  \.    # Add our 
1c350 6f 77 6e 20 6c 69 62 72 61 72 79 20 70 61 74 68  own library path
1c360 20 74 6f 20 24 73 68 6c 69 62 70 61 74 68 5f 76   to $shlibpath_v
1c370 61 72 0a 20 20 20 20 24 73 68 6c 69 62 70 61 74  ar.    $shlibpat
1c380 68 5f 76 61 72 3d 5c 22 24 74 65 6d 70 5f 72 70  h_var=\"$temp_rp
1c390 61 74 68 5c 24 24 73 68 6c 69 62 70 61 74 68 5f  ath\$$shlibpath_
1c3a0 76 61 72 5c 22 0a 0a 20 20 20 20 23 20 53 6f 6d  var\"..    # Som
1c3b0 65 20 73 79 73 74 65 6d 73 20 63 61 6e 6e 6f 74  e systems cannot
1c3c0 20 63 6f 70 65 20 77 69 74 68 20 63 6f 6c 6f 6e   cope with colon
1c3d0 2d 74 65 72 6d 69 6e 61 74 65 64 20 24 73 68 6c  -terminated $shl
1c3e0 69 62 70 61 74 68 5f 76 61 72 0a 20 20 20 20 23  ibpath_var.    #
1c3f0 20 54 68 65 20 73 65 63 6f 6e 64 20 63 6f 6c 6f   The second colo
1c400 6e 20 69 73 20 61 20 77 6f 72 6b 61 72 6f 75 6e  n is a workaroun
1c410 64 20 66 6f 72 20 61 20 62 75 67 20 69 6e 20 42  d for a bug in B
1c420 65 4f 53 20 52 34 20 24 7b 53 45 44 7d 0a 20 20  eOS R4 ${SED}.  
1c430 20 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72    $shlibpath_var
1c440 3d 5c 60 5c 24 65 63 68 6f 20 5c 22 58 5c 24 24  =\`\$echo \"X\$$
1c450 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22 20  shlibpath_var\" 
1c460 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 2f 3a  | \$Xsed -e 's/:
1c470 3a 2a 5c 24 2f 2f 27 5c 60 0a 0a 20 20 20 20 65  :*\$//'\`..    e
1c480 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61 74 68  xport $shlibpath
1c490 5f 76 61 72 0a 22 0a 09 66 69 0a 0a 09 23 20 66  _var."..fi...# f
1c4a0 69 78 75 70 20 74 68 65 20 64 6c 6c 20 73 65 61  ixup the dll sea
1c4b0 72 63 68 70 61 74 68 20 69 66 20 77 65 20 6e 65  rchpath if we ne
1c4c0 65 64 20 74 6f 2e 0a 09 69 66 20 74 65 73 74 20  ed to...if test 
1c4d0 2d 6e 20 22 24 64 6c 6c 73 65 61 72 63 68 70 61  -n "$dllsearchpa
1c4e0 74 68 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  th"; then..  $ec
1c4f0 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c  ho >> $output "\
1c500 0a 20 20 20 20 23 20 41 64 64 20 74 68 65 20 64  .    # Add the d
1c510 6c 6c 20 73 65 61 72 63 68 20 70 61 74 68 20 63  ll search path c
1c520 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20 74 68 65  omponents to the
1c530 20 65 78 65 63 75 74 61 62 6c 65 20 50 41 54 48   executable PATH
1c540 0a 20 20 20 20 50 41 54 48 3d 24 64 6c 6c 73 65  .    PATH=$dllse
1c550 61 72 63 68 70 61 74 68 3a 5c 24 50 41 54 48 0a  archpath:\$PATH.
1c560 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f 20 3e 3e  "..fi...$echo >>
1c570 20 24 6f 75 74 70 75 74 20 22 5c 0a 20 20 20 20   $output "\.    
1c580 69 66 20 74 65 73 74 20 5c 22 5c 24 6c 69 62 74  if test \"\$libt
1c590 6f 6f 6c 5f 65 78 65 63 75 74 65 5f 6d 61 67 69  ool_execute_magi
1c5a0 63 5c 22 20 21 3d 20 5c 22 24 6d 61 67 69 63 5c  c\" != \"$magic\
1c5b0 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20  "; then.      # 
1c5c0 52 75 6e 20 74 68 65 20 61 63 74 75 61 6c 20 70  Run the actual p
1c5d0 72 6f 67 72 61 6d 20 77 69 74 68 20 6f 75 72 20  rogram with our 
1c5e0 61 72 67 75 6d 65 6e 74 73 2e 0a 22 0a 09 63 61  arguments.."..ca
1c5f0 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 23 20 77  se $host in..# w
1c600 69 6e 33 32 20 73 79 73 74 65 6d 73 20 6e 65 65  in32 systems nee
1c610 64 20 74 6f 20 75 73 65 20 74 68 65 20 70 72 6f  d to use the pro
1c620 67 20 70 61 74 68 20 66 6f 72 20 64 6c 6c 0a 09  g path for dll..
1c630 23 20 6c 6f 6f 6b 75 70 20 74 6f 20 77 6f 72 6b  # lookup to work
1c640 0a 09 2a 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c 20  ..*-*-cygwin* | 
1c650 2a 2d 2a 2d 70 77 33 32 2a 29 0a 09 20 20 24 65  *-*-pw32*)..  $e
1c660 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
1c670 5c 0a 20 20 20 20 20 20 65 78 65 63 20 5c 24 70  \.      exec \$p
1c680 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d  rogdir/\$program
1c690 20 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a 22   \${1+\"\$@\"}."
1c6a0 0a 09 20 20 3b 3b 0a 0a 09 23 20 42 61 63 6b 73  ..  ;;...# Backs
1c6b0 6c 61 73 68 65 73 20 73 65 70 61 72 61 74 65 20  lashes separate 
1c6c0 64 69 72 65 63 74 6f 72 69 65 73 20 6f 6e 20 70  directories on p
1c6d0 6c 61 69 6e 20 77 69 6e 64 6f 77 73 0a 09 2a 2d  lain windows..*-
1c6e0 2a 2d 6d 69 6e 67 77 20 7c 20 2a 2d 2a 2d 6f 73  *-mingw | *-*-os
1c6f0 32 2a 29 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20  2*)..  $echo >> 
1c700 24 6f 75 74 70 75 74 20 22 5c 0a 20 20 20 20 20  $output "\.     
1c710 20 65 78 65 63 20 5c 24 70 72 6f 67 64 69 72 5c   exec \$progdir\
1c720 5c 5c 5c 5c 24 70 72 6f 67 72 61 6d 20 5c 24 7b  \\\\$program \${
1c730 31 2b 5c 22 5c 24 40 5c 22 7d 0a 22 0a 09 20 20  1+\"\$@\"}."..  
1c740 3b 3b 0a 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f  ;;...*)..  $echo
1c750 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 20   >> $output "\. 
1c760 20 20 20 20 20 23 20 45 78 70 6f 72 74 20 74 68       # Export th
1c770 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 70 72  e path to the pr
1c780 6f 67 72 61 6d 2e 0a 20 20 20 20 20 20 50 41 54  ogram..      PAT
1c790 48 3d 5c 22 5c 24 70 72 6f 67 64 69 72 3a 5c 24  H=\"\$progdir:\$
1c7a0 50 41 54 48 5c 22 0a 20 20 20 20 20 20 65 78 70  PATH\".      exp
1c7b0 6f 72 74 20 50 41 54 48 0a 0a 20 20 20 20 20 20  ort PATH..      
1c7c0 65 78 65 63 20 5c 24 70 72 6f 67 72 61 6d 20 5c  exec \$program \
1c7d0 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a 22 0a 09  ${1+\"\$@\"}."..
1c7e0 20 20 3b 3b 0a 09 65 73 61 63 0a 09 24 65 63 68    ;;..esac..$ech
1c7f0 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a  o >> $output "\.
1c800 20 20 20 20 20 20 5c 24 65 63 68 6f 20 5c 22 5c        \$echo \"\
1c810 24 30 3a 20 63 61 6e 6e 6f 74 20 65 78 65 63 20  $0: cannot exec 
1c820 5c 24 70 72 6f 67 72 61 6d 20 5c 24 7b 31 2b 5c  \$program \${1+\
1c830 22 5c 24 40 5c 22 7d 5c 22 0a 20 20 20 20 20 20  "\$@\"}\".      
1c840 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 20 20  exit 1.    fi.  
1c850 65 6c 73 65 0a 20 20 20 20 23 20 54 68 65 20 70  else.    # The p
1c860 72 6f 67 72 61 6d 20 64 6f 65 73 6e 27 74 20 65  rogram doesn't e
1c870 78 69 73 74 2e 0a 20 20 20 20 5c 24 65 63 68 6f  xist..    \$echo
1c880 20 5c 22 5c 24 30 3a 20 65 72 72 6f 72 3a 20 5c   \"\$0: error: \
1c890 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72  $progdir/\$progr
1c8a0 61 6d 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73  am does not exis
1c8b0 74 5c 22 20 31 3e 26 32 0a 20 20 20 20 5c 24 65  t\" 1>&2.    \$e
1c8c0 63 68 6f 20 5c 22 54 68 69 73 20 73 63 72 69 70  cho \"This scrip
1c8d0 74 20 69 73 20 6a 75 73 74 20 61 20 77 72 61 70  t is just a wrap
1c8e0 70 65 72 20 66 6f 72 20 5c 24 70 72 6f 67 72 61  per for \$progra
1c8f0 6d 2e 5c 22 20 31 3e 26 32 0a 20 20 20 20 65 63  m.\" 1>&2.    ec
1c900 68 6f 20 5c 22 53 65 65 20 74 68 65 20 24 50 41  ho \"See the $PA
1c910 43 4b 41 47 45 20 64 6f 63 75 6d 65 6e 74 61 74  CKAGE documentat
1c920 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66  ion for more inf
1c930 6f 72 6d 61 74 69 6f 6e 2e 5c 22 20 31 3e 26 32  ormation.\" 1>&2
1c940 0a 20 20 20 20 65 78 69 74 20 31 0a 20 20 66 69  .    exit 1.  fi
1c950 0a 66 69 5c 0a 22 0a 09 63 68 6d 6f 64 20 2b 78  .fi\."..chmod +x
1c960 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 20 66   $output.      f
1c970 69 0a 20 20 20 20 20 20 65 78 69 74 20 30 0a 20  i.      exit 0. 
1c980 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
1c990 0a 0a 20 20 20 20 23 20 53 65 65 20 69 66 20 77  ..    # See if w
1c9a0 65 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 20  e need to build 
1c9b0 61 6e 20 6f 6c 64 2d 66 61 73 68 69 6f 6e 65 64  an old-fashioned
1c9c0 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20 66 6f   archive..    fo
1c9d0 72 20 6f 6c 64 6c 69 62 20 69 6e 20 24 6f 6c 64  r oldlib in $old
1c9e0 6c 69 62 73 3b 20 64 6f 0a 0a 20 20 20 20 20 20  libs; do..      
1c9f0 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
1ca00 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20  libtool_libs" = 
1ca10 63 6f 6e 76 65 6e 69 65 6e 63 65 3b 20 74 68 65  convenience; the
1ca20 6e 0a 09 6f 6c 64 6f 62 6a 73 3d 22 24 6c 69 62  n..oldobjs="$lib
1ca30 6f 62 6a 73 5f 73 61 76 65 22 0a 09 61 64 64 6c  objs_save"..addl
1ca40 69 62 73 3d 22 24 63 6f 6e 76 65 6e 69 65 6e 63  ibs="$convenienc
1ca50 65 22 0a 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  e"..build_libtoo
1ca60 6c 5f 6c 69 62 73 3d 6e 6f 0a 20 20 20 20 20 20  l_libs=no.      
1ca70 65 6c 73 65 0a 09 69 66 20 74 65 73 74 20 22 24  else..if test "$
1ca80 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
1ca90 62 73 22 20 3d 20 6d 6f 64 75 6c 65 3b 20 74 68  bs" = module; th
1caa0 65 6e 0a 09 20 20 6f 6c 64 6f 62 6a 73 3d 22 24  en..  oldobjs="$
1cab0 6c 69 62 6f 62 6a 73 5f 73 61 76 65 22 0a 09 20  libobjs_save".. 
1cac0 20 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c   build_libtool_l
1cad0 69 62 73 3d 6e 6f 0a 09 65 6c 73 65 0a 09 20 20  ibs=no..else..  
1cae0 6f 6c 64 6f 62 6a 73 3d 22 24 6f 62 6a 73 24 6f  oldobjs="$objs$o
1caf0 6c 64 5f 64 65 70 6c 69 62 73 20 22 60 24 65 63  ld_deplibs "`$ec
1cb00 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 5f 73 61  ho "X$libobjs_sa
1cb10 76 65 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24  ve" | $SP2NL | $
1cb20 58 73 65 64 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c  Xsed -e '/\.'${l
1cb30 69 62 65 78 74 7d 27 24 2f 64 27 20 2d 65 20 27  ibext}'$/d' -e '
1cb40 2f 5c 2e 6c 69 62 24 2f 64 27 20 2d 65 20 22 24  /\.lib$/d' -e "$
1cb50 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a  lo2o" | $NL2SP`.
1cb60 09 66 69 0a 09 61 64 64 6c 69 62 73 3d 22 24 6f  .fi..addlibs="$o
1cb70 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 22 0a  ld_convenience".
1cb80 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1cb90 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64  if test -n "$add
1cba0 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 67 65 6e  libs"; then..gen
1cbb0 74 6f 70 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a  top="$output_obj
1cbc0 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65  dir/${outputname
1cbd0 7d 78 22 0a 09 24 73 68 6f 77 20 22 24 7b 72 6d  }x"..$show "${rm
1cbe0 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 24 72 75  }r $gentop"..$ru
1cbf0 6e 20 24 7b 72 6d 7d 72 20 22 24 67 65 6e 74 6f  n ${rm}r "$gento
1cc00 70 22 0a 09 24 73 68 6f 77 20 22 6d 6b 64 69 72  p"..$show "mkdir
1cc10 20 24 67 65 6e 74 6f 70 22 0a 09 24 72 75 6e 20   $gentop"..$run 
1cc20 6d 6b 64 69 72 20 22 24 67 65 6e 74 6f 70 22 0a  mkdir "$gentop".
1cc30 09 73 74 61 74 75 73 3d 24 3f 0a 09 69 66 20 74  .status=$?..if t
1cc40 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65 20  est $status -ne 
1cc50 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 22  0 && test ! -d "
1cc60 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09  $gentop"; then..
1cc70 20 20 65 78 69 74 20 24 73 74 61 74 75 73 0a 09    exit $status..
1cc80 66 69 0a 09 67 65 6e 65 72 61 74 65 64 3d 22 24  fi..generated="$
1cc90 67 65 6e 65 72 61 74 65 64 20 24 67 65 6e 74 6f  generated $gento
1cca0 70 22 0a 0a 09 23 20 41 64 64 20 69 6e 20 6d 65  p"...# Add in me
1ccb0 6d 62 65 72 73 20 66 72 6f 6d 20 63 6f 6e 76 65  mbers from conve
1ccc0 6e 69 65 6e 63 65 20 61 72 63 68 69 76 65 73 2e  nience archives.
1ccd0 0a 09 66 6f 72 20 78 6c 69 62 20 69 6e 20 24 61  ..for xlib in $a
1cce0 64 64 6c 69 62 73 3b 20 64 6f 0a 09 20 20 23 20  ddlibs; do..  # 
1ccf0 45 78 74 72 61 63 74 20 74 68 65 20 6f 62 6a 65  Extract the obje
1cd00 63 74 73 2e 0a 09 20 20 63 61 73 65 20 24 78 6c  cts...  case $xl
1cd10 69 62 20 69 6e 0a 09 20 20 5b 5c 5c 2f 5d 2a 20  ib in..  [\\/]* 
1cd20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d  | [A-Za-z]:[\\/]
1cd30 2a 29 20 78 61 62 73 3d 22 24 78 6c 69 62 22 20  *) xabs="$xlib" 
1cd40 3b 3b 0a 09 20 20 2a 29 20 78 61 62 73 3d 60 70  ;;..  *) xabs=`p
1cd50 77 64 60 22 2f 24 78 6c 69 62 22 20 3b 3b 0a 09  wd`"/$xlib" ;;..
1cd60 20 20 65 73 61 63 0a 09 20 20 78 6c 69 62 3d 60    esac..  xlib=`
1cd70 24 65 63 68 6f 20 22 58 24 78 6c 69 62 22 20 7c  $echo "X$xlib" |
1cd80 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
1cd90 2f 25 25 27 60 0a 09 20 20 78 64 69 72 3d 22 24  /%%'`..  xdir="$
1cda0 67 65 6e 74 6f 70 2f 24 78 6c 69 62 22 0a 0a 09  gentop/$xlib"...
1cdb0 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20    $show "${rm}r 
1cdc0 24 78 64 69 72 22 0a 09 20 20 24 72 75 6e 20 24  $xdir"..  $run $
1cdd0 7b 72 6d 7d 72 20 22 24 78 64 69 72 22 0a 09 20  {rm}r "$xdir".. 
1cde0 20 24 73 68 6f 77 20 22 6d 6b 64 69 72 20 24 78   $show "mkdir $x
1cdf0 64 69 72 22 0a 09 20 20 24 72 75 6e 20 6d 6b 64  dir"..  $run mkd
1ce00 69 72 20 22 24 78 64 69 72 22 0a 09 20 20 73 74  ir "$xdir"..  st
1ce10 61 74 75 73 3d 24 3f 0a 09 20 20 69 66 20 74 65  atus=$?..  if te
1ce20 73 74 20 24 73 74 61 74 75 73 20 2d 6e 65 20 30  st $status -ne 0
1ce30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 22 24   && test ! -d "$
1ce40 78 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20  xdir"; then..   
1ce50 20 65 78 69 74 20 24 73 74 61 74 75 73 0a 09 20   exit $status.. 
1ce60 20 66 69 0a 09 20 20 24 73 68 6f 77 20 22 28 63   fi..  $show "(c
1ce70 64 20 24 78 64 69 72 20 26 26 20 24 41 52 20 78  d $xdir && $AR x
1ce80 20 24 78 61 62 73 29 22 0a 09 20 20 24 72 75 6e   $xabs)"..  $run
1ce90 20 65 76 61 6c 20 22 28 63 64 20 5c 24 78 64 69   eval "(cd \$xdi
1cea0 72 20 26 26 20 24 41 52 20 78 20 5c 24 78 61 62  r && $AR x \$xab
1ceb0 73 29 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a  s)" || exit $?..
1cec0 09 20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f 6c 64  .  oldobjs="$old
1ced0 6f 62 6a 73 20 22 60 66 69 6e 64 20 24 78 64 69  objs "`find $xdi
1cee0 72 20 2d 6e 61 6d 65 20 5c 2a 2e 24 7b 6f 62 6a  r -name \*.${obj
1cef0 65 78 74 7d 20 2d 70 72 69 6e 74 20 2d 6f 20 2d  ext} -print -o -
1cf00 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e  name \*.lo -prin
1cf10 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09 64 6f 6e  t | $NL2SP`..don
1cf20 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  e.      fi..    
1cf30 20 20 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d    # Do each comm
1cf40 61 6e 64 20 69 6e 20 74 68 65 20 61 72 63 68 69  and in the archi
1cf50 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20  ve commands..   
1cf60 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
1cf70 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d  old_archive_from
1cf80 5f 6e 65 77 5f 63 6d 64 73 22 20 26 26 20 74 65  _new_cmds" && te
1cf90 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
1cfa0 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ol_libs" = yes; 
1cfb0 74 68 65 6e 0a 09 65 76 61 6c 20 63 6d 64 73 3d  then..eval cmds=
1cfc0 5c 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66  \"$old_archive_f
1cfd0 72 6f 6d 5f 6e 65 77 5f 63 6d 64 73 5c 22 0a 20  rom_new_cmds\". 
1cfe0 20 20 20 20 20 65 6c 73 65 0a 09 23 20 45 6e 73       else..# Ens
1cff0 75 72 65 20 74 68 61 74 20 77 65 20 68 61 76 65  ure that we have
1d000 20 2e 6f 20 6f 62 6a 65 63 74 73 20 69 6e 20 70   .o objects in p
1d010 6c 61 63 65 20 69 6e 20 63 61 73 65 20 77 65 20  lace in case we 
1d020 64 65 63 69 64 65 64 0a 09 23 20 6e 6f 74 20 74  decided..# not t
1d030 6f 20 62 75 69 6c 64 20 61 20 73 68 61 72 65 64  o build a shared
1d040 20 6c 69 62 72 61 72 79 2c 20 61 6e 64 20 68 61   library, and ha
1d050 76 65 20 66 61 6c 6c 65 6e 20 62 61 63 6b 20 74  ve fallen back t
1d060 6f 20 62 75 69 6c 64 69 6e 67 0a 09 23 20 73 74  o building..# st
1d070 61 74 69 63 20 6c 69 62 73 20 65 76 65 6e 20 74  atic libs even t
1d080 68 6f 75 67 68 20 2d 2d 64 69 73 61 62 6c 65 2d  hough --disable-
1d090 73 74 61 74 69 63 20 77 61 73 20 70 61 73 73 65  static was passe
1d0a0 64 21 0a 09 66 6f 72 20 6f 6c 64 6f 62 6a 20 69  d!..for oldobj i
1d0b0 6e 20 24 6f 6c 64 6f 62 6a 73 3b 20 64 6f 0a 09  n $oldobjs; do..
1d0c0 20 20 69 66 20 74 65 73 74 20 21 20 2d 66 20 24    if test ! -f $
1d0d0 6f 6c 64 6f 62 6a 3b 20 74 68 65 6e 0a 09 20 20  oldobj; then..  
1d0e0 20 20 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58    xdir=`$echo "X
1d0f0 24 6f 6c 64 6f 62 6a 22 20 7c 20 24 58 73 65 64  $oldobj" | $Xsed
1d100 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25   -e 's%/[^/]*$%%
1d110 27 60 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  '`..    if test 
1d120 22 58 24 78 64 69 72 22 20 3d 20 22 58 24 6f 6c  "X$xdir" = "X$ol
1d130 64 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 20 20 20  dobj"; then..   
1d140 20 20 20 78 64 69 72 3d 22 2e 22 0a 09 20 20 20     xdir="."..   
1d150 20 65 6c 73 65 0a 09 20 20 20 20 20 20 78 64 69   else..      xdi
1d160 72 3d 22 24 78 64 69 72 22 0a 09 20 20 20 20 66  r="$xdir"..    f
1d170 69 0a 09 20 20 20 20 62 61 73 65 6f 62 6a 3d 60  i..    baseobj=`
1d180 24 65 63 68 6f 20 22 58 24 6f 6c 64 6f 62 6a 22  $echo "X$oldobj"
1d190 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
1d1a0 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20 6f 62 6a  .*/%%'`..    obj
1d1b0 3d 60 24 65 63 68 6f 20 22 58 24 62 61 73 65 6f  =`$echo "X$baseo
1d1c0 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  bj" | $Xsed -e "
1d1d0 24 6f 32 6c 6f 22 60 0a 09 20 20 20 20 24 73 68  $o2lo"`..    $sh
1d1e0 6f 77 20 22 28 63 64 20 24 78 64 69 72 20 26 26  ow "(cd $xdir &&
1d1f0 20 24 7b 4c 4e 5f 53 7d 20 24 6f 62 6a 20 24 62   ${LN_S} $obj $b
1d200 61 73 65 6f 62 6a 29 22 0a 09 20 20 20 20 24 72  aseobj)"..    $r
1d210 75 6e 20 65 76 61 6c 20 27 28 63 64 20 24 78 64  un eval '(cd $xd
1d220 69 72 20 26 26 20 24 7b 4c 4e 5f 53 7d 20 24 6f  ir && ${LN_S} $o
1d230 62 6a 20 24 62 61 73 65 6f 62 6a 29 27 20 7c 7c  bj $baseobj)' ||
1d240 20 65 78 69 74 20 24 3f 0a 09 20 20 66 69 0a 09   exit $?..  fi..
1d250 64 6f 6e 65 0a 0a 09 65 76 61 6c 20 63 6d 64 73  done...eval cmds
1d260 3d 5c 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f  =\"$old_archive_
1d270 63 6d 64 73 5c 22 0a 20 20 20 20 20 20 66 69 0a  cmds\".      fi.
1d280 20 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22        save_ifs="
1d290 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 20  $IFS"; IFS='~'. 
1d2a0 20 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20       for cmd in 
1d2b0 24 63 6d 64 73 3b 20 64 6f 0a 09 49 46 53 3d 22  $cmds; do..IFS="
1d2c0 24 73 61 76 65 5f 69 66 73 22 0a 09 24 73 68 6f  $save_ifs"..$sho
1d2d0 77 20 22 24 63 6d 64 22 0a 09 24 72 75 6e 20 65  w "$cmd"..$run e
1d2e0 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78  val "$cmd" || ex
1d2f0 69 74 20 24 3f 0a 20 20 20 20 20 20 64 6f 6e 65  it $?.      done
1d300 0a 20 20 20 20 20 20 49 46 53 3d 22 24 73 61 76  .      IFS="$sav
1d310 65 5f 69 66 73 22 0a 20 20 20 20 64 6f 6e 65 0a  e_ifs".    done.
1d320 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
1d330 22 24 67 65 6e 65 72 61 74 65 64 22 3b 20 74 68  "$generated"; th
1d340 65 6e 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22  en.      $show "
1d350 24 7b 72 6d 7d 72 24 67 65 6e 65 72 61 74 65 64  ${rm}r$generated
1d360 22 0a 20 20 20 20 20 20 24 72 75 6e 20 24 7b 72  ".      $run ${r
1d370 6d 7d 72 24 67 65 6e 65 72 61 74 65 64 0a 20 20  m}r$generated.  
1d380 20 20 66 69 0a 0a 20 20 20 20 23 20 4e 6f 77 20    fi..    # Now 
1d390 63 72 65 61 74 65 20 74 68 65 20 6c 69 62 74 6f  create the libto
1d3a0 6f 6c 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20  ol archive..    
1d3b0 63 61 73 65 20 24 6f 75 74 70 75 74 20 69 6e 0a  case $output in.
1d3c0 20 20 20 20 2a 2e 6c 61 29 0a 20 20 20 20 20 20      *.la).      
1d3d0 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 0a 20 20 20  old_library=.   
1d3e0 20 20 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f     test "$build_
1d3f0 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 20  old_libs" = yes 
1d400 26 26 20 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 22  && old_library="
1d410 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78 74  $libname.$libext
1d420 22 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 63  ".      $show "c
1d430 72 65 61 74 69 6e 67 20 24 6f 75 74 70 75 74 22  reating $output"
1d440 0a 0a 20 20 20 20 20 20 23 20 50 72 65 73 65 72  ..      # Preser
1d450 76 65 20 61 6e 79 20 76 61 72 69 61 62 6c 65 73  ve any variables
1d460 20 74 68 61 74 20 6d 61 79 20 61 66 66 65 63 74   that may affect
1d470 20 63 6f 6d 70 69 6c 65 72 20 62 65 68 61 76 69   compiler behavi
1d480 6f 72 0a 20 20 20 20 20 20 66 6f 72 20 76 61 72  or.      for var
1d490 20 69 6e 20 24 76 61 72 69 61 62 6c 65 73 5f 73   in $variables_s
1d4a0 61 76 65 64 5f 66 6f 72 5f 72 65 6c 69 6e 6b 3b  aved_for_relink;
1d4b0 20 64 6f 0a 09 69 66 20 65 76 61 6c 20 74 65 73   do..if eval tes
1d4c0 74 20 2d 7a 20 5c 22 5c 24 7b 24 76 61 72 2b 73  t -z \"\${$var+s
1d4d0 65 74 7d 5c 22 3b 20 74 68 65 6e 0a 09 20 20 72  et}\"; then..  r
1d4e0 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 7b  elink_command="{
1d4f0 20 74 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24 76   test -z \"\${$v
1d500 61 72 2b 73 65 74 7d 5c 22 20 7c 7c 20 75 6e 73  ar+set}\" || uns
1d510 65 74 20 24 76 61 72 20 7c 7c 20 7b 20 24 76 61  et $var || { $va
1d520 72 3d 3b 20 65 78 70 6f 72 74 20 24 76 61 72 3b  r=; export $var;
1d530 20 7d 3b 20 7d 3b 20 24 72 65 6c 69 6e 6b 5f 63   }; }; $relink_c
1d540 6f 6d 6d 61 6e 64 22 0a 09 65 6c 69 66 20 65 76  ommand"..elif ev
1d550 61 6c 20 76 61 72 5f 76 61 6c 75 65 3d 5c 24 24  al var_value=\$$
1d560 76 61 72 3b 20 74 65 73 74 20 2d 7a 20 22 24 76  var; test -z "$v
1d570 61 72 5f 76 61 6c 75 65 22 3b 20 74 68 65 6e 0a  ar_value"; then.
1d580 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  .  relink_comman
1d590 64 3d 22 24 76 61 72 3d 3b 20 65 78 70 6f 72 74  d="$var=; export
1d5a0 20 24 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63   $var; $relink_c
1d5b0 6f 6d 6d 61 6e 64 22 0a 09 65 6c 73 65 0a 09 20  ommand"..else.. 
1d5c0 20 76 61 72 5f 76 61 6c 75 65 3d 60 24 65 63 68   var_value=`$ech
1d5d0 6f 20 22 58 24 76 61 72 5f 76 61 6c 75 65 22 20  o "X$var_value" 
1d5e0 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
1d5f0 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09  _quote_subst"`..
1d600 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64    relink_command
1d610 3d 22 24 76 61 72 3d 5c 22 24 76 61 72 5f 76 61  ="$var=\"$var_va
1d620 6c 75 65 5c 22 3b 20 65 78 70 6f 72 74 20 24 76  lue\"; export $v
1d630 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  ar; $relink_comm
1d640 61 6e 64 22 0a 09 66 69 0a 20 20 20 20 20 20 64  and"..fi.      d
1d650 6f 6e 65 0a 20 20 20 20 20 20 23 20 51 75 6f 74  one.      # Quot
1d660 65 20 74 68 65 20 6c 69 6e 6b 20 63 6f 6d 6d 61  e the link comma
1d670 6e 64 20 66 6f 72 20 73 68 69 70 70 69 6e 67 2e  nd for shipping.
1d680 0a 20 20 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f  .      relink_co
1d690 6d 6d 61 6e 64 3d 22 28 63 64 20 60 70 77 64 60  mmand="(cd `pwd`
1d6a0 3b 20 24 53 48 45 4c 4c 20 24 30 20 2d 2d 6d 6f  ; $SHELL $0 --mo
1d6b0 64 65 3d 72 65 6c 69 6e 6b 20 24 6c 69 62 74 6f  de=relink $libto
1d6c0 6f 6c 5f 61 72 67 73 20 40 69 6e 73 74 5f 70 72  ol_args @inst_pr
1d6d0 65 66 69 78 5f 64 69 72 40 29 22 0a 20 20 20 20  efix_dir@)".    
1d6e0 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64    relink_command
1d6f0 3d 60 24 65 63 68 6f 20 22 58 24 72 65 6c 69 6e  =`$echo "X$relin
1d700 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73  k_command" | $Xs
1d710 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
1d720 65 5f 73 75 62 73 74 22 60 0a 0a 20 20 20 20 20  e_subst"`..     
1d730 20 23 20 4f 6e 6c 79 20 63 72 65 61 74 65 20 74   # Only create t
1d740 68 65 20 6f 75 74 70 75 74 20 69 66 20 6e 6f 74  he output if not
1d750 20 61 20 64 72 79 20 72 75 6e 2e 0a 20 20 20 20   a dry run..    
1d760 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72    if test -z "$r
1d770 75 6e 22 3b 20 74 68 65 6e 0a 09 66 6f 72 20 69  un"; then..for i
1d780 6e 73 74 61 6c 6c 65 64 20 69 6e 20 6e 6f 20 79  nstalled in no y
1d790 65 73 3b 20 64 6f 0a 09 20 20 69 66 20 74 65 73  es; do..  if tes
1d7a0 74 20 22 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d  t "$installed" =
1d7b0 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
1d7c0 69 66 20 74 65 73 74 20 2d 7a 20 22 24 69 6e 73  if test -z "$ins
1d7d0 74 61 6c 6c 5f 6c 69 62 64 69 72 22 3b 20 74 68  tall_libdir"; th
1d7e0 65 6e 0a 09 20 20 20 20 20 20 62 72 65 61 6b 0a  en..      break.
1d7f0 09 20 20 20 20 66 69 0a 09 20 20 20 20 6f 75 74  .    fi..    out
1d800 70 75 74 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a  put="$output_obj
1d810 64 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 22  dir/$outputname"
1d820 69 0a 09 20 20 20 20 23 20 52 65 70 6c 61 63 65  i..    # Replace
1d830 20 61 6c 6c 20 75 6e 69 6e 73 74 61 6c 6c 65 64   all uninstalled
1d840 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
1d850 65 73 20 77 69 74 68 20 74 68 65 20 69 6e 73 74  es with the inst
1d860 61 6c 6c 65 64 20 6f 6e 65 73 0a 09 20 20 20 20  alled ones..    
1d870 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
1d880 62 73 3d 0a 09 20 20 20 20 66 6f 72 20 64 65 70  bs=..    for dep
1d890 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
1d8a0 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
1d8b0 20 20 20 63 61 73 65 20 24 64 65 70 6c 69 62 20     case $deplib 
1d8c0 69 6e 0a 09 20 20 20 20 20 20 2a 2e 6c 61 29 0a  in..      *.la).
1d8d0 09 09 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58  ..name=`$echo "X
1d8e0 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65 64  $deplib" | $Xsed
1d8f0 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
1d900 09 09 65 76 61 6c 20 6c 69 62 64 69 72 3d 60 24  ..eval libdir=`$
1d910 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e  {SED} -n -e 's/^
1d920 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c  libdir=\(.*\)$/\
1d930 31 2f 70 27 20 24 64 65 70 6c 69 62 60 0a 09 09  1/p' $deplib`...
1d940 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62  if test -z "$lib
1d950 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 24  dir"; then...  $
1d960 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
1d970 20 5c 60 24 64 65 70 6c 69 62 27 20 69 73 20 6e   \`$deplib' is n
1d980 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f  ot a valid libto
1d990 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32  ol archive" 1>&2
1d9a0 0a 09 09 20 20 65 78 69 74 20 31 0a 09 09 66 69  ...  exit 1...fi
1d9b0 0a 09 09 6e 65 77 64 65 70 65 6e 64 65 6e 63 79  ...newdependency
1d9c0 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 65 6e  _libs="$newdepen
1d9d0 64 65 6e 63 79 5f 6c 69 62 73 20 24 6c 69 62 64  dency_libs $libd
1d9e0 69 72 2f 24 6e 61 6d 65 22 0a 09 09 3b 3b 0a 09  ir/$name"...;;..
1d9f0 20 20 20 20 20 20 2a 29 20 6e 65 77 64 65 70 65        *) newdepe
1da00 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 6e 65  ndency_libs="$ne
1da10 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
1da20 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20   $deplib" ;;..  
1da30 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 64 6f      esac..    do
1da40 6e 65 0a 09 20 20 20 20 64 65 70 65 6e 64 65 6e  ne..    dependen
1da50 63 79 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65 70  cy_libs="$newdep
1da60 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20  endency_libs".. 
1da70 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 0a 09     newdlfiles=..
1da80 20 20 20 20 66 6f 72 20 6c 69 62 20 69 6e 20 24      for lib in $
1da90 64 6c 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20  dlfiles; do..   
1daa0 20 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22     name=`$echo "
1dab0 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d  X$lib" | $Xsed -
1dac0 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20  e 's%^.*/%%'`.. 
1dad0 20 20 20 20 20 65 76 61 6c 20 6c 69 62 64 69 72       eval libdir
1dae0 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27  =`${SED} -n -e '
1daf0 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29  s/^libdir=\(.*\)
1db00 24 2f 5c 31 2f 70 27 20 24 6c 69 62 60 0a 09 20  $/\1/p' $lib`.. 
1db10 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20       if test -z 
1db20 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a  "$libdir"; then.
1db30 09 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
1db40 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e  me: \`$lib' is n
1db50 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f  ot a valid libto
1db60 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32  ol archive" 1>&2
1db70 0a 09 09 65 78 69 74 20 31 0a 09 20 20 20 20 20  ...exit 1..     
1db80 20 66 69 0a 09 20 20 20 20 20 20 6e 65 77 64 6c   fi..      newdl
1db90 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69 6c  files="$newdlfil
1dba0 65 73 20 24 6c 69 62 64 69 72 2f 24 6e 61 6d 65  es $libdir/$name
1dbb0 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20  "..    done..   
1dbc0 20 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c   dlfiles="$newdl
1dbd0 66 69 6c 65 73 22 0a 09 20 20 20 20 6e 65 77 64  files"..    newd
1dbe0 6c 70 72 65 66 69 6c 65 73 3d 0a 09 20 20 20 20  lprefiles=..    
1dbf0 66 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c 70 72  for lib in $dlpr
1dc00 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20  efiles; do..    
1dc10 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58    name=`$echo "X
1dc20 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  $lib" | $Xsed -e
1dc30 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20   's%^.*/%%'`..  
1dc40 20 20 20 20 65 76 61 6c 20 6c 69 62 64 69 72 3d      eval libdir=
1dc50 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 73  `${SED} -n -e 's
1dc60 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29 24  /^libdir=\(.*\)$
1dc70 2f 5c 31 2f 70 27 20 24 6c 69 62 60 0a 09 20 20  /\1/p' $lib`..  
1dc80 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
1dc90 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09  $libdir"; then..
1dca0 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
1dcb0 65 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f  e: \`$lib' is no
1dcc0 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f  t a valid libtoo
1dcd0 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32 0a  l archive" 1>&2.
1dce0 09 09 65 78 69 74 20 31 0a 09 20 20 20 20 20 20  ..exit 1..      
1dcf0 66 69 0a 09 20 20 20 20 20 20 6e 65 77 64 6c 70  fi..      newdlp
1dd00 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70  refiles="$newdlp
1dd10 72 65 66 69 6c 65 73 20 24 6c 69 62 64 69 72 2f  refiles $libdir/
1dd20 24 6e 61 6d 65 22 0a 09 20 20 20 20 64 6f 6e 65  $name"..    done
1dd30 0a 09 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73  ..    dlprefiles
1dd40 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73  ="$newdlprefiles
1dd50 22 0a 09 20 20 66 69 0a 09 20 20 24 72 6d 20 24  "..  fi..  $rm $
1dd60 6f 75 74 70 75 74 0a 09 20 20 23 20 70 6c 61 63  output..  # plac
1dd70 65 20 64 6c 6e 61 6d 65 20 69 6e 20 63 6f 72 72  e dlname in corr
1dd80 65 63 74 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72  ect position for
1dd90 20 63 79 67 77 69 6e 0a 09 20 20 74 64 6c 6e 61   cygwin..  tdlna
1dda0 6d 65 3d 24 64 6c 6e 61 6d 65 0a 09 20 20 63 61  me=$dlname..  ca
1ddb0 73 65 20 24 68 6f 73 74 2c 24 6f 75 74 70 75 74  se $host,$output
1ddc0 2c 24 69 6e 73 74 61 6c 6c 65 64 2c 24 6d 6f 64  ,$installed,$mod
1ddd0 75 6c 65 2c 24 64 6c 6e 61 6d 65 20 69 6e 0a 09  ule,$dlname in..
1dde0 20 20 20 20 2a 63 79 67 77 69 6e 2a 2c 2a 6c 61      *cygwin*,*la
1ddf0 69 2c 79 65 73 2c 6e 6f 2c 2a 2e 64 6c 6c 29 20  i,yes,no,*.dll) 
1de00 74 64 6c 6e 61 6d 65 3d 2e 2e 2f 62 69 6e 2f 24  tdlname=../bin/$
1de10 64 6c 6e 61 6d 65 20 3b 3b 0a 09 20 20 65 73 61  dlname ;;..  esa
1de20 63 0a 09 20 20 24 65 63 68 6f 20 3e 20 24 6f 75  c..  $echo > $ou
1de30 74 70 75 74 20 22 5c 0a 23 20 24 6f 75 74 70 75  tput "\.# $outpu
1de40 74 6e 61 6d 65 20 2d 20 61 20 6c 69 62 74 6f 6f  tname - a libtoo
1de50 6c 20 6c 69 62 72 61 72 79 20 66 69 6c 65 0a 23  l library file.#
1de60 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 24 50   Generated by $P
1de70 52 4f 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41  ROGRAM - GNU $PA
1de80 43 4b 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54  CKAGE $VERSION$T
1de90 49 4d 45 53 54 41 4d 50 0a 23 0a 23 20 50 6c 65  IMESTAMP.#.# Ple
1dea0 61 73 65 20 44 4f 20 4e 4f 54 20 64 65 6c 65 74  ase DO NOT delet
1deb0 65 20 74 68 69 73 20 66 69 6c 65 21 0a 23 20 49  e this file!.# I
1dec0 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 66  t is necessary f
1ded0 6f 72 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 6c  or linking the l
1dee0 69 62 72 61 72 79 2e 0a 0a 23 20 54 68 65 20 6e  ibrary...# The n
1def0 61 6d 65 20 74 68 61 74 20 77 65 20 63 61 6e 20  ame that we can 
1df00 64 6c 6f 70 65 6e 28 33 29 2e 0a 64 6c 6e 61 6d  dlopen(3)..dlnam
1df10 65 3d 27 24 74 64 6c 6e 61 6d 65 27 0a 0a 23 20  e='$tdlname'..# 
1df20 4e 61 6d 65 73 20 6f 66 20 74 68 69 73 20 6c 69  Names of this li
1df30 62 72 61 72 79 2e 0a 6c 69 62 72 61 72 79 5f 6e  brary..library_n
1df40 61 6d 65 73 3d 27 24 6c 69 62 72 61 72 79 5f 6e  ames='$library_n
1df50 61 6d 65 73 27 0a 0a 23 20 54 68 65 20 6e 61 6d  ames'..# The nam
1df60 65 20 6f 66 20 74 68 65 20 73 74 61 74 69 63 20  e of the static 
1df70 61 72 63 68 69 76 65 2e 0a 6f 6c 64 5f 6c 69 62  archive..old_lib
1df80 72 61 72 79 3d 27 24 6f 6c 64 5f 6c 69 62 72 61  rary='$old_libra
1df90 72 79 27 0a 0a 23 20 4c 69 62 72 61 72 69 65 73  ry'..# Libraries
1dfa0 20 74 68 61 74 20 74 68 69 73 20 6f 6e 65 20 64   that this one d
1dfb0 65 70 65 6e 64 73 20 75 70 6f 6e 2e 0a 64 65 70  epends upon..dep
1dfc0 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 27 24 64  endency_libs='$d
1dfd0 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 27 0a  ependency_libs'.
1dfe0 0a 23 20 56 65 72 73 69 6f 6e 20 69 6e 66 6f 72  .# Version infor
1dff0 6d 61 74 69 6f 6e 20 66 6f 72 20 24 6c 69 62 6e  mation for $libn
1e000 61 6d 65 2e 0a 63 75 72 72 65 6e 74 3d 24 63 75  ame..current=$cu
1e010 72 72 65 6e 74 0a 61 67 65 3d 24 61 67 65 0a 72  rrent.age=$age.r
1e020 65 76 69 73 69 6f 6e 3d 24 72 65 76 69 73 69 6f  evision=$revisio
1e030 6e 0a 0a 23 20 49 73 20 74 68 69 73 20 61 6e 20  n..# Is this an 
1e040 61 6c 72 65 61 64 79 20 69 6e 73 74 61 6c 6c 65  already installe
1e050 64 20 6c 69 62 72 61 72 79 3f 0a 69 6e 73 74 61  d library?.insta
1e060 6c 6c 65 64 3d 24 69 6e 73 74 61 6c 6c 65 64 0a  lled=$installed.
1e070 0a 23 20 46 69 6c 65 73 20 74 6f 20 64 6c 6f 70  .# Files to dlop
1e080 65 6e 2f 64 6c 70 72 65 6f 70 65 6e 0a 64 6c 6f  en/dlpreopen.dlo
1e090 70 65 6e 3d 27 24 64 6c 66 69 6c 65 73 27 0a 64  pen='$dlfiles'.d
1e0a0 6c 70 72 65 6f 70 65 6e 3d 27 24 64 6c 70 72 65  lpreopen='$dlpre
1e0b0 66 69 6c 65 73 27 0a 0a 23 20 44 69 72 65 63 74  files'..# Direct
1e0c0 6f 72 79 20 74 68 61 74 20 74 68 69 73 20 6c 69  ory that this li
1e0d0 62 72 61 72 79 20 6e 65 65 64 73 20 74 6f 20 62  brary needs to b
1e0e0 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 3a 0a  e installed in:.
1e0f0 6c 69 62 64 69 72 3d 27 24 69 6e 73 74 61 6c 6c  libdir='$install
1e100 5f 6c 69 62 64 69 72 27 22 0a 09 20 20 69 66 20  _libdir'"..  if 
1e110 74 65 73 74 20 22 24 69 6e 73 74 61 6c 6c 65 64  test "$installed
1e120 22 20 3d 20 6e 6f 20 26 26 20 74 65 73 74 20 24  " = no && test $
1e130 6e 65 65 64 5f 72 65 6c 69 6e 6b 20 3d 20 79 65  need_relink = ye
1e140 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63  s; then..    $ec
1e150 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c  ho >> $output "\
1e160 0a 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .relink_command=
1e170 5c 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  \"$relink_comman
1e180 64 5c 22 22 0a 09 20 20 66 69 0a 09 64 6f 6e 65  d\""..  fi..done
1e190 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
1e1a0 20 23 20 44 6f 20 61 20 73 79 6d 62 6f 6c 69 63   # Do a symbolic
1e1b0 20 6c 69 6e 6b 20 73 6f 20 74 68 61 74 20 74 68   link so that th
1e1c0 65 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76  e libtool archiv
1e1d0 65 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69  e can be found i
1e1e0 6e 0a 20 20 20 20 20 20 23 20 4c 44 5f 4c 49 42  n.      # LD_LIB
1e1f0 52 41 52 59 5f 50 41 54 48 20 62 65 66 6f 72 65  RARY_PATH before
1e200 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20   the program is 
1e210 69 6e 73 74 61 6c 6c 65 64 2e 0a 20 20 20 20 20  installed..     
1e220 20 24 73 68 6f 77 20 22 28 63 64 20 24 6f 75 74   $show "(cd $out
1e230 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72  put_objdir && $r
1e240 6d 20 24 6f 75 74 70 75 74 6e 61 6d 65 20 26 26  m $outputname &&
1e250 20 24 4c 4e 5f 53 20 2e 2e 2f 24 6f 75 74 70 75   $LN_S ../$outpu
1e260 74 6e 61 6d 65 20 24 6f 75 74 70 75 74 6e 61 6d  tname $outputnam
1e270 65 29 22 0a 20 20 20 20 20 20 24 72 75 6e 20 65  e)".      $run e
1e280 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74  val '(cd $output
1e290 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24  _objdir && $rm $
1e2a0 6f 75 74 70 75 74 6e 61 6d 65 20 26 26 20 24 4c  outputname && $L
1e2b0 4e 5f 53 20 2e 2e 2f 24 6f 75 74 70 75 74 6e 61  N_S ../$outputna
1e2c0 6d 65 20 24 6f 75 74 70 75 74 6e 61 6d 65 29 27  me $outputname)'
1e2d0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20   || exit $?.    
1e2e0 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20    ;;.    esac.  
1e2f0 20 20 65 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a    exit 0.    ;;.
1e300 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20 69 6e 73  .  # libtool ins
1e310 74 61 6c 6c 20 6d 6f 64 65 0a 20 20 69 6e 73 74  tall mode.  inst
1e320 61 6c 6c 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d  all).    modenam
1e330 65 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 69 6e  e="$modename: in
1e340 73 74 61 6c 6c 22 0a 0a 20 20 20 20 23 20 54 68  stall"..    # Th
1e350 65 72 65 20 6d 61 79 20 62 65 20 61 6e 20 6f 70  ere may be an op
1e360 74 69 6f 6e 61 6c 20 73 68 28 31 29 20 61 72 67  tional sh(1) arg
1e370 75 6d 65 6e 74 20 61 74 20 74 68 65 20 62 65 67  ument at the beg
1e380 69 6e 6e 69 6e 67 20 6f 66 0a 20 20 20 20 23 20  inning of.    # 
1e390 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 28 65 73  install_prog (es
1e3a0 70 65 63 69 61 6c 6c 79 20 6f 6e 20 57 69 6e 64  pecially on Wind
1e3b0 6f 77 73 20 4e 54 29 2e 0a 20 20 20 20 69 66 20  ows NT)..    if 
1e3c0 74 65 73 74 20 22 24 6e 6f 6e 6f 70 74 22 20 3d  test "$nonopt" =
1e3d0 20 22 24 53 48 45 4c 4c 22 20 7c 7c 20 74 65 73   "$SHELL" || tes
1e3e0 74 20 22 24 6e 6f 6e 6f 70 74 22 20 3d 20 2f 62  t "$nonopt" = /b
1e3f0 69 6e 2f 73 68 20 7c 7c 0a 20 20 20 20 20 20 20  in/sh ||.       
1e400 23 20 41 6c 6c 6f 77 20 74 68 65 20 75 73 65 20  # Allow the use 
1e410 6f 66 20 47 4e 55 20 73 68 74 6f 6f 6c 27 73 20  of GNU shtool's 
1e420 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 2e  install command.
1e430 0a 20 20 20 20 20 20 20 24 65 63 68 6f 20 22 58  .       $echo "X
1e440 24 6e 6f 6e 6f 70 74 22 20 7c 20 24 58 73 65 64  $nonopt" | $Xsed
1e450 20 7c 20 67 72 65 70 20 73 68 74 6f 6f 6c 20 3e   | grep shtool >
1e460 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e   /dev/null; then
1e470 0a 20 20 20 20 20 20 23 20 41 65 73 74 68 65 74  .      # Aesthet
1e480 69 63 61 6c 6c 79 20 71 75 6f 74 65 20 69 74 2e  ically quote it.
1e490 0a 20 20 20 20 20 20 61 72 67 3d 60 24 65 63 68  .      arg=`$ech
1e4a0 6f 20 22 58 24 6e 6f 6e 6f 70 74 22 20 7c 20 24  o "X$nonopt" | $
1e4b0 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
1e4c0 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20  ote_subst"`.    
1e4d0 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
1e4e0 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c       *[\[\~\#\^\
1e4f0 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c  &\*\(\)\{\}\|\;\
1e500 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d  <\>\?\'\ \.]*|*]
1e510 2a 29 0a 09 61 72 67 3d 22 5c 22 24 61 72 67 5c  *)..arg="\"$arg\
1e520 22 22 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61  ""..;;.      esa
1e530 63 0a 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f  c.      install_
1e540 70 72 6f 67 3d 22 24 61 72 67 20 22 0a 20 20 20  prog="$arg ".   
1e550 20 20 20 61 72 67 3d 22 24 31 22 0a 20 20 20 20     arg="$1".    
1e560 20 20 73 68 69 66 74 0a 20 20 20 20 65 6c 73 65    shift.    else
1e570 0a 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f 70  .      install_p
1e580 72 6f 67 3d 0a 20 20 20 20 20 20 61 72 67 3d 22  rog=.      arg="
1e590 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 66 69 0a  $nonopt".    fi.
1e5a0 0a 20 20 20 20 23 20 54 68 65 20 72 65 61 6c 20  .    # The real 
1e5b0 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 73  first argument s
1e5c0 68 6f 75 6c 64 20 62 65 20 74 68 65 20 6e 61 6d  hould be the nam
1e5d0 65 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c  e of the install
1e5e0 61 74 69 6f 6e 20 70 72 6f 67 72 61 6d 2e 0a 20  ation program.. 
1e5f0 20 20 20 23 20 41 65 73 74 68 65 74 69 63 61 6c     # Aesthetical
1e600 6c 79 20 71 75 6f 74 65 20 69 74 2e 0a 20 20 20  ly quote it..   
1e610 20 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 61   arg=`$echo "X$a
1e620 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  rg" | $Xsed -e "
1e630 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74  $sed_quote_subst
1e640 22 60 0a 20 20 20 20 63 61 73 65 20 24 61 72 67  "`.    case $arg
1e650 20 69 6e 0a 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23   in.    *[\[\~\#
1e660 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c  \^\&\*\(\)\{\}\|
1e670 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a  \;\<\>\?\'\ \.]*
1e680 7c 2a 5d 2a 29 0a 20 20 20 20 20 20 61 72 67 3d  |*]*).      arg=
1e690 22 5c 22 24 61 72 67 5c 22 22 0a 20 20 20 20 20  "\"$arg\"".     
1e6a0 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 20   ;;.    esac.   
1e6b0 20 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 3d 22 24   install_prog="$
1e6c0 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 24 61 72 67  install_prog$arg
1e6d0 22 0a 0a 20 20 20 20 23 20 57 65 20 6e 65 65 64  "..    # We need
1e6e0 20 74 6f 20 61 63 63 65 70 74 20 61 74 20 6c 65   to accept at le
1e6f0 61 73 74 20 61 6c 6c 20 74 68 65 20 42 53 44 20  ast all the BSD 
1e700 69 6e 73 74 61 6c 6c 20 66 6c 61 67 73 2e 0a 20  install flags.. 
1e710 20 20 20 64 65 73 74 3d 0a 20 20 20 20 66 69 6c     dest=.    fil
1e720 65 73 3d 0a 20 20 20 20 6f 70 74 73 3d 0a 20 20  es=.    opts=.  
1e730 20 20 70 72 65 76 3d 0a 20 20 20 20 69 6e 73 74    prev=.    inst
1e740 61 6c 6c 5f 74 79 70 65 3d 0a 20 20 20 20 69 73  all_type=.    is
1e750 64 69 72 3d 6e 6f 0a 20 20 20 20 73 74 72 69 70  dir=no.    strip
1e760 6d 65 3d 0a 20 20 20 20 66 6f 72 20 61 72 67 0a  me=.    for arg.
1e770 20 20 20 20 64 6f 0a 20 20 20 20 20 20 69 66 20      do.      if 
1e780 74 65 73 74 20 2d 6e 20 22 24 64 65 73 74 22 3b  test -n "$dest";
1e790 20 74 68 65 6e 0a 09 66 69 6c 65 73 3d 22 24 66   then..files="$f
1e7a0 69 6c 65 73 20 24 64 65 73 74 22 0a 09 64 65 73  iles $dest"..des
1e7b0 74 3d 22 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e  t="$arg"..contin
1e7c0 75 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  ue.      fi..   
1e7d0 20 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a     case $arg in.
1e7e0 20 20 20 20 20 20 2d 64 29 20 69 73 64 69 72 3d        -d) isdir=
1e7f0 79 65 73 20 3b 3b 0a 20 20 20 20 20 20 2d 66 29  yes ;;.      -f)
1e800 20 70 72 65 76 3d 22 2d 66 22 20 3b 3b 0a 20 20   prev="-f" ;;.  
1e810 20 20 20 20 2d 67 29 20 70 72 65 76 3d 22 2d 67      -g) prev="-g
1e820 22 20 3b 3b 0a 20 20 20 20 20 20 2d 6d 29 20 70  " ;;.      -m) p
1e830 72 65 76 3d 22 2d 6d 22 20 3b 3b 0a 20 20 20 20  rev="-m" ;;.    
1e840 20 20 2d 6f 29 20 70 72 65 76 3d 22 2d 6f 22 20    -o) prev="-o" 
1e850 3b 3b 0a 20 20 20 20 20 20 2d 73 29 0a 09 73 74  ;;.      -s)..st
1e860 72 69 70 6d 65 3d 22 20 2d 73 22 0a 09 63 6f 6e  ripme=" -s"..con
1e870 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20  tinue..;;.      
1e880 2d 2a 29 20 3b 3b 0a 0a 20 20 20 20 20 20 2a 29  -*) ;;..      *)
1e890 0a 09 23 20 49 66 20 74 68 65 20 70 72 65 76 69  ..# If the previ
1e8a0 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65 65 64 65  ous option neede
1e8b0 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20 74  d an argument, t
1e8c0 68 65 6e 20 73 6b 69 70 20 69 74 2e 0a 09 69 66  hen skip it...if
1e8d0 20 74 65 73 74 20 2d 6e 20 22 24 70 72 65 76 22   test -n "$prev"
1e8e0 3b 20 74 68 65 6e 0a 09 20 20 70 72 65 76 3d 0a  ; then..  prev=.
1e8f0 09 65 6c 73 65 0a 09 20 20 64 65 73 74 3d 22 24  .else..  dest="$
1e900 61 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65  arg"..  continue
1e910 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20 65  ..fi..;;.      e
1e920 73 61 63 0a 0a 20 20 20 20 20 20 23 20 41 65 73  sac..      # Aes
1e930 74 68 65 74 69 63 61 6c 6c 79 20 71 75 6f 74 65  thetically quote
1e940 20 74 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 20   the argument.. 
1e950 20 20 20 20 20 61 72 67 3d 60 24 65 63 68 6f 20       arg=`$echo 
1e960 22 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20  "X$arg" | $Xsed 
1e970 2d 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73  -e "$sed_quote_s
1e980 75 62 73 74 22 60 0a 20 20 20 20 20 20 63 61 73  ubst"`.      cas
1e990 65 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20  e $arg in.      
1e9a0 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28  *[\[\~\#\^\&\*\(
1e9b0 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f  \)\{\}\|\;\<\>\?
1e9c0 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 29 0a 09 61  \'\ \.]*|*]*)..a
1e9d0 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 3b  rg="\"$arg\""..;
1e9e0 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20  ;.      esac.   
1e9f0 20 20 20 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 3d     install_prog=
1ea00 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24  "$install_prog $
1ea10 61 72 67 22 0a 20 20 20 20 64 6f 6e 65 0a 0a 20  arg".    done.. 
1ea20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
1ea30 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 22 3b 20 74  install_prog"; t
1ea40 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20  hen.      $echo 
1ea50 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20  "$modename: you 
1ea60 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e 20  must specify an 
1ea70 69 6e 73 74 61 6c 6c 20 70 72 6f 67 72 61 6d 22  install program"
1ea80 20 31 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68   1>&2.      $ech
1ea90 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20  o "$help" 1>&2. 
1eaa0 20 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20       exit 1.    
1eab0 66 69 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  fi..    if test 
1eac0 2d 6e 20 22 24 70 72 65 76 22 3b 20 74 68 65 6e  -n "$prev"; then
1ead0 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d  .      $echo "$m
1eae0 6f 64 65 6e 61 6d 65 3a 20 74 68 65 20 5c 60 24  odename: the \`$
1eaf0 70 72 65 76 27 20 6f 70 74 69 6f 6e 20 72 65 71  prev' option req
1eb00 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e  uires an argumen
1eb10 74 22 20 31 3e 26 32 0a 20 20 20 20 20 20 24 65  t" 1>&2.      $e
1eb20 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
1eb30 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20 20  .      exit 1.  
1eb40 20 20 66 69 0a 0a 20 20 20 20 69 66 20 74 65 73    fi..    if tes
1eb50 74 20 2d 7a 20 22 24 66 69 6c 65 73 22 3b 20 74  t -z "$files"; t
1eb60 68 65 6e 0a 20 20 20 20 20 20 69 66 20 74 65 73  hen.      if tes
1eb70 74 20 2d 7a 20 22 24 64 65 73 74 22 3b 20 74 68  t -z "$dest"; th
1eb80 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
1eb90 6e 61 6d 65 3a 20 6e 6f 20 66 69 6c 65 20 6f 72  name: no file or
1eba0 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 73 70 65   destination spe
1ebb0 63 69 66 69 65 64 22 20 31 3e 26 32 0a 20 20 20  cified" 1>&2.   
1ebc0 20 20 20 65 6c 73 65 0a 09 24 65 63 68 6f 20 22     else..$echo "
1ebd0 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d  $modename: you m
1ebe0 75 73 74 20 73 70 65 63 69 66 79 20 61 20 64 65  ust specify a de
1ebf0 73 74 69 6e 61 74 69 6f 6e 22 20 31 3e 26 32 0a  stination" 1>&2.
1ec00 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 24        fi.      $
1ec10 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
1ec20 32 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20  2.      exit 1. 
1ec30 20 20 20 66 69 0a 0a 20 20 20 20 23 20 53 74 72     fi..    # Str
1ec40 69 70 20 61 6e 79 20 74 72 61 69 6c 69 6e 67 20  ip any trailing 
1ec50 73 6c 61 73 68 20 66 72 6f 6d 20 74 68 65 20 64  slash from the d
1ec60 65 73 74 69 6e 61 74 69 6f 6e 2e 0a 20 20 20 20  estination..    
1ec70 64 65 73 74 3d 60 24 65 63 68 6f 20 22 58 24 64  dest=`$echo "X$d
1ec80 65 73 74 22 20 7c 20 24 58 73 65 64 20 2d 65 20  est" | $Xsed -e 
1ec90 27 73 25 2f 24 25 25 27 60 0a 0a 20 20 20 20 23  's%/$%%'`..    #
1eca0 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68   Check to see th
1ecb0 61 74 20 74 68 65 20 64 65 73 74 69 6e 61 74 69  at the destinati
1ecc0 6f 6e 20 69 73 20 61 20 64 69 72 65 63 74 6f 72  on is a director
1ecd0 79 2e 0a 20 20 20 20 74 65 73 74 20 2d 64 20 22  y..    test -d "
1ece0 24 64 65 73 74 22 20 26 26 20 69 73 64 69 72 3d  $dest" && isdir=
1ecf0 79 65 73 0a 20 20 20 20 69 66 20 74 65 73 74 20  yes.    if test 
1ed00 22 24 69 73 64 69 72 22 20 3d 20 79 65 73 3b 20  "$isdir" = yes; 
1ed10 74 68 65 6e 0a 20 20 20 20 20 20 64 65 73 74 64  then.      destd
1ed20 69 72 3d 22 24 64 65 73 74 22 0a 20 20 20 20 20  ir="$dest".     
1ed30 20 64 65 73 74 6e 61 6d 65 3d 0a 20 20 20 20 65   destname=.    e
1ed40 6c 73 65 0a 20 20 20 20 20 20 64 65 73 74 64 69  lse.      destdi
1ed50 72 3d 60 24 65 63 68 6f 20 22 58 24 64 65 73 74  r=`$echo "X$dest
1ed60 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
1ed70 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20  /[^/]*$%%'`.    
1ed80 20 20 74 65 73 74 20 22 58 24 64 65 73 74 64 69    test "X$destdi
1ed90 72 22 20 3d 20 22 58 24 64 65 73 74 22 20 26 26  r" = "X$dest" &&
1eda0 20 64 65 73 74 64 69 72 3d 2e 0a 20 20 20 20 20   destdir=..     
1edb0 20 64 65 73 74 6e 61 6d 65 3d 60 24 65 63 68 6f   destname=`$echo
1edc0 20 22 58 24 64 65 73 74 22 20 7c 20 24 58 73 65   "X$dest" | $Xse
1edd0 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60  d -e 's%^.*/%%'`
1ede0 0a 0a 20 20 20 20 20 20 23 20 4e 6f 74 20 61 20  ..      # Not a 
1edf0 64 69 72 65 63 74 6f 72 79 2c 20 73 6f 20 63 68  directory, so ch
1ee00 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20  eck to see that 
1ee10 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e  there is only on
1ee20 65 20 66 69 6c 65 20 73 70 65 63 69 66 69 65 64  e file specified
1ee30 2e 0a 20 20 20 20 20 20 73 65 74 20 64 75 6d 6d  ..      set dumm
1ee40 79 20 24 66 69 6c 65 73 0a 20 20 20 20 20 20 69  y $files.      i
1ee50 66 20 74 65 73 74 20 24 23 20 2d 67 74 20 32 3b  f test $# -gt 2;
1ee60 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
1ee70 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 64 65 73 74  odename: \`$dest
1ee80 27 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63  ' is not a direc
1ee90 74 6f 72 79 22 20 31 3e 26 32 0a 09 24 65 63 68  tory" 1>&2..$ech
1eea0 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09  o "$help" 1>&2..
1eeb0 65 78 69 74 20 31 0a 20 20 20 20 20 20 66 69 0a  exit 1.      fi.
1eec0 20 20 20 20 66 69 0a 20 20 20 20 63 61 73 65 20      fi.    case 
1eed0 24 64 65 73 74 64 69 72 20 69 6e 0a 20 20 20 20  $destdir in.    
1eee0 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a  [\\/]* | [A-Za-z
1eef0 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 20 20 20  ]:[\\/]*) ;;.   
1ef00 20 2a 29 0a 20 20 20 20 20 20 66 6f 72 20 66 69   *).      for fi
1ef10 6c 65 20 69 6e 20 24 66 69 6c 65 73 3b 20 64 6f  le in $files; do
1ef20 0a 09 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a  ..case $file in.
1ef30 09 2a 2e 6c 6f 29 20 3b 3b 0a 09 2a 29 0a 09 20  .*.lo) ;;..*).. 
1ef40 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
1ef50 65 3a 20 5c 60 24 64 65 73 74 64 69 72 27 20 6d  e: \`$destdir' m
1ef60 75 73 74 20 62 65 20 61 6e 20 61 62 73 6f 6c 75  ust be an absolu
1ef70 74 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d  te directory nam
1ef80 65 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f  e" 1>&2..  $echo
1ef90 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20   "$help" 1>&2.. 
1efa0 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65   exit 1..  ;;..e
1efb0 73 61 63 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20  sac.      done. 
1efc0 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
1efd0 0a 0a 20 20 20 20 23 20 54 68 69 73 20 76 61 72  ..    # This var
1efe0 69 61 62 6c 65 20 74 65 6c 6c 73 20 77 72 61 70  iable tells wrap
1eff0 70 65 72 20 73 63 72 69 70 74 73 20 6a 75 73 74  per scripts just
1f000 20 74 6f 20 73 65 74 20 76 61 72 69 61 62 6c 65   to set variable
1f010 73 20 72 61 74 68 65 72 0a 20 20 20 20 23 20 74  s rather.    # t
1f020 68 61 6e 20 72 75 6e 6e 69 6e 67 20 74 68 65 69  han running thei
1f030 72 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20  r programs..    
1f040 6c 69 62 74 6f 6f 6c 5f 69 6e 73 74 61 6c 6c 5f  libtool_install_
1f050 6d 61 67 69 63 3d 22 24 6d 61 67 69 63 22 0a 0a  magic="$magic"..
1f060 20 20 20 20 73 74 61 74 69 63 6c 69 62 73 3d 0a      staticlibs=.
1f070 20 20 20 20 66 75 74 75 72 65 5f 6c 69 62 64 69      future_libdi
1f080 72 73 3d 0a 20 20 20 20 63 75 72 72 65 6e 74 5f  rs=.    current_
1f090 6c 69 62 64 69 72 73 3d 0a 20 20 20 20 66 6f 72  libdirs=.    for
1f0a0 20 66 69 6c 65 20 69 6e 20 24 66 69 6c 65 73 3b   file in $files;
1f0b0 20 64 6f 0a 0a 20 20 20 20 20 20 23 20 44 6f 20   do..      # Do 
1f0c0 65 61 63 68 20 69 6e 73 74 61 6c 6c 61 74 69 6f  each installatio
1f0d0 6e 2e 0a 20 20 20 20 20 20 63 61 73 65 20 24 66  n..      case $f
1f0e0 69 6c 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e 24  ile in.      *.$
1f0f0 6c 69 62 65 78 74 29 0a 09 23 20 44 6f 20 74 68  libext)..# Do th
1f100 65 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 69  e static librari
1f110 65 73 20 6c 61 74 65 72 2e 0a 09 73 74 61 74 69  es later...stati
1f120 63 6c 69 62 73 3d 22 24 73 74 61 74 69 63 6c 69  clibs="$staticli
1f130 62 73 20 24 66 69 6c 65 22 0a 09 3b 3b 0a 0a 20  bs $file"..;;.. 
1f140 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23 20 43 68       *.la)..# Ch
1f150 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20  eck to see that 
1f160 74 68 69 73 20 72 65 61 6c 6c 79 20 69 73 20 61  this really is a
1f170 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65   libtool archive
1f180 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d 20 2d 65  ...if (${SED} -e
1f190 20 27 32 71 27 20 24 66 69 6c 65 20 7c 20 65 67   '2q' $file | eg
1f1a0 72 65 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65  rep "^# Generate
1f1b0 64 20 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22  d by .*$PACKAGE"
1f1c0 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26  ) >/dev/null 2>&
1f1d0 31 3b 20 74 68 65 6e 20 3a 0a 09 65 6c 73 65 0a  1; then :..else.
1f1e0 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
1f1f0 61 6d 65 3a 20 5c 60 24 66 69 6c 65 27 20 69 73  ame: \`$file' is
1f200 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62   not a valid lib
1f210 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e  tool archive" 1>
1f220 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65  &2..  $echo "$he
1f230 6c 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74  lp" 1>&2..  exit
1f240 20 31 0a 09 66 69 0a 0a 09 6c 69 62 72 61 72 79   1..fi...library
1f250 5f 6e 61 6d 65 73 3d 0a 09 6f 6c 64 5f 6c 69 62  _names=..old_lib
1f260 72 61 72 79 3d 0a 09 72 65 6c 69 6e 6b 5f 63 6f  rary=..relink_co
1f270 6d 6d 61 6e 64 3d 0a 09 23 20 49 66 20 74 68 65  mmand=..# If the
1f280 72 65 20 69 73 20 6e 6f 20 64 69 72 65 63 74 6f  re is no directo
1f290 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68  ry component, th
1f2a0 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 63 61 73  en add one...cas
1f2b0 65 20 24 66 69 6c 65 20 69 6e 0a 09 2a 2f 2a 20  e $file in..*/* 
1f2c0 7c 20 2a 5c 5c 2a 29 20 2e 20 24 66 69 6c 65 20  | *\\*) . $file 
1f2d0 3b 3b 0a 09 2a 29 20 2e 20 2e 2f 24 66 69 6c 65  ;;..*) . ./$file
1f2e0 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 20 41 64   ;;..esac...# Ad
1f2f0 64 20 74 68 65 20 6c 69 62 64 69 72 20 74 6f 20  d the libdir to 
1f300 63 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 20  current_libdirs 
1f310 69 66 20 69 74 20 69 73 20 74 68 65 20 64 65 73  if it is the des
1f320 74 69 6e 61 74 69 6f 6e 2e 0a 09 69 66 20 74 65  tination...if te
1f330 73 74 20 22 58 24 64 65 73 74 64 69 72 22 20 3d  st "X$destdir" =
1f340 20 22 58 24 6c 69 62 64 69 72 22 3b 20 74 68 65   "X$libdir"; the
1f350 6e 0a 09 20 20 63 61 73 65 20 22 24 63 75 72 72  n..  case "$curr
1f360 65 6e 74 5f 6c 69 62 64 69 72 73 20 22 20 69 6e  ent_libdirs " in
1f370 0a 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22  ..  *" $libdir "
1f380 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 63 75 72 72  *) ;;..  *) curr
1f390 65 6e 74 5f 6c 69 62 64 69 72 73 3d 22 24 63 75  ent_libdirs="$cu
1f3a0 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 20 24 6c  rrent_libdirs $l
1f3b0 69 62 64 69 72 22 20 3b 3b 0a 09 20 20 65 73 61  ibdir" ;;..  esa
1f3c0 63 0a 09 65 6c 73 65 0a 09 20 20 23 20 4e 6f 74  c..else..  # Not
1f3d0 65 20 74 68 65 20 6c 69 62 64 69 72 20 61 73 20  e the libdir as 
1f3e0 61 20 66 75 74 75 72 65 20 6c 69 62 64 69 72 2e  a future libdir.
1f3f0 0a 09 20 20 63 61 73 65 20 22 24 66 75 74 75 72  ..  case "$futur
1f400 65 5f 6c 69 62 64 69 72 73 20 22 20 69 6e 0a 09  e_libdirs " in..
1f410 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a 29    *" $libdir "*)
1f420 20 3b 3b 0a 09 20 20 2a 29 20 66 75 74 75 72 65   ;;..  *) future
1f430 5f 6c 69 62 64 69 72 73 3d 22 24 66 75 74 75 72  _libdirs="$futur
1f440 65 5f 6c 69 62 64 69 72 73 20 24 6c 69 62 64 69  e_libdirs $libdi
1f450 72 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66  r" ;;..  esac..f
1f460 69 0a 0a 09 64 69 72 3d 60 24 65 63 68 6f 20 22  i...dir=`$echo "
1f470 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20  X$file" | $Xsed 
1f480 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27  -e 's%/[^/]*$%%'
1f490 60 2f 0a 09 74 65 73 74 20 22 58 24 64 69 72 22  `/..test "X$dir"
1f4a0 20 3d 20 22 58 24 66 69 6c 65 2f 22 20 26 26 20   = "X$file/" && 
1f4b0 64 69 72 3d 0a 09 64 69 72 3d 22 24 64 69 72 24  dir=..dir="$dir$
1f4c0 6f 62 6a 64 69 72 22 0a 0a 09 69 66 20 74 65 73  objdir"...if tes
1f4d0 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b 5f 63 6f  t -n "$relink_co
1f4e0 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 0a 20 20 20  mmand"; then.   
1f4f0 20 20 20 20 20 20 20 23 20 44 65 74 65 72 6d 69         # Determi
1f500 6e 65 20 74 68 65 20 70 72 65 66 69 78 20 74 68  ne the prefix th
1f510 65 20 75 73 65 72 20 68 61 73 20 61 70 70 6c 69  e user has appli
1f520 65 64 20 74 6f 20 6f 75 72 20 66 75 74 75 72 65  ed to our future
1f530 20 64 69 72 2e 0a 20 20 20 20 20 20 20 20 20 20   dir..          
1f540 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 3d  inst_prefix_dir=
1f550 60 24 65 63 68 6f 20 22 24 64 65 73 74 64 69 72  `$echo "$destdir
1f560 22 20 7c 20 73 65 64 20 22 73 25 24 6c 69 62 64  " | sed "s%$libd
1f570 69 72 5c 24 25 25 22 60 0a 20 0a 20 20 20 20 20  ir\$%%"`. .     
1f580 20 20 20 20 20 23 20 44 6f 6e 27 74 20 61 6c 6c       # Don't all
1f590 6f 77 20 74 68 65 20 75 73 65 72 20 74 6f 20 70  ow the user to p
1f5a0 6c 61 63 65 20 75 73 20 6f 75 74 73 69 64 65 20  lace us outside 
1f5b0 6f 66 20 6f 75 72 20 65 78 70 65 63 74 65 64 0a  of our expected.
1f5c0 20 20 20 20 20 20 20 20 20 20 23 20 6c 6f 63 61            # loca
1f5d0 74 69 6f 6e 20 62 2f 63 20 74 68 69 73 20 70 72  tion b/c this pr
1f5e0 65 76 65 6e 74 73 20 66 69 6e 64 69 6e 67 20 64  events finding d
1f5f0 65 70 65 6e 64 65 6e 74 20 6c 69 62 72 61 72 69  ependent librari
1f600 65 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20  es that.        
1f610 20 20 23 20 61 72 65 20 69 6e 73 74 61 6c 6c 65    # are installe
1f620 64 20 74 6f 20 74 68 65 20 73 61 6d 65 20 70 72  d to the same pr
1f630 65 66 69 78 2e 0a 20 20 20 20 20 20 20 20 20 20  efix..          
1f640 69 66 20 74 65 73 74 20 22 24 69 6e 73 74 5f 70  if test "$inst_p
1f650 72 65 66 69 78 5f 64 69 72 22 20 3d 20 22 24 64  refix_dir" = "$d
1f660 65 73 74 64 69 72 22 3b 20 74 68 65 6e 0a 20 20  estdir"; then.  
1f670 20 20 20 20 20 20 20 20 20 20 24 65 63 68 6f 20            $echo 
1f680 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 65 72 72 6f  "$modename: erro
1f690 72 3a 20 63 61 6e 6e 6f 74 20 69 6e 73 74 61 6c  r: cannot instal
1f6a0 6c 20 5c 60 24 66 69 6c 65 27 20 74 6f 20 61 20  l \`$file' to a 
1f6b0 64 69 72 65 63 74 6f 72 79 20 6e 6f 74 20 65 6e  directory not en
1f6c0 64 69 6e 67 20 69 6e 20 24 6c 69 62 64 69 72 22  ding in $libdir"
1f6d0 20 31 3e 26 32 0a 20 20 20 20 20 20 20 20 20 20   1>&2.          
1f6e0 20 20 65 78 69 74 20 31 0a 20 20 20 20 20 20 20    exit 1.       
1f6f0 20 20 20 66 69 0a 20 0a 20 20 20 20 20 20 20 20     fi. .        
1f700 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69    if test -n "$i
1f710 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 22 3b  nst_prefix_dir";
1f720 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   then.          
1f730 20 20 23 20 53 74 69 63 6b 20 74 68 65 20 69 6e    # Stick the in
1f740 73 74 5f 70 72 65 66 69 78 5f 64 69 72 20 64 61  st_prefix_dir da
1f750 74 61 20 69 6e 74 6f 20 74 68 65 20 6c 69 6e 6b  ta into the link
1f760 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20   command..      
1f770 20 20 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d        relink_com
1f780 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 24 72 65  mand=`$echo "$re
1f790 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20  link_command" | 
1f7a0 73 65 64 20 22 73 25 40 69 6e 73 74 5f 70 72 65  sed "s%@inst_pre
1f7b0 66 69 78 5f 64 69 72 40 25 2d 69 6e 73 74 2d 70  fix_dir@%-inst-p
1f7c0 72 65 66 69 78 2d 64 69 72 20 24 69 6e 73 74 5f  refix-dir $inst_
1f7d0 70 72 65 66 69 78 5f 64 69 72 25 22 60 0a 20 20  prefix_dir%"`.  
1f7e0 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20          else.   
1f7f0 20 20 20 20 20 20 20 20 20 72 65 6c 69 6e 6b 5f           relink_
1f800 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22  command=`$echo "
1f810 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  $relink_command"
1f820 20 7c 20 73 65 64 20 22 73 25 40 69 6e 73 74 5f   | sed "s%@inst_
1f830 70 72 65 66 69 78 5f 64 69 72 40 25 25 22 60 0a  prefix_dir@%%"`.
1f840 20 20 20 20 20 20 20 20 20 20 66 69 0a 0a 09 20            fi... 
1f850 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
1f860 65 3a 20 77 61 72 6e 69 6e 67 3a 20 72 65 6c 69  e: warning: reli
1f870 6e 6b 69 6e 67 20 5c 60 24 66 69 6c 65 27 22 20  nking \`$file'" 
1f880 31 3e 26 32 0a 09 20 20 24 73 68 6f 77 20 22 24  1>&2..  $show "$
1f890 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a  relink_command".
1f8a0 09 20 20 69 66 20 24 72 75 6e 20 65 76 61 6c 20  .  if $run eval 
1f8b0 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  "$relink_command
1f8c0 22 3b 20 74 68 65 6e 20 3a 0a 09 20 20 65 6c 73  "; then :..  els
1f8d0 65 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d  e..    $echo "$m
1f8e0 6f 64 65 6e 61 6d 65 3a 20 65 72 72 6f 72 3a 20  odename: error: 
1f8f0 72 65 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27 20  relink \`$file' 
1f900 77 69 74 68 20 74 68 65 20 61 62 6f 76 65 20 63  with the above c
1f910 6f 6d 6d 61 6e 64 20 62 65 66 6f 72 65 20 69 6e  ommand before in
1f920 73 74 61 6c 6c 69 6e 67 20 69 74 22 20 31 3e 26  stalling it" 1>&
1f930 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20  2..    exit 1.. 
1f940 20 66 69 0a 09 66 69 0a 0a 09 23 20 53 65 65 20   fi..fi...# See 
1f950 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  the names of the
1f960 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 2e   shared library.
1f970 0a 09 73 65 74 20 64 75 6d 6d 79 20 24 6c 69 62  ..set dummy $lib
1f980 72 61 72 79 5f 6e 61 6d 65 73 0a 09 69 66 20 74  rary_names..if t
1f990 65 73 74 20 2d 6e 20 22 24 32 22 3b 20 74 68 65  est -n "$2"; the
1f9a0 6e 0a 09 20 20 72 65 61 6c 6e 61 6d 65 3d 22 24  n..  realname="$
1f9b0 32 22 0a 09 20 20 73 68 69 66 74 0a 09 20 20 73  2"..  shift..  s
1f9c0 68 69 66 74 0a 0a 09 20 20 73 72 63 6e 61 6d 65  hift...  srcname
1f9d0 3d 22 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20 20  ="$realname"..  
1f9e0 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b  test -n "$relink
1f9f0 5f 63 6f 6d 6d 61 6e 64 22 20 26 26 20 73 72 63  _command" && src
1fa00 6e 61 6d 65 3d 22 24 72 65 61 6c 6e 61 6d 65 22  name="$realname"
1fa10 54 0a 0a 09 20 20 23 20 49 6e 73 74 61 6c 6c 20  T...  # Install 
1fa20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61  the shared libra
1fa30 72 79 20 61 6e 64 20 62 75 69 6c 64 20 74 68 65  ry and build the
1fa40 20 73 79 6d 6c 69 6e 6b 73 2e 0a 09 20 20 24 73   symlinks...  $s
1fa50 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72  how "$install_pr
1fa60 6f 67 20 24 64 69 72 2f 24 73 72 63 6e 61 6d 65  og $dir/$srcname
1fa70 20 24 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e   $destdir/$realn
1fa80 61 6d 65 22 0a 09 20 20 24 72 75 6e 20 65 76 61  ame"..  $run eva
1fa90 6c 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  l "$install_prog
1faa0 20 24 64 69 72 2f 24 73 72 63 6e 61 6d 65 20 24   $dir/$srcname $
1fab0 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d  destdir/$realnam
1fac0 65 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20  e" || exit $?.. 
1fad0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 74   if test -n "$st
1fae0 72 69 70 6d 65 22 20 26 26 20 74 65 73 74 20 2d  ripme" && test -
1faf0 6e 20 22 24 73 74 72 69 70 6c 69 62 22 3b 20 74  n "$striplib"; t
1fb00 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77 20 22  hen..    $show "
1fb10 24 73 74 72 69 70 6c 69 62 20 24 64 65 73 74 64  $striplib $destd
1fb20 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20  ir/$realname".. 
1fb30 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 73     $run eval "$s
1fb40 74 72 69 70 6c 69 62 20 24 64 65 73 74 64 69 72  triplib $destdir
1fb50 2f 24 72 65 61 6c 6e 61 6d 65 22 20 7c 7c 20 65  /$realname" || e
1fb60 78 69 74 20 24 3f 0a 09 20 20 66 69 0a 0a 09 20  xit $?..  fi... 
1fb70 20 69 66 20 74 65 73 74 20 24 23 20 2d 67 74 20   if test $# -gt 
1fb80 30 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 44  0; then..    # D
1fb90 65 6c 65 74 65 20 74 68 65 20 6f 6c 64 20 73 79  elete the old sy
1fba0 6d 6c 69 6e 6b 73 2c 20 61 6e 64 20 63 72 65 61  mlinks, and crea
1fbb0 74 65 20 6e 65 77 20 6f 6e 65 73 2e 0a 09 20 20  te new ones...  
1fbc0 20 20 66 6f 72 20 6c 69 6e 6b 6e 61 6d 65 0a 09    for linkname..
1fbd0 20 20 20 20 64 6f 0a 09 20 20 20 20 20 20 69 66      do..      if
1fbe0 20 74 65 73 74 20 22 24 6c 69 6e 6b 6e 61 6d 65   test "$linkname
1fbf0 22 20 21 3d 20 22 24 72 65 61 6c 6e 61 6d 65 22  " != "$realname"
1fc00 3b 20 74 68 65 6e 0a 09 09 24 73 68 6f 77 20 22  ; then...$show "
1fc10 28 63 64 20 24 64 65 73 74 64 69 72 20 26 26 20  (cd $destdir && 
1fc20 24 72 6d 20 24 6c 69 6e 6b 6e 61 6d 65 20 26 26  $rm $linkname &&
1fc30 20 24 4c 4e 5f 53 20 24 72 65 61 6c 6e 61 6d 65   $LN_S $realname
1fc40 20 24 6c 69 6e 6b 6e 61 6d 65 29 22 0a 09 09 24   $linkname)"...$
1fc50 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20 24 64  run eval "(cd $d
1fc60 65 73 74 64 69 72 20 26 26 20 24 72 6d 20 24 6c  estdir && $rm $l
1fc70 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c 4e 5f 53  inkname && $LN_S
1fc80 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c 69 6e 6b   $realname $link
1fc90 6e 61 6d 65 29 22 0a 09 20 20 20 20 20 20 66 69  name)"..      fi
1fca0 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 66 69  ..    done..  fi
1fcb0 0a 0a 09 20 20 23 20 44 6f 20 65 61 63 68 20 63  ...  # Do each c
1fcc0 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 70 6f  ommand in the po
1fcd0 73 74 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e  stinstall comman
1fce0 64 73 2e 0a 09 20 20 6c 69 62 3d 22 24 64 65 73  ds...  lib="$des
1fcf0 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22 0a  tdir/$realname".
1fd00 09 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24  .  eval cmds=\"$
1fd10 70 6f 73 74 69 6e 73 74 61 6c 6c 5f 63 6d 64 73  postinstall_cmds
1fd20 5c 22 0a 09 20 20 73 61 76 65 5f 69 66 73 3d 22  \"..  save_ifs="
1fd30 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09  $IFS"; IFS='~'..
1fd40 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d    for cmd in $cm
1fd50 64 73 3b 20 64 6f 0a 09 20 20 20 20 49 46 53 3d  ds; do..    IFS=
1fd60 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20  "$save_ifs"..   
1fd70 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20   $show "$cmd".. 
1fd80 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63     $run eval "$c
1fd90 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09  md" || exit $?..
1fda0 20 20 64 6f 6e 65 0a 09 20 20 49 46 53 3d 22 24    done..  IFS="$
1fdb0 73 61 76 65 5f 69 66 73 22 0a 09 66 69 0a 0a 09  save_ifs"..fi...
1fdc0 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 70 73  # Install the ps
1fdd0 65 75 64 6f 2d 6c 69 62 72 61 72 79 20 66 6f 72  eudo-library for
1fde0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 75 72   information pur
1fdf0 70 6f 73 65 73 2e 0a 09 6e 61 6d 65 3d 60 24 65  poses...name=`$e
1fe00 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24  cho "X$file" | $
1fe10 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
1fe20 25 27 60 0a 09 69 6e 73 74 6e 61 6d 65 3d 22 24  %'`..instname="$
1fe30 64 69 72 2f 24 6e 61 6d 65 22 69 0a 09 24 73 68  dir/$name"i..$sh
1fe40 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f  ow "$install_pro
1fe50 67 20 24 69 6e 73 74 6e 61 6d 65 20 24 64 65 73  g $instname $des
1fe60 74 64 69 72 2f 24 6e 61 6d 65 22 0a 09 24 72 75  tdir/$name"..$ru
1fe70 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61 6c 6c  n eval "$install
1fe80 5f 70 72 6f 67 20 24 69 6e 73 74 6e 61 6d 65 20  _prog $instname 
1fe90 24 64 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 20  $destdir/$name" 
1fea0 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09 23 20 4d  || exit $?...# M
1feb0 61 79 62 65 20 69 6e 73 74 61 6c 6c 20 74 68 65  aybe install the
1fec0 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2c   static library,
1fed0 20 74 6f 6f 2e 0a 09 74 65 73 74 20 2d 6e 20 22   too...test -n "
1fee0 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 20 26 26  $old_library" &&
1fef0 20 73 74 61 74 69 63 6c 69 62 73 3d 22 24 73 74   staticlibs="$st
1ff00 61 74 69 63 6c 69 62 73 20 24 64 69 72 2f 24 6f  aticlibs $dir/$o
1ff10 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 3b 3b 0a  ld_library"..;;.
1ff20 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20  .      *.lo)..# 
1ff30 49 6e 73 74 61 6c 6c 20 28 69 2e 65 2e 20 63 6f  Install (i.e. co
1ff40 70 79 29 20 61 20 6c 69 62 74 6f 6f 6c 20 6f 62  py) a libtool ob
1ff50 6a 65 63 74 2e 0a 0a 09 23 20 46 69 67 75 72 65  ject....# Figure
1ff60 20 6f 75 74 20 64 65 73 74 69 6e 61 74 69 6f 6e   out destination
1ff70 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69 66 20 69   file name, if i
1ff80 74 20 77 61 73 6e 27 74 20 61 6c 72 65 61 64 79  t wasn't already
1ff90 20 73 70 65 63 69 66 69 65 64 2e 0a 09 69 66 20   specified...if 
1ffa0 74 65 73 74 20 2d 6e 20 22 24 64 65 73 74 6e 61  test -n "$destna
1ffb0 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 64 65 73  me"; then..  des
1ffc0 74 66 69 6c 65 3d 22 24 64 65 73 74 64 69 72 2f  tfile="$destdir/
1ffd0 24 64 65 73 74 6e 61 6d 65 22 0a 09 65 6c 73 65  $destname"..else
1ffe0 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 60 24 65  ..  destfile=`$e
1fff0 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24  cho "X$file" | $
20000 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
20010 25 27 60 0a 09 20 20 64 65 73 74 66 69 6c 65 3d  %'`..  destfile=
20020 22 24 64 65 73 74 64 69 72 2f 24 64 65 73 74 66  "$destdir/$destf
20030 69 6c 65 22 0a 09 66 69 0a 0a 09 23 20 44 65 64  ile"..fi...# Ded
20040 75 63 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  uce the name of 
20050 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20  the destination 
20060 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a 65 63 74  old-style object
20070 20 66 69 6c 65 2e 0a 09 63 61 73 65 20 24 64 65   file...case $de
20080 73 74 66 69 6c 65 20 69 6e 0a 09 2a 2e 6c 6f 29  stfile in..*.lo)
20090 0a 09 20 20 73 74 61 74 69 63 64 65 73 74 3d 60  ..  staticdest=`
200a0 24 65 63 68 6f 20 22 58 24 64 65 73 74 66 69 6c  $echo "X$destfil
200b0 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  e" | $Xsed -e "$
200c0 6c 6f 32 6f 22 60 0a 09 20 20 3b 3b 0a 09 2a 2e  lo2o"`..  ;;..*.
200d0 24 6f 62 6a 65 78 74 29 0a 09 20 20 73 74 61 74  $objext)..  stat
200e0 69 63 64 65 73 74 3d 22 24 64 65 73 74 66 69 6c  icdest="$destfil
200f0 65 22 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 0a  e"..  destfile=.
20100 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63  .  ;;..*)..  $ec
20110 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63  ho "$modename: c
20120 61 6e 6e 6f 74 20 63 6f 70 79 20 61 20 6c 69 62  annot copy a lib
20130 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 74 6f 20 5c  tool object to \
20140 60 24 64 65 73 74 66 69 6c 65 27 22 20 31 3e 26  `$destfile'" 1>&
20150 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c  2..  $echo "$hel
20160 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  p" 1>&2..  exit 
20170 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09  1..  ;;..esac...
20180 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 6c 69  # Install the li
20190 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 69 66 20  btool object if 
201a0 72 65 71 75 65 73 74 65 64 2e 0a 09 69 66 20 74  requested...if t
201b0 65 73 74 20 2d 6e 20 22 24 64 65 73 74 66 69 6c  est -n "$destfil
201c0 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 73 68 6f  e"; then..  $sho
201d0 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  w "$install_prog
201e0 20 24 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65   $file $destfile
201f0 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22  "..  $run eval "
20200 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 66  $install_prog $f
20210 69 6c 65 20 24 64 65 73 74 66 69 6c 65 22 20 7c  ile $destfile" |
20220 7c 20 65 78 69 74 20 24 3f 0a 09 66 69 0a 0a 09  | exit $?..fi...
20230 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 6f 6c  # Install the ol
20240 64 20 6f 62 6a 65 63 74 20 69 66 20 65 6e 61 62  d object if enab
20250 6c 65 64 2e 0a 09 69 66 20 74 65 73 74 20 22 24  led...if test "$
20260 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20  build_old_libs" 
20270 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23  = yes; then..  #
20280 20 44 65 64 75 63 65 20 74 68 65 20 6e 61 6d 65   Deduce the name
20290 20 6f 66 20 74 68 65 20 6f 6c 64 2d 73 74 79 6c   of the old-styl
202a0 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 09  e object file...
202b0 20 20 73 74 61 74 69 63 6f 62 6a 3d 60 24 65 63    staticobj=`$ec
202c0 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58  ho "X$file" | $X
202d0 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a  sed -e "$lo2o"`.
202e0 0a 09 20 20 24 73 68 6f 77 20 22 24 69 6e 73 74  ..  $show "$inst
202f0 61 6c 6c 5f 70 72 6f 67 20 24 73 74 61 74 69 63  all_prog $static
20300 6f 62 6a 20 24 73 74 61 74 69 63 64 65 73 74 22  obj $staticdest"
20310 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24  ..  $run eval "$
20320 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 5c 24 73  install_prog \$s
20330 74 61 74 69 63 6f 62 6a 20 5c 24 73 74 61 74 69  taticobj \$stati
20340 63 64 65 73 74 22 20 7c 7c 20 65 78 69 74 20 24  cdest" || exit $
20350 3f 0a 09 66 69 0a 09 65 78 69 74 20 30 0a 09 3b  ?..fi..exit 0..;
20360 3b 0a 0a 20 20 20 20 20 20 2a 29 0a 09 23 20 46  ;..      *)..# F
20370 69 67 75 72 65 20 6f 75 74 20 64 65 73 74 69 6e  igure out destin
20380 61 74 69 6f 6e 20 66 69 6c 65 20 6e 61 6d 65 2c  ation file name,
20390 20 69 66 20 69 74 20 77 61 73 6e 27 74 20 61 6c   if it wasn't al
203a0 72 65 61 64 79 20 73 70 65 63 69 66 69 65 64 2e  ready specified.
203b0 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64  ..if test -n "$d
203c0 65 73 74 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09  estname"; then..
203d0 20 20 64 65 73 74 66 69 6c 65 3d 22 24 64 65 73    destfile="$des
203e0 74 64 69 72 2f 24 64 65 73 74 6e 61 6d 65 22 0a  tdir/$destname".
203f0 09 65 6c 73 65 0a 09 20 20 64 65 73 74 66 69 6c  .else..  destfil
20400 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
20410 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
20420 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 64 65 73 74  ^.*/%%'`..  dest
20430 66 69 6c 65 3d 22 24 64 65 73 74 64 69 72 2f 24  file="$destdir/$
20440 64 65 73 74 66 69 6c 65 22 0a 09 66 69 0a 0a 09  destfile"..fi...
20450 23 20 44 6f 20 61 20 74 65 73 74 20 74 6f 20 73  # Do a test to s
20460 65 65 20 69 66 20 74 68 69 73 20 69 73 20 72 65  ee if this is re
20470 61 6c 6c 79 20 61 20 6c 69 62 74 6f 6f 6c 20 70  ally a libtool p
20480 72 6f 67 72 61 6d 2e 0a 09 63 61 73 65 20 24 68  rogram...case $h
20490 6f 73 74 20 69 6e 0a 09 2a 63 79 67 77 69 6e 2a  ost in..*cygwin*
204a0 7c 2a 6d 69 6e 67 77 2a 29 0a 09 20 20 20 20 77  |*mingw*)..    w
204b0 72 61 70 70 65 72 3d 60 65 63 68 6f 20 24 66 69  rapper=`echo $fi
204c0 6c 65 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27  le | ${SED} -e '
204d0 73 2c 2e 65 78 65 24 2c 2c 27 60 0a 09 20 20 20  s,.exe$,,'`..   
204e0 20 3b 3b 0a 09 2a 29 0a 09 20 20 20 20 77 72 61   ;;..*)..    wra
204f0 70 70 65 72 3d 24 66 69 6c 65 0a 09 20 20 20 20  pper=$file..    
20500 3b 3b 0a 09 65 73 61 63 0a 09 69 66 20 28 24 7b  ;;..esac..if (${
20510 53 45 44 7d 20 2d 65 20 27 34 71 27 20 24 77 72  SED} -e '4q' $wr
20520 61 70 70 65 72 20 7c 20 65 67 72 65 70 20 22 5e  apper | egrep "^
20530 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 2e  # Generated by .
20540 2a 24 50 41 43 4b 41 47 45 22 29 3e 2f 64 65 76  *$PACKAGE")>/dev
20550 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e  /null 2>&1; then
20560 0a 09 20 20 6e 6f 74 69 6e 73 74 5f 64 65 70 6c  ..  notinst_depl
20570 69 62 73 3d 0a 09 20 20 72 65 6c 69 6e 6b 5f 63  ibs=..  relink_c
20580 6f 6d 6d 61 6e 64 3d 0a 0a 09 20 20 23 20 49 66  ommand=...  # If
20590 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72   there is no dir
205a0 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74  ectory component
205b0 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a  , then add one..
205c0 09 20 20 63 61 73 65 20 24 66 69 6c 65 20 69 6e  .  case $file in
205d0 0a 09 20 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20  ..  */* | *\\*) 
205e0 2e 20 24 77 72 61 70 70 65 72 20 3b 3b 0a 09 20  . $wrapper ;;.. 
205f0 20 2a 29 20 2e 20 2e 2f 24 77 72 61 70 70 65 72   *) . ./$wrapper
20600 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20 20   ;;..  esac...  
20610 23 20 43 68 65 63 6b 20 74 68 65 20 76 61 72 69  # Check the vari
20620 61 62 6c 65 73 20 74 68 61 74 20 73 68 6f 75 6c  ables that shoul
20630 64 20 68 61 76 65 20 62 65 65 6e 20 73 65 74 2e  d have been set.
20640 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22  ..  if test -z "
20650 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73  $notinst_deplibs
20660 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63  "; then..    $ec
20670 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 69  ho "$modename: i
20680 6e 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 77  nvalid libtool w
20690 72 61 70 70 65 72 20 73 63 72 69 70 74 20 5c 60  rapper script \`
206a0 24 77 72 61 70 70 65 72 27 22 20 31 3e 26 32 0a  $wrapper'" 1>&2.
206b0 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20 66  .    exit 1..  f
206c0 69 0a 0a 09 20 20 66 69 6e 61 6c 69 7a 65 3d 79  i...  finalize=y
206d0 65 73 0a 09 20 20 66 6f 72 20 6c 69 62 20 69 6e  es..  for lib in
206e0 20 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62   $notinst_deplib
206f0 73 3b 20 64 6f 0a 09 20 20 20 20 23 20 43 68 65  s; do..    # Che
20700 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20 65  ck to see that e
20710 61 63 68 20 6c 69 62 72 61 72 79 20 69 73 20 69  ach library is i
20720 6e 73 74 61 6c 6c 65 64 2e 0a 09 20 20 20 20 6c  nstalled...    l
20730 69 62 64 69 72 3d 0a 09 20 20 20 20 69 66 20 74  ibdir=..    if t
20740 65 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20 74  est -f "$lib"; t
20750 68 65 6e 0a 09 20 20 20 20 20 20 23 20 49 66 20  hen..      # If 
20760 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65  there is no dire
20770 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c  ctory component,
20780 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09   then add one...
20790 20 20 20 20 20 20 63 61 73 65 20 24 6c 69 62 20        case $lib 
207a0 69 6e 0a 09 20 20 20 20 20 20 2a 2f 2a 20 7c 20  in..      */* | 
207b0 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62 20 3b 3b 0a  *\\*) . $lib ;;.
207c0 09 20 20 20 20 20 20 2a 29 20 2e 20 2e 2f 24 6c  .      *) . ./$l
207d0 69 62 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61  ib ;;..      esa
207e0 63 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 6c  c..    fi..    l
207f0 69 62 66 69 6c 65 3d 22 24 6c 69 62 64 69 72 2f  ibfile="$libdir/
20800 22 60 24 65 63 68 6f 20 22 58 24 6c 69 62 22 20  "`$echo "X$lib" 
20810 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
20820 2a 2f 25 25 67 27 60 20 23 23 23 20 74 65 73 74  */%%g'` ### test
20830 73 75 69 74 65 3a 20 73 6b 69 70 20 6e 65 73 74  suite: skip nest
20840 65 64 20 71 75 6f 74 69 6e 67 20 74 65 73 74 0a  ed quoting test.
20850 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
20860 22 24 6c 69 62 64 69 72 22 20 26 26 20 74 65 73  "$libdir" && tes
20870 74 20 21 20 2d 66 20 22 24 6c 69 62 66 69 6c 65  t ! -f "$libfile
20880 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24  "; then..      $
20890 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
208a0 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24 6c 69 62   warning: \`$lib
208b0 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 69  ' has not been i
208c0 6e 73 74 61 6c 6c 65 64 20 69 6e 20 5c 60 24 6c  nstalled in \`$l
208d0 69 62 64 69 72 27 22 20 31 3e 26 32 0a 09 20 20  ibdir'" 1>&2..  
208e0 20 20 20 20 66 69 6e 61 6c 69 7a 65 3d 6e 6f 0a      finalize=no.
208f0 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65 0a  .    fi..  done.
20900 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  ..  relink_comma
20910 6e 64 3d 0a 09 20 20 23 20 49 66 20 74 68 65 72  nd=..  # If ther
20920 65 20 69 73 20 6e 6f 20 64 69 72 65 63 74 6f 72  e is no director
20930 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65  y component, the
20940 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 20 20 63 61  n add one...  ca
20950 73 65 20 24 66 69 6c 65 20 69 6e 0a 09 20 20 2a  se $file in..  *
20960 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 77 72  /* | *\\*) . $wr
20970 61 70 70 65 72 20 3b 3b 0a 09 20 20 2a 29 20 2e  apper ;;..  *) .
20980 20 2e 2f 24 77 72 61 70 70 65 72 20 3b 3b 0a 09   ./$wrapper ;;..
20990 20 20 65 73 61 63 0a 0a 09 20 20 6f 75 74 70 75    esac...  outpu
209a0 74 6e 61 6d 65 3d 0a 09 20 20 69 66 20 74 65 73  tname=..  if tes
209b0 74 20 22 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c  t "$fast_install
209c0 22 20 3d 20 6e 6f 20 26 26 20 74 65 73 74 20 2d  " = no && test -
209d0 6e 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  n "$relink_comma
209e0 6e 64 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 69  nd"; then..    i
209f0 66 20 74 65 73 74 20 22 24 66 69 6e 61 6c 69 7a  f test "$finaliz
20a00 65 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  e" = yes && test
20a10 20 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68 65 6e   -z "$run"; then
20a20 0a 09 20 20 20 20 20 20 74 6d 70 64 69 72 3d 22  ..      tmpdir="
20a30 2f 74 6d 70 22 0a 09 20 20 20 20 20 20 74 65 73  /tmp"..      tes
20a40 74 20 2d 6e 20 22 24 54 4d 50 44 49 52 22 20 26  t -n "$TMPDIR" &
20a50 26 20 74 6d 70 64 69 72 3d 22 24 54 4d 50 44 49  & tmpdir="$TMPDI
20a60 52 22 0a 09 20 20 20 20 20 20 74 6d 70 64 69 72  R"..      tmpdir
20a70 3d 22 24 74 6d 70 64 69 72 2f 6c 69 62 74 6f 6f  ="$tmpdir/libtoo
20a80 6c 2d 24 24 22 0a 09 20 20 20 20 20 20 69 66 20  l-$$"..      if 
20a90 24 6d 6b 64 69 72 20 2d 70 20 22 24 74 6d 70 64  $mkdir -p "$tmpd
20aa0 69 72 22 20 26 26 20 63 68 6d 6f 64 20 37 30 30  ir" && chmod 700
20ab0 20 22 24 74 6d 70 64 69 72 22 3b 20 74 68 65 6e   "$tmpdir"; then
20ac0 20 3a 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09   :..      else..
20ad0 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
20ae0 65 3a 20 65 72 72 6f 72 3a 20 63 61 6e 6e 6f 74  e: error: cannot
20af0 20 63 72 65 61 74 65 20 74 65 6d 70 6f 72 61 72   create temporar
20b00 79 20 64 69 72 65 63 74 6f 72 79 20 5c 60 24 74  y directory \`$t
20b10 6d 70 64 69 72 27 22 20 31 3e 26 32 0a 09 09 63  mpdir'" 1>&2...c
20b20 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 20 20 66  ontinue..      f
20b30 69 0a 09 20 20 20 20 20 20 66 69 6c 65 3d 60 24  i..      file=`$
20b40 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20  echo "X$file" | 
20b50 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f  $Xsed -e 's%^.*/
20b60 25 25 27 60 0a 09 20 20 20 20 20 20 6f 75 74 70  %%'`..      outp
20b70 75 74 6e 61 6d 65 3d 22 24 74 6d 70 64 69 72 2f  utname="$tmpdir/
20b80 24 66 69 6c 65 22 0a 09 20 20 20 20 20 20 23 20  $file"..      # 
20b90 52 65 70 6c 61 63 65 20 74 68 65 20 6f 75 74 70  Replace the outp
20ba0 75 74 20 66 69 6c 65 20 73 70 65 63 69 66 69 63  ut file specific
20bb0 61 74 69 6f 6e 2e 0a 09 20 20 20 20 20 20 72 65  ation...      re
20bc0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65  link_command=`$e
20bd0 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b 5f 63 6f  cho "X$relink_co
20be0 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d  mmand" | $Xsed -
20bf0 65 20 27 73 25 40 4f 55 54 50 55 54 40 25 27 22  e 's%@OUTPUT@%'"
20c00 24 6f 75 74 70 75 74 6e 61 6d 65 22 27 25 67 27  $outputname"'%g'
20c10 60 0a 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20  `...      $show 
20c20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  "$relink_command
20c30 22 0a 09 20 20 20 20 20 20 69 66 20 24 72 75 6e  "..      if $run
20c40 20 65 76 61 6c 20 22 24 72 65 6c 69 6e 6b 5f 63   eval "$relink_c
20c50 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 20 3a 0a  ommand"; then :.
20c60 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09 24 65  .      else...$e
20c70 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
20c80 65 72 72 6f 72 3a 20 72 65 6c 69 6e 6b 20 5c 60  error: relink \`
20c90 24 66 69 6c 65 27 20 77 69 74 68 20 74 68 65 20  $file' with the 
20ca0 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64 20 62 65  above command be
20cb0 66 6f 72 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20  fore installing 
20cc0 69 74 22 20 31 3e 26 32 0a 09 09 24 7b 72 6d 7d  it" 1>&2...${rm}
20cd0 72 20 22 24 74 6d 70 64 69 72 22 0a 09 09 63 6f  r "$tmpdir"...co
20ce0 6e 74 69 6e 75 65 0a 09 20 20 20 20 20 20 66 69  ntinue..      fi
20cf0 0a 09 20 20 20 20 20 20 66 69 6c 65 3d 22 24 6f  ..      file="$o
20d00 75 74 70 75 74 6e 61 6d 65 22 0a 09 20 20 20 20  utputname"..    
20d10 65 6c 73 65 0a 09 20 20 20 20 20 20 24 65 63 68  else..      $ech
20d20 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
20d30 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 72 65  rning: cannot re
20d40 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27 22 20 31  link \`$file'" 1
20d50 3e 26 32 0a 09 20 20 20 20 66 69 0a 09 20 20 65  >&2..    fi..  e
20d60 6c 73 65 0a 09 20 20 20 20 23 20 49 6e 73 74 61  lse..    # Insta
20d70 6c 6c 20 74 68 65 20 62 69 6e 61 72 79 20 74 68  ll the binary th
20d80 61 74 20 77 65 20 63 6f 6d 70 69 6c 65 64 20 65  at we compiled e
20d90 61 72 6c 69 65 72 2e 0a 09 20 20 20 20 66 69 6c  arlier...    fil
20da0 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
20db0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 25  " | $Xsed -e "s%
20dc0 5c 28 5b 5e 2f 5d 2a 5c 29 24 25 24 6f 62 6a 64  \([^/]*\)$%$objd
20dd0 69 72 2f 5c 31 25 22 60 0a 09 20 20 66 69 0a 09  ir/\1%"`..  fi..
20de0 66 69 0a 0a 09 23 20 72 65 6d 6f 76 65 20 2e 65  fi...# remove .e
20df0 78 65 20 73 69 6e 63 65 20 63 79 67 77 69 6e 20  xe since cygwin 
20e00 2f 75 73 72 2f 62 69 6e 2f 69 6e 73 74 61 6c 6c  /usr/bin/install
20e10 20 77 69 6c 6c 20 61 70 70 65 6e 64 20 61 6e 6f   will append ano
20e20 74 68 65 72 0a 09 23 20 6f 6e 65 20 61 6e 79 77  ther..# one anyw
20e30 61 79 73 0a 09 63 61 73 65 20 24 69 6e 73 74 61  ays..case $insta
20e40 6c 6c 5f 70 72 6f 67 2c 24 68 6f 73 74 20 69 6e  ll_prog,$host in
20e50 0a 09 2f 75 73 72 2f 62 69 6e 2f 69 6e 73 74 61  ../usr/bin/insta
20e60 6c 6c 2a 2c 2a 63 79 67 77 69 6e 2a 29 0a 09 20  ll*,*cygwin*).. 
20e70 20 63 61 73 65 20 24 66 69 6c 65 3a 24 64 65 73   case $file:$des
20e80 74 66 69 6c 65 20 69 6e 0a 09 20 20 2a 2e 65 78  tfile in..  *.ex
20e90 65 3a 2a 2e 65 78 65 29 0a 09 20 20 20 20 23 20  e:*.exe)..    # 
20ea0 74 68 69 73 20 69 73 20 6f 6b 0a 09 20 20 20 20  this is ok..    
20eb0 3b 3b 0a 09 20 20 2a 2e 65 78 65 3a 2a 29 0a 09  ;;..  *.exe:*)..
20ec0 20 20 20 20 64 65 73 74 66 69 6c 65 3d 24 64 65      destfile=$de
20ed0 73 74 66 69 6c 65 2e 65 78 65 0a 09 20 20 20 20  stfile.exe..    
20ee0 3b 3b 0a 09 20 20 2a 3a 2a 2e 65 78 65 29 0a 09  ;;..  *:*.exe)..
20ef0 20 20 20 20 64 65 73 74 66 69 6c 65 3d 60 65 63      destfile=`ec
20f00 68 6f 20 24 64 65 73 74 66 69 6c 65 20 7c 20 24  ho $destfile | $
20f10 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e 65 78 65  {SED} -e 's,.exe
20f20 24 2c 2c 27 60 0a 09 20 20 20 20 3b 3b 0a 09 20  $,,'`..    ;;.. 
20f30 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61   esac..  ;;..esa
20f40 63 0a 09 24 73 68 6f 77 20 22 24 69 6e 73 74 61  c..$show "$insta
20f50 6c 6c 5f 70 72 6f 67 24 73 74 72 69 70 6d 65 20  ll_prog$stripme 
20f60 24 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65 22  $file $destfile"
20f70 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e  ..$run eval "$in
20f80 73 74 61 6c 6c 5f 70 72 6f 67 5c 24 73 74 72 69  stall_prog\$stri
20f90 70 6d 65 20 5c 24 66 69 6c 65 20 5c 24 64 65 73  pme \$file \$des
20fa0 74 66 69 6c 65 22 20 7c 7c 20 65 78 69 74 20 24  tfile" || exit $
20fb0 3f 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f 75 74  ?..test -n "$out
20fc0 70 75 74 6e 61 6d 65 22 20 26 26 20 24 7b 72 6d  putname" && ${rm
20fd0 7d 72 20 22 24 74 6d 70 64 69 72 22 0a 09 3b 3b  }r "$tmpdir"..;;
20fe0 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20  .      esac.    
20ff0 64 6f 6e 65 0a 0a 20 20 20 20 66 6f 72 20 66 69  done..    for fi
21000 6c 65 20 69 6e 20 24 73 74 61 74 69 63 6c 69 62  le in $staticlib
21010 73 3b 20 64 6f 0a 20 20 20 20 20 20 6e 61 6d 65  s; do.      name
21020 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22  =`$echo "X$file"
21030 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
21040 2e 2a 2f 25 25 27 60 0a 0a 20 20 20 20 20 20 23  .*/%%'`..      #
21050 20 53 65 74 20 75 70 20 74 68 65 20 72 61 6e 6c   Set up the ranl
21060 69 62 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20  ib parameters.. 
21070 20 20 20 20 20 6f 6c 64 6c 69 62 3d 22 24 64 65       oldlib="$de
21080 73 74 64 69 72 2f 24 6e 61 6d 65 22 0a 0a 20 20  stdir/$name"..  
21090 20 20 20 20 24 73 68 6f 77 20 22 24 69 6e 73 74      $show "$inst
210a0 61 6c 6c 5f 70 72 6f 67 20 24 66 69 6c 65 20 24  all_prog $file $
210b0 6f 6c 64 6c 69 62 22 0a 20 20 20 20 20 20 24 72  oldlib".      $r
210c0 75 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61 6c  un eval "$instal
210d0 6c 5f 70 72 6f 67 20 5c 24 66 69 6c 65 20 5c 24  l_prog \$file \$
210e0 6f 6c 64 6c 69 62 22 20 7c 7c 20 65 78 69 74 20  oldlib" || exit 
210f0 24 3f 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  $?..      if tes
21100 74 20 2d 6e 20 22 24 73 74 72 69 70 6d 65 22 20  t -n "$stripme" 
21110 26 26 20 74 65 73 74 20 2d 6e 20 22 24 73 74 72  && test -n "$str
21120 69 70 6c 69 62 22 3b 20 74 68 65 6e 0a 09 24 73  iplib"; then..$s
21130 68 6f 77 20 22 24 6f 6c 64 5f 73 74 72 69 70 6c  how "$old_stripl
21140 69 62 20 24 6f 6c 64 6c 69 62 22 0a 09 24 72 75  ib $oldlib"..$ru
21150 6e 20 65 76 61 6c 20 22 24 6f 6c 64 5f 73 74 72  n eval "$old_str
21160 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62 22 20 7c  iplib $oldlib" |
21170 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20  | exit $?.      
21180 66 69 0a 0a 20 20 20 20 20 20 23 20 44 6f 20 65  fi..      # Do e
21190 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74  ach command in t
211a0 68 65 20 70 6f 73 74 69 6e 73 74 61 6c 6c 20 63  he postinstall c
211b0 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 20 20 65  ommands..      e
211c0 76 61 6c 20 63 6d 64 73 3d 5c 22 24 6f 6c 64 5f  val cmds=\"$old_
211d0 70 6f 73 74 69 6e 73 74 61 6c 6c 5f 63 6d 64 73  postinstall_cmds
211e0 5c 22 0a 20 20 20 20 20 20 73 61 76 65 5f 69 66  \".      save_if
211f0 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e  s="$IFS"; IFS='~
21200 27 0a 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20  '.      for cmd 
21210 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 49 46  in $cmds; do..IF
21220 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 24  S="$save_ifs"..$
21230 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 24 72 75  show "$cmd"..$ru
21240 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c  n eval "$cmd" ||
21250 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 64   exit $?.      d
21260 6f 6e 65 0a 20 20 20 20 20 20 49 46 53 3d 22 24  one.      IFS="$
21270 73 61 76 65 5f 69 66 73 22 0a 20 20 20 20 64 6f  save_ifs".    do
21280 6e 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  ne..    if test 
21290 2d 6e 20 22 24 66 75 74 75 72 65 5f 6c 69 62 64  -n "$future_libd
212a0 69 72 73 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  irs"; then.     
212b0 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
212c0 65 3a 20 77 61 72 6e 69 6e 67 3a 20 72 65 6d 65  e: warning: reme
212d0 6d 62 65 72 20 74 6f 20 72 75 6e 20 5c 60 24 70  mber to run \`$p
212e0 72 6f 67 6e 61 6d 65 20 2d 2d 66 69 6e 69 73 68  rogname --finish
212f0 24 66 75 74 75 72 65 5f 6c 69 62 64 69 72 73 27  $future_libdirs'
21300 22 20 31 3e 26 32 0a 20 20 20 20 66 69 0a 0a 20  " 1>&2.    fi.. 
21310 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
21320 63 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 22  current_libdirs"
21330 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20 4d  ; then.      # M
21340 61 79 62 65 20 6a 75 73 74 20 64 6f 20 61 20 64  aybe just do a d
21350 72 79 20 72 75 6e 2e 0a 20 20 20 20 20 20 74 65  ry run..      te
21360 73 74 20 2d 6e 20 22 24 72 75 6e 22 20 26 26 20  st -n "$run" && 
21370 63 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 3d  current_libdirs=
21380 22 20 2d 6e 24 63 75 72 72 65 6e 74 5f 6c 69 62  " -n$current_lib
21390 64 69 72 73 22 0a 20 20 20 20 20 20 65 78 65 63  dirs".      exec
213a0 5f 63 6d 64 3d 27 24 53 48 45 4c 4c 20 24 30 20  _cmd='$SHELL $0 
213b0 2d 2d 66 69 6e 69 73 68 24 63 75 72 72 65 6e 74  --finish$current
213c0 5f 6c 69 62 64 69 72 73 27 0a 20 20 20 20 65 6c  _libdirs'.    el
213d0 73 65 0a 20 20 20 20 20 20 65 78 69 74 20 30 0a  se.      exit 0.
213e0 20 20 20 20 66 69 0a 20 20 20 20 3b 3b 0a 0a 20      fi.    ;;.. 
213f0 20 23 20 6c 69 62 74 6f 6f 6c 20 66 69 6e 69 73   # libtool finis
21400 68 20 6d 6f 64 65 0a 20 20 66 69 6e 69 73 68 29  h mode.  finish)
21410 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24  .    modename="$
21420 6d 6f 64 65 6e 61 6d 65 3a 20 66 69 6e 69 73 68  modename: finish
21430 22 0a 20 20 20 20 6c 69 62 64 69 72 73 3d 22 24  ".    libdirs="$
21440 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 61 64 6d 69  nonopt".    admi
21450 6e 63 6d 64 73 3d 0a 0a 20 20 20 20 69 66 20 74  ncmds=..    if t
21460 65 73 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f  est -n "$finish_
21470 63 6d 64 73 24 66 69 6e 69 73 68 5f 65 76 61 6c  cmds$finish_eval
21480 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6c  " && test -n "$l
21490 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 20 20  ibdirs"; then.  
214a0 20 20 20 20 66 6f 72 20 64 69 72 0a 20 20 20 20      for dir.    
214b0 20 20 64 6f 0a 09 6c 69 62 64 69 72 73 3d 22 24    do..libdirs="$
214c0 6c 69 62 64 69 72 73 20 24 64 69 72 22 0a 20 20  libdirs $dir".  
214d0 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20      done..      
214e0 66 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24 6c  for libdir in $l
214f0 69 62 64 69 72 73 3b 20 64 6f 0a 09 69 66 20 74  ibdirs; do..if t
21500 65 73 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f  est -n "$finish_
21510 63 6d 64 73 22 3b 20 74 68 65 6e 0a 09 20 20 23  cmds"; then..  #
21520 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64   Do each command
21530 20 69 6e 20 74 68 65 20 66 69 6e 69 73 68 20 63   in the finish c
21540 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20 65 76 61 6c  ommands...  eval
21550 20 63 6d 64 73 3d 5c 22 24 66 69 6e 69 73 68 5f   cmds=\"$finish_
21560 63 6d 64 73 5c 22 0a 09 20 20 73 61 76 65 5f 69  cmds\"..  save_i
21570 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
21580 7e 27 0a 09 20 20 66 6f 72 20 63 6d 64 20 69 6e  ~'..  for cmd in
21590 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 20 20   $cmds; do..    
215a0 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a  IFS="$save_ifs".
215b0 09 20 20 20 20 24 73 68 6f 77 20 22 24 63 6d 64  .    $show "$cmd
215c0 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c  "..    $run eval
215d0 20 22 24 63 6d 64 22 20 7c 7c 20 61 64 6d 69 6e   "$cmd" || admin
215e0 63 6d 64 73 3d 22 24 61 64 6d 69 6e 63 6d 64 73  cmds="$admincmds
215f0 0a 20 20 20 20 20 20 20 24 63 6d 64 22 0a 09 20  .       $cmd".. 
21600 20 64 6f 6e 65 0a 09 20 20 49 46 53 3d 22 24 73   done..  IFS="$s
21610 61 76 65 5f 69 66 73 22 0a 09 66 69 0a 09 69 66  ave_ifs"..fi..if
21620 20 74 65 73 74 20 2d 6e 20 22 24 66 69 6e 69 73   test -n "$finis
21630 68 5f 65 76 61 6c 22 3b 20 74 68 65 6e 0a 09 20  h_eval"; then.. 
21640 20 23 20 44 6f 20 74 68 65 20 73 69 6e 67 6c 65   # Do the single
21650 20 66 69 6e 69 73 68 5f 65 76 61 6c 2e 0a 09 20   finish_eval... 
21660 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24 66 69   eval cmds=\"$fi
21670 6e 69 73 68 5f 65 76 61 6c 5c 22 0a 09 20 20 24  nish_eval\"..  $
21680 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 73 22  run eval "$cmds"
21690 20 7c 7c 20 61 64 6d 69 6e 63 6d 64 73 3d 22 24   || admincmds="$
216a0 61 64 6d 69 6e 63 6d 64 73 0a 20 20 20 20 20 20  admincmds.      
216b0 20 24 63 6d 64 73 22 0a 09 66 69 0a 20 20 20 20   $cmds"..fi.    
216c0 20 20 64 6f 6e 65 0a 20 20 20 20 66 69 0a 0a 20    done.    fi.. 
216d0 20 20 20 23 20 45 78 69 74 20 68 65 72 65 20 69     # Exit here i
216e0 66 20 74 68 65 79 20 77 61 6e 74 65 64 20 73 69  f they wanted si
216f0 6c 65 6e 74 20 6d 6f 64 65 2e 0a 20 20 20 20 74  lent mode..    t
21700 65 73 74 20 22 24 73 68 6f 77 22 20 3d 20 22 3a  est "$show" = ":
21710 22 20 26 26 20 65 78 69 74 20 30 0a 0a 20 20 20  " && exit 0..   
21720 20 65 63 68 6f 20 22 2d 2d 2d 2d 2d 2d 2d 2d 2d   echo "---------
21730 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21750 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0a 20  -------------". 
21770 20 20 20 65 63 68 6f 20 22 4c 69 62 72 61 72 69     echo "Librari
21780 65 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 73  es have been ins
21790 74 61 6c 6c 65 64 20 69 6e 3a 22 0a 20 20 20 20  talled in:".    
217a0 66 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24 6c  for libdir in $l
217b0 69 62 64 69 72 73 3b 20 64 6f 0a 20 20 20 20 20  ibdirs; do.     
217c0 20 65 63 68 6f 20 22 20 20 20 24 6c 69 62 64 69   echo "   $libdi
217d0 72 22 0a 20 20 20 20 64 6f 6e 65 0a 20 20 20 20  r".    done.    
217e0 65 63 68 6f 0a 20 20 20 20 65 63 68 6f 20 22 49  echo.    echo "I
217f0 66 20 79 6f 75 20 65 76 65 72 20 68 61 70 70 65  f you ever happe
21800 6e 20 74 6f 20 77 61 6e 74 20 74 6f 20 6c 69 6e  n to want to lin
21810 6b 20 61 67 61 69 6e 73 74 20 69 6e 73 74 61 6c  k against instal
21820 6c 65 64 20 6c 69 62 72 61 72 69 65 73 22 0a 20  led libraries". 
21830 20 20 20 65 63 68 6f 20 22 69 6e 20 61 20 67 69     echo "in a gi
21840 76 65 6e 20 64 69 72 65 63 74 6f 72 79 2c 20 4c  ven directory, L
21850 49 42 44 49 52 2c 20 79 6f 75 20 6d 75 73 74 20  IBDIR, you must 
21860 65 69 74 68 65 72 20 75 73 65 20 6c 69 62 74 6f  either use libto
21870 6f 6c 2c 20 61 6e 64 22 0a 20 20 20 20 65 63 68  ol, and".    ech
21880 6f 20 22 73 70 65 63 69 66 79 20 74 68 65 20 66  o "specify the f
21890 75 6c 6c 20 70 61 74 68 6e 61 6d 65 20 6f 66 20  ull pathname of 
218a0 74 68 65 20 6c 69 62 72 61 72 79 2c 20 6f 72 20  the library, or 
218b0 75 73 65 20 74 68 65 20 5c 60 2d 4c 4c 49 42 44  use the \`-LLIBD
218c0 49 52 27 22 0a 20 20 20 20 65 63 68 6f 20 22 66  IR'".    echo "f
218d0 6c 61 67 20 64 75 72 69 6e 67 20 6c 69 6e 6b 69  lag during linki
218e0 6e 67 20 61 6e 64 20 64 6f 20 61 74 20 6c 65 61  ng and do at lea
218f0 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f  st one of the fo
21900 6c 6c 6f 77 69 6e 67 3a 22 0a 20 20 20 20 69 66  llowing:".    if
21910 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c 69 62   test -n "$shlib
21920 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a  path_var"; then.
21930 20 20 20 20 20 20 65 63 68 6f 20 22 20 20 20 2d        echo "   -
21940 20 61 64 64 20 4c 49 42 44 49 52 20 74 6f 20 74   add LIBDIR to t
21950 68 65 20 5c 60 24 73 68 6c 69 62 70 61 74 68 5f  he \`$shlibpath_
21960 76 61 72 27 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  var' environment
21970 20 76 61 72 69 61 62 6c 65 22 0a 20 20 20 20 20   variable".     
21980 20 65 63 68 6f 20 22 20 20 20 20 20 64 75 72 69   echo "     duri
21990 6e 67 20 65 78 65 63 75 74 69 6f 6e 22 0a 20 20  ng execution".  
219a0 20 20 66 69 0a 20 20 20 20 69 66 20 74 65 73 74    fi.    if test
219b0 20 2d 6e 20 22 24 72 75 6e 70 61 74 68 5f 76 61   -n "$runpath_va
219c0 72 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65  r"; then.      e
219d0 63 68 6f 20 22 20 20 20 2d 20 61 64 64 20 4c 49  cho "   - add LI
219e0 42 44 49 52 20 74 6f 20 74 68 65 20 5c 60 24 72  BDIR to the \`$r
219f0 75 6e 70 61 74 68 5f 76 61 72 27 20 65 6e 76 69  unpath_var' envi
21a00 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
21a10 22 0a 20 20 20 20 20 20 65 63 68 6f 20 22 20 20  ".      echo "  
21a20 20 20 20 64 75 72 69 6e 67 20 6c 69 6e 6b 69 6e     during linkin
21a30 67 22 0a 20 20 20 20 66 69 0a 20 20 20 20 69 66  g".    fi.    if
21a40 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
21a50 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
21a60 73 70 65 63 22 3b 20 74 68 65 6e 0a 20 20 20 20  spec"; then.    
21a70 20 20 6c 69 62 64 69 72 3d 4c 49 42 44 49 52 0a    libdir=LIBDIR.
21a80 20 20 20 20 20 20 65 76 61 6c 20 66 6c 61 67 3d        eval flag=
21a90 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  \"$hardcode_libd
21aa0 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 0a  ir_flag_spec\"..
21ab0 20 20 20 20 20 20 65 63 68 6f 20 22 20 20 20 2d        echo "   -
21ac0 20 75 73 65 20 74 68 65 20 5c 60 24 66 6c 61 67   use the \`$flag
21ad0 27 20 6c 69 6e 6b 65 72 20 66 6c 61 67 22 0a 20  ' linker flag". 
21ae0 20 20 20 66 69 0a 20 20 20 20 69 66 20 74 65 73     fi.    if tes
21af0 74 20 2d 6e 20 22 24 61 64 6d 69 6e 63 6d 64 73  t -n "$admincmds
21b00 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65 63  "; then.      ec
21b10 68 6f 20 22 20 20 20 2d 20 68 61 76 65 20 79 6f  ho "   - have yo
21b20 75 72 20 73 79 73 74 65 6d 20 61 64 6d 69 6e 69  ur system admini
21b30 73 74 72 61 74 6f 72 20 72 75 6e 20 74 68 65 73  strator run thes
21b40 65 20 63 6f 6d 6d 61 6e 64 73 3a 24 61 64 6d 69  e commands:$admi
21b50 6e 63 6d 64 73 22 0a 20 20 20 20 66 69 0a 20 20  ncmds".    fi.  
21b60 20 20 69 66 20 74 65 73 74 20 2d 66 20 2f 65 74    if test -f /et
21b70 63 2f 6c 64 2e 73 6f 2e 63 6f 6e 66 3b 20 74 68  c/ld.so.conf; th
21b80 65 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 22 20  en.      echo " 
21b90 20 20 2d 20 68 61 76 65 20 79 6f 75 72 20 73 79    - have your sy
21ba0 73 74 65 6d 20 61 64 6d 69 6e 69 73 74 72 61 74  stem administrat
21bb0 6f 72 20 61 64 64 20 4c 49 42 44 49 52 20 74 6f  or add LIBDIR to
21bc0 20 5c 60 2f 65 74 63 2f 6c 64 2e 73 6f 2e 63 6f   \`/etc/ld.so.co
21bd0 6e 66 27 22 0a 20 20 20 20 66 69 0a 20 20 20 20  nf'".    fi.    
21be0 65 63 68 6f 0a 20 20 20 20 65 63 68 6f 20 22 53  echo.    echo "S
21bf0 65 65 20 61 6e 79 20 6f 70 65 72 61 74 69 6e 67  ee any operating
21c00 20 73 79 73 74 65 6d 20 64 6f 63 75 6d 65 6e 74   system document
21c10 61 74 69 6f 6e 20 61 62 6f 75 74 20 73 68 61 72  ation about shar
21c20 65 64 20 6c 69 62 72 61 72 69 65 73 20 66 6f 72  ed libraries for
21c30 22 0a 20 20 20 20 65 63 68 6f 20 22 6d 6f 72 65  ".    echo "more
21c40 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 73 75   information, su
21c50 63 68 20 61 73 20 74 68 65 20 6c 64 28 31 29 20  ch as the ld(1) 
21c60 61 6e 64 20 6c 64 2e 73 6f 28 38 29 20 6d 61 6e  and ld.so(8) man
21c70 75 61 6c 20 70 61 67 65 73 2e 22 0a 20 20 20 20  ual pages.".    
21c80 65 63 68 6f 20 22 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  echo "----------
21c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21ca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21cb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21cc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0a 20 20  ------------".  
21cd0 20 20 65 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a    exit 0.    ;;.
21ce0 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20 65 78 65  .  # libtool exe
21cf0 63 75 74 65 20 6d 6f 64 65 0a 20 20 65 78 65 63  cute mode.  exec
21d00 75 74 65 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d  ute).    modenam
21d10 65 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 65 78  e="$modename: ex
21d20 65 63 75 74 65 22 0a 0a 20 20 20 20 23 20 54 68  ecute"..    # Th
21d30 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74  e first argument
21d40 20 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20   is the command 
21d50 6e 61 6d 65 2e 0a 20 20 20 20 63 6d 64 3d 22 24  name..    cmd="$
21d60 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 69 66 20 74  nonopt".    if t
21d70 65 73 74 20 2d 7a 20 22 24 63 6d 64 22 3b 20 74  est -z "$cmd"; t
21d80 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20  hen.      $echo 
21d90 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20  "$modename: you 
21da0 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 43  must specify a C
21db0 4f 4d 4d 41 4e 44 22 20 31 3e 26 32 0a 20 20 20  OMMAND" 1>&2.   
21dc0 20 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22     $echo "$help"
21dd0 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20 20  .      exit 1.  
21de0 20 20 66 69 0a 0a 20 20 20 20 23 20 48 61 6e 64    fi..    # Hand
21df0 6c 65 20 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 73  le -dlopen flags
21e00 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 20 20   immediately..  
21e10 20 20 66 6f 72 20 66 69 6c 65 20 69 6e 20 24 65    for file in $e
21e20 78 65 63 75 74 65 5f 64 6c 66 69 6c 65 73 3b 20  xecute_dlfiles; 
21e30 64 6f 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  do.      if test
21e40 20 21 20 2d 66 20 22 24 66 69 6c 65 22 3b 20 74   ! -f "$file"; t
21e50 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  hen..$echo "$mod
21e60 65 6e 61 6d 65 3a 20 5c 60 24 66 69 6c 65 27 20  ename: \`$file' 
21e70 69 73 20 6e 6f 74 20 61 20 66 69 6c 65 22 20 31  is not a file" 1
21e80 3e 26 32 0a 09 24 65 63 68 6f 20 22 24 68 65 6c  >&2..$echo "$hel
21e90 70 22 20 31 3e 26 32 0a 09 65 78 69 74 20 31 0a  p" 1>&2..exit 1.
21ea0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
21eb0 64 69 72 3d 0a 20 20 20 20 20 20 63 61 73 65 20  dir=.      case 
21ec0 24 66 69 6c 65 20 69 6e 0a 20 20 20 20 20 20 2a  $file in.      *
21ed0 2e 6c 61 29 0a 09 23 20 43 68 65 63 6b 20 74 6f  .la)..# Check to
21ee0 20 73 65 65 20 74 68 61 74 20 74 68 69 73 20 72   see that this r
21ef0 65 61 6c 6c 79 20 69 73 20 61 20 6c 69 62 74 6f  eally is a libto
21f00 6f 6c 20 61 72 63 68 69 76 65 2e 0a 09 69 66 20  ol archive...if 
21f10 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20  (${SED} -e '2q' 
21f20 24 66 69 6c 65 20 7c 20 65 67 72 65 70 20 22 5e  $file | egrep "^
21f30 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 2e  # Generated by .
21f40 2a 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64 65  *$PACKAGE") >/de
21f50 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65  v/null 2>&1; the
21f60 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20 24 65 63  n :..else..  $ec
21f70 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
21f80 60 24 6c 69 62 27 20 69 73 20 6e 6f 74 20 61 20  `$lib' is not a 
21f90 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 61 72  valid libtool ar
21fa0 63 68 69 76 65 22 20 31 3e 26 32 0a 09 20 20 24  chive" 1>&2..  $
21fb0 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
21fc0 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a  2..  exit 1..fi.
21fd0 0a 09 23 20 52 65 61 64 20 74 68 65 20 6c 69 62  ..# Read the lib
21fe0 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2e 0a 09 64  tool library...d
21ff0 6c 6e 61 6d 65 3d 0a 09 6c 69 62 72 61 72 79 5f  lname=..library_
22000 6e 61 6d 65 73 3d 0a 0a 09 23 20 49 66 20 74 68  names=...# If th
22010 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65 63 74  ere is no direct
22020 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74  ory component, t
22030 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 63 61  hen add one...ca
22040 73 65 20 24 66 69 6c 65 20 69 6e 0a 09 2a 2f 2a  se $file in..*/*
22050 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 66 69 6c 65   | *\\*) . $file
22060 20 3b 3b 0a 09 2a 29 20 2e 20 2e 2f 24 66 69 6c   ;;..*) . ./$fil
22070 65 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 20 53  e ;;..esac...# S
22080 6b 69 70 20 74 68 69 73 20 6c 69 62 72 61 72 79  kip this library
22090 20 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65   if it cannot be
220a0 20 64 6c 6f 70 65 6e 65 64 2e 0a 09 69 66 20 74   dlopened...if t
220b0 65 73 74 20 2d 7a 20 22 24 64 6c 6e 61 6d 65 22  est -z "$dlname"
220c0 3b 20 74 68 65 6e 0a 09 20 20 23 20 57 61 72 6e  ; then..  # Warn
220d0 20 69 66 20 69 74 20 77 61 73 20 61 20 73 68 61   if it was a sha
220e0 72 65 64 20 6c 69 62 72 61 72 79 2e 0a 09 20 20  red library...  
220f0 74 65 73 74 20 2d 6e 20 22 24 6c 69 62 72 61 72  test -n "$librar
22100 79 5f 6e 61 6d 65 73 22 20 26 26 20 24 65 63 68  y_names" && $ech
22110 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
22120 72 6e 69 6e 67 3a 20 5c 60 24 66 69 6c 65 27 20  rning: \`$file' 
22130 77 61 73 20 6e 6f 74 20 6c 69 6e 6b 65 64 20 77  was not linked w
22140 69 74 68 20 5c 60 2d 65 78 70 6f 72 74 2d 64 79  ith \`-export-dy
22150 6e 61 6d 69 63 27 22 0a 09 20 20 63 6f 6e 74 69  namic'"..  conti
22160 6e 75 65 0a 09 66 69 0a 0a 09 64 69 72 3d 60 24  nue..fi...dir=`$
22170 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20  echo "X$file" | 
22180 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
22190 5d 2a 24 25 25 27 60 0a 09 74 65 73 74 20 22 58  ]*$%%'`..test "X
221a0 24 64 69 72 22 20 3d 20 22 58 24 66 69 6c 65 22  $dir" = "X$file"
221b0 20 26 26 20 64 69 72 3d 2e 0a 0a 09 69 66 20 74   && dir=....if t
221c0 65 73 74 20 2d 66 20 22 24 64 69 72 2f 24 6f 62  est -f "$dir/$ob
221d0 6a 64 69 72 2f 24 64 6c 6e 61 6d 65 22 3b 20 74  jdir/$dlname"; t
221e0 68 65 6e 0a 09 20 20 64 69 72 3d 22 24 64 69 72  hen..  dir="$dir
221f0 2f 24 6f 62 6a 64 69 72 22 0a 09 65 6c 73 65 0a  /$objdir"..else.
22200 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
22210 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 66 69 6e 64  ame: cannot find
22220 20 5c 60 24 64 6c 6e 61 6d 65 27 20 69 6e 20 5c   \`$dlname' in \
22230 60 24 64 69 72 27 20 6f 72 20 5c 60 24 64 69 72  `$dir' or \`$dir
22240 2f 24 6f 62 6a 64 69 72 27 22 20 31 3e 26 32 0a  /$objdir'" 1>&2.
22250 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a 09 3b  .  exit 1..fi..;
22260 3b 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09  ;..      *.lo)..
22270 23 20 4a 75 73 74 20 61 64 64 20 74 68 65 20 64  # Just add the d
22280 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e  irectory contain
22290 69 6e 67 20 74 68 65 20 2e 6c 6f 20 66 69 6c 65  ing the .lo file
222a0 2e 0a 09 64 69 72 3d 60 24 65 63 68 6f 20 22 58  ...dir=`$echo "X
222b0 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d  $file" | $Xsed -
222c0 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60  e 's%/[^/]*$%%'`
222d0 0a 09 74 65 73 74 20 22 58 24 64 69 72 22 20 3d  ..test "X$dir" =
222e0 20 22 58 24 66 69 6c 65 22 20 26 26 20 64 69 72   "X$file" && dir
222f0 3d 2e 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 29  =...;;..      *)
22300 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
22310 6d 65 3a 20 77 61 72 6e 69 6e 67 20 5c 60 2d 64  me: warning \`-d
22320 6c 6f 70 65 6e 27 20 69 73 20 69 67 6e 6f 72 65  lopen' is ignore
22330 64 20 66 6f 72 20 6e 6f 6e 2d 6c 69 62 74 6f 6f  d for non-libtoo
22340 6c 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20  l libraries and 
22350 6f 62 6a 65 63 74 73 22 20 31 3e 26 32 0a 09 63  objects" 1>&2..c
22360 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20  ontinue..;;.    
22370 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 23 20    esac..      # 
22380 47 65 74 20 74 68 65 20 61 62 73 6f 6c 75 74 65  Get the absolute
22390 20 70 61 74 68 6e 61 6d 65 2e 0a 20 20 20 20 20   pathname..     
223a0 20 61 62 73 64 69 72 3d 60 63 64 20 22 24 64 69   absdir=`cd "$di
223b0 72 22 20 26 26 20 70 77 64 60 0a 20 20 20 20 20  r" && pwd`.     
223c0 20 74 65 73 74 20 2d 6e 20 22 24 61 62 73 64 69   test -n "$absdi
223d0 72 22 20 26 26 20 64 69 72 3d 22 24 61 62 73 64  r" && dir="$absd
223e0 69 72 22 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77  ir"..      # Now
223f0 20 61 64 64 20 74 68 65 20 64 69 72 65 63 74 6f   add the directo
22400 72 79 20 74 6f 20 73 68 6c 69 62 70 61 74 68 5f  ry to shlibpath_
22410 76 61 72 2e 0a 20 20 20 20 20 20 69 66 20 65 76  var..      if ev
22420 61 6c 20 22 74 65 73 74 20 2d 7a 20 5c 22 5c 24  al "test -z \"\$
22430 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22  $shlibpath_var\"
22440 22 3b 20 74 68 65 6e 0a 09 65 76 61 6c 20 22 24  "; then..eval "$
22450 73 68 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 22  shlibpath_var=\"
22460 5c 24 64 69 72 5c 22 22 0a 20 20 20 20 20 20 65  \$dir\"".      e
22470 6c 73 65 0a 09 65 76 61 6c 20 22 24 73 68 6c 69  lse..eval "$shli
22480 62 70 61 74 68 5f 76 61 72 3d 5c 22 5c 24 64 69  bpath_var=\"\$di
22490 72 3a 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76  r:\$$shlibpath_v
224a0 61 72 5c 22 22 0a 20 20 20 20 20 20 66 69 0a 20  ar\"".      fi. 
224b0 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 23 20 54     done..    # T
224c0 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 65 6c  his variable tel
224d0 6c 73 20 77 72 61 70 70 65 72 20 73 63 72 69 70  ls wrapper scrip
224e0 74 73 20 6a 75 73 74 20 74 6f 20 73 65 74 20 73  ts just to set s
224f0 68 6c 69 62 70 61 74 68 5f 76 61 72 0a 20 20 20  hlibpath_var.   
22500 20 23 20 72 61 74 68 65 72 20 74 68 61 6e 20 72   # rather than r
22510 75 6e 6e 69 6e 67 20 74 68 65 69 72 20 70 72 6f  unning their pro
22520 67 72 61 6d 73 2e 0a 20 20 20 20 6c 69 62 74 6f  grams..    libto
22530 6f 6c 5f 65 78 65 63 75 74 65 5f 6d 61 67 69 63  ol_execute_magic
22540 3d 22 24 6d 61 67 69 63 22 0a 0a 20 20 20 20 23  ="$magic"..    #
22550 20 43 68 65 63 6b 20 69 66 20 61 6e 79 20 6f 66   Check if any of
22560 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69   the arguments i
22570 73 20 61 20 77 72 61 70 70 65 72 20 73 63 72 69  s a wrapper scri
22580 70 74 2e 0a 20 20 20 20 61 72 67 73 3d 0a 20 20  pt..    args=.  
22590 20 20 66 6f 72 20 66 69 6c 65 0a 20 20 20 20 64    for file.    d
225a0 6f 0a 20 20 20 20 20 20 63 61 73 65 20 24 66 69  o.      case $fi
225b0 6c 65 20 69 6e 0a 20 20 20 20 20 20 2d 2a 29 20  le in.      -*) 
225c0 3b 3b 0a 20 20 20 20 20 20 2a 29 0a 09 23 20 44  ;;.      *)..# D
225d0 6f 20 61 20 74 65 73 74 20 74 6f 20 73 65 65 20  o a test to see 
225e0 69 66 20 74 68 69 73 20 69 73 20 72 65 61 6c 6c  if this is reall
225f0 79 20 61 20 6c 69 62 74 6f 6f 6c 20 70 72 6f 67  y a libtool prog
22600 72 61 6d 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d  ram...if (${SED}
22610 20 2d 65 20 27 34 71 27 20 24 66 69 6c 65 20 7c   -e '4q' $file |
22620 20 65 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72   egrep "^# Gener
22630 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41  ated by .*$PACKA
22640 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  GE") >/dev/null 
22650 32 3e 26 31 3b 20 74 68 65 6e 0a 09 20 20 23 20  2>&1; then..  # 
22660 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64  If there is no d
22670 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65  irectory compone
22680 6e 74 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65  nt, then add one
22690 2e 0a 09 20 20 63 61 73 65 20 24 66 69 6c 65 20  ...  case $file 
226a0 69 6e 0a 09 20 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a  in..  */* | *\\*
226b0 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a 09 20 20  ) . $file ;;..  
226c0 2a 29 20 2e 20 2e 2f 24 66 69 6c 65 20 3b 3b 0a  *) . ./$file ;;.
226d0 09 20 20 65 73 61 63 0a 0a 09 20 20 23 20 54 72  .  esac...  # Tr
226e0 61 6e 73 66 6f 72 6d 20 61 72 67 20 74 6f 20 77  ansform arg to w
226f0 72 61 70 70 65 64 20 6e 61 6d 65 2e 0a 09 20 20  rapped name...  
22700 66 69 6c 65 3d 22 24 70 72 6f 67 64 69 72 2f 24  file="$progdir/$
22710 70 72 6f 67 72 61 6d 22 0a 09 66 69 0a 09 3b 3b  program"..fi..;;
22720 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20  .      esac.    
22730 20 20 23 20 51 75 6f 74 65 20 61 72 67 75 6d 65    # Quote argume
22740 6e 74 73 20 28 74 6f 20 70 72 65 73 65 72 76 65  nts (to preserve
22750 20 73 68 65 6c 6c 20 6d 65 74 61 63 68 61 72 61   shell metachara
22760 63 74 65 72 73 29 2e 0a 20 20 20 20 20 20 66 69  cters)..      fi
22770 6c 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c  le=`$echo "X$fil
22780 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  e" | $Xsed -e "$
22790 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
227a0 60 0a 20 20 20 20 20 20 61 72 67 73 3d 22 24 61  `.      args="$a
227b0 72 67 73 20 5c 22 24 66 69 6c 65 5c 22 22 0a 20  rgs \"$file\"". 
227c0 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66 20     done..    if 
227d0 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b 20  test -z "$run"; 
227e0 74 68 65 6e 0a 20 20 20 20 20 20 69 66 20 74 65  then.      if te
227f0 73 74 20 2d 6e 20 22 24 73 68 6c 69 62 70 61 74  st -n "$shlibpat
22800 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 23 20  h_var"; then..# 
22810 45 78 70 6f 72 74 20 74 68 65 20 73 68 6c 69 62  Export the shlib
22820 70 61 74 68 5f 76 61 72 2e 0a 09 65 76 61 6c 20  path_var...eval 
22830 22 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61  "export $shlibpa
22840 74 68 5f 76 61 72 22 0a 20 20 20 20 20 20 66 69  th_var".      fi
22850 0a 0a 20 20 20 20 20 20 23 20 52 65 73 74 6f 72  ..      # Restor
22860 65 20 73 61 76 65 64 20 65 6e 76 69 72 6f 6d 65  e saved envirome
22870 6e 74 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20  nt variables.   
22880 20 20 20 69 66 20 74 65 73 74 20 22 24 7b 73 61     if test "${sa
22890 76 65 5f 4c 43 5f 41 4c 4c 2b 73 65 74 7d 22 20  ve_LC_ALL+set}" 
228a0 3d 20 73 65 74 3b 20 74 68 65 6e 0a 09 4c 43 5f  = set; then..LC_
228b0 41 4c 4c 3d 22 24 73 61 76 65 5f 4c 43 5f 41 4c  ALL="$save_LC_AL
228c0 4c 22 3b 20 65 78 70 6f 72 74 20 4c 43 5f 41 4c  L"; export LC_AL
228d0 4c 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20  L.      fi.     
228e0 20 69 66 20 74 65 73 74 20 22 24 7b 73 61 76 65   if test "${save
228f0 5f 4c 41 4e 47 2b 73 65 74 7d 22 20 3d 20 73 65  _LANG+set}" = se
22900 74 3b 20 74 68 65 6e 0a 09 4c 41 4e 47 3d 22 24  t; then..LANG="$
22910 73 61 76 65 5f 4c 41 4e 47 22 3b 20 65 78 70 6f  save_LANG"; expo
22920 72 74 20 4c 41 4e 47 0a 20 20 20 20 20 20 66 69  rt LANG.      fi
22930 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 70 72  ..      # Now pr
22940 65 70 61 72 65 20 74 6f 20 61 63 74 75 61 6c 6c  epare to actuall
22950 79 20 65 78 65 63 20 74 68 65 20 63 6f 6d 6d 61  y exec the comma
22960 6e 64 2e 0a 20 20 20 20 20 20 65 78 65 63 5f 63  nd..      exec_c
22970 6d 64 3d 22 5c 24 63 6d 64 24 61 72 67 73 22 0a  md="\$cmd$args".
22980 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 23      else.      #
22990 20 44 69 73 70 6c 61 79 20 77 68 61 74 20 77 6f   Display what wo
229a0 75 6c 64 20 62 65 20 64 6f 6e 65 2e 0a 20 20 20  uld be done..   
229b0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
229c0 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20  shlibpath_var"; 
229d0 74 68 65 6e 0a 09 65 76 61 6c 20 22 5c 24 65 63  then..eval "\$ec
229e0 68 6f 20 5c 22 5c 24 73 68 6c 69 62 70 61 74 68  ho \"\$shlibpath
229f0 5f 76 61 72 3d 5c 24 24 73 68 6c 69 62 70 61 74  _var=\$$shlibpat
22a00 68 5f 76 61 72 5c 22 22 0a 09 24 65 63 68 6f 20  h_var\""..$echo 
22a10 22 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61  "export $shlibpa
22a20 74 68 5f 76 61 72 22 0a 20 20 20 20 20 20 66 69  th_var".      fi
22a30 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 63  .      $echo "$c
22a40 6d 64 24 61 72 67 73 22 0a 20 20 20 20 20 20 65  md$args".      e
22a50 78 69 74 20 30 0a 20 20 20 20 66 69 0a 20 20 20  xit 0.    fi.   
22a60 20 3b 3b 0a 0a 20 20 23 20 6c 69 62 74 6f 6f 6c   ;;..  # libtool
22a70 20 63 6c 65 61 6e 20 61 6e 64 20 75 6e 69 6e 73   clean and unins
22a80 74 61 6c 6c 20 6d 6f 64 65 0a 20 20 63 6c 65 61  tall mode.  clea
22a90 6e 20 7c 20 75 6e 69 6e 73 74 61 6c 6c 29 0a 20  n | uninstall). 
22aa0 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f     modename="$mo
22ab0 64 65 6e 61 6d 65 3a 20 24 6d 6f 64 65 22 0a 20  dename: $mode". 
22ac0 20 20 20 72 6d 3d 22 24 6e 6f 6e 6f 70 74 22 0a     rm="$nonopt".
22ad0 20 20 20 20 66 69 6c 65 73 3d 0a 20 20 20 20 72      files=.    r
22ae0 6d 66 6f 72 63 65 3d 0a 20 20 20 20 65 78 69 74  mforce=.    exit
22af0 5f 73 74 61 74 75 73 3d 30 0a 0a 20 20 20 20 23  _status=0..    #
22b00 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 74   This variable t
22b10 65 6c 6c 73 20 77 72 61 70 70 65 72 20 73 63 72  ells wrapper scr
22b20 69 70 74 73 20 6a 75 73 74 20 74 6f 20 73 65 74  ipts just to set
22b30 20 76 61 72 69 61 62 6c 65 73 20 72 61 74 68 65   variables rathe
22b40 72 0a 20 20 20 20 23 20 74 68 61 6e 20 72 75 6e  r.    # than run
22b50 6e 69 6e 67 20 74 68 65 69 72 20 70 72 6f 67 72  ning their progr
22b60 61 6d 73 2e 0a 20 20 20 20 6c 69 62 74 6f 6f 6c  ams..    libtool
22b70 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69 63 3d 22  _install_magic="
22b80 24 6d 61 67 69 63 22 0a 0a 20 20 20 20 66 6f 72  $magic"..    for
22b90 20 61 72 67 0a 20 20 20 20 64 6f 0a 20 20 20 20   arg.    do.    
22ba0 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
22bb0 20 20 20 20 20 2d 66 29 20 72 6d 3d 22 24 72 6d       -f) rm="$rm
22bc0 20 24 61 72 67 22 3b 20 72 6d 66 6f 72 63 65 3d   $arg"; rmforce=
22bd0 79 65 73 20 3b 3b 0a 20 20 20 20 20 20 2d 2a 29  yes ;;.      -*)
22be0 20 72 6d 3d 22 24 72 6d 20 24 61 72 67 22 20 3b   rm="$rm $arg" ;
22bf0 3b 0a 20 20 20 20 20 20 2a 29 20 66 69 6c 65 73  ;.      *) files
22c00 3d 22 24 66 69 6c 65 73 20 24 61 72 67 22 20 3b  ="$files $arg" ;
22c10 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20  ;.      esac.   
22c20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66 20 74 65   done..    if te
22c30 73 74 20 2d 7a 20 22 24 72 6d 22 3b 20 74 68 65  st -z "$rm"; the
22c40 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  n.      $echo "$
22c50 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75  modename: you mu
22c60 73 74 20 73 70 65 63 69 66 79 20 61 6e 20 52 4d  st specify an RM
22c70 20 70 72 6f 67 72 61 6d 22 20 31 3e 26 32 0a 20   program" 1>&2. 
22c80 20 20 20 20 20 24 65 63 68 6f 20 22 24 68 65 6c       $echo "$hel
22c90 70 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65 78  p" 1>&2.      ex
22ca0 69 74 20 31 0a 20 20 20 20 66 69 0a 0a 20 20 20  it 1.    fi..   
22cb0 20 72 6d 64 69 72 73 3d 0a 0a 20 20 20 20 66 6f   rmdirs=..    fo
22cc0 72 20 66 69 6c 65 20 69 6e 20 24 66 69 6c 65 73  r file in $files
22cd0 3b 20 64 6f 0a 20 20 20 20 20 20 64 69 72 3d 60  ; do.      dir=`
22ce0 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c  $echo "X$file" |
22cf0 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e   $Xsed -e 's%/[^
22d00 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 20 20 69  /]*$%%'`.      i
22d10 66 20 74 65 73 74 20 22 58 24 64 69 72 22 20 3d  f test "X$dir" =
22d20 20 22 58 24 66 69 6c 65 22 3b 20 74 68 65 6e 0a   "X$file"; then.
22d30 09 64 69 72 3d 2e 0a 09 6f 62 6a 64 69 72 3d 22  .dir=...objdir="
22d40 24 6f 62 6a 64 69 72 22 0a 20 20 20 20 20 20 65  $objdir".      e
22d50 6c 73 65 0a 09 6f 62 6a 64 69 72 3d 22 24 64 69  lse..objdir="$di
22d60 72 2f 24 6f 62 6a 64 69 72 22 0a 20 20 20 20 20  r/$objdir".     
22d70 20 66 69 0a 20 20 20 20 20 20 6e 61 6d 65 3d 60   fi.      name=`
22d80 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c  $echo "X$file" |
22d90 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
22da0 2f 25 25 27 60 0a 20 20 20 20 20 20 74 65 73 74  /%%'`.      test
22db0 20 24 6d 6f 64 65 20 3d 20 75 6e 69 6e 73 74 61   $mode = uninsta
22dc0 6c 6c 20 26 26 20 6f 62 6a 64 69 72 3d 22 24 64  ll && objdir="$d
22dd0 69 72 22 0a 0a 20 20 20 20 20 20 23 20 52 65 6d  ir"..      # Rem
22de0 65 6d 62 65 72 20 6f 62 6a 64 69 72 20 66 6f 72  ember objdir for
22df0 20 72 65 6d 6f 76 61 6c 20 6c 61 74 65 72 2c 20   removal later, 
22e00 62 65 69 6e 67 20 63 61 72 65 66 75 6c 20 74 6f  being careful to
22e10 20 61 76 6f 69 64 20 64 75 70 6c 69 63 61 74 65   avoid duplicate
22e20 73 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  s.      if test 
22e30 24 6d 6f 64 65 20 3d 20 63 6c 65 61 6e 3b 20 74  $mode = clean; t
22e40 68 65 6e 0a 09 63 61 73 65 20 22 20 24 72 6d 64  hen..case " $rmd
22e50 69 72 73 20 22 20 69 6e 0a 09 20 20 2a 22 20 24  irs " in..  *" $
22e60 6f 62 6a 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20  objdir "*) ;;.. 
22e70 20 2a 29 20 72 6d 64 69 72 73 3d 22 24 72 6d 64   *) rmdirs="$rmd
22e80 69 72 73 20 24 6f 62 6a 64 69 72 22 20 3b 3b 0a  irs $objdir" ;;.
22e90 09 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a 0a  .esac.      fi..
22ea0 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20 65 72        # Don't er
22eb0 72 6f 72 20 69 66 20 74 68 65 20 66 69 6c 65 20  ror if the file 
22ec0 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 61 6e  doesn't exist an
22ed0 64 20 72 6d 20 2d 66 20 77 61 73 20 75 73 65 64  d rm -f was used
22ee0 2e 0a 20 20 20 20 20 20 69 66 20 28 74 65 73 74  ..      if (test
22ef0 20 2d 4c 20 22 24 66 69 6c 65 22 29 20 3e 2f 64   -L "$file") >/d
22f00 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 5c 0a 09  ev/null 2>&1 \..
22f10 7c 7c 20 28 74 65 73 74 20 2d 68 20 22 24 66 69  || (test -h "$fi
22f20 6c 65 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  le") >/dev/null 
22f30 32 3e 26 31 20 5c 0a 09 7c 7c 20 74 65 73 74 20  2>&1 \..|| test 
22f40 2d 66 20 22 24 66 69 6c 65 22 3b 20 74 68 65 6e  -f "$file"; then
22f50 0a 09 3a 0a 20 20 20 20 20 20 65 6c 69 66 20 74  ..:.      elif t
22f60 65 73 74 20 2d 64 20 22 24 66 69 6c 65 22 3b 20  est -d "$file"; 
22f70 74 68 65 6e 0a 09 65 78 69 74 5f 73 74 61 74 75  then..exit_statu
22f80 73 3d 31 0a 09 63 6f 6e 74 69 6e 75 65 0a 20 20  s=1..continue.  
22f90 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24      elif test "$
22fa0 72 6d 66 6f 72 63 65 22 20 3d 20 79 65 73 3b 20  rmforce" = yes; 
22fb0 74 68 65 6e 0a 09 63 6f 6e 74 69 6e 75 65 0a 20  then..continue. 
22fc0 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 72       fi..      r
22fd0 6d 66 69 6c 65 73 3d 22 24 66 69 6c 65 22 0a 0a  mfiles="$file"..
22fe0 20 20 20 20 20 20 63 61 73 65 20 24 6e 61 6d 65        case $name
22ff0 20 69 6e 0a 20 20 20 20 20 20 2a 2e 6c 61 29 0a   in.      *.la).
23000 09 23 20 50 6f 73 73 69 62 6c 79 20 61 20 6c 69  .# Possibly a li
23010 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 2c 20 73  btool archive, s
23020 6f 20 76 65 72 69 66 79 20 69 74 2e 0a 09 69 66  o verify it...if
23030 20 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27   (${SED} -e '2q'
23040 20 24 66 69 6c 65 20 7c 20 65 67 72 65 70 20 22   $file | egrep "
23050 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20  ^# Generated by 
23060 2e 2a 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64  .*$PACKAGE") >/d
23070 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68  ev/null 2>&1; th
23080 65 6e 0a 09 20 20 2e 20 24 64 69 72 2f 24 6e 61  en..  . $dir/$na
23090 6d 65 0a 0a 09 20 20 23 20 44 65 6c 65 74 65 20  me...  # Delete 
230a0 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72  the libtool libr
230b0 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e  aries and symlin
230c0 6b 73 2e 0a 09 20 20 66 6f 72 20 6e 20 69 6e 20  ks...  for n in 
230d0 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3b 20  $library_names; 
230e0 64 6f 0a 09 20 20 20 20 72 6d 66 69 6c 65 73 3d  do..    rmfiles=
230f0 22 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64 69  "$rmfiles $objdi
23100 72 2f 24 6e 22 0a 09 20 20 64 6f 6e 65 0a 09 20  r/$n"..  done.. 
23110 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c   test -n "$old_l
23120 69 62 72 61 72 79 22 20 26 26 20 72 6d 66 69 6c  ibrary" && rmfil
23130 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62  es="$rmfiles $ob
23140 6a 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72  jdir/$old_librar
23150 79 22 0a 09 20 20 74 65 73 74 20 24 6d 6f 64 65  y"..  test $mode
23160 20 3d 20 63 6c 65 61 6e 20 26 26 20 72 6d 66 69   = clean && rmfi
23170 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f  les="$rmfiles $o
23180 62 6a 64 69 72 2f 24 6e 61 6d 65 20 24 6f 62 6a  bjdir/$name $obj
23190 64 69 72 2f 24 7b 6e 61 6d 65 7d 69 22 0a 0a 09  dir/${name}i"...
231a0 20 20 69 66 20 74 65 73 74 20 24 6d 6f 64 65 20    if test $mode 
231b0 3d 20 75 6e 69 6e 73 74 61 6c 6c 3b 20 74 68 65  = uninstall; the
231c0 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  n..    if test -
231d0 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  n "$library_name
231e0 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  s"; then..      
231f0 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e  # Do each comman
23200 64 20 69 6e 20 74 68 65 20 70 6f 73 74 75 6e 69  d in the postuni
23210 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e  nstall commands.
23220 0a 09 20 20 20 20 20 20 65 76 61 6c 20 63 6d 64  ..      eval cmd
23230 73 3d 5c 22 24 70 6f 73 74 75 6e 69 6e 73 74 61  s=\"$postuninsta
23240 6c 6c 5f 63 6d 64 73 5c 22 0a 09 20 20 20 20 20  ll_cmds\"..     
23250 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22   save_ifs="$IFS"
23260 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20  ; IFS='~'..     
23270 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64   for cmd in $cmd
23280 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22 24 73 61  s; do...IFS="$sa
23290 76 65 5f 69 66 73 22 0a 09 09 24 73 68 6f 77 20  ve_ifs"...$show 
232a0 22 24 63 6d 64 22 0a 09 09 24 72 75 6e 20 65 76  "$cmd"...$run ev
232b0 61 6c 20 22 24 63 6d 64 22 0a 09 09 69 66 20 74  al "$cmd"...if t
232c0 65 73 74 20 24 3f 20 21 3d 20 30 20 26 26 20 74  est $? != 0 && t
232d0 65 73 74 20 22 24 72 6d 66 6f 72 63 65 22 20 21  est "$rmforce" !
232e0 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 20 20  = yes; then...  
232f0 65 78 69 74 5f 73 74 61 74 75 73 3d 31 0a 09 09  exit_status=1...
23300 66 69 0a 09 20 20 20 20 20 20 64 6f 6e 65 0a 09  fi..      done..
23310 20 20 20 20 20 20 49 46 53 3d 22 24 73 61 76 65        IFS="$save
23320 5f 69 66 73 22 0a 09 20 20 20 20 66 69 0a 0a 09  _ifs"..    fi...
23330 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
23340 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 3b 20 74  $old_library"; t
23350 68 65 6e 0a 09 20 20 20 20 20 20 23 20 44 6f 20  hen..      # Do 
23360 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69 6e 20  each command in 
23370 74 68 65 20 6f 6c 64 5f 70 6f 73 74 75 6e 69 6e  the old_postunin
23380 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a  stall commands..
23390 09 20 20 20 20 20 20 65 76 61 6c 20 63 6d 64 73  .      eval cmds
233a0 3d 5c 22 24 6f 6c 64 5f 70 6f 73 74 75 6e 69 6e  =\"$old_postunin
233b0 73 74 61 6c 6c 5f 63 6d 64 73 5c 22 0a 09 20 20  stall_cmds\"..  
233c0 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24 49      save_ifs="$I
233d0 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20  FS"; IFS='~'..  
233e0 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24      for cmd in $
233f0 63 6d 64 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22  cmds; do...IFS="
23400 24 73 61 76 65 5f 69 66 73 22 0a 09 09 24 73 68  $save_ifs"...$sh
23410 6f 77 20 22 24 63 6d 64 22 0a 09 09 24 72 75 6e  ow "$cmd"...$run
23420 20 65 76 61 6c 20 22 24 63 6d 64 22 0a 09 09 69   eval "$cmd"...i
23430 66 20 74 65 73 74 20 24 3f 20 21 3d 20 30 20 26  f test $? != 0 &
23440 26 20 74 65 73 74 20 22 24 72 6d 66 6f 72 63 65  & test "$rmforce
23450 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  " != yes; then..
23460 09 20 20 65 78 69 74 5f 73 74 61 74 75 73 3d 31  .  exit_status=1
23470 0a 09 09 66 69 0a 09 20 20 20 20 20 20 64 6f 6e  ...fi..      don
23480 65 0a 09 20 20 20 20 20 20 49 46 53 3d 22 24 73  e..      IFS="$s
23490 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 66 69  ave_ifs"..    fi
234a0 0a 09 20 20 20 20 23 20 46 49 58 4d 45 3a 20 73  ..    # FIXME: s
234b0 68 6f 75 6c 64 20 72 65 69 6e 73 74 61 6c 6c 20  hould reinstall 
234c0 74 68 65 20 62 65 73 74 20 72 65 6d 61 69 6e 69  the best remaini
234d0 6e 67 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  ng shared librar
234e0 79 2e 0a 09 20 20 66 69 0a 09 66 69 0a 09 3b 3b  y...  fi..fi..;;
234f0 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 69  ..      *.lo)..i
23500 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f  f test "$build_o
23510 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ld_libs" = yes; 
23520 74 68 65 6e 0a 09 20 20 6f 6c 64 6f 62 6a 3d 60  then..  oldobj=`
23530 24 65 63 68 6f 20 22 58 24 6e 61 6d 65 22 20 7c  $echo "X$name" |
23540 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f   $Xsed -e "$lo2o
23550 22 60 0a 09 20 20 72 6d 66 69 6c 65 73 3d 22 24  "`..  rmfiles="$
23560 72 6d 66 69 6c 65 73 20 24 64 69 72 2f 24 6f 6c  rmfiles $dir/$ol
23570 64 6f 62 6a 22 0a 09 66 69 0a 09 3b 3b 0a 0a 20  dobj"..fi..;;.. 
23580 20 20 20 20 20 2a 29 0a 09 23 20 44 6f 20 61 20       *)..# Do a 
23590 74 65 73 74 20 74 6f 20 73 65 65 20 69 66 20 74  test to see if t
235a0 68 69 73 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c  his is a libtool
235b0 20 70 72 6f 67 72 61 6d 2e 0a 09 69 66 20 74 65   program...if te
235c0 73 74 20 24 6d 6f 64 65 20 3d 20 63 6c 65 61 6e  st $mode = clean
235d0 20 26 26 0a 09 20 20 20 28 24 7b 53 45 44 7d 20   &&..   (${SED} 
235e0 2d 65 20 27 34 71 27 20 24 66 69 6c 65 20 7c 20  -e '4q' $file | 
235f0 65 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72 61  egrep "^# Genera
23600 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41 47  ted by .*$PACKAG
23610 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  E") >/dev/null 2
23620 3e 26 31 3b 20 74 68 65 6e 0a 09 20 20 72 65 6c  >&1; then..  rel
23630 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a 09 20 20  ink_command=..  
23640 2e 20 24 64 69 72 2f 24 66 69 6c 65 0a 0a 09 20  . $dir/$file... 
23650 20 72 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c   rmfiles="$rmfil
23660 65 73 20 24 6f 62 6a 64 69 72 2f 24 6e 61 6d 65  es $objdir/$name
23670 20 24 6f 62 6a 64 69 72 2f 24 7b 6e 61 6d 65 7d   $objdir/${name}
23680 53 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a 09 20 20  S.${objext}"..  
23690 69 66 20 74 65 73 74 20 22 24 66 61 73 74 5f 69  if test "$fast_i
236a0 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73 20 26 26  nstall" = yes &&
236b0 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e   test -n "$relin
236c0 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e  k_command"; then
236d0 0a 09 20 20 20 20 72 6d 66 69 6c 65 73 3d 22 24  ..    rmfiles="$
236e0 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64 69 72 2f  rmfiles $objdir/
236f0 6c 74 2d 24 6e 61 6d 65 22 0a 09 20 20 66 69 0a  lt-$name"..  fi.
23700 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73  .fi..;;.      es
23710 61 63 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22  ac.      $show "
23720 24 72 6d 20 24 72 6d 66 69 6c 65 73 22 0a 20 20  $rm $rmfiles".  
23730 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24 72 6d      $run $rm $rm
23740 66 69 6c 65 73 20 7c 7c 20 65 78 69 74 5f 73 74  files || exit_st
23750 61 74 75 73 3d 31 0a 20 20 20 20 64 6f 6e 65 0a  atus=1.    done.
23760 0a 20 20 20 20 23 20 54 72 79 20 74 6f 20 72 65  .    # Try to re
23770 6d 6f 76 65 20 74 68 65 20 24 7b 6f 62 6a 64 69  move the ${objdi
23780 72 7d 73 20 69 6e 20 74 68 65 20 64 69 72 65 63  r}s in the direc
23790 74 6f 72 69 65 73 20 77 68 65 72 65 20 77 65 20  tories where we 
237a0 64 65 6c 65 74 65 64 20 66 69 6c 65 73 0a 20 20  deleted files.  
237b0 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24 72 6d    for dir in $rm
237c0 64 69 72 73 3b 20 64 6f 0a 20 20 20 20 20 20 69  dirs; do.      i
237d0 66 20 74 65 73 74 20 2d 64 20 22 24 64 69 72 22  f test -d "$dir"
237e0 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 72  ; then..$show "r
237f0 6d 64 69 72 20 24 64 69 72 22 0a 09 24 72 75 6e  mdir $dir"..$run
23800 20 72 6d 64 69 72 20 24 64 69 72 20 3e 2f 64 65   rmdir $dir >/de
23810 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 20 20 20 20  v/null 2>&1.    
23820 20 20 66 69 0a 20 20 20 20 64 6f 6e 65 0a 0a 20    fi.    done.. 
23830 20 20 20 65 78 69 74 20 24 65 78 69 74 5f 73 74     exit $exit_st
23840 61 74 75 73 0a 20 20 20 20 3b 3b 0a 0a 20 20 22  atus.    ;;..  "
23850 22 29 0a 20 20 20 20 24 65 63 68 6f 20 22 24 6d  ").    $echo "$m
23860 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73  odename: you mus
23870 74 20 73 70 65 63 69 66 79 20 61 20 4d 4f 44 45  t specify a MODE
23880 22 20 31 3e 26 32 0a 20 20 20 20 24 65 63 68 6f  " 1>&2.    $echo
23890 20 22 24 67 65 6e 65 72 69 63 5f 68 65 6c 70 22   "$generic_help"
238a0 20 31 3e 26 32 0a 20 20 20 20 65 78 69 74 20 31   1>&2.    exit 1
238b0 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a 0a  .    ;;.  esac..
238c0 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 65    if test -z "$e
238d0 78 65 63 5f 63 6d 64 22 3b 20 74 68 65 6e 0a 20  xec_cmd"; then. 
238e0 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
238f0 61 6d 65 3a 20 69 6e 76 61 6c 69 64 20 6f 70 65  ame: invalid ope
23900 72 61 74 69 6f 6e 20 6d 6f 64 65 20 5c 60 24 6d  ration mode \`$m
23910 6f 64 65 27 22 20 31 3e 26 32 0a 20 20 20 20 24  ode'" 1>&2.    $
23920 65 63 68 6f 20 22 24 67 65 6e 65 72 69 63 5f 68  echo "$generic_h
23930 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65 78  elp" 1>&2.    ex
23940 69 74 20 31 0a 20 20 66 69 0a 66 69 20 23 20 74  it 1.  fi.fi # t
23950 65 73 74 20 2d 7a 20 22 24 73 68 6f 77 5f 68 65  est -z "$show_he
23960 6c 70 22 0a 0a 69 66 20 74 65 73 74 20 2d 6e 20  lp"..if test -n 
23970 22 24 65 78 65 63 5f 63 6d 64 22 3b 20 74 68 65  "$exec_cmd"; the
23980 6e 0a 20 20 65 76 61 6c 20 65 78 65 63 20 24 65  n.  eval exec $e
23990 78 65 63 5f 63 6d 64 0a 20 20 65 78 69 74 20 31  xec_cmd.  exit 1
239a0 0a 66 69 0a 0a 23 20 57 65 20 6e 65 65 64 20 74  .fi..# We need t
239b0 6f 20 64 69 73 70 6c 61 79 20 68 65 6c 70 20 66  o display help f
239c0 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20 6d  or each of the m
239d0 6f 64 65 73 2e 0a 63 61 73 65 20 24 6d 6f 64 65  odes..case $mode
239e0 20 69 6e 0a 22 22 29 20 24 65 63 68 6f 20 5c 0a   in."") $echo \.
239f0 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d  "Usage: $modenam
23a00 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 5b 4d  e [OPTION]... [M
23a10 4f 44 45 2d 41 52 47 5d 2e 2e 2e 0a 0a 50 72 6f  ODE-ARG].....Pro
23a20 76 69 64 65 20 67 65 6e 65 72 61 6c 69 7a 65 64  vide generalized
23a30 20 6c 69 62 72 61 72 79 2d 62 75 69 6c 64 69 6e   library-buildin
23a40 67 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63  g support servic
23a50 65 73 2e 0a 0a 20 20 20 20 2d 2d 63 6f 6e 66 69  es...    --confi
23a60 67 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 20  g          show 
23a70 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  all configuratio
23a80 6e 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20  n variables.    
23a90 2d 2d 64 65 62 75 67 20 20 20 20 20 20 20 20 20  --debug         
23aa0 20 20 65 6e 61 62 6c 65 20 76 65 72 62 6f 73 65    enable verbose
23ab0 20 73 68 65 6c 6c 20 74 72 61 63 69 6e 67 0a 2d   shell tracing.-
23ac0 6e 2c 20 2d 2d 64 72 79 2d 72 75 6e 20 20 20 20  n, --dry-run    
23ad0 20 20 20 20 20 64 69 73 70 6c 61 79 20 63 6f 6d       display com
23ae0 6d 61 6e 64 73 20 77 69 74 68 6f 75 74 20 6d 6f  mands without mo
23af0 64 69 66 79 69 6e 67 20 61 6e 79 20 66 69 6c 65  difying any file
23b00 73 0a 20 20 20 20 2d 2d 66 65 61 74 75 72 65 73  s.    --features
23b10 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20          display 
23b20 62 61 73 69 63 20 63 6f 6e 66 69 67 75 72 61 74  basic configurat
23b30 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  ion information 
23b40 61 6e 64 20 65 78 69 74 0a 20 20 20 20 2d 2d 66  and exit.    --f
23b50 69 6e 69 73 68 20 20 20 20 20 20 20 20 20 20 73  inish          s
23b60 61 6d 65 20 61 73 20 5c 60 2d 2d 6d 6f 64 65 3d  ame as \`--mode=
23b70 66 69 6e 69 73 68 27 0a 20 20 20 20 2d 2d 68 65  finish'.    --he
23b80 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 64 69  lp            di
23b90 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20  splay this help 
23ba0 6d 65 73 73 61 67 65 20 61 6e 64 20 65 78 69 74  message and exit
23bb0 0a 20 20 20 20 2d 2d 6d 6f 64 65 3d 4d 4f 44 45  .    --mode=MODE
23bc0 20 20 20 20 20 20 20 75 73 65 20 6f 70 65 72 61         use opera
23bd0 74 69 6f 6e 20 6d 6f 64 65 20 4d 4f 44 45 20 5b  tion mode MODE [
23be0 64 65 66 61 75 6c 74 3d 69 6e 66 65 72 72 65 64  default=inferred
23bf0 20 66 72 6f 6d 20 4d 4f 44 45 2d 41 52 47 53 5d   from MODE-ARGS]
23c00 0a 20 20 20 20 2d 2d 71 75 69 65 74 20 20 20 20  .    --quiet    
23c10 20 20 20 20 20 20 20 73 61 6d 65 20 61 73 20 5c         same as \
23c20 60 2d 2d 73 69 6c 65 6e 74 27 0a 20 20 20 20 2d  `--silent'.    -
23c30 2d 73 69 6c 65 6e 74 20 20 20 20 20 20 20 20 20  -silent         
23c40 20 64 6f 6e 27 74 20 70 72 69 6e 74 20 69 6e 66   don't print inf
23c50 6f 72 6d 61 74 69 6f 6e 61 6c 20 6d 65 73 73 61  ormational messa
23c60 67 65 73 0a 20 20 20 20 2d 2d 76 65 72 73 69 6f  ges.    --versio
23c70 6e 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20  n         print 
23c80 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74  version informat
23c90 69 6f 6e 0a 0a 4d 4f 44 45 20 6d 75 73 74 20 62  ion..MODE must b
23ca0 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c  e one of the fol
23cb0 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 20 20 63  lowing:..      c
23cc0 6c 65 61 6e 20 20 20 20 20 20 20 20 20 20 20 72  lean           r
23cd0 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d  emove files from
23ce0 20 74 68 65 20 62 75 69 6c 64 20 64 69 72 65 63   the build direc
23cf0 74 6f 72 79 0a 20 20 20 20 20 20 63 6f 6d 70 69  tory.      compi
23d00 6c 65 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69  le         compi
23d10 6c 65 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65  le a source file
23d20 20 69 6e 74 6f 20 61 20 6c 69 62 74 6f 6f 6c 20   into a libtool 
23d30 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 65 78 65  object.      exe
23d40 63 75 74 65 20 20 20 20 20 20 20 20 20 61 75 74  cute         aut
23d50 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 6c  omatically set l
23d60 69 62 72 61 72 79 20 70 61 74 68 2c 20 74 68 65  ibrary path, the
23d70 6e 20 72 75 6e 20 61 20 70 72 6f 67 72 61 6d 0a  n run a program.
23d80 20 20 20 20 20 20 66 69 6e 69 73 68 20 20 20 20        finish    
23d90 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 20 74        complete t
23da0 68 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  he installation 
23db0 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61  of libtool libra
23dc0 72 69 65 73 0a 20 20 20 20 20 20 69 6e 73 74 61  ries.      insta
23dd0 6c 6c 20 20 20 20 20 20 20 20 20 69 6e 73 74 61  ll         insta
23de0 6c 6c 20 6c 69 62 72 61 72 69 65 73 20 6f 72 20  ll libraries or 
23df0 65 78 65 63 75 74 61 62 6c 65 73 0a 20 20 20 20  executables.    
23e00 20 20 6c 69 6e 6b 20 20 20 20 20 20 20 20 20 20    link          
23e10 20 20 63 72 65 61 74 65 20 61 20 6c 69 62 72 61    create a libra
23e20 72 79 20 6f 72 20 61 6e 20 65 78 65 63 75 74 61  ry or an executa
23e30 62 6c 65 0a 20 20 20 20 20 20 75 6e 69 6e 73 74  ble.      uninst
23e40 61 6c 6c 20 20 20 20 20 20 20 72 65 6d 6f 76 65  all       remove
23e50 20 6c 69 62 72 61 72 69 65 73 20 66 72 6f 6d 20   libraries from 
23e60 61 6e 20 69 6e 73 74 61 6c 6c 65 64 20 64 69 72  an installed dir
23e70 65 63 74 6f 72 79 0a 0a 4d 4f 44 45 2d 41 52 47  ectory..MODE-ARG
23e80 53 20 76 61 72 79 20 64 65 70 65 6e 64 69 6e 67  S vary depending
23e90 20 6f 6e 20 74 68 65 20 4d 4f 44 45 2e 20 20 54   on the MODE.  T
23ea0 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65 20 2d  ry \`$modename -
23eb0 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 4d 4f 44  -help --mode=MOD
23ec0 45 27 20 66 6f 72 0a 61 20 6d 6f 72 65 20 64 65  E' for.a more de
23ed0 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69  tailed descripti
23ee0 6f 6e 20 6f 66 20 4d 4f 44 45 2e 22 0a 20 20 65  on of MODE.".  e
23ef0 78 69 74 20 30 0a 20 20 3b 3b 0a 0a 63 6c 65 61  xit 0.  ;;..clea
23f00 6e 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73  n).  $echo \."Us
23f10 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b  age: $modename [
23f20 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64  OPTION]... --mod
23f30 65 3d 63 6c 65 61 6e 20 52 4d 20 5b 52 4d 2d 4f  e=clean RM [RM-O
23f40 50 54 49 4f 4e 5d 2e 2e 2e 20 46 49 4c 45 2e 2e  PTION]... FILE..
23f50 2e 0a 0a 52 65 6d 6f 76 65 20 66 69 6c 65 73 20  ...Remove files 
23f60 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20 64  from the build d
23f70 69 72 65 63 74 6f 72 79 2e 0a 0a 52 4d 20 69 73  irectory...RM is
23f80 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
23f90 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20   program to use 
23fa0 74 6f 20 64 65 6c 65 74 65 20 66 69 6c 65 73 20  to delete files 
23fb0 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20  associated with 
23fc0 65 61 63 68 20 46 49 4c 45 0a 28 74 79 70 69 63  each FILE.(typic
23fd0 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72 6d 27 29  ally \`/bin/rm')
23fe0 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e 53 20 61 72  .  RM-OPTIONS ar
23ff0 65 20 6f 70 74 69 6f 6e 73 20 28 73 75 63 68 20  e options (such 
24000 61 73 20 5c 60 2d 66 27 29 20 74 6f 20 62 65 20  as \`-f') to be 
24010 70 61 73 73 65 64 0a 74 6f 20 52 4d 2e 0a 0a 49  passed.to RM...I
24020 66 20 46 49 4c 45 20 69 73 20 61 20 6c 69 62 74  f FILE is a libt
24030 6f 6f 6c 20 6c 69 62 72 61 72 79 2c 20 6f 62 6a  ool library, obj
24040 65 63 74 20 6f 72 20 70 72 6f 67 72 61 6d 2c 20  ect or program, 
24050 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 61 73  all the files as
24060 73 6f 63 69 61 74 65 64 0a 77 69 74 68 20 69 74  sociated.with it
24070 20 61 72 65 20 64 65 6c 65 74 65 64 2e 20 4f 74   are deleted. Ot
24080 68 65 72 77 69 73 65 2c 20 6f 6e 6c 79 20 46 49  herwise, only FI
24090 4c 45 20 69 74 73 65 6c 66 20 69 73 20 64 65 6c  LE itself is del
240a0 65 74 65 64 20 75 73 69 6e 67 20 52 4d 2e 22 0a  eted using RM.".
240b0 20 20 3b 3b 0a 0a 63 6f 6d 70 69 6c 65 29 0a 20    ;;..compile). 
240c0 20 24 65 63 68 6f 20 5c 0a 22 55 73 61 67 65 3a   $echo \."Usage:
240d0 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f 50 54 49   $modename [OPTI
240e0 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65 3d 63 6f  ON]... --mode=co
240f0 6d 70 69 6c 65 20 43 4f 4d 50 49 4c 45 2d 43 4f  mpile COMPILE-CO
24100 4d 4d 41 4e 44 2e 2e 2e 20 53 4f 55 52 43 45 46  MMAND... SOURCEF
24110 49 4c 45 0a 0a 43 6f 6d 70 69 6c 65 20 61 20 73  ILE..Compile a s
24120 6f 75 72 63 65 20 66 69 6c 65 20 69 6e 74 6f 20  ource file into 
24130 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  a libtool librar
24140 79 20 6f 62 6a 65 63 74 2e 0a 0a 54 68 69 73 20  y object...This 
24150 6d 6f 64 65 20 61 63 63 65 70 74 73 20 74 68 65  mode accepts the
24160 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 64 64 69 74   following addit
24170 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73 3a 0a 0a  ional options:..
24180 20 20 2d 6f 20 4f 55 54 50 55 54 2d 46 49 4c 45    -o OUTPUT-FILE
24190 20 20 20 20 73 65 74 20 74 68 65 20 6f 75 74 70      set the outp
241a0 75 74 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20  ut file name to 
241b0 4f 55 54 50 55 54 2d 46 49 4c 45 0a 20 20 2d 70  OUTPUT-FILE.  -p
241c0 72 65 66 65 72 2d 70 69 63 20 20 20 20 20 20 20  refer-pic       
241d0 74 72 79 20 74 6f 20 62 75 69 6c 64 69 6e 67 20  try to building 
241e0 50 49 43 20 6f 62 6a 65 63 74 73 20 6f 6e 6c 79  PIC objects only
241f0 0a 20 20 2d 70 72 65 66 65 72 2d 6e 6f 6e 2d 70  .  -prefer-non-p
24200 69 63 20 20 20 74 72 79 20 74 6f 20 62 75 69 6c  ic   try to buil
24210 64 69 6e 67 20 6e 6f 6e 2d 50 49 43 20 6f 62 6a  ding non-PIC obj
24220 65 63 74 73 20 6f 6e 6c 79 0a 20 20 2d 73 74 61  ects only.  -sta
24230 74 69 63 20 20 20 20 20 20 20 20 20 20 20 61 6c  tic           al
24240 77 61 79 73 20 62 75 69 6c 64 20 61 20 5c 60 2e  ways build a \`.
24250 6f 27 20 66 69 6c 65 20 73 75 69 74 61 62 6c 65  o' file suitable
24260 20 66 6f 72 20 73 74 61 74 69 63 20 6c 69 6e 6b   for static link
24270 69 6e 67 0a 0a 43 4f 4d 50 49 4c 45 2d 43 4f 4d  ing..COMPILE-COM
24280 4d 41 4e 44 20 69 73 20 61 20 63 6f 6d 6d 61 6e  MAND is a comman
24290 64 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20  d to be used in 
242a0 63 72 65 61 74 69 6e 67 20 61 20 5c 60 73 74 61  creating a \`sta
242b0 6e 64 61 72 64 27 20 6f 62 6a 65 63 74 20 66 69  ndard' object fi
242c0 6c 65 0a 66 72 6f 6d 20 74 68 65 20 67 69 76 65  le.from the give
242d0 6e 20 53 4f 55 52 43 45 46 49 4c 45 2e 0a 0a 54  n SOURCEFILE...T
242e0 68 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 6e  he output file n
242f0 61 6d 65 20 69 73 20 64 65 74 65 72 6d 69 6e 65  ame is determine
24300 64 20 62 79 20 72 65 6d 6f 76 69 6e 67 20 74 68  d by removing th
24310 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6d 70  e directory comp
24320 6f 6e 65 6e 74 20 66 72 6f 6d 0a 53 4f 55 52 43  onent from.SOURC
24330 45 46 49 4c 45 2c 20 74 68 65 6e 20 73 75 62 73  EFILE, then subs
24340 74 69 74 75 74 69 6e 67 20 74 68 65 20 43 20 73  tituting the C s
24350 6f 75 72 63 65 20 63 6f 64 65 20 73 75 66 66 69  ource code suffi
24360 78 20 5c 60 2e 63 27 20 77 69 74 68 20 74 68 65  x \`.c' with the
24370 0a 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20  .library object 
24380 73 75 66 66 69 78 2c 20 5c 60 2e 6c 6f 27 2e 22  suffix, \`.lo'."
24390 0a 20 20 3b 3b 0a 0a 65 78 65 63 75 74 65 29 0a  .  ;;..execute).
243a0 20 20 24 65 63 68 6f 20 5c 0a 22 55 73 61 67 65    $echo \."Usage
243b0 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f 50 54  : $modename [OPT
243c0 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65 3d 65  ION]... --mode=e
243d0 78 65 63 75 74 65 20 43 4f 4d 4d 41 4e 44 20 5b  xecute COMMAND [
243e0 41 52 47 53 5d 2e 2e 2e 0a 0a 41 75 74 6f 6d 61  ARGS].....Automa
243f0 74 69 63 61 6c 6c 79 20 73 65 74 20 6c 69 62 72  tically set libr
24400 61 72 79 20 70 61 74 68 2c 20 74 68 65 6e 20 72  ary path, then r
24410 75 6e 20 61 20 70 72 6f 67 72 61 6d 2e 0a 0a 54  un a program...T
24420 68 69 73 20 6d 6f 64 65 20 61 63 63 65 70 74 73  his mode accepts
24430 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61   the following a
24440 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e  dditional option
24450 73 3a 0a 0a 20 20 2d 64 6c 6f 70 65 6e 20 46 49  s:..  -dlopen FI
24460 4c 45 20 20 20 20 20 20 61 64 64 20 74 68 65 20  LE      add the 
24470 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69  directory contai
24480 6e 69 6e 67 20 46 49 4c 45 20 74 6f 20 74 68 65  ning FILE to the
24490 20 6c 69 62 72 61 72 79 20 70 61 74 68 0a 0a 54   library path..T
244a0 68 69 73 20 6d 6f 64 65 20 73 65 74 73 20 74 68  his mode sets th
244b0 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 65  e library path e
244c0 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61  nvironment varia
244d0 62 6c 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f  ble according to
244e0 20 5c 60 2d 64 6c 6f 70 65 6e 27 0a 66 6c 61 67   \`-dlopen'.flag
244f0 73 2e 0a 0a 49 66 20 61 6e 79 20 6f 66 20 74 68  s...If any of th
24500 65 20 41 52 47 53 20 61 72 65 20 6c 69 62 74 6f  e ARGS are libto
24510 6f 6c 20 65 78 65 63 75 74 61 62 6c 65 20 77 72  ol executable wr
24520 61 70 70 65 72 73 2c 20 74 68 65 6e 20 74 68 65  appers, then the
24530 79 20 61 72 65 20 74 72 61 6e 73 6c 61 74 65 64  y are translated
24540 0a 69 6e 74 6f 20 74 68 65 69 72 20 63 6f 72 72  .into their corr
24550 65 73 70 6f 6e 64 69 6e 67 20 75 6e 69 6e 73 74  esponding uninst
24560 61 6c 6c 65 64 20 62 69 6e 61 72 79 2c 20 61 6e  alled binary, an
24570 64 20 61 6e 79 20 6f 66 20 74 68 65 69 72 20 72  d any of their r
24580 65 71 75 69 72 65 64 20 6c 69 62 72 61 72 79 0a  equired library.
24590 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20  directories are 
245a0 61 64 64 65 64 20 74 6f 20 74 68 65 20 6c 69 62  added to the lib
245b0 72 61 72 79 20 70 61 74 68 2e 0a 0a 54 68 65 6e  rary path...Then
245c0 2c 20 43 4f 4d 4d 41 4e 44 20 69 73 20 65 78 65  , COMMAND is exe
245d0 63 75 74 65 64 2c 20 77 69 74 68 20 41 52 47 53  cuted, with ARGS
245e0 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a   as arguments.".
245f0 20 20 3b 3b 0a 0a 66 69 6e 69 73 68 29 0a 20 20    ;;..finish).  
24600 24 65 63 68 6f 20 5c 0a 22 55 73 61 67 65 3a 20  $echo \."Usage: 
24610 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f 50 54 49 4f  $modename [OPTIO
24620 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65 3d 66 69 6e  N]... --mode=fin
24630 69 73 68 20 5b 4c 49 42 44 49 52 5d 2e 2e 2e 0a  ish [LIBDIR]....
24640 0a 43 6f 6d 70 6c 65 74 65 20 74 68 65 20 69 6e  .Complete the in
24650 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 6c 69  stallation of li
24660 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 2e  btool libraries.
24670 0a 0a 45 61 63 68 20 4c 49 42 44 49 52 20 69 73  ..Each LIBDIR is
24680 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 68 61   a directory tha
24690 74 20 63 6f 6e 74 61 69 6e 73 20 6c 69 62 74 6f  t contains libto
246a0 6f 6c 20 6c 69 62 72 61 72 69 65 73 2e 0a 0a 54  ol libraries...T
246b0 68 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74  he commands that
246c0 20 74 68 69 73 20 6d 6f 64 65 20 65 78 65 63 75   this mode execu
246d0 74 65 73 20 6d 61 79 20 72 65 71 75 69 72 65 20  tes may require 
246e0 73 75 70 65 72 75 73 65 72 20 70 72 69 76 69 6c  superuser privil
246f0 65 67 65 73 2e 20 20 55 73 65 0a 74 68 65 20 5c  eges.  Use.the \
24700 60 2d 2d 64 72 79 2d 72 75 6e 27 20 6f 70 74 69  `--dry-run' opti
24710 6f 6e 20 69 66 20 79 6f 75 20 6a 75 73 74 20 77  on if you just w
24720 61 6e 74 20 74 6f 20 73 65 65 20 77 68 61 74 20  ant to see what 
24730 77 6f 75 6c 64 20 62 65 20 65 78 65 63 75 74 65  would be execute
24740 64 2e 22 0a 20 20 3b 3b 0a 0a 69 6e 73 74 61 6c  d.".  ;;..instal
24750 6c 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73  l).  $echo \."Us
24760 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b  age: $modename [
24770 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64  OPTION]... --mod
24780 65 3d 69 6e 73 74 61 6c 6c 20 49 4e 53 54 41 4c  e=install INSTAL
24790 4c 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 0a 0a 49 6e  L-COMMAND.....In
247a0 73 74 61 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  stall executable
247b0 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e 0a  s or libraries..
247c0 0a 49 4e 53 54 41 4c 4c 2d 43 4f 4d 4d 41 4e 44  .INSTALL-COMMAND
247d0 20 69 73 20 74 68 65 20 69 6e 73 74 61 6c 6c 61   is the installa
247e0 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2e 20 20 54  tion command.  T
247f0 68 65 20 66 69 72 73 74 20 63 6f 6d 70 6f 6e 65  he first compone
24800 6e 74 20 73 68 6f 75 6c 64 20 62 65 0a 65 69 74  nt should be.eit
24810 68 65 72 20 74 68 65 20 5c 60 69 6e 73 74 61 6c  her the \`instal
24820 6c 27 20 6f 72 20 5c 60 63 70 27 20 70 72 6f 67  l' or \`cp' prog
24830 72 61 6d 2e 0a 0a 54 68 65 20 72 65 73 74 20 6f  ram...The rest o
24840 66 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73  f the components
24850 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64   are interpreted
24860 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f   as arguments to
24870 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64 20 28 6f   that command (o
24880 6e 6c 79 0a 42 53 44 2d 63 6f 6d 70 61 74 69 62  nly.BSD-compatib
24890 6c 65 20 69 6e 73 74 61 6c 6c 20 6f 70 74 69 6f  le install optio
248a0 6e 73 20 61 72 65 20 72 65 63 6f 67 6e 69 7a 65  ns are recognize
248b0 64 29 2e 22 0a 20 20 3b 3b 0a 0a 6c 69 6e 6b 29  d).".  ;;..link)
248c0 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73 61 67  .  $echo \."Usag
248d0 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f 50  e: $modename [OP
248e0 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65 3d  TION]... --mode=
248f0 6c 69 6e 6b 20 4c 49 4e 4b 2d 43 4f 4d 4d 41 4e  link LINK-COMMAN
24900 44 2e 2e 2e 0a 0a 4c 69 6e 6b 20 6f 62 6a 65 63  D.....Link objec
24910 74 20 66 69 6c 65 73 20 6f 72 20 6c 69 62 72 61  t files or libra
24920 72 69 65 73 20 74 6f 67 65 74 68 65 72 20 74 6f  ries together to
24930 20 66 6f 72 6d 20 61 6e 6f 74 68 65 72 20 6c 69   form another li
24940 62 72 61 72 79 2c 20 6f 72 20 74 6f 0a 63 72 65  brary, or to.cre
24950 61 74 65 20 61 6e 20 65 78 65 63 75 74 61 62 6c  ate an executabl
24960 65 20 70 72 6f 67 72 61 6d 2e 0a 0a 4c 49 4e 4b  e program...LINK
24970 2d 43 4f 4d 4d 41 4e 44 20 69 73 20 61 20 63 6f  -COMMAND is a co
24980 6d 6d 61 6e 64 20 75 73 69 6e 67 20 74 68 65 20  mmand using the 
24990 43 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20  C compiler that 
249a0 79 6f 75 20 77 6f 75 6c 64 20 75 73 65 20 74 6f  you would use to
249b0 20 63 72 65 61 74 65 0a 61 20 70 72 6f 67 72 61   create.a progra
249c0 6d 20 66 72 6f 6d 20 73 65 76 65 72 61 6c 20 6f  m from several o
249d0 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 0a 54 68  bject files...Th
249e0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
249f0 6f 6e 65 6e 74 73 20 6f 66 20 4c 49 4e 4b 2d 43  onents of LINK-C
24a00 4f 4d 4d 41 4e 44 20 61 72 65 20 74 72 65 61 74  OMMAND are treat
24a10 65 64 20 73 70 65 63 69 61 6c 6c 79 3a 0a 0a 20  ed specially:.. 
24a20 20 2d 61 6c 6c 2d 73 74 61 74 69 63 20 20 20 20   -all-static    
24a30 20 20 20 64 6f 20 6e 6f 74 20 64 6f 20 61 6e 79     do not do any
24a40 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 69 6e 67   dynamic linking
24a50 20 61 74 20 61 6c 6c 0a 20 20 2d 61 76 6f 69 64   at all.  -avoid
24a60 2d 76 65 72 73 69 6f 6e 20 20 20 20 64 6f 20 6e  -version    do n
24a70 6f 74 20 61 64 64 20 61 20 76 65 72 73 69 6f 6e  ot add a version
24a80 20 73 75 66 66 69 78 20 69 66 20 70 6f 73 73 69   suffix if possi
24a90 62 6c 65 0a 20 20 2d 64 6c 6f 70 65 6e 20 46 49  ble.  -dlopen FI
24aa0 4c 45 20 20 20 20 20 20 5c 60 2d 64 6c 70 72 65  LE      \`-dlpre
24ab0 6f 70 65 6e 27 20 46 49 4c 45 20 69 66 20 69 74  open' FILE if it
24ac0 20 63 61 6e 6e 6f 74 20 62 65 20 64 6c 6f 70 65   cannot be dlope
24ad0 6e 65 64 20 61 74 20 72 75 6e 74 69 6d 65 0a 20  ned at runtime. 
24ae0 20 2d 64 6c 70 72 65 6f 70 65 6e 20 46 49 4c 45   -dlpreopen FILE
24af0 20 20 20 6c 69 6e 6b 20 69 6e 20 46 49 4c 45 20     link in FILE 
24b00 61 6e 64 20 61 64 64 20 69 74 73 20 73 79 6d 62  and add its symb
24b10 6f 6c 73 20 74 6f 20 6c 74 5f 70 72 65 6c 6f 61  ols to lt_preloa
24b20 64 65 64 5f 73 79 6d 62 6f 6c 73 0a 20 20 2d 65  ded_symbols.  -e
24b30 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63 20 20 20  xport-dynamic   
24b40 61 6c 6c 6f 77 20 73 79 6d 62 6f 6c 73 20 66 72  allow symbols fr
24b50 6f 6d 20 4f 55 54 50 55 54 2d 46 49 4c 45 20 74  om OUTPUT-FILE t
24b60 6f 20 62 65 20 72 65 73 6f 6c 76 65 64 20 77 69  o be resolved wi
24b70 74 68 20 64 6c 73 79 6d 28 33 29 0a 20 20 2d 65  th dlsym(3).  -e
24b80 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 20 53 59  xport-symbols SY
24b90 4d 46 49 4c 45 0a 09 09 20 20 20 20 74 72 79 20  MFILE...    try 
24ba0 74 6f 20 65 78 70 6f 72 74 20 6f 6e 6c 79 20 74  to export only t
24bb0 68 65 20 73 79 6d 62 6f 6c 73 20 6c 69 73 74 65  he symbols liste
24bc0 64 20 69 6e 20 53 59 4d 46 49 4c 45 0a 20 20 2d  d in SYMFILE.  -
24bd0 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 2d 72  export-symbols-r
24be0 65 67 65 78 20 52 45 47 45 58 0a 09 09 20 20 20  egex REGEX...   
24bf0 20 74 72 79 20 74 6f 20 65 78 70 6f 72 74 20 6f   try to export o
24c00 6e 6c 79 20 74 68 65 20 73 79 6d 62 6f 6c 73 20  nly the symbols 
24c10 6d 61 74 63 68 69 6e 67 20 52 45 47 45 58 0a 20  matching REGEX. 
24c20 20 2d 4c 4c 49 42 44 49 52 20 20 20 20 20 20 20   -LLIBDIR       
24c30 20 20 20 73 65 61 72 63 68 20 4c 49 42 44 49 52     search LIBDIR
24c40 20 66 6f 72 20 72 65 71 75 69 72 65 64 20 69 6e   for required in
24c50 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 69 65  stalled librarie
24c60 73 0a 20 20 2d 6c 4e 41 4d 45 20 20 20 20 20 20  s.  -lNAME      
24c70 20 20 20 20 20 20 4f 55 54 50 55 54 2d 46 49 4c        OUTPUT-FIL
24c80 45 20 72 65 71 75 69 72 65 73 20 74 68 65 20 69  E requires the i
24c90 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 79  nstalled library
24ca0 20 6c 69 62 4e 41 4d 45 0a 20 20 2d 6d 6f 64 75   libNAME.  -modu
24cb0 6c 65 20 20 20 20 20 20 20 20 20 20 20 62 75 69  le           bui
24cc0 6c 64 20 61 20 6c 69 62 72 61 72 79 20 74 68 61  ld a library tha
24cd0 74 20 63 61 6e 20 64 6c 6f 70 65 6e 65 64 0a 20  t can dlopened. 
24ce0 20 2d 6e 6f 2d 66 61 73 74 2d 69 6e 73 74 61 6c   -no-fast-instal
24cf0 6c 20 20 64 69 73 61 62 6c 65 20 74 68 65 20 66  l  disable the f
24d00 61 73 74 2d 69 6e 73 74 61 6c 6c 20 6d 6f 64 65  ast-install mode
24d10 0a 20 20 2d 6e 6f 2d 69 6e 73 74 61 6c 6c 20 20  .  -no-install  
24d20 20 20 20 20 20 6c 69 6e 6b 20 61 20 6e 6f 74 2d       link a not-
24d30 69 6e 73 74 61 6c 6c 61 62 6c 65 20 65 78 65 63  installable exec
24d40 75 74 61 62 6c 65 0a 20 20 2d 6e 6f 2d 75 6e 64  utable.  -no-und
24d50 65 66 69 6e 65 64 20 20 20 20 20 64 65 63 6c 61  efined     decla
24d60 72 65 20 74 68 61 74 20 61 20 6c 69 62 72 61 72  re that a librar
24d70 79 20 64 6f 65 73 20 6e 6f 74 20 72 65 66 65 72  y does not refer
24d80 20 74 6f 20 65 78 74 65 72 6e 61 6c 20 73 79 6d   to external sym
24d90 62 6f 6c 73 0a 20 20 2d 6f 20 4f 55 54 50 55 54  bols.  -o OUTPUT
24da0 2d 46 49 4c 45 20 20 20 20 63 72 65 61 74 65 20  -FILE    create 
24db0 4f 55 54 50 55 54 2d 46 49 4c 45 20 66 72 6f 6d  OUTPUT-FILE from
24dc0 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6f   the specified o
24dd0 62 6a 65 63 74 73 0a 20 20 2d 72 65 6c 65 61 73  bjects.  -releas
24de0 65 20 52 45 4c 45 41 53 45 20 20 73 70 65 63 69  e RELEASE  speci
24df0 66 79 20 70 61 63 6b 61 67 65 20 72 65 6c 65 61  fy package relea
24e00 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20  se information. 
24e10 20 2d 72 70 61 74 68 20 4c 49 42 44 49 52 20 20   -rpath LIBDIR  
24e20 20 20 20 74 68 65 20 63 72 65 61 74 65 64 20 6c     the created l
24e30 69 62 72 61 72 79 20 77 69 6c 6c 20 65 76 65 6e  ibrary will even
24e40 74 75 61 6c 6c 79 20 62 65 20 69 6e 73 74 61 6c  tually be instal
24e50 6c 65 64 20 69 6e 20 4c 49 42 44 49 52 0a 20 20  led in LIBDIR.  
24e60 2d 52 5b 20 5d 4c 49 42 44 49 52 20 20 20 20 20  -R[ ]LIBDIR     
24e70 20 20 61 64 64 20 4c 49 42 44 49 52 20 74 6f 20    add LIBDIR to 
24e80 74 68 65 20 72 75 6e 74 69 6d 65 20 70 61 74 68  the runtime path
24e90 20 6f 66 20 70 72 6f 67 72 61 6d 73 20 61 6e 64   of programs and
24ea0 20 6c 69 62 72 61 72 69 65 73 0a 20 20 2d 73 74   libraries.  -st
24eb0 61 74 69 63 20 20 20 20 20 20 20 20 20 20 20 64  atic           d
24ec0 6f 20 6e 6f 74 20 64 6f 20 61 6e 79 20 64 79 6e  o not do any dyn
24ed0 61 6d 69 63 20 6c 69 6e 6b 69 6e 67 20 6f 66 20  amic linking of 
24ee0 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65  libtool librarie
24ef0 73 0a 20 20 2d 76 65 72 73 69 6f 6e 2d 69 6e 66  s.  -version-inf
24f00 6f 20 43 55 52 52 45 4e 54 5b 3a 52 45 56 49 53  o CURRENT[:REVIS
24f10 49 4f 4e 5b 3a 41 47 45 5d 5d 0a 09 09 20 20 20  ION[:AGE]]...   
24f20 20 73 70 65 63 69 66 79 20 6c 69 62 72 61 72 79   specify library
24f30 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 5b 65   version info [e
24f40 61 63 68 20 76 61 72 69 61 62 6c 65 20 64 65 66  ach variable def
24f50 61 75 6c 74 73 20 74 6f 20 30 5d 0a 0a 41 6c 6c  aults to 0]..All
24f60 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 73 20 28   other options (
24f70 61 72 67 75 6d 65 6e 74 73 20 62 65 67 69 6e 6e  arguments beginn
24f80 69 6e 67 20 77 69 74 68 20 5c 60 2d 27 29 20 61  ing with \`-') a
24f90 72 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 45 76 65  re ignored...Eve
24fa0 72 79 20 6f 74 68 65 72 20 61 72 67 75 6d 65 6e  ry other argumen
24fb0 74 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20  t is treated as 
24fc0 61 20 66 69 6c 65 6e 61 6d 65 2e 20 20 46 69 6c  a filename.  Fil
24fd0 65 73 20 65 6e 64 69 6e 67 20 69 6e 20 5c 60 2e  es ending in \`.
24fe0 6c 61 27 20 61 72 65 0a 74 72 65 61 74 65 64 20  la' are.treated 
24ff0 61 73 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c  as uninstalled l
25000 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73  ibtool libraries
25010 2c 20 6f 74 68 65 72 20 66 69 6c 65 73 20 61 72  , other files ar
25020 65 20 73 74 61 6e 64 61 72 64 20 6f 72 20 6c 69  e standard or li
25030 62 72 61 72 79 0a 6f 62 6a 65 63 74 20 66 69 6c  brary.object fil
25040 65 73 2e 0a 0a 49 66 20 74 68 65 20 4f 55 54 50  es...If the OUTP
25050 55 54 2d 46 49 4c 45 20 65 6e 64 73 20 69 6e 20  UT-FILE ends in 
25060 5c 60 2e 6c 61 27 2c 20 74 68 65 6e 20 61 20 6c  \`.la', then a l
25070 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 20 69  ibtool library i
25080 73 20 63 72 65 61 74 65 64 2c 0a 6f 6e 6c 79 20  s created,.only 
25090 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 73 20  library objects 
250a0 28 5c 60 2e 6c 6f 27 20 66 69 6c 65 73 29 20 6d  (\`.lo' files) m
250b0 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 2c  ay be specified,
250c0 20 61 6e 64 20 5c 60 2d 72 70 61 74 68 27 20 69   and \`-rpath' i
250d0 73 0a 72 65 71 75 69 72 65 64 2c 20 65 78 63 65  s.required, exce
250e0 70 74 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67  pt when creating
250f0 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c   a convenience l
25100 69 62 72 61 72 79 2e 0a 0a 49 66 20 4f 55 54 50  ibrary...If OUTP
25110 55 54 2d 46 49 4c 45 20 65 6e 64 73 20 69 6e 20  UT-FILE ends in 
25120 5c 60 2e 61 27 20 6f 72 20 5c 60 2e 6c 69 62 27  \`.a' or \`.lib'
25130 2c 20 74 68 65 6e 20 61 20 73 74 61 6e 64 61 72  , then a standar
25140 64 20 6c 69 62 72 61 72 79 20 69 73 20 63 72 65  d library is cre
25150 61 74 65 64 0a 75 73 69 6e 67 20 5c 60 61 72 27  ated.using \`ar'
25160 20 61 6e 64 20 5c 60 72 61 6e 6c 69 62 27 2c 20   and \`ranlib', 
25170 6f 72 20 6f 6e 20 57 69 6e 64 6f 77 73 20 75 73  or on Windows us
25180 69 6e 67 20 5c 60 6c 69 62 27 2e 0a 0a 49 66 20  ing \`lib'...If 
25190 4f 55 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73  OUTPUT-FILE ends
251a0 20 69 6e 20 5c 60 2e 6c 6f 27 20 6f 72 20 5c 60   in \`.lo' or \`
251b0 2e 24 7b 6f 62 6a 65 78 74 7d 27 2c 20 74 68 65  .${objext}', the
251c0 6e 20 61 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f  n a reloadable o
251d0 62 6a 65 63 74 20 66 69 6c 65 0a 69 73 20 63 72  bject file.is cr
251e0 65 61 74 65 64 2c 20 6f 74 68 65 72 77 69 73 65  eated, otherwise
251f0 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 70   an executable p
25200 72 6f 67 72 61 6d 20 69 73 20 63 72 65 61 74 65  rogram is create
25210 64 2e 22 0a 20 20 3b 3b 0a 0a 75 6e 69 6e 73 74  d.".  ;;..uninst
25220 61 6c 6c 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22  all).  $echo \."
25230 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65  Usage: $modename
25240 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d   [OPTION]... --m
25250 6f 64 65 3d 75 6e 69 6e 73 74 61 6c 6c 20 52 4d  ode=uninstall RM
25260 20 5b 52 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e 2e 20   [RM-OPTION]... 
25270 46 49 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f 76 65 20  FILE.....Remove 
25280 6c 69 62 72 61 72 69 65 73 20 66 72 6f 6d 20 61  libraries from a
25290 6e 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64  n installation d
252a0 69 72 65 63 74 6f 72 79 2e 0a 0a 52 4d 20 69 73  irectory...RM is
252b0 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
252c0 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20   program to use 
252d0 74 6f 20 64 65 6c 65 74 65 20 66 69 6c 65 73 20  to delete files 
252e0 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20  associated with 
252f0 65 61 63 68 20 46 49 4c 45 0a 28 74 79 70 69 63  each FILE.(typic
25300 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72 6d 27 29  ally \`/bin/rm')
25310 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e 53 20 61 72  .  RM-OPTIONS ar
25320 65 20 6f 70 74 69 6f 6e 73 20 28 73 75 63 68 20  e options (such 
25330 61 73 20 5c 60 2d 66 27 29 20 74 6f 20 62 65 20  as \`-f') to be 
25340 70 61 73 73 65 64 0a 74 6f 20 52 4d 2e 0a 0a 49  passed.to RM...I
25350 66 20 46 49 4c 45 20 69 73 20 61 20 6c 69 62 74  f FILE is a libt
25360 6f 6f 6c 20 6c 69 62 72 61 72 79 2c 20 61 6c 6c  ool library, all
25370 20 74 68 65 20 66 69 6c 65 73 20 61 73 73 6f 63   the files assoc
25380 69 61 74 65 64 20 77 69 74 68 20 69 74 20 61 72  iated with it ar
25390 65 20 64 65 6c 65 74 65 64 2e 0a 4f 74 68 65 72  e deleted..Other
253a0 77 69 73 65 2c 20 6f 6e 6c 79 20 46 49 4c 45 20  wise, only FILE 
253b0 69 74 73 65 6c 66 20 69 73 20 64 65 6c 65 74 65  itself is delete
253c0 64 20 75 73 69 6e 67 20 52 4d 2e 22 0a 20 20 3b  d using RM.".  ;
253d0 3b 0a 0a 2a 29 0a 20 20 24 65 63 68 6f 20 22 24  ;..*).  $echo "$
253e0 6d 6f 64 65 6e 61 6d 65 3a 20 69 6e 76 61 6c 69  modename: invali
253f0 64 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65  d operation mode
25400 20 5c 60 24 6d 6f 64 65 27 22 20 31 3e 26 32 0a   \`$mode'" 1>&2.
25410 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20    $echo "$help" 
25420 31 3e 26 32 0a 20 20 65 78 69 74 20 31 0a 20 20  1>&2.  exit 1.  
25430 3b 3b 0a 65 73 61 63 0a 0a 65 63 68 6f 0a 24 65  ;;.esac..echo.$e
25440 63 68 6f 20 22 54 72 79 20 5c 60 24 6d 6f 64 65  cho "Try \`$mode
25450 6e 61 6d 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72  name --help' for
25460 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f   more informatio
25470 6e 20 61 62 6f 75 74 20 6f 74 68 65 72 20 6d 6f  n about other mo
25480 64 65 73 2e 22 0a 0a 65 78 69 74 20 30 0a 0a 23  des."..exit 0..#
25490 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73   Local Variables
254a0 3a 0a 23 20 6d 6f 64 65 3a 73 68 65 6c 6c 2d 73  :.# mode:shell-s
254b0 63 72 69 70 74 0a 23 20 73 68 2d 69 6e 64 65 6e  cript.# sh-inden
254c0 74 61 74 69 6f 6e 3a 32 0a 23 20 45 6e 64 3a 0a  tation:2.# End:.