/ Hex Artifact Content
Login

Artifact 56abb507100ed2d4261f6dd1653dec3cf4066387:


0000: 23 20 6c 74 6d 61 69 6e 2e 73 68 20 2d 20 50 72  # ltmain.sh - Pr
0010: 6f 76 69 64 65 20 67 65 6e 65 72 61 6c 69 7a 65  ovide generalize
0020: 64 20 6c 69 62 72 61 72 79 2d 62 75 69 6c 64 69  d library-buildi
0030: 6e 67 20 73 75 70 70 6f 72 74 20 73 65 72 76 69  ng support servi
0040: 63 65 73 2e 0a 23 20 4e 4f 54 45 3a 20 43 68 61  ces..# NOTE: Cha
0050: 6e 67 69 6e 67 20 74 68 69 73 20 66 69 6c 65 20  nging this file 
0060: 77 69 6c 6c 20 6e 6f 74 20 61 66 66 65 63 74 20  will not affect 
0070: 61 6e 79 74 68 69 6e 67 20 75 6e 74 69 6c 20 79  anything until y
0080: 6f 75 20 72 65 72 75 6e 20 63 6f 6e 66 69 67 75  ou rerun configu
0090: 72 65 2e 0a 23 0a 23 20 43 6f 70 79 72 69 67 68  re..#.# Copyrigh
00a0: 74 20 28 43 29 20 31 39 39 36 2c 20 31 39 39 37  t (C) 1996, 1997
00b0: 2c 20 31 39 39 38 2c 20 31 39 39 39 2c 20 32 30  , 1998, 1999, 20
00c0: 30 30 2c 20 32 30 30 31 2c 20 32 30 30 33 2c 20  00, 2001, 2003, 
00d0: 32 30 30 34 2c 20 32 30 30 35 0a 23 20 46 72 65  2004, 2005.# Fre
00e0: 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64  e Software Found
00f0: 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 23 20 4f 72  ation, Inc..# Or
0100: 69 67 69 6e 61 6c 6c 79 20 62 79 20 47 6f 72 64  iginally by Gord
0110: 6f 6e 20 4d 61 74 7a 69 67 6b 65 69 74 20 3c 67  on Matzigkeit <g
0120: 6f 72 64 40 67 6e 75 2e 61 69 2e 6d 69 74 2e 65  ord@gnu.ai.mit.e
0130: 64 75 3e 2c 20 31 39 39 36 0a 23 0a 23 20 54 68  du>, 1996.#.# Th
0140: 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72  is program is fr
0150: 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75  ee software; you
0160: 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74   can redistribut
0170: 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69  e it and/or modi
0180: 66 79 0a 23 20 69 74 20 75 6e 64 65 72 20 74 68  fy.# it under th
0190: 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47  e terms of the G
01a0: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  NU General Publi
01b0: 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62  c License as pub
01c0: 6c 69 73 68 65 64 20 62 79 0a 23 20 74 68 65 20  lished by.# the 
01d0: 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f  Free Software Fo
01e0: 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72  undation; either
01f0: 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68   version 2 of th
0200: 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20  e License, or.# 
0210: 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29  (at your option)
0220: 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69   any later versi
0230: 6f 6e 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f  on..#.# This pro
0240: 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75  gram is distribu
0250: 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20  ted in the hope 
0260: 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20  that it will be 
0270: 75 73 65 66 75 6c 2c 20 62 75 74 0a 23 20 57 49  useful, but.# WI
0280: 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e  THOUT ANY WARRAN
0290: 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e  TY; without even
02a0: 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72   the implied war
02b0: 72 61 6e 74 79 20 6f 66 0a 23 20 4d 45 52 43 48  ranty of.# MERCH
02c0: 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49  ANTABILITY or FI
02d0: 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54  TNESS FOR A PART
02e0: 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20  ICULAR PURPOSE. 
02f0: 20 53 65 65 20 74 68 65 20 47 4e 55 0a 23 20 47   See the GNU.# G
0300: 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69  eneral Public Li
0310: 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64  cense for more d
0320: 65 74 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20  etails..#.# You 
0330: 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65  should have rece
0340: 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74  ived a copy of t
0350: 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  he GNU General P
0360: 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 23 20  ublic License.# 
0370: 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20  along with this 
0380: 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c  program; if not,
0390: 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72   write to the Fr
03a0: 65 65 20 53 6f 66 74 77 61 72 65 0a 23 20 46 6f  ee Software.# Fo
03b0: 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20  undation, Inc., 
03c0: 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53 74 72 65  51 Franklin Stre
03d0: 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c  et, Fifth Floor,
03e0: 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31   Boston, MA 0211
03f0: 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 23 0a 23  0-1301, USA..#.#
0400: 20 41 73 20 61 20 73 70 65 63 69 61 6c 20 65 78   As a special ex
0410: 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 20 47  ception to the G
0420: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  NU General Publi
0430: 63 20 4c 69 63 65 6e 73 65 2c 20 69 66 20 79 6f  c License, if yo
0440: 75 0a 23 20 64 69 73 74 72 69 62 75 74 65 20 74  u.# distribute t
0450: 68 69 73 20 66 69 6c 65 20 61 73 20 70 61 72 74  his file as part
0460: 20 6f 66 20 61 20 70 72 6f 67 72 61 6d 20 74 68   of a program th
0470: 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 0a 23 20  at contains a.# 
0480: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63  configuration sc
0490: 72 69 70 74 20 67 65 6e 65 72 61 74 65 64 20 62  ript generated b
04a0: 79 20 41 75 74 6f 63 6f 6e 66 2c 20 79 6f 75 20  y Autoconf, you 
04b0: 6d 61 79 20 69 6e 63 6c 75 64 65 20 69 74 20 75  may include it u
04c0: 6e 64 65 72 0a 23 20 74 68 65 20 73 61 6d 65 20  nder.# the same 
04d0: 64 69 73 74 72 69 62 75 74 69 6f 6e 20 74 65 72  distribution ter
04e0: 6d 73 20 74 68 61 74 20 79 6f 75 20 75 73 65 20  ms that you use 
04f0: 66 6f 72 20 74 68 65 20 72 65 73 74 20 6f 66 20  for the rest of 
0500: 74 68 61 74 20 70 72 6f 67 72 61 6d 2e 0a 0a 62  that program...b
0510: 61 73 65 6e 61 6d 65 3d 22 73 2c 5e 2e 2a 2f 2c  asename="s,^.*/,
0520: 2c 67 22 0a 0a 23 20 57 6f 72 6b 20 61 72 6f 75  ,g"..# Work arou
0530: 6e 64 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70  nd backward comp
0540: 61 74 69 62 69 6c 69 74 79 20 69 73 73 75 65 20  atibility issue 
0550: 6f 6e 20 49 52 49 58 20 36 2e 35 2e 20 4f 6e 20  on IRIX 6.5. On 
0560: 49 52 49 58 20 36 2e 34 2b 2c 20 73 68 0a 23 20  IRIX 6.4+, sh.# 
0570: 69 73 20 6b 73 68 20 62 75 74 20 77 68 65 6e 20  is ksh but when 
0580: 74 68 65 20 73 68 65 6c 6c 20 69 73 20 69 6e 76  the shell is inv
0590: 6f 6b 65 64 20 61 73 20 22 73 68 22 20 61 6e 64  oked as "sh" and
05a0: 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c   the current val
05b0: 75 65 20 6f 66 0a 23 20 74 68 65 20 5f 58 50 47  ue of.# the _XPG
05c0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
05d0: 69 61 62 6c 65 20 69 73 20 6e 6f 74 20 65 71 75  iable is not equ
05e0: 61 6c 20 74 6f 20 31 20 28 6f 6e 65 29 2c 20 74  al to 1 (one), t
05f0: 68 65 20 73 70 65 63 69 61 6c 0a 23 20 70 6f 73  he special.# pos
0600: 69 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65  itional paramete
0610: 72 20 24 30 2c 20 77 69 74 68 69 6e 20 61 20 66  r $0, within a f
0620: 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2c 20 69 73  unction call, is
0630: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
0640: 0a 23 20 66 75 6e 63 74 69 6f 6e 2e 0a 70 72 6f  .# function..pro
0650: 67 70 61 74 68 3d 22 24 30 22 0a 0a 23 20 64 65  gpath="$0"..# de
0660: 66 69 6e 65 20 53 45 44 20 66 6f 72 20 68 69 73  fine SED for his
0670: 74 6f 72 69 63 20 6c 74 63 6f 6e 66 69 67 27 73  toric ltconfig's
0680: 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 4c 69   generated by Li
0690: 62 74 6f 6f 6c 20 31 2e 33 0a 74 65 73 74 20 2d  btool 1.3.test -
06a0: 7a 20 22 24 53 45 44 22 20 26 26 20 53 45 44 3d  z "$SED" && SED=
06b0: 73 65 64 0a 0a 23 20 54 68 65 20 6e 61 6d 65 20  sed..# The name 
06c0: 6f 66 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3a  of this program:
06d0: 0a 70 72 6f 67 6e 61 6d 65 3d 60 65 63 68 6f 20  .progname=`echo 
06e0: 22 24 70 72 6f 67 70 61 74 68 22 20 7c 20 24 53  "$progpath" | $S
06f0: 45 44 20 24 62 61 73 65 6e 61 6d 65 60 0a 6d 6f  ED $basename`.mo
0700: 64 65 6e 61 6d 65 3d 22 24 70 72 6f 67 6e 61 6d  dename="$prognam
0710: 65 22 0a 0a 23 20 47 6c 6f 62 61 6c 20 76 61 72  e"..# Global var
0720: 69 61 62 6c 65 73 3a 0a 45 58 49 54 5f 53 55 43  iables:.EXIT_SUC
0730: 43 45 53 53 3d 30 0a 45 58 49 54 5f 46 41 49 4c  CESS=0.EXIT_FAIL
0740: 55 52 45 3d 31 0a 0a 50 52 4f 47 52 41 4d 3d 6c  URE=1..PROGRAM=l
0750: 74 6d 61 69 6e 2e 73 68 0a 50 41 43 4b 41 47 45  tmain.sh.PACKAGE
0760: 3d 6c 69 62 74 6f 6f 6c 0a 56 45 52 53 49 4f 4e  =libtool.VERSION
0770: 3d 31 2e 35 2e 32 32 0a 54 49 4d 45 53 54 41 4d  =1.5.22.TIMESTAM
0780: 50 3d 22 20 28 31 2e 31 32 32 30 2e 32 2e 33 36  P=" (1.1220.2.36
0790: 35 20 32 30 30 35 2f 31 32 2f 31 38 20 32 32 3a  5 2005/12/18 22:
07a0: 31 34 3a 30 36 29 22 0a 0a 23 20 53 65 65 20 69  14:06)"..# See i
07b0: 66 20 77 65 20 61 72 65 20 72 75 6e 6e 69 6e 67  f we are running
07c0: 20 6f 6e 20 7a 73 68 2c 20 61 6e 64 20 73 65 74   on zsh, and set
07d0: 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 77 68 69   the options whi
07e0: 63 68 20 61 6c 6c 6f 77 20 6f 75 72 0a 23 20 63  ch allow our.# c
07f0: 6f 6d 6d 61 6e 64 73 20 74 68 72 6f 75 67 68 20  ommands through 
0800: 77 69 74 68 6f 75 74 20 72 65 6d 6f 76 61 6c 20  without removal 
0810: 6f 66 20 5c 20 65 73 63 61 70 65 73 2e 0a 69 66  of \ escapes..if
0820: 20 74 65 73 74 20 2d 6e 20 22 24 7b 5a 53 48 5f   test -n "${ZSH_
0830: 56 45 52 53 49 4f 4e 2b 73 65 74 7d 22 20 3b 20  VERSION+set}" ; 
0840: 74 68 65 6e 0a 20 20 73 65 74 6f 70 74 20 4e 4f  then.  setopt NO
0850: 5f 47 4c 4f 42 5f 53 55 42 53 54 0a 66 69 0a 23  _GLOB_SUBST.fi.#
0860: 20 53 61 6d 65 20 66 6f 72 20 45 47 52 45 50 2c   Same for EGREP,
0870: 20 61 6e 64 20 6a 75 73 74 20 74 6f 20 62 65 20   and just to be 
0880: 73 75 72 65 2c 20 64 6f 20 4c 54 43 43 20 61 73  sure, do LTCC as
0890: 20 77 65 6c 6c 0a 69 66 20 74 65 73 74 20 22 58   well.if test "X
08a0: 24 45 47 52 45 50 22 20 3d 20 58 20 3b 20 74 68  $EGREP" = X ; th
08b0: 65 6e 0a 20 20 20 20 45 47 52 45 50 3d 65 67 72  en.    EGREP=egr
08c0: 65 70 0a 66 69 0a 69 66 20 74 65 73 74 20 22 58  ep.fi.if test "X
08d0: 24 4c 54 43 43 22 20 3d 20 58 20 3b 20 74 68 65  $LTCC" = X ; the
08e0: 6e 0a 20 20 20 20 4c 54 43 43 3d 24 7b 43 43 2d  n.    LTCC=${CC-
08f0: 67 63 63 7d 0a 66 69 0a 0a 23 20 43 68 65 63 6b  gcc}.fi..# Check
0900: 20 74 68 61 74 20 77 65 20 68 61 76 65 20 61 20   that we have a 
0910: 77 6f 72 6b 69 6e 67 20 24 65 63 68 6f 2e 0a 69  working $echo..i
0920: 66 20 74 65 73 74 20 22 58 24 31 22 20 3d 20 58  f test "X$1" = X
0930: 2d 2d 6e 6f 2d 72 65 65 78 65 63 3b 20 74 68 65  --no-reexec; the
0940: 6e 0a 20 20 23 20 44 69 73 63 61 72 64 20 74 68  n.  # Discard th
0950: 65 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c  e --no-reexec fl
0960: 61 67 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65  ag, and continue
0970: 2e 0a 20 20 73 68 69 66 74 0a 65 6c 69 66 20 74  ..  shift.elif t
0980: 65 73 74 20 22 58 24 31 22 20 3d 20 58 2d 2d 66  est "X$1" = X--f
0990: 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 3b 20 74 68  allback-echo; th
09a0: 65 6e 0a 20 20 23 20 41 76 6f 69 64 20 69 6e 6c  en.  # Avoid inl
09b0: 69 6e 65 20 64 6f 63 75 6d 65 6e 74 20 68 65 72  ine document her
09c0: 65 2c 20 69 74 20 6d 61 79 20 62 65 20 6c 65 66  e, it may be lef
09d0: 74 20 6f 76 65 72 0a 20 20 3a 0a 65 6c 69 66 20  t over.  :.elif 
09e0: 74 65 73 74 20 22 58 60 28 24 65 63 68 6f 20 27  test "X`($echo '
09f0: 5c 74 27 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  \t') 2>/dev/null
0a00: 60 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e  `" = 'X\t'; then
0a10: 0a 20 20 23 20 59 69 70 70 65 65 2c 20 24 65 63  .  # Yippee, $ec
0a20: 68 6f 20 77 6f 72 6b 73 21 0a 20 20 3a 0a 65 6c  ho works!.  :.el
0a30: 73 65 0a 20 20 23 20 52 65 73 74 61 72 74 20 75  se.  # Restart u
0a40: 6e 64 65 72 20 74 68 65 20 63 6f 72 72 65 63 74  nder the correct
0a50: 20 73 68 65 6c 6c 2c 20 61 6e 64 20 74 68 65 6e   shell, and then
0a60: 20 6d 61 79 62 65 20 24 65 63 68 6f 20 77 69 6c   maybe $echo wil
0a70: 6c 20 77 6f 72 6b 2e 0a 20 20 65 78 65 63 20 24  l work..  exec $
0a80: 53 48 45 4c 4c 20 22 24 70 72 6f 67 70 61 74 68  SHELL "$progpath
0a90: 22 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 24 7b  " --no-reexec ${
0aa0: 31 2b 22 24 40 22 7d 0a 66 69 0a 0a 69 66 20 74  1+"$@"}.fi..if t
0ab0: 65 73 74 20 22 58 24 31 22 20 3d 20 58 2d 2d 66  est "X$1" = X--f
0ac0: 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 3b 20 74 68  allback-echo; th
0ad0: 65 6e 0a 20 20 23 20 75 73 65 64 20 61 73 20 66  en.  # used as f
0ae0: 61 6c 6c 62 61 63 6b 20 65 63 68 6f 0a 20 20 73  allback echo.  s
0af0: 68 69 66 74 0a 20 20 63 61 74 20 3c 3c 45 4f 46  hift.  cat <<EOF
0b00: 0a 24 2a 0a 45 4f 46 0a 20 20 65 78 69 74 20 24  .$*.EOF.  exit $
0b10: 45 58 49 54 5f 53 55 43 43 45 53 53 0a 66 69 0a  EXIT_SUCCESS.fi.
0b20: 0a 64 65 66 61 75 6c 74 5f 6d 6f 64 65 3d 0a 68  .default_mode=.h
0b30: 65 6c 70 3d 22 54 72 79 20 5c 60 24 70 72 6f 67  elp="Try \`$prog
0b40: 6e 61 6d 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72  name --help' for
0b50: 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f   more informatio
0b60: 6e 2e 22 0a 6d 61 67 69 63 3d 22 25 25 25 4d 41  n.".magic="%%%MA
0b70: 47 49 43 20 76 61 72 69 61 62 6c 65 25 25 25 22  GIC variable%%%"
0b80: 0a 6d 6b 64 69 72 3d 22 6d 6b 64 69 72 22 0a 6d  .mkdir="mkdir".m
0b90: 76 3d 22 6d 76 20 2d 66 22 0a 72 6d 3d 22 72 6d  v="mv -f".rm="rm
0ba0: 20 2d 66 22 0a 0a 23 20 53 65 64 20 73 75 62 73   -f"..# Sed subs
0bb0: 74 69 74 75 74 69 6f 6e 20 74 68 61 74 20 68 65  titution that he
0bc0: 6c 70 73 20 75 73 20 64 6f 20 72 6f 62 75 73 74  lps us do robust
0bd0: 20 71 75 6f 74 69 6e 67 2e 20 20 49 74 20 62 61   quoting.  It ba
0be0: 63 6b 73 6c 61 73 68 69 66 69 65 73 0a 23 20 6d  ckslashifies.# m
0bf0: 65 74 61 63 68 61 72 61 63 74 65 72 73 20 74 68  etacharacters th
0c00: 61 74 20 61 72 65 20 73 74 69 6c 6c 20 61 63 74  at are still act
0c10: 69 76 65 20 77 69 74 68 69 6e 20 64 6f 75 62 6c  ive within doubl
0c20: 65 2d 71 75 6f 74 65 64 20 73 74 72 69 6e 67 73  e-quoted strings
0c30: 2e 0a 58 73 65 64 3d 22 24 7b 53 45 44 7d 22 27  ..Xsed="${SED}"'
0c40: 20 2d 65 20 31 73 2f 5e 58 2f 2f 27 0a 73 65 64   -e 1s/^X//'.sed
0c50: 5f 71 75 6f 74 65 5f 73 75 62 73 74 3d 27 73 2f  _quote_subst='s/
0c60: 5c 28 5b 5c 5c 60 5c 5c 22 24 5c 5c 5c 5c 5d 5c  \([\\`\\"$\\\\]\
0c70: 29 2f 5c 5c 5c 31 2f 67 27 0a 23 20 74 65 73 74  )/\\\1/g'.# test
0c80: 20 45 42 43 44 49 43 20 6f 72 20 41 53 43 49 49   EBCDIC or ASCII
0c90: 0a 63 61 73 65 20 60 65 63 68 6f 20 58 7c 74 72  .case `echo X|tr
0ca0: 20 58 20 27 5c 31 30 31 27 60 20 69 6e 0a 20 41   X '\101'` in. A
0cb0: 29 20 23 20 41 53 43 49 49 20 62 61 73 65 64 20  ) # ASCII based 
0cc0: 73 79 73 74 65 6d 0a 20 20 20 20 23 20 5c 6e 20  system.    # \n 
0cd0: 69 73 20 6e 6f 74 20 69 6e 74 65 72 70 72 65 74  is not interpret
0ce0: 65 64 20 63 6f 72 72 65 63 74 6c 79 20 62 79 20  ed correctly by 
0cf0: 53 6f 6c 61 72 69 73 20 38 20 2f 75 73 72 2f 75  Solaris 8 /usr/u
0d00: 63 62 2f 74 72 0a 20 20 53 50 32 4e 4c 3d 27 74  cb/tr.  SP2NL='t
0d10: 72 20 5c 30 34 30 20 5c 30 31 32 27 0a 20 20 4e  r \040 \012'.  N
0d20: 4c 32 53 50 3d 27 74 72 20 5c 30 31 35 5c 30 31  L2SP='tr \015\01
0d30: 32 20 5c 30 34 30 5c 30 34 30 27 0a 20 20 3b 3b  2 \040\040'.  ;;
0d40: 0a 20 2a 29 20 23 20 45 42 43 44 49 43 20 62 61  . *) # EBCDIC ba
0d50: 73 65 64 20 73 79 73 74 65 6d 0a 20 20 53 50 32  sed system.  SP2
0d60: 4e 4c 3d 27 74 72 20 5c 31 30 30 20 5c 6e 27 0a  NL='tr \100 \n'.
0d70: 20 20 4e 4c 32 53 50 3d 27 74 72 20 5c 72 5c 6e    NL2SP='tr \r\n
0d80: 20 5c 31 30 30 5c 31 30 30 27 0a 20 20 3b 3b 0a   \100\100'.  ;;.
0d90: 65 73 61 63 0a 0a 23 20 4e 4c 53 20 6e 75 69 73  esac..# NLS nuis
0da0: 61 6e 63 65 73 2e 0a 23 20 4f 6e 6c 79 20 73 65  ances..# Only se
0db0: 74 20 4c 41 4e 47 20 61 6e 64 20 4c 43 5f 41 4c  t LANG and LC_AL
0dc0: 4c 20 74 6f 20 43 20 69 66 20 61 6c 72 65 61 64  L to C if alread
0dd0: 79 20 73 65 74 2e 0a 23 20 54 68 65 73 65 20 6d  y set..# These m
0de0: 75 73 74 20 6e 6f 74 20 62 65 20 73 65 74 20 75  ust not be set u
0df0: 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 62  nconditionally b
0e00: 65 63 61 75 73 65 20 6e 6f 74 20 61 6c 6c 20 73  ecause not all s
0e10: 79 73 74 65 6d 73 20 75 6e 64 65 72 73 74 61 6e  ystems understan
0e20: 64 0a 23 20 65 2e 67 2e 20 4c 41 4e 47 3d 43 20  d.# e.g. LANG=C 
0e30: 28 6e 6f 74 61 62 6c 79 20 53 43 4f 29 2e 0a 23  (notably SCO)..#
0e40: 20 57 65 20 73 61 76 65 20 74 68 65 20 6f 6c 64   We save the old
0e50: 20 76 61 6c 75 65 73 20 74 6f 20 72 65 73 74 6f   values to resto
0e60: 72 65 20 64 75 72 69 6e 67 20 65 78 65 63 75 74  re during execut
0e70: 65 20 6d 6f 64 65 2e 0a 69 66 20 74 65 73 74 20  e mode..if test 
0e80: 22 24 7b 4c 43 5f 41 4c 4c 2b 73 65 74 7d 22 20  "${LC_ALL+set}" 
0e90: 3d 20 73 65 74 3b 20 74 68 65 6e 0a 20 20 73 61  = set; then.  sa
0ea0: 76 65 5f 4c 43 5f 41 4c 4c 3d 22 24 4c 43 5f 41  ve_LC_ALL="$LC_A
0eb0: 4c 4c 22 3b 20 4c 43 5f 41 4c 4c 3d 43 3b 20 65  LL"; LC_ALL=C; e
0ec0: 78 70 6f 72 74 20 4c 43 5f 41 4c 4c 0a 66 69 0a  xport LC_ALL.fi.
0ed0: 69 66 20 74 65 73 74 20 22 24 7b 4c 41 4e 47 2b  if test "${LANG+
0ee0: 73 65 74 7d 22 20 3d 20 73 65 74 3b 20 74 68 65  set}" = set; the
0ef0: 6e 0a 20 20 73 61 76 65 5f 4c 41 4e 47 3d 22 24  n.  save_LANG="$
0f00: 4c 41 4e 47 22 3b 20 4c 41 4e 47 3d 43 3b 20 65  LANG"; LANG=C; e
0f10: 78 70 6f 72 74 20 4c 41 4e 47 0a 66 69 0a 0a 23  xport LANG.fi..#
0f20: 20 4d 61 6b 65 20 73 75 72 65 20 49 46 53 20 68   Make sure IFS h
0f30: 61 73 20 61 20 73 65 6e 73 69 62 6c 65 20 64 65  as a sensible de
0f40: 66 61 75 6c 74 0a 6c 74 5f 6e 6c 3d 27 0a 27 0a  fault.lt_nl='.'.
0f50: 49 46 53 3d 22 20 09 24 6c 74 5f 6e 6c 22 0a 0a  IFS=" .$lt_nl"..
0f60: 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
0f70: 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d  libtool_libs" !=
0f80: 20 79 65 73 20 26 26 20 74 65 73 74 20 22 24 62   yes && test "$b
0f90: 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 21  uild_old_libs" !
0fa0: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 24 65  = yes; then.  $e
0fb0: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
0fc0: 6e 6f 74 20 63 6f 6e 66 69 67 75 72 65 64 20 74  not configured t
0fd0: 6f 20 62 75 69 6c 64 20 61 6e 79 20 6b 69 6e 64  o build any kind
0fe0: 20 6f 66 20 6c 69 62 72 61 72 79 22 20 31 3e 26   of library" 1>&
0ff0: 32 0a 20 20 24 65 63 68 6f 20 22 46 61 74 61 6c  2.  $echo "Fatal
1000: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 65   configuration e
1010: 72 72 6f 72 2e 20 20 53 65 65 20 74 68 65 20 24  rror.  See the $
1020: 50 41 43 4b 41 47 45 20 64 6f 63 73 20 66 6f 72  PACKAGE docs for
1030: 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f   more informatio
1040: 6e 2e 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20  n." 1>&2.  exit 
1050: 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 66 69  $EXIT_FAILURE.fi
1060: 0a 0a 23 20 47 6c 6f 62 61 6c 20 76 61 72 69 61  ..# Global varia
1070: 62 6c 65 73 2e 0a 6d 6f 64 65 3d 24 64 65 66 61  bles..mode=$defa
1080: 75 6c 74 5f 6d 6f 64 65 0a 6e 6f 6e 6f 70 74 3d  ult_mode.nonopt=
1090: 0a 70 72 65 76 3d 0a 70 72 65 76 6f 70 74 3d 0a  .prev=.prevopt=.
10a0: 72 75 6e 3d 0a 73 68 6f 77 3d 22 24 65 63 68 6f  run=.show="$echo
10b0: 22 0a 73 68 6f 77 5f 68 65 6c 70 3d 0a 65 78 65  ".show_help=.exe
10c0: 63 75 74 65 5f 64 6c 66 69 6c 65 73 3d 0a 64 75  cute_dlfiles=.du
10d0: 70 6c 69 63 61 74 65 5f 64 65 70 73 3d 6e 6f 0a  plicate_deps=no.
10e0: 70 72 65 73 65 72 76 65 5f 61 72 67 73 3d 0a 6c  preserve_args=.l
10f0: 6f 32 6f 3d 22 73 2f 5c 5c 2e 6c 6f 5c 24 2f 2e  o2o="s/\\.lo\$/.
1100: 24 7b 6f 62 6a 65 78 74 7d 2f 22 0a 6f 32 6c 6f  ${objext}/".o2lo
1110: 3d 22 73 2f 5c 5c 2e 24 7b 6f 62 6a 65 78 74 7d  ="s/\\.${objext}
1120: 5c 24 2f 2e 6c 6f 2f 22 0a 0a 69 66 20 74 65 73  \$/.lo/"..if tes
1130: 74 20 2d 7a 20 22 24 6d 61 78 5f 63 6d 64 5f 6c  t -z "$max_cmd_l
1140: 65 6e 22 3b 20 74 68 65 6e 0a 20 20 69 3d 30 0a  en"; then.  i=0.
1150: 20 20 74 65 73 74 72 69 6e 67 3d 22 41 42 43 44    testring="ABCD
1160: 22 0a 20 20 6e 65 77 5f 72 65 73 75 6c 74 3d 0a  ".  new_result=.
1170: 20 20 0a 20 20 23 20 49 66 20 74 65 73 74 20 69    .  # If test i
1180: 73 20 6e 6f 74 20 61 20 73 68 65 6c 6c 20 62 75  s not a shell bu
1190: 69 6c 74 2d 69 6e 2c 20 77 65 27 6c 6c 20 70 72  ilt-in, we'll pr
11a0: 6f 62 61 62 6c 79 20 65 6e 64 20 75 70 20 63 6f  obably end up co
11b0: 6d 70 75 74 69 6e 67 20 61 0a 20 20 23 20 6d 61  mputing a.  # ma
11c0: 78 69 6d 75 6d 20 6c 65 6e 67 74 68 20 74 68 61  ximum length tha
11d0: 74 20 69 73 20 6f 6e 6c 79 20 68 61 6c 66 20 6f  t is only half o
11e0: 66 20 74 68 65 20 61 63 74 75 61 6c 20 6d 61 78  f the actual max
11f0: 69 6d 75 6d 20 6c 65 6e 67 74 68 2c 20 62 75 74  imum length, but
1200: 0a 20 20 23 20 77 65 20 63 61 6e 27 74 20 74 65  .  # we can't te
1210: 6c 6c 2e 0a 20 20 77 68 69 6c 65 20 28 74 65 73  ll..  while (tes
1220: 74 20 22 58 22 60 24 53 48 45 4c 4c 20 24 30 20  t "X"`$SHELL $0 
1230: 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 20  --fallback-echo 
1240: 22 58 24 74 65 73 74 72 69 6e 67 22 20 32 3e 2f  "X$testring" 2>/
1250: 64 65 76 2f 6e 75 6c 6c 60 20 5c 0a 20 20 20 20  dev/null` \.    
1260: 20 20 20 20 20 20 20 20 20 3d 20 22 58 58 24 74           = "XX$t
1270: 65 73 74 72 69 6e 67 22 29 20 3e 2f 64 65 76 2f  estring") >/dev/
1280: 6e 75 6c 6c 20 32 3e 26 31 20 26 26 0a 20 20 20  null 2>&1 &&.   
1290: 20 20 20 20 20 20 20 6e 65 77 5f 72 65 73 75 6c         new_resul
12a0: 74 3d 60 65 78 70 72 20 22 58 24 74 65 73 74 72  t=`expr "X$testr
12b0: 69 6e 67 22 20 3a 20 22 2e 2a 22 20 32 3e 26 31  ing" : ".*" 2>&1
12c0: 60 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 6d  ` &&.          m
12d0: 61 78 5f 63 6d 64 5f 6c 65 6e 3d 22 24 6e 65 77  ax_cmd_len="$new
12e0: 5f 72 65 73 75 6c 74 22 20 26 26 0a 20 20 20 20  _result" &&.    
12f0: 20 20 20 20 20 20 74 65 73 74 20 22 24 69 22 20        test "$i" 
1300: 21 3d 20 31 37 20 23 20 31 2f 32 20 4d 42 20 73  != 17 # 1/2 MB s
1310: 68 6f 75 6c 64 20 62 65 20 65 6e 6f 75 67 68 0a  hould be enough.
1320: 20 20 64 6f 0a 20 20 20 20 69 3d 60 65 78 70 72    do.    i=`expr
1330: 20 24 69 20 2b 20 31 60 0a 20 20 20 20 74 65 73   $i + 1`.    tes
1340: 74 72 69 6e 67 3d 22 24 74 65 73 74 72 69 6e 67  tring="$testring
1350: 24 74 65 73 74 72 69 6e 67 22 0a 20 20 64 6f 6e  $testring".  don
1360: 65 0a 20 20 74 65 73 74 72 69 6e 67 3d 0a 20 20  e.  testring=.  
1370: 23 20 41 64 64 20 61 20 73 69 67 6e 69 66 69 63  # Add a signific
1380: 61 6e 74 20 73 61 66 65 74 79 20 66 61 63 74 6f  ant safety facto
1390: 72 20 62 65 63 61 75 73 65 20 43 2b 2b 20 63 6f  r because C++ co
13a0: 6d 70 69 6c 65 72 73 20 63 61 6e 20 74 61 63 6b  mpilers can tack
13b0: 20 6f 6e 20 6d 61 73 73 69 76 65 0a 20 20 23 20   on massive.  # 
13c0: 61 6d 6f 75 6e 74 73 20 6f 66 20 61 64 64 69 74  amounts of addit
13d0: 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20  ional arguments 
13e0: 62 65 66 6f 72 65 20 70 61 73 73 69 6e 67 20 74  before passing t
13f0: 68 65 6d 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  hem to the linke
1400: 72 2e 0a 20 20 23 20 49 74 20 61 70 70 65 61 72  r..  # It appear
1410: 73 20 61 73 20 74 68 6f 75 67 68 20 31 2f 32 20  s as though 1/2 
1420: 69 73 20 61 20 75 73 61 62 6c 65 20 76 61 6c 75  is a usable valu
1430: 65 2e 0a 20 20 6d 61 78 5f 63 6d 64 5f 6c 65 6e  e..  max_cmd_len
1440: 3d 60 65 78 70 72 20 24 6d 61 78 5f 63 6d 64 5f  =`expr $max_cmd_
1450: 6c 65 6e 20 5c 2f 20 32 60 0a 66 69 0a 0a 23 23  len \/ 2`.fi..##
1460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1480: 23 23 23 0a 23 20 53 68 65 6c 6c 20 66 75 6e 63  ###.# Shell func
1490: 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 73  tion definitions
14a0: 3a 0a 23 20 54 68 69 73 20 73 65 65 6d 73 20 74  :.# This seems t
14b0: 6f 20 62 65 20 74 68 65 20 62 65 73 74 20 70 6c  o be the best pl
14c0: 61 63 65 20 66 6f 72 20 74 68 65 6d 0a 0a 23 20  ace for them..# 
14d0: 66 75 6e 63 5f 6d 6b 74 65 6d 70 64 69 72 20 5b  func_mktempdir [
14e0: 73 74 72 69 6e 67 5d 0a 23 20 4d 61 6b 65 20 61  string].# Make a
14f0: 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63   temporary direc
1500: 74 6f 72 79 20 74 68 61 74 20 77 6f 6e 27 74 20  tory that won't 
1510: 63 6c 61 73 68 20 77 69 74 68 20 6f 74 68 65 72  clash with other
1520: 20 72 75 6e 6e 69 6e 67 0a 23 20 6c 69 62 74 6f   running.# libto
1530: 6f 6c 20 70 72 6f 63 65 73 73 65 73 2c 20 61 6e  ol processes, an
1540: 64 20 61 76 6f 69 64 73 20 72 61 63 65 20 63 6f  d avoids race co
1550: 6e 64 69 74 69 6f 6e 73 20 69 66 20 70 6f 73 73  nditions if poss
1560: 69 62 6c 65 2e 20 20 49 66 0a 23 20 67 69 76 65  ible.  If.# give
1570: 6e 2c 20 53 54 52 49 4e 47 20 69 73 20 74 68 65  n, STRING is the
1580: 20 62 61 73 65 6e 61 6d 65 20 66 6f 72 20 74 68   basename for th
1590: 61 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 66 75  at directory..fu
15a0: 6e 63 5f 6d 6b 74 65 6d 70 64 69 72 20 28 29 0a  nc_mktempdir ().
15b0: 7b 0a 20 20 20 20 6d 79 5f 74 65 6d 70 6c 61 74  {.    my_templat
15c0: 65 3d 22 24 7b 54 4d 50 44 49 52 2d 2f 74 6d 70  e="${TMPDIR-/tmp
15d0: 7d 2f 24 7b 31 2d 24 70 72 6f 67 6e 61 6d 65 7d  }/${1-$progname}
15e0: 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 22  "..    if test "
15f0: 24 72 75 6e 22 20 3d 20 22 3a 22 3b 20 74 68 65  $run" = ":"; the
1600: 6e 0a 20 20 20 20 20 20 23 20 52 65 74 75 72 6e  n.      # Return
1610: 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d   a directory nam
1620: 65 2c 20 62 75 74 20 64 6f 6e 27 74 20 63 72 65  e, but don't cre
1630: 61 74 65 20 69 74 20 69 6e 20 64 72 79 2d 72 75  ate it in dry-ru
1640: 6e 20 6d 6f 64 65 0a 20 20 20 20 20 20 6d 79 5f  n mode.      my_
1650: 74 6d 70 64 69 72 3d 22 24 7b 6d 79 5f 74 65 6d  tmpdir="${my_tem
1660: 70 6c 61 74 65 7d 2d 24 24 22 0a 20 20 20 20 65  plate}-$$".    e
1670: 6c 73 65 0a 0a 20 20 20 20 20 20 23 20 49 66 20  lse..      # If 
1680: 6d 6b 74 65 6d 70 20 77 6f 72 6b 73 2c 20 75 73  mktemp works, us
1690: 65 20 74 68 61 74 20 66 69 72 73 74 20 61 6e 64  e that first and
16a0: 20 66 6f 72 65 6d 6f 73 74 0a 20 20 20 20 20 20   foremost.      
16b0: 6d 79 5f 74 6d 70 64 69 72 3d 60 6d 6b 74 65 6d  my_tmpdir=`mktem
16c0: 70 20 2d 64 20 22 24 7b 6d 79 5f 74 65 6d 70 6c  p -d "${my_templ
16d0: 61 74 65 7d 2d 58 58 58 58 58 58 58 58 22 20 32  ate}-XXXXXXXX" 2
16e0: 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 0a 20 20 20  >/dev/null`..   
16f0: 20 20 20 69 66 20 74 65 73 74 20 21 20 2d 64 20     if test ! -d 
1700: 22 24 6d 79 5f 74 6d 70 64 69 72 22 3b 20 74 68  "$my_tmpdir"; th
1710: 65 6e 0a 09 23 20 46 61 69 6c 69 6e 67 20 74 68  en..# Failing th
1720: 61 74 2c 20 61 74 20 6c 65 61 73 74 20 74 72 79  at, at least try
1730: 20 61 6e 64 20 75 73 65 20 24 52 41 4e 44 4f 4d   and use $RANDOM
1740: 20 74 6f 20 61 76 6f 69 64 20 61 20 72 61 63 65   to avoid a race
1750: 0a 09 6d 79 5f 74 6d 70 64 69 72 3d 22 24 7b 6d  ..my_tmpdir="${m
1760: 79 5f 74 65 6d 70 6c 61 74 65 7d 2d 24 7b 52 41  y_template}-${RA
1770: 4e 44 4f 4d 2d 30 7d 24 24 22 0a 0a 09 73 61 76  NDOM-0}$$"...sav
1780: 65 5f 6d 6b 74 65 6d 70 64 69 72 5f 75 6d 61 73  e_mktempdir_umas
1790: 6b 3d 60 75 6d 61 73 6b 60 0a 09 75 6d 61 73 6b  k=`umask`..umask
17a0: 20 30 30 37 37 0a 09 24 6d 6b 64 69 72 20 22 24   0077..$mkdir "$
17b0: 6d 79 5f 74 6d 70 64 69 72 22 0a 09 75 6d 61 73  my_tmpdir"..umas
17c0: 6b 20 24 73 61 76 65 5f 6d 6b 74 65 6d 70 64 69  k $save_mktempdi
17d0: 72 5f 75 6d 61 73 6b 0a 20 20 20 20 20 20 66 69  r_umask.      fi
17e0: 0a 0a 20 20 20 20 20 20 23 20 49 66 20 77 65 27  ..      # If we'
17f0: 72 65 20 6e 6f 74 20 69 6e 20 64 72 79 2d 72 75  re not in dry-ru
1800: 6e 20 6d 6f 64 65 2c 20 62 6f 6d 62 20 6f 75 74  n mode, bomb out
1810: 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20   on failure.    
1820: 20 20 74 65 73 74 20 2d 64 20 22 24 6d 79 5f 74    test -d "$my_t
1830: 6d 70 64 69 72 22 20 7c 7c 20 7b 0a 20 20 20 20  mpdir" || {.    
1840: 20 20 20 20 24 65 63 68 6f 20 22 63 61 6e 6e 6f      $echo "canno
1850: 74 20 63 72 65 61 74 65 20 74 65 6d 70 6f 72 61  t create tempora
1860: 72 79 20 64 69 72 65 63 74 6f 72 79 20 5c 60 24  ry directory \`$
1870: 6d 79 5f 74 6d 70 64 69 72 27 22 20 31 3e 26 32  my_tmpdir'" 1>&2
1880: 0a 09 65 78 69 74 20 24 45 58 49 54 5f 46 41 49  ..exit $EXIT_FAI
1890: 4c 55 52 45 0a 20 20 20 20 20 20 7d 0a 20 20 20  LURE.      }.   
18a0: 20 66 69 0a 0a 20 20 20 20 24 65 63 68 6f 20 22   fi..    $echo "
18b0: 58 24 6d 79 5f 74 6d 70 64 69 72 22 20 7c 20 24  X$my_tmpdir" | $
18c0: 58 73 65 64 0a 7d 0a 0a 0a 23 20 66 75 6e 63 5f  Xsed.}...# func_
18d0: 77 69 6e 33 32 5f 6c 69 62 69 64 20 61 72 67 0a  win32_libid arg.
18e0: 23 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 62  # return the lib
18f0: 72 61 72 79 20 74 79 70 65 20 6f 66 20 66 69 6c  rary type of fil
1900: 65 20 27 61 72 67 27 0a 23 0a 23 20 4e 65 65 64  e 'arg'.#.# Need
1910: 20 61 20 6c 6f 74 20 6f 66 20 67 6f 6f 20 74 6f   a lot of goo to
1920: 20 68 61 6e 64 6c 65 20 2a 62 6f 74 68 2a 20 44   handle *both* D
1930: 4c 4c 73 20 61 6e 64 20 69 6d 70 6f 72 74 20 6c  LLs and import l
1940: 69 62 73 0a 23 20 48 61 73 20 74 6f 20 62 65 20  ibs.# Has to be 
1950: 61 20 73 68 65 6c 6c 20 66 75 6e 63 74 69 6f 6e  a shell function
1960: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 27 65 61   in order to 'ea
1970: 74 27 20 74 68 65 20 61 72 67 75 6d 65 6e 74 0a  t' the argument.
1980: 23 20 74 68 61 74 20 69 73 20 73 75 70 70 6c 69  # that is suppli
1990: 65 64 20 77 68 65 6e 20 24 66 69 6c 65 5f 6d 61  ed when $file_ma
19a0: 67 69 63 5f 63 6f 6d 6d 61 6e 64 20 69 73 20 63  gic_command is c
19b0: 61 6c 6c 65 64 2e 0a 66 75 6e 63 5f 77 69 6e 33  alled..func_win3
19c0: 32 5f 6c 69 62 69 64 20 28 29 0a 7b 0a 20 20 77  2_libid ().{.  w
19d0: 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65 3d  in32_libid_type=
19e0: 22 75 6e 6b 6e 6f 77 6e 22 0a 20 20 77 69 6e 33  "unknown".  win3
19f0: 32 5f 66 69 6c 65 72 65 73 3d 60 66 69 6c 65 20  2_fileres=`file 
1a00: 2d 4c 20 24 31 20 32 3e 2f 64 65 76 2f 6e 75 6c  -L $1 2>/dev/nul
1a10: 6c 60 0a 20 20 63 61 73 65 20 24 77 69 6e 33 32  l`.  case $win32
1a20: 5f 66 69 6c 65 72 65 73 20 69 6e 0a 20 20 2a 61  _fileres in.  *a
1a30: 72 5c 20 61 72 63 68 69 76 65 5c 20 69 6d 70 6f  r\ archive\ impo
1a40: 72 74 5c 20 6c 69 62 72 61 72 79 2a 29 20 23 20  rt\ library*) # 
1a50: 64 65 66 69 6e 69 74 65 6c 79 20 69 6d 70 6f 72  definitely impor
1a60: 74 0a 20 20 20 20 77 69 6e 33 32 5f 6c 69 62 69  t.    win32_libi
1a70: 64 5f 74 79 70 65 3d 22 78 38 36 20 61 72 63 68  d_type="x86 arch
1a80: 69 76 65 20 69 6d 70 6f 72 74 22 0a 20 20 20 20  ive import".    
1a90: 3b 3b 0a 20 20 2a 61 72 5c 20 61 72 63 68 69 76  ;;.  *ar\ archiv
1aa0: 65 2a 29 20 23 20 63 6f 75 6c 64 20 62 65 20 61  e*) # could be a
1ab0: 6e 20 69 6d 70 6f 72 74 2c 20 6f 72 20 73 74 61  n import, or sta
1ac0: 74 69 63 0a 20 20 20 20 69 66 20 65 76 61 6c 20  tic.    if eval 
1ad0: 24 4f 42 4a 44 55 4d 50 20 2d 66 20 24 31 20 7c  $OBJDUMP -f $1 |
1ae0: 20 24 53 45 44 20 2d 65 20 27 31 30 71 27 20 32   $SED -e '10q' 2
1af0: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 5c 0a 20  >/dev/null | \. 
1b00: 20 20 20 20 20 24 45 47 52 45 50 20 2d 65 20 27       $EGREP -e '
1b10: 66 69 6c 65 20 66 6f 72 6d 61 74 20 70 65 2d 69  file format pe-i
1b20: 33 38 36 28 2e 2a 61 72 63 68 69 74 65 63 74 75  386(.*architectu
1b30: 72 65 3a 20 69 33 38 36 29 3f 27 20 3e 2f 64 65  re: i386)?' >/de
1b40: 76 2f 6e 75 6c 6c 20 3b 20 74 68 65 6e 0a 20 20  v/null ; then.  
1b50: 20 20 20 20 77 69 6e 33 32 5f 6e 6d 72 65 73 3d      win32_nmres=
1b60: 60 65 76 61 6c 20 24 4e 4d 20 2d 66 20 70 6f 73  `eval $NM -f pos
1b70: 69 78 20 2d 41 20 24 31 20 7c 20 5c 0a 09 24 53  ix -A $1 | \..$S
1b80: 45 44 20 2d 6e 20 2d 65 20 27 31 2c 31 30 30 7b  ED -n -e '1,100{
1b90: 2f 20 49 20 2f 7b 73 2c 2e 2a 2c 69 6d 70 6f 72  / I /{s,.*,impor
1ba0: 74 2c 3b 70 3b 71 3b 7d 3b 7d 27 60 0a 20 20 20  t,;p;q;};}'`.   
1bb0: 20 20 20 63 61 73 65 20 24 77 69 6e 33 32 5f 6e     case $win32_n
1bc0: 6d 72 65 73 20 69 6e 0a 20 20 20 20 20 20 69 6d  mres in.      im
1bd0: 70 6f 72 74 2a 29 20 20 77 69 6e 33 32 5f 6c 69  port*)  win32_li
1be0: 62 69 64 5f 74 79 70 65 3d 22 78 38 36 20 61 72  bid_type="x86 ar
1bf0: 63 68 69 76 65 20 69 6d 70 6f 72 74 22 3b 3b 0a  chive import";;.
1c00: 20 20 20 20 20 20 2a 29 20 20 20 20 20 20 20 20        *)        
1c10: 77 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65  win32_libid_type
1c20: 3d 22 78 38 36 20 61 72 63 68 69 76 65 20 73 74  ="x86 archive st
1c30: 61 74 69 63 22 3b 3b 0a 20 20 20 20 20 20 65 73  atic";;.      es
1c40: 61 63 0a 20 20 20 20 66 69 0a 20 20 20 20 3b 3b  ac.    fi.    ;;
1c50: 0a 20 20 2a 44 4c 4c 2a 29 0a 20 20 20 20 77 69  .  *DLL*).    wi
1c60: 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65 3d 22  n32_libid_type="
1c70: 78 38 36 20 44 4c 4c 22 0a 20 20 20 20 3b 3b 0a  x86 DLL".    ;;.
1c80: 20 20 2a 65 78 65 63 75 74 61 62 6c 65 2a 29 20    *executable*) 
1c90: 23 20 62 75 74 20 73 68 65 6c 6c 20 73 63 72 69  # but shell scri
1ca0: 70 74 73 20 61 72 65 20 22 65 78 65 63 75 74 61  pts are "executa
1cb0: 62 6c 65 22 20 74 6f 6f 2e 2e 2e 0a 20 20 20 20  ble" too....    
1cc0: 63 61 73 65 20 24 77 69 6e 33 32 5f 66 69 6c 65  case $win32_file
1cd0: 72 65 73 20 69 6e 0a 20 20 20 20 2a 4d 53 5c 20  res in.    *MS\ 
1ce0: 57 69 6e 64 6f 77 73 5c 20 50 45 5c 20 49 6e 74  Windows\ PE\ Int
1cf0: 65 6c 2a 29 0a 20 20 20 20 20 20 77 69 6e 33 32  el*).      win32
1d00: 5f 6c 69 62 69 64 5f 74 79 70 65 3d 22 78 38 36  _libid_type="x86
1d10: 20 44 4c 4c 22 0a 20 20 20 20 20 20 3b 3b 0a 20   DLL".      ;;. 
1d20: 20 20 20 65 73 61 63 0a 20 20 20 20 3b 3b 0a 20     esac.    ;;. 
1d30: 20 65 73 61 63 0a 20 20 24 65 63 68 6f 20 24 77   esac.  $echo $w
1d40: 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65 0a  in32_libid_type.
1d50: 7d 0a 0a 0a 23 20 66 75 6e 63 5f 69 6e 66 65 72  }...# func_infer
1d60: 5f 74 61 67 20 61 72 67 0a 23 20 49 6e 66 65 72  _tag arg.# Infer
1d70: 20 74 61 67 67 65 64 20 63 6f 6e 66 69 67 75 72   tagged configur
1d80: 61 74 69 6f 6e 20 74 6f 20 75 73 65 20 69 66 20  ation to use if 
1d90: 61 6e 79 20 61 72 65 20 61 76 61 69 6c 61 62 6c  any are availabl
1da0: 65 20 61 6e 64 0a 23 20 69 66 20 6f 6e 65 20 77  e and.# if one w
1db0: 61 73 6e 27 74 20 63 68 6f 73 65 6e 20 76 69 61  asn't chosen via
1dc0: 20 74 68 65 20 22 2d 2d 74 61 67 22 20 63 6f 6d   the "--tag" com
1dd0: 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e  mand line option
1de0: 2e 0a 23 20 4f 6e 6c 79 20 61 74 74 65 6d 70 74  ..# Only attempt
1df0: 20 74 68 69 73 20 69 66 20 74 68 65 20 63 6f 6d   this if the com
1e00: 70 69 6c 65 72 20 69 6e 20 74 68 65 20 62 61 73  piler in the bas
1e10: 65 20 63 6f 6d 70 69 6c 65 0a 23 20 63 6f 6d 6d  e compile.# comm
1e20: 61 6e 64 20 64 6f 65 73 6e 27 74 20 6d 61 74 63  and doesn't matc
1e30: 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f  h the default co
1e40: 6d 70 69 6c 65 72 2e 0a 23 20 61 72 67 20 69 73  mpiler..# arg is
1e50: 20 75 73 75 61 6c 6c 79 20 6f 66 20 74 68 65 20   usually of the 
1e60: 66 6f 72 6d 20 27 67 63 63 20 2e 2e 2e 27 0a 66  form 'gcc ...'.f
1e70: 75 6e 63 5f 69 6e 66 65 72 5f 74 61 67 20 28 29  unc_infer_tag ()
1e80: 0a 7b 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d  .{.    if test -
1e90: 6e 20 22 24 61 76 61 69 6c 61 62 6c 65 5f 74 61  n "$available_ta
1ea0: 67 73 22 20 26 26 20 74 65 73 74 20 2d 7a 20 22  gs" && test -z "
1eb0: 24 74 61 67 6e 61 6d 65 22 3b 20 74 68 65 6e 0a  $tagname"; then.
1ec0: 20 20 20 20 20 20 43 43 5f 71 75 6f 74 65 64 3d        CC_quoted=
1ed0: 0a 20 20 20 20 20 20 66 6f 72 20 61 72 67 20 69  .      for arg i
1ee0: 6e 20 24 43 43 3b 20 64 6f 0a 09 63 61 73 65 20  n $CC; do..case 
1ef0: 24 61 72 67 20 69 6e 0a 09 20 20 2a 5b 5c 5b 5c  $arg in..  *[\[\
1f00: 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c  ~\#\^\&\*\(\)\{\
1f10: 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c  }\|\;\<\>\?\'\ \
1f20: 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61  .]*|*]*|"")..  a
1f30: 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20  rg="\"$arg\"".. 
1f40: 20 3b 3b 0a 09 65 73 61 63 0a 09 43 43 5f 71 75   ;;..esac..CC_qu
1f50: 6f 74 65 64 3d 22 24 43 43 5f 71 75 6f 74 65 64  oted="$CC_quoted
1f60: 20 24 61 72 67 22 0a 20 20 20 20 20 20 64 6f 6e   $arg".      don
1f70: 65 0a 20 20 20 20 20 20 63 61 73 65 20 24 40 20  e.      case $@ 
1f80: 69 6e 0a 20 20 20 20 20 20 23 20 42 6c 61 6e 6b  in.      # Blank
1f90: 73 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  s in the command
1fa0: 20 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 73   may have been s
1fb0: 74 72 69 70 70 65 64 20 62 79 20 74 68 65 20 63  tripped by the c
1fc0: 61 6c 6c 69 6e 67 20 73 68 65 6c 6c 2c 0a 20 20  alling shell,.  
1fd0: 20 20 20 20 23 20 62 75 74 20 6e 6f 74 20 66 72      # but not fr
1fe0: 6f 6d 20 74 68 65 20 43 43 20 65 6e 76 69 72 6f  om the CC enviro
1ff0: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 77  nment variable w
2000: 68 65 6e 20 63 6f 6e 66 69 67 75 72 65 20 77 61  hen configure wa
2010: 73 20 72 75 6e 2e 0a 20 20 20 20 20 20 22 20 24  s run..      " $
2020: 43 43 20 22 2a 20 7c 20 22 24 43 43 20 22 2a 20  CC "* | "$CC "* 
2030: 7c 20 22 20 60 24 65 63 68 6f 20 24 43 43 60 20  | " `$echo $CC` 
2040: 22 2a 20 7c 20 22 60 24 65 63 68 6f 20 24 43 43  "* | "`$echo $CC
2050: 60 20 22 2a 20 7c 20 22 20 24 43 43 5f 71 75 6f  ` "* | " $CC_quo
2060: 74 65 64 22 2a 20 7c 20 22 24 43 43 5f 71 75 6f  ted"* | "$CC_quo
2070: 74 65 64 20 22 2a 20 7c 20 22 20 60 24 65 63 68  ted "* | " `$ech
2080: 6f 20 24 43 43 5f 71 75 6f 74 65 64 60 20 22 2a  o $CC_quoted` "*
2090: 20 7c 20 22 60 24 65 63 68 6f 20 24 43 43 5f 71   | "`$echo $CC_q
20a0: 75 6f 74 65 64 60 20 22 2a 29 20 3b 3b 0a 20 20  uoted` "*) ;;.  
20b0: 20 20 20 20 23 20 42 6c 61 6e 6b 73 20 61 74 20      # Blanks at 
20c0: 74 68 65 20 73 74 61 72 74 20 6f 66 20 24 62 61  the start of $ba
20d0: 73 65 5f 63 6f 6d 70 69 6c 65 20 77 69 6c 6c 20  se_compile will 
20e0: 63 61 75 73 65 20 74 68 69 73 20 74 6f 20 66 61  cause this to fa
20f0: 69 6c 0a 20 20 20 20 20 20 23 20 69 66 20 77 65  il.      # if we
2100: 20 64 6f 6e 27 74 20 63 68 65 63 6b 20 66 6f 72   don't check for
2110: 20 74 68 65 6d 20 61 73 20 77 65 6c 6c 2e 0a 20   them as well.. 
2120: 20 20 20 20 20 2a 29 0a 09 66 6f 72 20 7a 20 69       *)..for z i
2130: 6e 20 24 61 76 61 69 6c 61 62 6c 65 5f 74 61 67  n $available_tag
2140: 73 3b 20 64 6f 0a 09 20 20 69 66 20 67 72 65 70  s; do..  if grep
2150: 20 22 5e 23 20 23 23 23 20 42 45 47 49 4e 20 4c   "^# ### BEGIN L
2160: 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49  IBTOOL TAG CONFI
2170: 47 3a 20 24 7a 24 22 20 3c 20 22 24 70 72 6f 67  G: $z$" < "$prog
2180: 70 61 74 68 22 20 3e 20 2f 64 65 76 2f 6e 75 6c  path" > /dev/nul
2190: 6c 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 45  l; then..    # E
21a0: 76 61 6c 75 61 74 65 20 74 68 65 20 63 6f 6e 66  valuate the conf
21b0: 69 67 75 72 61 74 69 6f 6e 2e 0a 09 20 20 20 20  iguration...    
21c0: 65 76 61 6c 20 22 60 24 7b 53 45 44 7d 20 2d 6e  eval "`${SED} -n
21d0: 20 2d 65 20 27 2f 5e 23 20 23 23 23 20 42 45 47   -e '/^# ### BEG
21e0: 49 4e 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43  IN LIBTOOL TAG C
21f0: 4f 4e 46 49 47 3a 20 27 24 7a 27 24 2f 2c 2f 5e  ONFIG: '$z'$/,/^
2200: 23 20 23 23 23 20 45 4e 44 20 4c 49 42 54 4f 4f  # ### END LIBTOO
2210: 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a 20 27 24  L TAG CONFIG: '$
2220: 7a 27 24 2f 70 27 20 3c 20 24 70 72 6f 67 70 61  z'$/p' < $progpa
2230: 74 68 60 22 0a 09 20 20 20 20 43 43 5f 71 75 6f  th`"..    CC_quo
2240: 74 65 64 3d 0a 09 20 20 20 20 66 6f 72 20 61 72  ted=..    for ar
2250: 67 20 69 6e 20 24 43 43 3b 20 64 6f 0a 09 20 20  g in $CC; do..  
2260: 20 20 23 20 44 6f 75 62 6c 65 2d 71 75 6f 74 65    # Double-quote
2270: 20 61 72 67 73 20 63 6f 6e 74 61 69 6e 69 6e 67   args containing
2280: 20 6f 74 68 65 72 20 73 68 65 6c 6c 20 6d 65 74   other shell met
2290: 61 63 68 61 72 61 63 74 65 72 73 2e 0a 09 20 20  acharacters...  
22a0: 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09    case $arg in..
22b0: 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e        *[\[\~\#\^
22c0: 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b  \&\*\(\)\{\}\|\;
22d0: 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a  \<\>\?\'\ \.]*|*
22e0: 5d 2a 7c 22 22 29 0a 09 20 20 20 20 20 20 61 72  ]*|"")..      ar
22f0: 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20 20  g="\"$arg\""..  
2300: 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73 61 63      ;;..    esac
2310: 0a 09 20 20 20 20 43 43 5f 71 75 6f 74 65 64 3d  ..    CC_quoted=
2320: 22 24 43 43 5f 71 75 6f 74 65 64 20 24 61 72 67  "$CC_quoted $arg
2330: 22 0a 09 20 20 64 6f 6e 65 0a 09 20 20 20 20 23  "..  done..    #
2340: 20 75 73 65 72 20 73 6f 6d 65 74 69 6d 65 73 20   user sometimes 
2350: 64 6f 65 73 20 43 43 3d 3c 48 4f 53 54 3e 2d 67  does CC=<HOST>-g
2360: 63 63 20 73 6f 20 77 65 20 6e 65 65 64 20 74 6f  cc so we need to
2370: 20 6d 61 74 63 68 20 74 68 61 74 20 74 6f 20 27   match that to '
2380: 67 63 63 27 0a 09 20 20 20 20 74 72 69 6d 65 64  gcc'..    trimed
2390: 63 63 3d 60 65 63 68 6f 20 24 7b 43 43 7d 20 7c  cc=`echo ${CC} |
23a0: 20 24 53 45 44 20 2d 65 20 22 73 2f 24 7b 68 6f   $SED -e "s/${ho
23b0: 73 74 7d 2d 2f 2f 67 22 60 0a 09 20 20 20 20 23  st}-//g"`..    #
23c0: 20 61 6e 64 20 73 6f 6d 65 74 69 6d 65 73 20 6c   and sometimes l
23d0: 69 62 74 6f 6f 6c 20 68 61 73 20 43 43 3d 3c 48  ibtool has CC=<H
23e0: 4f 53 54 3e 2d 67 63 63 20 62 75 74 20 75 73 65  OST>-gcc but use
23f0: 72 20 64 6f 65 73 20 43 43 3d 67 63 63 0a 09 20  r does CC=gcc.. 
2400: 20 20 20 65 78 74 65 6e 64 63 63 3d 24 7b 68 6f     extendcc=${ho
2410: 73 74 7d 2d 24 7b 43 43 7d 0a 09 20 20 20 20 23  st}-${CC}..    #
2420: 20 61 6e 64 20 73 6f 6d 65 74 69 6d 65 73 20 6c   and sometimes l
2430: 69 62 74 6f 6f 6c 20 68 61 73 20 43 43 3d 3c 4f  ibtool has CC=<O
2440: 4c 44 48 4f 53 54 3e 2d 67 63 63 20 62 75 74 20  LDHOST>-gcc but 
2450: 75 73 65 72 20 68 61 73 20 43 43 3d 3c 4e 45 57  user has CC=<NEW
2460: 48 4f 53 54 3e 2d 67 63 63 20 20 0a 09 20 20 20  HOST>-gcc  ..   
2470: 20 23 20 28 47 65 6e 74 6f 6f 2d 73 70 65 63 69   # (Gentoo-speci
2480: 66 69 63 20 68 61 63 6b 20 62 65 63 61 75 73 65  fic hack because
2490: 20 77 65 20 61 6c 77 61 79 73 20 65 78 70 6f 72   we always expor
24a0: 74 20 24 43 48 4f 53 54 29 0a 09 20 20 20 20 6d  t $CHOST)..    m
24b0: 75 6e 67 65 64 63 63 3d 24 7b 43 48 4f 53 54 2d  ungedcc=${CHOST-
24c0: 24 7b 68 6f 73 74 7d 7d 2d 24 7b 74 72 69 6d 65  ${host}}-${trime
24d0: 64 63 63 7d 0a 09 20 20 20 20 63 61 73 65 20 22  dcc}..    case "
24e0: 24 40 20 22 20 69 6e 0a 09 20 20 20 20 20 20 22  $@ " in..      "
24f0: 63 63 20 22 2a 20 7c 20 22 20 63 63 20 22 2a 20  cc "* | " cc "* 
2500: 7c 20 22 24 7b 68 6f 73 74 7d 2d 63 63 20 22 2a  | "${host}-cc "*
2510: 20 7c 20 22 20 24 7b 68 6f 73 74 7d 2d 63 63 20   | " ${host}-cc 
2520: 22 2a 7c 5c 0a 09 20 20 20 20 20 20 22 67 63 63  "*|\..      "gcc
2530: 20 22 2a 20 7c 20 22 20 67 63 63 20 22 2a 20 7c   "* | " gcc "* |
2540: 20 22 24 7b 68 6f 73 74 7d 2d 67 63 63 20 22 2a   "${host}-gcc "*
2550: 20 7c 20 22 20 24 7b 68 6f 73 74 7d 2d 67 63 63   | " ${host}-gcc
2560: 20 22 2a 29 0a 09 20 20 20 20 20 20 74 61 67 6e   "*)..      tagn
2570: 61 6d 65 3d 43 43 0a 09 20 20 20 20 20 20 62 72  ame=CC..      br
2580: 65 61 6b 20 3b 3b 0a 09 20 20 20 20 20 20 22 24  eak ;;..      "$
2590: 74 72 69 6d 65 64 63 63 20 22 2a 20 7c 20 22 20  trimedcc "* | " 
25a0: 24 74 72 69 6d 65 64 63 63 20 22 2a 20 7c 20 22  $trimedcc "* | "
25b0: 60 24 65 63 68 6f 20 24 74 72 69 6d 65 64 63 63  `$echo $trimedcc
25c0: 60 20 22 2a 20 7c 20 22 20 60 24 65 63 68 6f 20  ` "* | " `$echo 
25d0: 24 74 72 69 6d 65 64 63 63 60 20 22 2a 7c 5c 0a  $trimedcc` "*|\.
25e0: 09 20 20 20 20 20 20 22 24 65 78 74 65 6e 64 63  .      "$extendc
25f0: 63 20 22 2a 20 7c 20 22 20 24 65 78 74 65 6e 64  c "* | " $extend
2600: 63 63 20 22 2a 20 7c 20 22 60 24 65 63 68 6f 20  cc "* | "`$echo 
2610: 24 65 78 74 65 6e 64 63 63 60 20 22 2a 20 7c 20  $extendcc` "* | 
2620: 22 20 60 24 65 63 68 6f 20 24 65 78 74 65 6e 64  " `$echo $extend
2630: 63 63 60 20 22 2a 7c 5c 0a 09 20 20 20 20 20 20  cc` "*|\..      
2640: 22 24 6d 75 6e 67 65 64 63 63 20 22 2a 20 7c 20  "$mungedcc "* | 
2650: 22 20 24 6d 75 6e 67 65 64 63 63 20 22 2a 20 7c  " $mungedcc "* |
2660: 20 22 60 24 65 63 68 6f 20 24 6d 75 6e 67 65 64   "`$echo $munged
2670: 63 63 60 20 22 2a 20 7c 20 22 20 60 24 65 63 68  cc` "* | " `$ech
2680: 6f 20 24 6d 75 6e 67 65 64 63 63 60 20 22 2a 7c  o $mungedcc` "*|
2690: 5c 0a 09 20 20 20 20 20 20 22 20 24 43 43 20 22  \..      " $CC "
26a0: 2a 20 7c 20 22 24 43 43 20 22 2a 20 7c 20 22 20  * | "$CC "* | " 
26b0: 60 24 65 63 68 6f 20 24 43 43 60 20 22 2a 20 7c  `$echo $CC` "* |
26c0: 20 22 60 24 65 63 68 6f 20 24 43 43 60 20 22 2a   "`$echo $CC` "*
26d0: 20 7c 20 22 20 24 43 43 5f 71 75 6f 74 65 64 22   | " $CC_quoted"
26e0: 2a 20 7c 20 22 24 43 43 5f 71 75 6f 74 65 64 20  * | "$CC_quoted 
26f0: 22 2a 20 7c 20 22 20 60 24 65 63 68 6f 20 24 43  "* | " `$echo $C
2700: 43 5f 71 75 6f 74 65 64 60 20 22 2a 20 7c 20 22  C_quoted` "* | "
2710: 60 24 65 63 68 6f 20 24 43 43 5f 71 75 6f 74 65  `$echo $CC_quote
2720: 64 60 20 22 2a 29 0a 09 20 20 20 20 20 20 23 20  d` "*)..      # 
2730: 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20  The compiler in 
2740: 74 68 65 20 62 61 73 65 20 63 6f 6d 70 69 6c 65  the base compile
2750: 20 63 6f 6d 6d 61 6e 64 20 6d 61 74 63 68 65 73   command matches
2760: 0a 09 20 20 20 20 20 20 23 20 74 68 65 20 6f 6e  ..      # the on
2770: 65 20 69 6e 20 74 68 65 20 74 61 67 67 65 64 20  e in the tagged 
2780: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 09  configuration...
2790: 20 20 20 20 20 20 23 20 41 73 73 75 6d 65 20 74        # Assume t
27a0: 68 69 73 20 69 73 20 74 68 65 20 74 61 67 67 65  his is the tagge
27b0: 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  d configuration 
27c0: 77 65 20 77 61 6e 74 2e 0a 09 20 20 20 20 20 20  we want...      
27d0: 74 61 67 6e 61 6d 65 3d 24 7a 0a 09 20 20 20 20  tagname=$z..    
27e0: 20 20 62 72 65 61 6b 0a 09 20 20 20 20 20 20 3b    break..      ;
27f0: 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 66  ;..    esac..  f
2800: 69 0a 09 64 6f 6e 65 0a 09 23 20 49 66 20 24 74  i..done..# If $t
2810: 61 67 6e 61 6d 65 20 73 74 69 6c 6c 20 69 73 6e  agname still isn
2820: 27 74 20 73 65 74 2c 20 74 68 65 6e 20 6e 6f 20  't set, then no 
2830: 74 61 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61  tagged configura
2840: 74 69 6f 6e 0a 09 23 20 77 61 73 20 66 6f 75 6e  tion..# was foun
2850: 64 20 61 6e 64 20 6c 65 74 20 74 68 65 20 75 73  d and let the us
2860: 65 72 20 6b 6e 6f 77 20 74 68 61 74 20 74 68 65  er know that the
2870: 20 22 2d 2d 74 61 67 22 20 63 6f 6d 6d 61 6e 64   "--tag" command
2880: 0a 09 23 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 20  ..# line option 
2890: 6d 75 73 74 20 62 65 20 75 73 65 64 2e 0a 09 69  must be used...i
28a0: 66 20 74 65 73 74 20 2d 7a 20 22 24 74 61 67 6e  f test -z "$tagn
28b0: 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 65  ame"; then..  $e
28c0: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
28d0: 75 6e 61 62 6c 65 20 74 6f 20 69 6e 66 65 72 20  unable to infer 
28e0: 74 61 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61  tagged configura
28f0: 74 69 6f 6e 22 0a 09 20 20 24 65 63 68 6f 20 22  tion"..  $echo "
2900: 24 6d 6f 64 65 6e 61 6d 65 3a 20 73 70 65 63 69  $modename: speci
2910: 66 79 20 61 20 74 61 67 20 77 69 74 68 20 5c 60  fy a tag with \`
2920: 2d 2d 74 61 67 27 22 20 31 3e 26 32 0a 09 20 20  --tag'" 1>&2..  
2930: 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
2940: 52 45 0a 23 20 20 20 20 20 20 20 20 65 6c 73 65  RE.#        else
2950: 0a 23 20 20 20 20 20 20 20 20 20 20 24 65 63 68  .#          $ech
2960: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 73  o "$modename: us
2970: 69 6e 67 20 24 74 61 67 6e 61 6d 65 20 74 61 67  ing $tagname tag
2980: 67 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  ged configuratio
2990: 6e 22 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20  n"..fi..;;.     
29a0: 20 65 73 61 63 0a 20 20 20 20 66 69 0a 7d 0a 0a   esac.    fi.}..
29b0: 0a 23 20 66 75 6e 63 5f 65 78 74 72 61 63 74 5f  .# func_extract_
29c0: 61 6e 5f 61 72 63 68 69 76 65 20 64 69 72 20 6f  an_archive dir o
29d0: 6c 64 6c 69 62 0a 66 75 6e 63 5f 65 78 74 72 61  ldlib.func_extra
29e0: 63 74 5f 61 6e 5f 61 72 63 68 69 76 65 20 28 29  ct_an_archive ()
29f0: 0a 7b 0a 20 20 20 20 66 5f 65 78 5f 61 6e 5f 61  .{.    f_ex_an_a
2a00: 72 5f 64 69 72 3d 22 24 31 22 3b 20 73 68 69 66  r_dir="$1"; shif
2a10: 74 0a 20 20 20 20 66 5f 65 78 5f 61 6e 5f 61 72  t.    f_ex_an_ar
2a20: 5f 6f 6c 64 6c 69 62 3d 22 24 31 22 0a 0a 20 20  _oldlib="$1"..  
2a30: 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 66 5f    $show "(cd $f_
2a40: 65 78 5f 61 6e 5f 61 72 5f 64 69 72 20 26 26 20  ex_an_ar_dir && 
2a50: 24 41 52 20 78 20 24 66 5f 65 78 5f 61 6e 5f 61  $AR x $f_ex_an_a
2a60: 72 5f 6f 6c 64 6c 69 62 29 22 0a 20 20 20 20 24  r_oldlib)".    $
2a70: 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20 5c 24  run eval "(cd \$
2a80: 66 5f 65 78 5f 61 6e 5f 61 72 5f 64 69 72 20 26  f_ex_an_ar_dir &
2a90: 26 20 24 41 52 20 78 20 5c 24 66 5f 65 78 5f 61  & $AR x \$f_ex_a
2aa0: 6e 5f 61 72 5f 6f 6c 64 6c 69 62 29 22 20 7c 7c  n_ar_oldlib)" ||
2ab0: 20 65 78 69 74 20 24 3f 0a 20 20 20 20 69 66 20   exit $?.    if 
2ac0: 28 24 41 52 20 74 20 22 24 66 5f 65 78 5f 61 6e  ($AR t "$f_ex_an
2ad0: 5f 61 72 5f 6f 6c 64 6c 69 62 22 20 7c 20 73 6f  _ar_oldlib" | so
2ae0: 72 74 20 7c 20 73 6f 72 74 20 2d 75 63 20 3e 2f  rt | sort -uc >/
2af0: 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 29 3b 20  dev/null 2>&1); 
2b00: 74 68 65 6e 0a 20 20 20 20 20 3a 0a 20 20 20 20  then.     :.    
2b10: 65 6c 73 65 0a 20 20 20 20 20 20 24 65 63 68 6f  else.      $echo
2b20: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 45 52 52   "$modename: ERR
2b30: 4f 52 3a 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20  OR: object name 
2b40: 63 6f 6e 66 6c 69 63 74 73 3a 20 24 66 5f 65 78  conflicts: $f_ex
2b50: 5f 61 6e 5f 61 72 5f 64 69 72 2f 24 66 5f 65 78  _an_ar_dir/$f_ex
2b60: 5f 61 6e 5f 61 72 5f 6f 6c 64 6c 69 62 22 20 31  _an_ar_oldlib" 1
2b70: 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74 20 24  >&2.      exit $
2b80: 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 20  EXIT_FAILURE.   
2b90: 20 66 69 0a 7d 0a 0a 23 20 66 75 6e 63 5f 65 78   fi.}..# func_ex
2ba0: 74 72 61 63 74 5f 61 72 63 68 69 76 65 73 20 67  tract_archives g
2bb0: 65 6e 74 6f 70 20 6f 6c 64 6c 69 62 20 2e 2e 2e  entop oldlib ...
2bc0: 0a 66 75 6e 63 5f 65 78 74 72 61 63 74 5f 61 72  .func_extract_ar
2bd0: 63 68 69 76 65 73 20 28 29 0a 7b 0a 20 20 20 20  chives ().{.    
2be0: 6d 79 5f 67 65 6e 74 6f 70 3d 22 24 31 22 3b 20  my_gentop="$1"; 
2bf0: 73 68 69 66 74 0a 20 20 20 20 6d 79 5f 6f 6c 64  shift.    my_old
2c00: 6c 69 62 73 3d 24 7b 31 2b 22 24 40 22 7d 0a 20  libs=${1+"$@"}. 
2c10: 20 20 20 6d 79 5f 6f 6c 64 6f 62 6a 73 3d 22 22     my_oldobjs=""
2c20: 0a 20 20 20 20 6d 79 5f 78 6c 69 62 3d 22 22 0a  .    my_xlib="".
2c30: 20 20 20 20 6d 79 5f 78 61 62 73 3d 22 22 0a 20      my_xabs="". 
2c40: 20 20 20 6d 79 5f 78 64 69 72 3d 22 22 0a 20 20     my_xdir="".  
2c50: 20 20 6d 79 5f 73 74 61 74 75 73 3d 22 22 0a 0a    my_status=""..
2c60: 20 20 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d      $show "${rm}
2c70: 72 20 24 6d 79 5f 67 65 6e 74 6f 70 22 0a 20 20  r $my_gentop".  
2c80: 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24    $run ${rm}r "$
2c90: 6d 79 5f 67 65 6e 74 6f 70 22 0a 20 20 20 20 24  my_gentop".    $
2ca0: 73 68 6f 77 20 22 24 6d 6b 64 69 72 20 24 6d 79  show "$mkdir $my
2cb0: 5f 67 65 6e 74 6f 70 22 0a 20 20 20 20 24 72 75  _gentop".    $ru
2cc0: 6e 20 24 6d 6b 64 69 72 20 22 24 6d 79 5f 67 65  n $mkdir "$my_ge
2cd0: 6e 74 6f 70 22 0a 20 20 20 20 6d 79 5f 73 74 61  ntop".    my_sta
2ce0: 74 75 73 3d 24 3f 0a 20 20 20 20 69 66 20 74 65  tus=$?.    if te
2cf0: 73 74 20 22 24 6d 79 5f 73 74 61 74 75 73 22 20  st "$my_status" 
2d00: 2d 6e 65 20 30 20 26 26 20 74 65 73 74 20 21 20  -ne 0 && test ! 
2d10: 2d 64 20 22 24 6d 79 5f 67 65 6e 74 6f 70 22 3b  -d "$my_gentop";
2d20: 20 74 68 65 6e 0a 20 20 20 20 20 20 65 78 69 74   then.      exit
2d30: 20 24 6d 79 5f 73 74 61 74 75 73 0a 20 20 20 20   $my_status.    
2d40: 66 69 0a 0a 20 20 20 20 66 6f 72 20 6d 79 5f 78  fi..    for my_x
2d50: 6c 69 62 20 69 6e 20 24 6d 79 5f 6f 6c 64 6c 69  lib in $my_oldli
2d60: 62 73 3b 20 64 6f 0a 20 20 20 20 20 20 23 20 45  bs; do.      # E
2d70: 78 74 72 61 63 74 20 74 68 65 20 6f 62 6a 65 63  xtract the objec
2d80: 74 73 2e 0a 20 20 20 20 20 20 63 61 73 65 20 24  ts..      case $
2d90: 6d 79 5f 78 6c 69 62 20 69 6e 0a 09 5b 5c 5c 2f  my_xlib in..[\\/
2da0: 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c  ]* | [A-Za-z]:[\
2db0: 5c 2f 5d 2a 29 20 6d 79 5f 78 61 62 73 3d 22 24  \/]*) my_xabs="$
2dc0: 6d 79 5f 78 6c 69 62 22 20 3b 3b 0a 09 2a 29 20  my_xlib" ;;..*) 
2dd0: 6d 79 5f 78 61 62 73 3d 60 70 77 64 60 22 2f 24  my_xabs=`pwd`"/$
2de0: 6d 79 5f 78 6c 69 62 22 20 3b 3b 0a 20 20 20 20  my_xlib" ;;.    
2df0: 20 20 65 73 61 63 0a 20 20 20 20 20 20 6d 79 5f    esac.      my_
2e00: 78 6c 69 62 3d 60 24 65 63 68 6f 20 22 58 24 6d  xlib=`$echo "X$m
2e10: 79 5f 78 6c 69 62 22 20 7c 20 24 58 73 65 64 20  y_xlib" | $Xsed 
2e20: 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 20  -e 's%^.*/%%'`. 
2e30: 20 20 20 20 20 6d 79 5f 78 64 69 72 3d 22 24 6d       my_xdir="$m
2e40: 79 5f 67 65 6e 74 6f 70 2f 24 6d 79 5f 78 6c 69  y_gentop/$my_xli
2e50: 62 22 0a 0a 20 20 20 20 20 20 24 73 68 6f 77 20  b"..      $show 
2e60: 22 24 7b 72 6d 7d 72 20 24 6d 79 5f 78 64 69 72  "${rm}r $my_xdir
2e70: 22 0a 20 20 20 20 20 20 24 72 75 6e 20 24 7b 72  ".      $run ${r
2e80: 6d 7d 72 20 22 24 6d 79 5f 78 64 69 72 22 0a 20  m}r "$my_xdir". 
2e90: 20 20 20 20 20 24 73 68 6f 77 20 22 24 6d 6b 64       $show "$mkd
2ea0: 69 72 20 24 6d 79 5f 78 64 69 72 22 0a 20 20 20  ir $my_xdir".   
2eb0: 20 20 20 24 72 75 6e 20 24 6d 6b 64 69 72 20 22     $run $mkdir "
2ec0: 24 6d 79 5f 78 64 69 72 22 0a 20 20 20 20 20 20  $my_xdir".      
2ed0: 65 78 69 74 5f 73 74 61 74 75 73 3d 24 3f 0a 20  exit_status=$?. 
2ee0: 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 65       if test "$e
2ef0: 78 69 74 5f 73 74 61 74 75 73 22 20 2d 6e 65 20  xit_status" -ne 
2f00: 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 22  0 && test ! -d "
2f10: 24 6d 79 5f 78 64 69 72 22 3b 20 74 68 65 6e 0a  $my_xdir"; then.
2f20: 09 65 78 69 74 20 24 65 78 69 74 5f 73 74 61 74  .exit $exit_stat
2f30: 75 73 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  us.      fi.    
2f40: 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a    case $host in.
2f50: 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e 2a 29        *-darwin*)
2f60: 0a 09 24 73 68 6f 77 20 22 45 78 74 72 61 63 74  ..$show "Extract
2f70: 69 6e 67 20 24 6d 79 5f 78 61 62 73 22 0a 09 23  ing $my_xabs"..#
2f80: 20 44 6f 20 6e 6f 74 20 62 6f 74 68 65 72 20 64   Do not bother d
2f90: 6f 69 6e 67 20 61 6e 79 74 68 69 6e 67 20 69 66  oing anything if
2fa0: 20 6a 75 73 74 20 61 20 64 72 79 20 72 75 6e 0a   just a dry run.
2fb0: 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72 75  .if test -z "$ru
2fc0: 6e 22 3b 20 74 68 65 6e 0a 09 20 20 64 61 72 77  n"; then..  darw
2fd0: 69 6e 5f 6f 72 69 67 5f 64 69 72 3d 60 70 77 64  in_orig_dir=`pwd
2fe0: 60 0a 09 20 20 63 64 20 24 6d 79 5f 78 64 69 72  `..  cd $my_xdir
2ff0: 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 64   || exit $?..  d
3000: 61 72 77 69 6e 5f 61 72 63 68 69 76 65 3d 24 6d  arwin_archive=$m
3010: 79 5f 78 61 62 73 0a 09 20 20 64 61 72 77 69 6e  y_xabs..  darwin
3020: 5f 63 75 72 64 69 72 3d 60 70 77 64 60 0a 09 20  _curdir=`pwd`.. 
3030: 20 64 61 72 77 69 6e 5f 62 61 73 65 5f 61 72 63   darwin_base_arc
3040: 68 69 76 65 3d 60 24 65 63 68 6f 20 22 58 24 64  hive=`$echo "X$d
3050: 61 72 77 69 6e 5f 61 72 63 68 69 76 65 22 20 7c  arwin_archive" |
3060: 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
3070: 2f 25 25 27 60 0a 09 20 20 64 61 72 77 69 6e 5f  /%%'`..  darwin_
3080: 61 72 63 68 65 73 3d 60 6c 69 70 6f 20 2d 69 6e  arches=`lipo -in
3090: 66 6f 20 22 24 64 61 72 77 69 6e 5f 61 72 63 68  fo "$darwin_arch
30a0: 69 76 65 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  ive" 2>/dev/null
30b0: 20 7c 20 24 45 47 52 45 50 20 41 72 63 68 69 74   | $EGREP Archit
30c0: 65 63 74 75 72 65 73 20 32 3e 2f 64 65 76 2f 6e  ectures 2>/dev/n
30d0: 75 6c 6c 60 0a 09 20 20 69 66 20 74 65 73 74 20  ull`..  if test 
30e0: 2d 6e 20 22 24 64 61 72 77 69 6e 5f 61 72 63 68  -n "$darwin_arch
30f0: 65 73 22 3b 20 74 68 65 6e 20 0a 09 20 20 20 20  es"; then ..    
3100: 64 61 72 77 69 6e 5f 61 72 63 68 65 73 3d 60 65  darwin_arches=`e
3110: 63 68 6f 20 22 24 64 61 72 77 69 6e 5f 61 72 63  cho "$darwin_arc
3120: 68 65 73 22 20 7c 20 24 53 45 44 20 2d 65 20 27  hes" | $SED -e '
3130: 73 2f 2e 2a 61 72 65 3a 2f 2f 27 60 0a 09 20 20  s/.*are://'`..  
3140: 20 20 64 61 72 77 69 6e 5f 61 72 63 68 3d 0a 09    darwin_arch=..
3150: 20 20 20 20 24 73 68 6f 77 20 22 24 64 61 72 77      $show "$darw
3160: 69 6e 5f 62 61 73 65 5f 61 72 63 68 69 76 65 20  in_base_archive 
3170: 68 61 73 20 6d 75 6c 74 69 70 6c 65 20 61 72 63  has multiple arc
3180: 68 69 74 65 63 74 75 72 65 73 20 24 64 61 72 77  hitectures $darw
3190: 69 6e 5f 61 72 63 68 65 73 22 0a 09 20 20 20 20  in_arches"..    
31a0: 66 6f 72 20 64 61 72 77 69 6e 5f 61 72 63 68 20  for darwin_arch 
31b0: 69 6e 20 20 24 64 61 72 77 69 6e 5f 61 72 63 68  in  $darwin_arch
31c0: 65 73 20 3b 20 64 6f 0a 09 20 20 20 20 20 20 6d  es ; do..      m
31d0: 6b 64 69 72 20 2d 70 20 22 75 6e 66 61 74 2d 24  kdir -p "unfat-$
31e0: 24 2f 24 7b 64 61 72 77 69 6e 5f 62 61 73 65 5f  $/${darwin_base_
31f0: 61 72 63 68 69 76 65 7d 2d 24 7b 64 61 72 77 69  archive}-${darwi
3200: 6e 5f 61 72 63 68 7d 22 0a 09 20 20 20 20 20 20  n_arch}"..      
3210: 6c 69 70 6f 20 2d 74 68 69 6e 20 24 64 61 72 77  lipo -thin $darw
3220: 69 6e 5f 61 72 63 68 20 2d 6f 75 74 70 75 74 20  in_arch -output 
3230: 22 75 6e 66 61 74 2d 24 24 2f 24 7b 64 61 72 77  "unfat-$$/${darw
3240: 69 6e 5f 62 61 73 65 5f 61 72 63 68 69 76 65 7d  in_base_archive}
3250: 2d 24 7b 64 61 72 77 69 6e 5f 61 72 63 68 7d 2f  -${darwin_arch}/
3260: 24 7b 64 61 72 77 69 6e 5f 62 61 73 65 5f 61 72  ${darwin_base_ar
3270: 63 68 69 76 65 7d 22 20 22 24 7b 64 61 72 77 69  chive}" "${darwi
3280: 6e 5f 61 72 63 68 69 76 65 7d 22 0a 09 20 20 20  n_archive}"..   
3290: 20 20 20 63 64 20 22 75 6e 66 61 74 2d 24 24 2f     cd "unfat-$$/
32a0: 24 7b 64 61 72 77 69 6e 5f 62 61 73 65 5f 61 72  ${darwin_base_ar
32b0: 63 68 69 76 65 7d 2d 24 7b 64 61 72 77 69 6e 5f  chive}-${darwin_
32c0: 61 72 63 68 7d 22 0a 09 20 20 20 20 20 20 66 75  arch}"..      fu
32d0: 6e 63 5f 65 78 74 72 61 63 74 5f 61 6e 5f 61 72  nc_extract_an_ar
32e0: 63 68 69 76 65 20 22 60 70 77 64 60 22 20 22 24  chive "`pwd`" "$
32f0: 7b 64 61 72 77 69 6e 5f 62 61 73 65 5f 61 72 63  {darwin_base_arc
3300: 68 69 76 65 7d 22 0a 09 20 20 20 20 20 20 63 64  hive}"..      cd
3310: 20 22 24 64 61 72 77 69 6e 5f 63 75 72 64 69 72   "$darwin_curdir
3320: 22 0a 09 20 20 20 20 20 20 24 72 6d 20 22 75 6e  "..      $rm "un
3330: 66 61 74 2d 24 24 2f 24 7b 64 61 72 77 69 6e 5f  fat-$$/${darwin_
3340: 62 61 73 65 5f 61 72 63 68 69 76 65 7d 2d 24 7b  base_archive}-${
3350: 64 61 72 77 69 6e 5f 61 72 63 68 7d 2f 24 7b 64  darwin_arch}/${d
3360: 61 72 77 69 6e 5f 62 61 73 65 5f 61 72 63 68 69  arwin_base_archi
3370: 76 65 7d 22 0a 09 20 20 20 20 64 6f 6e 65 20 23  ve}"..    done #
3380: 20 24 64 61 72 77 69 6e 5f 61 72 63 68 65 73 0a   $darwin_arches.
3390: 20 20 20 20 20 20 23 23 20 4f 6b 61 79 20 6e 6f        ## Okay no
33a0: 77 20 77 65 20 68 61 76 65 20 61 20 62 75 6e 63  w we have a bunc
33b0: 68 20 6f 66 20 74 68 69 6e 20 6f 62 6a 65 63 74  h of thin object
33c0: 73 2c 20 67 6f 74 74 61 20 66 61 74 74 65 6e 20  s, gotta fatten 
33d0: 74 68 65 6d 20 75 70 20 3a 29 0a 09 20 20 20 20  them up :)..    
33e0: 64 61 72 77 69 6e 5f 66 69 6c 65 6c 69 73 74 3d  darwin_filelist=
33f0: 60 66 69 6e 64 20 75 6e 66 61 74 2d 24 24 20 2d  `find unfat-$$ -
3400: 74 79 70 65 20 66 20 2d 6e 61 6d 65 20 5c 2a 2e  type f -name \*.
3410: 6f 20 2d 70 72 69 6e 74 20 2d 6f 20 2d 6e 61 6d  o -print -o -nam
3420: 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e 74 7c 20  e \*.lo -print| 
3430: 78 61 72 67 73 20 62 61 73 65 6e 61 6d 65 20 7c  xargs basename |
3440: 20 73 6f 72 74 20 2d 75 20 7c 20 24 4e 4c 32 53   sort -u | $NL2S
3450: 50 60 0a 09 20 20 20 20 64 61 72 77 69 6e 5f 66  P`..    darwin_f
3460: 69 6c 65 3d 0a 09 20 20 20 20 64 61 72 77 69 6e  ile=..    darwin
3470: 5f 66 69 6c 65 73 3d 0a 09 20 20 20 20 66 6f 72  _files=..    for
3480: 20 64 61 72 77 69 6e 5f 66 69 6c 65 20 69 6e 20   darwin_file in 
3490: 24 64 61 72 77 69 6e 5f 66 69 6c 65 6c 69 73 74  $darwin_filelist
34a0: 3b 20 64 6f 0a 09 20 20 20 20 20 20 64 61 72 77  ; do..      darw
34b0: 69 6e 5f 66 69 6c 65 73 3d 60 66 69 6e 64 20 75  in_files=`find u
34c0: 6e 66 61 74 2d 24 24 20 2d 6e 61 6d 65 20 24 64  nfat-$$ -name $d
34d0: 61 72 77 69 6e 5f 66 69 6c 65 20 2d 70 72 69 6e  arwin_file -prin
34e0: 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20 20  t | $NL2SP`..   
34f0: 20 20 20 6c 69 70 6f 20 2d 63 72 65 61 74 65 20     lipo -create 
3500: 2d 6f 75 74 70 75 74 20 22 24 64 61 72 77 69 6e  -output "$darwin
3510: 5f 66 69 6c 65 22 20 24 64 61 72 77 69 6e 5f 66  _file" $darwin_f
3520: 69 6c 65 73 0a 09 20 20 20 20 64 6f 6e 65 20 23  iles..    done #
3530: 20 24 64 61 72 77 69 6e 5f 66 69 6c 65 6c 69 73   $darwin_filelis
3540: 74 0a 09 20 20 20 20 24 7b 72 6d 7d 72 20 75 6e  t..    ${rm}r un
3550: 66 61 74 2d 24 24 0a 09 20 20 20 20 63 64 20 22  fat-$$..    cd "
3560: 24 64 61 72 77 69 6e 5f 6f 72 69 67 5f 64 69 72  $darwin_orig_dir
3570: 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 63  "..  else..    c
3580: 64 20 22 24 64 61 72 77 69 6e 5f 6f 72 69 67 5f  d "$darwin_orig_
3590: 64 69 72 22 0a 20 09 20 20 20 20 66 75 6e 63 5f  dir". .    func_
35a0: 65 78 74 72 61 63 74 5f 61 6e 5f 61 72 63 68 69  extract_an_archi
35b0: 76 65 20 22 24 6d 79 5f 78 64 69 72 22 20 22 24  ve "$my_xdir" "$
35c0: 6d 79 5f 78 61 62 73 22 0a 09 20 20 66 69 20 23  my_xabs"..  fi #
35d0: 20 24 64 61 72 77 69 6e 5f 61 72 63 68 65 73 0a   $darwin_arches.
35e0: 09 66 69 20 23 20 24 72 75 6e 0a 09 3b 3b 0a 20  .fi # $run..;;. 
35f0: 20 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20       *).        
3600: 66 75 6e 63 5f 65 78 74 72 61 63 74 5f 61 6e 5f  func_extract_an_
3610: 61 72 63 68 69 76 65 20 22 24 6d 79 5f 78 64 69  archive "$my_xdi
3620: 72 22 20 22 24 6d 79 5f 78 61 62 73 22 0a 20 20  r" "$my_xabs".  
3630: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 65        ;;.      e
3640: 73 61 63 0a 20 20 20 20 20 20 6d 79 5f 6f 6c 64  sac.      my_old
3650: 6f 62 6a 73 3d 22 24 6d 79 5f 6f 6c 64 6f 62 6a  objs="$my_oldobj
3660: 73 20 22 60 66 69 6e 64 20 24 6d 79 5f 78 64 69  s "`find $my_xdi
3670: 72 20 2d 6e 61 6d 65 20 5c 2a 2e 24 6f 62 6a 65  r -name \*.$obje
3680: 78 74 20 2d 70 72 69 6e 74 20 2d 6f 20 2d 6e 61  xt -print -o -na
3690: 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e 74 20  me \*.lo -print 
36a0: 7c 20 24 4e 4c 32 53 50 60 0a 20 20 20 20 64 6f  | $NL2SP`.    do
36b0: 6e 65 0a 20 20 20 20 66 75 6e 63 5f 65 78 74 72  ne.    func_extr
36c0: 61 63 74 5f 61 72 63 68 69 76 65 73 5f 72 65 73  act_archives_res
36d0: 75 6c 74 3d 22 24 6d 79 5f 6f 6c 64 6f 62 6a 73  ult="$my_oldobjs
36e0: 22 0a 7d 0a 23 20 45 6e 64 20 6f 66 20 53 68 65  ".}.# End of She
36f0: 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69  ll function defi
3700: 6e 69 74 69 6f 6e 73 0a 23 23 23 23 23 23 23 23  nitions.########
3710: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3720: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23  #############..#
3730: 20 44 61 72 77 69 6e 20 73 75 63 6b 73 0a 65 76   Darwin sucks.ev
3740: 61 6c 20 73 74 64 5f 73 68 72 65 78 74 3d 5c 22  al std_shrext=\"
3750: 24 73 68 72 65 78 74 5f 63 6d 64 73 5c 22 0a 0a  $shrext_cmds\"..
3760: 64 69 73 61 62 6c 65 5f 6c 69 62 73 3d 6e 6f 0a  disable_libs=no.
3770: 0a 23 20 50 61 72 73 65 20 6f 75 72 20 63 6f 6d  .# Parse our com
3780: 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e  mand line option
3790: 73 20 6f 6e 63 65 2c 20 74 68 6f 72 6f 75 67 68  s once, thorough
37a0: 6c 79 2e 0a 77 68 69 6c 65 20 74 65 73 74 20 22  ly..while test "
37b0: 24 23 22 20 2d 67 74 20 30 0a 64 6f 0a 20 20 61  $#" -gt 0.do.  a
37c0: 72 67 3d 22 24 31 22 0a 20 20 73 68 69 66 74 0a  rg="$1".  shift.
37d0: 0a 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a  .  case $arg in.
37e0: 20 20 2d 2a 3d 2a 29 20 6f 70 74 61 72 67 3d 60    -*=*) optarg=`
37f0: 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20  $echo "X$arg" | 
3800: 24 58 73 65 64 20 2d 65 20 27 73 2f 5b 2d 5f 61  $Xsed -e 's/[-_a
3810: 2d 7a 41 2d 5a 30 2d 39 5d 2a 3d 2f 2f 27 60 20  -zA-Z0-9]*=//'` 
3820: 3b 3b 0a 20 20 2a 29 20 6f 70 74 61 72 67 3d 20  ;;.  *) optarg= 
3830: 3b 3b 0a 20 20 65 73 61 63 0a 0a 20 20 23 20 49  ;;.  esac..  # I
3840: 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6f  f the previous o
3850: 70 74 69 6f 6e 20 6e 65 65 64 73 20 61 6e 20 61  ption needs an a
3860: 72 67 75 6d 65 6e 74 2c 20 61 73 73 69 67 6e 20  rgument, assign 
3870: 69 74 2e 0a 20 20 69 66 20 74 65 73 74 20 2d 6e  it..  if test -n
3880: 20 22 24 70 72 65 76 22 3b 20 74 68 65 6e 0a 20   "$prev"; then. 
3890: 20 20 20 63 61 73 65 20 24 70 72 65 76 20 69 6e     case $prev in
38a0: 0a 20 20 20 20 65 78 65 63 75 74 65 5f 64 6c 66  .    execute_dlf
38b0: 69 6c 65 73 29 0a 20 20 20 20 20 20 65 78 65 63  iles).      exec
38c0: 75 74 65 5f 64 6c 66 69 6c 65 73 3d 22 24 65 78  ute_dlfiles="$ex
38d0: 65 63 75 74 65 5f 64 6c 66 69 6c 65 73 20 24 61  ecute_dlfiles $a
38e0: 72 67 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20  rg".      ;;.   
38f0: 20 74 61 67 29 0a 20 20 20 20 20 20 74 61 67 6e   tag).      tagn
3900: 61 6d 65 3d 22 24 61 72 67 22 0a 20 20 20 20 20  ame="$arg".     
3910: 20 70 72 65 73 65 72 76 65 5f 61 72 67 73 3d 22   preserve_args="
3920: 24 7b 70 72 65 73 65 72 76 65 5f 61 72 67 73 7d  ${preserve_args}
3930: 3d 24 61 72 67 22 0a 0a 20 20 20 20 20 20 23 20  =$arg"..      # 
3940: 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 61  Check whether ta
3950: 67 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 6f  gname contains o
3960: 6e 6c 79 20 76 61 6c 69 64 20 63 68 61 72 61 63  nly valid charac
3970: 74 65 72 73 0a 20 20 20 20 20 20 63 61 73 65 20  ters.      case 
3980: 24 74 61 67 6e 61 6d 65 20 69 6e 0a 20 20 20 20  $tagname in.    
3990: 20 20 2a 5b 21 2d 5f 41 2d 5a 61 2d 7a 30 2d 39    *[!-_A-Za-z0-9
39a0: 2c 2f 5d 2a 29 0a 09 24 65 63 68 6f 20 22 24 70  ,/]*)..$echo "$p
39b0: 72 6f 67 6e 61 6d 65 3a 20 69 6e 76 61 6c 69 64  rogname: invalid
39c0: 20 74 61 67 20 6e 61 6d 65 3a 20 24 74 61 67 6e   tag name: $tagn
39d0: 61 6d 65 22 20 31 3e 26 32 0a 09 65 78 69 74 20  ame" 1>&2..exit 
39e0: 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 3b  $EXIT_FAILURE..;
39f0: 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20  ;.      esac..  
3a00: 20 20 20 20 63 61 73 65 20 24 74 61 67 6e 61 6d      case $tagnam
3a10: 65 20 69 6e 0a 20 20 20 20 20 20 43 43 29 0a 09  e in.      CC)..
3a20: 23 20 44 6f 6e 27 74 20 74 65 73 74 20 66 6f 72  # Don't test for
3a30: 20 74 68 65 20 22 64 65 66 61 75 6c 74 22 20 43   the "default" C
3a40: 20 74 61 67 2c 20 61 73 20 77 65 20 6b 6e 6f 77   tag, as we know
3a50: 2c 20 69 74 27 73 20 74 68 65 72 65 2c 20 62 75  , it's there, bu
3a60: 74 0a 09 23 20 6e 6f 74 20 73 70 65 63 69 61 6c  t..# not special
3a70: 6c 79 20 6d 61 72 6b 65 64 2e 0a 09 3b 3b 0a 20  ly marked...;;. 
3a80: 20 20 20 20 20 2a 29 0a 09 69 66 20 67 72 65 70       *)..if grep
3a90: 20 22 5e 23 20 23 23 23 20 42 45 47 49 4e 20 4c   "^# ### BEGIN L
3aa0: 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49  IBTOOL TAG CONFI
3ab0: 47 3a 20 24 74 61 67 6e 61 6d 65 24 22 20 3c 20  G: $tagname$" < 
3ac0: 22 24 70 72 6f 67 70 61 74 68 22 20 3e 20 2f 64  "$progpath" > /d
3ad0: 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 20  ev/null; then.. 
3ae0: 20 74 61 67 6c 69 73 74 3d 22 24 74 61 67 6c 69   taglist="$tagli
3af0: 73 74 20 24 74 61 67 6e 61 6d 65 22 0a 09 20 20  st $tagname"..  
3b00: 23 20 45 76 61 6c 75 61 74 65 20 74 68 65 20 63  # Evaluate the c
3b10: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 09 20  onfiguration... 
3b20: 20 65 76 61 6c 20 22 60 24 7b 53 45 44 7d 20 2d   eval "`${SED} -
3b30: 6e 20 2d 65 20 27 2f 5e 23 20 23 23 23 20 42 45  n -e '/^# ### BE
3b40: 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20  GIN LIBTOOL TAG 
3b50: 43 4f 4e 46 49 47 3a 20 27 24 74 61 67 6e 61 6d  CONFIG: '$tagnam
3b60: 65 27 24 2f 2c 2f 5e 23 20 23 23 23 20 45 4e 44  e'$/,/^# ### END
3b70: 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e   LIBTOOL TAG CON
3b80: 46 49 47 3a 20 27 24 74 61 67 6e 61 6d 65 27 24  FIG: '$tagname'$
3b90: 2f 70 27 20 3c 20 24 70 72 6f 67 70 61 74 68 60  /p' < $progpath`
3ba0: 22 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f  "..else..  $echo
3bb0: 20 22 24 70 72 6f 67 6e 61 6d 65 3a 20 69 67 6e   "$progname: ign
3bc0: 6f 72 69 6e 67 20 75 6e 6b 6e 6f 77 6e 20 74 61  oring unknown ta
3bd0: 67 20 24 74 61 67 6e 61 6d 65 22 20 31 3e 26 32  g $tagname" 1>&2
3be0: 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20 65  ..fi..;;.      e
3bf0: 73 61 63 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20  sac.      ;;.   
3c00: 20 2a 29 0a 20 20 20 20 20 20 65 76 61 6c 20 22   *).      eval "
3c10: 24 70 72 65 76 3d 5c 24 61 72 67 22 0a 20 20 20  $prev=\$arg".   
3c20: 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 0a     ;;.    esac..
3c30: 20 20 20 20 70 72 65 76 3d 0a 20 20 20 20 70 72      prev=.    pr
3c40: 65 76 6f 70 74 3d 0a 20 20 20 20 63 6f 6e 74 69  evopt=.    conti
3c50: 6e 75 65 0a 20 20 66 69 0a 0a 20 20 23 20 48 61  nue.  fi..  # Ha
3c60: 76 65 20 77 65 20 73 65 65 6e 20 61 20 6e 6f 6e  ve we seen a non
3c70: 2d 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65  -optional argume
3c80: 6e 74 20 79 65 74 3f 0a 20 20 63 61 73 65 20 24  nt yet?.  case $
3c90: 61 72 67 20 69 6e 0a 20 20 2d 2d 68 65 6c 70 29  arg in.  --help)
3ca0: 0a 20 20 20 20 73 68 6f 77 5f 68 65 6c 70 3d 79  .    show_help=y
3cb0: 65 73 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 76  es.    ;;..  --v
3cc0: 65 72 73 69 6f 6e 29 0a 20 20 20 20 24 65 63 68  ersion).    $ech
3cd0: 6f 20 22 24 50 52 4f 47 52 41 4d 20 28 47 4e 55  o "$PROGRAM (GNU
3ce0: 20 24 50 41 43 4b 41 47 45 29 20 24 56 45 52 53   $PACKAGE) $VERS
3cf0: 49 4f 4e 24 54 49 4d 45 53 54 41 4d 50 22 0a 20  ION$TIMESTAMP". 
3d00: 20 20 20 24 65 63 68 6f 0a 20 20 20 20 24 65 63     $echo.    $ec
3d10: 68 6f 20 22 43 6f 70 79 72 69 67 68 74 20 28 43  ho "Copyright (C
3d20: 29 20 32 30 30 35 20 20 46 72 65 65 20 53 6f 66  ) 2005  Free Sof
3d30: 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e  tware Foundation
3d40: 2c 20 49 6e 63 2e 22 0a 20 20 20 20 24 65 63 68  , Inc.".    $ech
3d50: 6f 20 22 54 68 69 73 20 69 73 20 66 72 65 65 20  o "This is free 
3d60: 73 6f 66 74 77 61 72 65 3b 20 73 65 65 20 74 68  software; see th
3d70: 65 20 73 6f 75 72 63 65 20 66 6f 72 20 63 6f 70  e source for cop
3d80: 79 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 2e  ying conditions.
3d90: 20 20 54 68 65 72 65 20 69 73 20 4e 4f 22 0a 20    There is NO". 
3da0: 20 20 20 24 65 63 68 6f 20 22 77 61 72 72 61 6e     $echo "warran
3db0: 74 79 3b 20 6e 6f 74 20 65 76 65 6e 20 66 6f 72  ty; not even for
3dc0: 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59   MERCHANTABILITY
3dd0: 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20   or FITNESS FOR 
3de0: 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52  A PARTICULAR PUR
3df0: 50 4f 53 45 2e 22 0a 20 20 20 20 65 78 69 74 20  POSE.".    exit 
3e00: 24 3f 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 63  $?.    ;;..  --c
3e10: 6f 6e 66 69 67 29 0a 20 20 20 20 24 7b 53 45 44  onfig).    ${SED
3e20: 7d 20 2d 65 20 27 31 2c 2f 5e 23 20 23 23 23 20  } -e '1,/^# ### 
3e30: 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 43 4f  BEGIN LIBTOOL CO
3e40: 4e 46 49 47 2f 64 27 20 2d 65 20 27 2f 5e 23 20  NFIG/d' -e '/^# 
3e50: 23 23 23 20 45 4e 44 20 4c 49 42 54 4f 4f 4c 20  ### END LIBTOOL 
3e60: 43 4f 4e 46 49 47 2f 2c 24 64 27 20 24 70 72 6f  CONFIG/,$d' $pro
3e70: 67 70 61 74 68 0a 20 20 20 20 23 20 4e 6f 77 20  gpath.    # Now 
3e80: 70 72 69 6e 74 20 74 68 65 20 63 6f 6e 66 69 67  print the config
3e90: 75 72 61 74 69 6f 6e 73 20 66 6f 72 20 74 68 65  urations for the
3ea0: 20 74 61 67 73 2e 0a 20 20 20 20 66 6f 72 20 74   tags..    for t
3eb0: 61 67 6e 61 6d 65 20 69 6e 20 24 74 61 67 6c 69  agname in $tagli
3ec0: 73 74 3b 20 64 6f 0a 20 20 20 20 20 20 24 7b 53  st; do.      ${S
3ed0: 45 44 7d 20 2d 6e 20 2d 65 20 22 2f 5e 23 20 23  ED} -n -e "/^# #
3ee0: 23 23 20 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c  ## BEGIN LIBTOOL
3ef0: 20 54 41 47 20 43 4f 4e 46 49 47 3a 20 24 74 61   TAG CONFIG: $ta
3f00: 67 6e 61 6d 65 24 2f 2c 2f 5e 23 20 23 23 23 20  gname$/,/^# ### 
3f10: 45 4e 44 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20  END LIBTOOL TAG 
3f20: 43 4f 4e 46 49 47 3a 20 24 74 61 67 6e 61 6d 65  CONFIG: $tagname
3f30: 24 2f 70 22 20 3c 20 22 24 70 72 6f 67 70 61 74  $/p" < "$progpat
3f40: 68 22 0a 20 20 20 20 64 6f 6e 65 0a 20 20 20 20  h".    done.    
3f50: 65 78 69 74 20 24 3f 0a 20 20 20 20 3b 3b 0a 0a  exit $?.    ;;..
3f60: 20 20 2d 2d 64 65 62 75 67 29 0a 20 20 20 20 24    --debug).    $
3f70: 65 63 68 6f 20 22 24 70 72 6f 67 6e 61 6d 65 3a  echo "$progname:
3f80: 20 65 6e 61 62 6c 69 6e 67 20 73 68 65 6c 6c 20   enabling shell 
3f90: 74 72 61 63 65 20 6d 6f 64 65 22 0a 20 20 20 20  trace mode".    
3fa0: 73 65 74 20 2d 78 0a 20 20 20 20 70 72 65 73 65  set -x.    prese
3fb0: 72 76 65 5f 61 72 67 73 3d 22 24 70 72 65 73 65  rve_args="$prese
3fc0: 72 76 65 5f 61 72 67 73 20 24 61 72 67 22 0a 20  rve_args $arg". 
3fd0: 20 20 20 3b 3b 0a 0a 20 20 2d 2d 64 72 79 2d 72     ;;..  --dry-r
3fe0: 75 6e 20 7c 20 2d 6e 29 0a 20 20 20 20 72 75 6e  un | -n).    run
3ff0: 3d 3a 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 66  =:.    ;;..  --f
4000: 65 61 74 75 72 65 73 29 0a 20 20 20 20 24 65 63  eatures).    $ec
4010: 68 6f 20 22 68 6f 73 74 3a 20 24 68 6f 73 74 22  ho "host: $host"
4020: 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62  .    if test "$b
4030: 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
4040: 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20  s" = yes; then. 
4050: 20 20 20 20 20 24 65 63 68 6f 20 22 65 6e 61 62       $echo "enab
4060: 6c 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  le shared librar
4070: 69 65 73 22 0a 20 20 20 20 65 6c 73 65 0a 20 20  ies".    else.  
4080: 20 20 20 20 24 65 63 68 6f 20 22 64 69 73 61 62      $echo "disab
4090: 6c 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  le shared librar
40a0: 69 65 73 22 0a 20 20 20 20 66 69 0a 20 20 20 20  ies".    fi.    
40b0: 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
40c0: 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b  old_libs" = yes;
40d0: 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68   then.      $ech
40e0: 6f 20 22 65 6e 61 62 6c 65 20 73 74 61 74 69 63  o "enable static
40f0: 20 6c 69 62 72 61 72 69 65 73 22 0a 20 20 20 20   libraries".    
4100: 65 6c 73 65 0a 20 20 20 20 20 20 24 65 63 68 6f  else.      $echo
4110: 20 22 64 69 73 61 62 6c 65 20 73 74 61 74 69 63   "disable static
4120: 20 6c 69 62 72 61 72 69 65 73 22 0a 20 20 20 20   libraries".    
4130: 66 69 0a 20 20 20 20 65 78 69 74 20 24 3f 0a 20  fi.    exit $?. 
4140: 20 20 20 3b 3b 0a 0a 20 20 2d 2d 66 69 6e 69 73     ;;..  --finis
4150: 68 29 20 6d 6f 64 65 3d 22 66 69 6e 69 73 68 22  h) mode="finish"
4160: 20 3b 3b 0a 0a 20 20 2d 2d 6d 6f 64 65 29 20 70   ;;..  --mode) p
4170: 72 65 76 6f 70 74 3d 22 2d 2d 6d 6f 64 65 22 20  revopt="--mode" 
4180: 70 72 65 76 3d 6d 6f 64 65 20 3b 3b 0a 20 20 2d  prev=mode ;;.  -
4190: 2d 6d 6f 64 65 3d 2a 29 20 6d 6f 64 65 3d 22 24  -mode=*) mode="$
41a0: 6f 70 74 61 72 67 22 20 3b 3b 0a 0a 20 20 2d 2d  optarg" ;;..  --
41b0: 70 72 65 73 65 72 76 65 2d 64 75 70 2d 64 65 70  preserve-dup-dep
41c0: 73 29 20 64 75 70 6c 69 63 61 74 65 5f 64 65 70  s) duplicate_dep
41d0: 73 3d 22 79 65 73 22 20 3b 3b 0a 0a 20 20 2d 2d  s="yes" ;;..  --
41e0: 71 75 69 65 74 20 7c 20 2d 2d 73 69 6c 65 6e 74  quiet | --silent
41f0: 29 0a 20 20 20 20 73 68 6f 77 3d 3a 0a 20 20 20  ).    show=:.   
4200: 20 70 72 65 73 65 72 76 65 5f 61 72 67 73 3d 22   preserve_args="
4210: 24 70 72 65 73 65 72 76 65 5f 61 72 67 73 20 24  $preserve_args $
4220: 61 72 67 22 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d  arg".    ;;..  -
4230: 2d 74 61 67 29 0a 20 20 20 20 70 72 65 76 6f 70  -tag).    prevop
4240: 74 3d 22 2d 2d 74 61 67 22 0a 20 20 20 20 70 72  t="--tag".    pr
4250: 65 76 3d 74 61 67 0a 20 20 20 20 70 72 65 73 65  ev=tag.    prese
4260: 72 76 65 5f 61 72 67 73 3d 22 24 70 72 65 73 65  rve_args="$prese
4270: 72 76 65 5f 61 72 67 73 20 2d 2d 74 61 67 22 0a  rve_args --tag".
4280: 20 20 20 20 3b 3b 0a 20 20 2d 2d 74 61 67 3d 2a      ;;.  --tag=*
4290: 29 0a 20 20 20 20 73 65 74 20 74 61 67 20 22 24  ).    set tag "$
42a0: 6f 70 74 61 72 67 22 20 24 7b 31 2b 22 24 40 22  optarg" ${1+"$@"
42b0: 7d 0a 20 20 20 20 73 68 69 66 74 0a 20 20 20 20  }.    shift.    
42c0: 70 72 65 76 3d 74 61 67 0a 20 20 20 20 70 72 65  prev=tag.    pre
42d0: 73 65 72 76 65 5f 61 72 67 73 3d 22 24 70 72 65  serve_args="$pre
42e0: 73 65 72 76 65 5f 61 72 67 73 20 2d 2d 74 61 67  serve_args --tag
42f0: 22 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 64 6c 6f  ".    ;;..  -dlo
4300: 70 65 6e 29 0a 20 20 20 20 70 72 65 76 6f 70 74  pen).    prevopt
4310: 3d 22 2d 64 6c 6f 70 65 6e 22 0a 20 20 20 20 70  ="-dlopen".    p
4320: 72 65 76 3d 65 78 65 63 75 74 65 5f 64 6c 66 69  rev=execute_dlfi
4330: 6c 65 73 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2a  les.    ;;..  -*
4340: 29 0a 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ).    $echo "$mo
4350: 64 65 6e 61 6d 65 3a 20 75 6e 72 65 63 6f 67 6e  dename: unrecogn
4360: 69 7a 65 64 20 6f 70 74 69 6f 6e 20 5c 60 24 61  ized option \`$a
4370: 72 67 27 22 20 31 3e 26 32 0a 20 20 20 20 24 65  rg'" 1>&2.    $e
4380: 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
4390: 0a 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f  .    exit $EXIT_
43a0: 46 41 49 4c 55 52 45 0a 20 20 20 20 3b 3b 0a 0a  FAILURE.    ;;..
43b0: 20 20 2a 29 0a 20 20 20 20 6e 6f 6e 6f 70 74 3d    *).    nonopt=
43c0: 22 24 61 72 67 22 0a 20 20 20 20 62 72 65 61 6b  "$arg".    break
43d0: 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a 64  .    ;;.  esac.d
43e0: 6f 6e 65 0a 0a 69 66 20 74 65 73 74 20 2d 6e 20  one..if test -n 
43f0: 22 24 70 72 65 76 6f 70 74 22 3b 20 74 68 65 6e  "$prevopt"; then
4400: 0a 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
4410: 61 6d 65 3a 20 6f 70 74 69 6f 6e 20 5c 60 24 70  ame: option \`$p
4420: 72 65 76 6f 70 74 27 20 72 65 71 75 69 72 65 73  revopt' requires
4430: 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 20 31 3e   an argument" 1>
4440: 26 32 0a 20 20 24 65 63 68 6f 20 22 24 68 65 6c  &2.  $echo "$hel
4450: 70 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20 24  p" 1>&2.  exit $
4460: 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 66 69 0a  EXIT_FAILURE.fi.
4470: 0a 63 61 73 65 20 24 64 69 73 61 62 6c 65 5f 6c  .case $disable_l
4480: 69 62 73 20 69 6e 0a 6e 6f 29 20 0a 20 20 3b 3b  ibs in.no) .  ;;
4490: 0a 73 68 61 72 65 64 29 0a 20 20 62 75 69 6c 64  .shared).  build
44a0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f  _libtool_libs=no
44b0: 0a 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62  .  build_old_lib
44c0: 73 3d 79 65 73 0a 20 20 3b 3b 0a 73 74 61 74 69  s=yes.  ;;.stati
44d0: 63 29 0a 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c  c).  build_old_l
44e0: 69 62 73 3d 60 63 61 73 65 20 24 62 75 69 6c 64  ibs=`case $build
44f0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 20 69 6e  _libtool_libs in
4500: 20 79 65 73 29 20 65 63 68 6f 20 6e 6f 3b 3b 20   yes) echo no;; 
4510: 2a 29 20 65 63 68 6f 20 79 65 73 3b 3b 20 65 73  *) echo yes;; es
4520: 61 63 60 0a 20 20 3b 3b 0a 65 73 61 63 0a 0a 23  ac`.  ;;.esac..#
4530: 20 49 66 20 74 68 69 73 20 76 61 72 69 61 62 6c   If this variabl
4540: 65 20 69 73 20 73 65 74 20 69 6e 20 61 6e 79 20  e is set in any 
4550: 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 73 2c 20  of the actions, 
4560: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 69  the command in i
4570: 74 0a 23 20 77 69 6c 6c 20 62 65 20 65 78 65 63  t.# will be exec
4580: 65 64 20 61 74 20 74 68 65 20 65 6e 64 2e 20 20  ed at the end.  
4590: 54 68 69 73 20 70 72 65 76 65 6e 74 73 20 68 65  This prevents he
45a0: 72 65 2d 64 6f 63 75 6d 65 6e 74 73 20 66 72 6f  re-documents fro
45b0: 6d 20 62 65 69 6e 67 0a 23 20 6c 65 66 74 20 6f  m being.# left o
45c0: 76 65 72 20 62 79 20 73 68 65 6c 6c 73 2e 0a 65  ver by shells..e
45d0: 78 65 63 5f 63 6d 64 3d 0a 0a 69 66 20 74 65 73  xec_cmd=..if tes
45e0: 74 20 2d 7a 20 22 24 73 68 6f 77 5f 68 65 6c 70  t -z "$show_help
45f0: 22 3b 20 74 68 65 6e 0a 0a 20 20 23 20 49 6e 66  "; then..  # Inf
4600: 65 72 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e  er the operation
4610: 20 6d 6f 64 65 2e 0a 20 20 69 66 20 74 65 73 74   mode..  if test
4620: 20 2d 7a 20 22 24 6d 6f 64 65 22 3b 20 74 68 65   -z "$mode"; the
4630: 6e 0a 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a  n.    $echo "***
4640: 20 57 61 72 6e 69 6e 67 3a 20 69 6e 66 65 72 72   Warning: inferr
4650: 69 6e 67 20 74 68 65 20 6d 6f 64 65 20 6f 66 20  ing the mode of 
4660: 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 64 65 70  operation is dep
4670: 72 65 63 61 74 65 64 2e 22 20 31 3e 26 32 0a 20  recated." 1>&2. 
4680: 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 46 75     $echo "*** Fu
4690: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66  ture versions of
46a0: 20 4c 69 62 74 6f 6f 6c 20 77 69 6c 6c 20 72 65   Libtool will re
46b0: 71 75 69 72 65 20 2d 2d 6d 6f 64 65 3d 4d 4f 44  quire --mode=MOD
46c0: 45 20 62 65 20 73 70 65 63 69 66 69 65 64 2e 22  E be specified."
46d0: 20 31 3e 26 32 0a 20 20 20 20 63 61 73 65 20 24   1>&2.    case $
46e0: 6e 6f 6e 6f 70 74 20 69 6e 0a 20 20 20 20 2a 63  nonopt in.    *c
46f0: 63 20 7c 20 63 63 2a 20 7c 20 2a 2b 2b 20 7c 20  c | cc* | *++ | 
4700: 67 63 63 2a 20 7c 20 2a 2d 67 63 63 2a 20 7c 20  gcc* | *-gcc* | 
4710: 67 2b 2b 2a 20 7c 20 78 6c 63 2a 29 0a 20 20 20  g++* | xlc*).   
4720: 20 20 20 6d 6f 64 65 3d 6c 69 6e 6b 0a 20 20 20     mode=link.   
4730: 20 20 20 66 6f 72 20 61 72 67 0a 20 20 20 20 20     for arg.     
4740: 20 64 6f 0a 09 63 61 73 65 20 24 61 72 67 20 69   do..case $arg i
4750: 6e 0a 09 2d 63 29 0a 09 20 20 20 6d 6f 64 65 3d  n..-c)..   mode=
4760: 63 6f 6d 70 69 6c 65 0a 09 20 20 20 62 72 65 61  compile..   brea
4770: 6b 0a 09 20 20 20 3b 3b 0a 09 65 73 61 63 0a 20  k..   ;;..esac. 
4780: 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20       done.      
4790: 3b 3b 0a 20 20 20 20 2a 64 62 20 7c 20 2a 64 62  ;;.    *db | *db
47a0: 78 20 7c 20 2a 73 74 72 61 63 65 20 7c 20 2a 74  x | *strace | *t
47b0: 72 75 73 73 29 0a 20 20 20 20 20 20 6d 6f 64 65  russ).      mode
47c0: 3d 65 78 65 63 75 74 65 0a 20 20 20 20 20 20 3b  =execute.      ;
47d0: 3b 0a 20 20 20 20 2a 69 6e 73 74 61 6c 6c 2a 7c  ;.    *install*|
47e0: 63 70 7c 6d 76 29 0a 20 20 20 20 20 20 6d 6f 64  cp|mv).      mod
47f0: 65 3d 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20  e=install.      
4800: 3b 3b 0a 20 20 20 20 2a 72 6d 29 0a 20 20 20 20  ;;.    *rm).    
4810: 20 20 6d 6f 64 65 3d 75 6e 69 6e 73 74 61 6c 6c    mode=uninstall
4820: 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a 29  .      ;;.    *)
4830: 0a 20 20 20 20 20 20 23 20 49 66 20 77 65 20 68  .      # If we h
4840: 61 76 65 20 6e 6f 20 6d 6f 64 65 2c 20 62 75 74  ave no mode, but
4850: 20 64 6c 66 69 6c 65 73 20 77 65 72 65 20 73 70   dlfiles were sp
4860: 65 63 69 66 69 65 64 2c 20 74 68 65 6e 20 64 6f  ecified, then do
4870: 20 65 78 65 63 75 74 65 20 6d 6f 64 65 2e 0a 20   execute mode.. 
4880: 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 65       test -n "$e
4890: 78 65 63 75 74 65 5f 64 6c 66 69 6c 65 73 22 20  xecute_dlfiles" 
48a0: 26 26 20 6d 6f 64 65 3d 65 78 65 63 75 74 65 0a  && mode=execute.
48b0: 0a 20 20 20 20 20 20 23 20 4a 75 73 74 20 75 73  .      # Just us
48c0: 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 70  e the default op
48d0: 65 72 61 74 69 6f 6e 20 6d 6f 64 65 2e 0a 20 20  eration mode..  
48e0: 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
48f0: 24 6d 6f 64 65 22 3b 20 74 68 65 6e 0a 09 69 66  $mode"; then..if
4900: 20 74 65 73 74 20 2d 6e 20 22 24 6e 6f 6e 6f 70   test -n "$nonop
4910: 74 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68  t"; then..  $ech
4920: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
4930: 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 69 6e  rning: cannot in
4940: 66 65 72 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f  fer operation mo
4950: 64 65 20 66 72 6f 6d 20 5c 60 24 6e 6f 6e 6f 70  de from \`$nonop
4960: 74 27 22 20 31 3e 26 32 0a 09 65 6c 73 65 0a 09  t'" 1>&2..else..
4970: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
4980: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 63 61 6e  me: warning: can
4990: 6e 6f 74 20 69 6e 66 65 72 20 6f 70 65 72 61 74  not infer operat
49a0: 69 6f 6e 20 6d 6f 64 65 20 77 69 74 68 6f 75 74  ion mode without
49b0: 20 4d 4f 44 45 2d 41 52 47 53 22 20 31 3e 26 32   MODE-ARGS" 1>&2
49c0: 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 20 20  ..fi.      fi.  
49d0: 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a      ;;.    esac.
49e0: 20 20 66 69 0a 0a 20 20 23 20 4f 6e 6c 79 20 65    fi..  # Only e
49f0: 78 65 63 75 74 65 20 6d 6f 64 65 20 69 73 20 61  xecute mode is a
4a00: 6c 6c 6f 77 65 64 20 74 6f 20 68 61 76 65 20 2d  llowed to have -
4a10: 64 6c 6f 70 65 6e 20 66 6c 61 67 73 2e 0a 20 20  dlopen flags..  
4a20: 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78 65  if test -n "$exe
4a30: 63 75 74 65 5f 64 6c 66 69 6c 65 73 22 20 26 26  cute_dlfiles" &&
4a40: 20 74 65 73 74 20 22 24 6d 6f 64 65 22 20 21 3d   test "$mode" !=
4a50: 20 65 78 65 63 75 74 65 3b 20 74 68 65 6e 0a 20   execute; then. 
4a60: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
4a70: 61 6d 65 3a 20 75 6e 72 65 63 6f 67 6e 69 7a 65  ame: unrecognize
4a80: 64 20 6f 70 74 69 6f 6e 20 5c 60 2d 64 6c 6f 70  d option \`-dlop
4a90: 65 6e 27 22 20 31 3e 26 32 0a 20 20 20 20 24 65  en'" 1>&2.    $e
4aa0: 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
4ab0: 0a 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f  .    exit $EXIT_
4ac0: 46 41 49 4c 55 52 45 0a 20 20 66 69 0a 0a 20 20  FAILURE.  fi..  
4ad0: 23 20 43 68 61 6e 67 65 20 74 68 65 20 68 65 6c  # Change the hel
4ae0: 70 20 6d 65 73 73 61 67 65 20 74 6f 20 61 20 6d  p message to a m
4af0: 6f 64 65 2d 73 70 65 63 69 66 69 63 20 6f 6e 65  ode-specific one
4b00: 2e 0a 20 20 67 65 6e 65 72 69 63 5f 68 65 6c 70  ..  generic_help
4b10: 3d 22 24 68 65 6c 70 22 0a 20 20 68 65 6c 70 3d  ="$help".  help=
4b20: 22 54 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65  "Try \`$modename
4b30: 20 2d 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 24   --help --mode=$
4b40: 6d 6f 64 65 27 20 66 6f 72 20 6d 6f 72 65 20 69  mode' for more i
4b50: 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 0a 20 20  nformation."..  
4b60: 23 20 54 68 65 73 65 20 6d 6f 64 65 73 20 61 72  # These modes ar
4b70: 65 20 69 6e 20 6f 72 64 65 72 20 6f 66 20 65 78  e in order of ex
4b80: 65 63 75 74 69 6f 6e 20 66 72 65 71 75 65 6e 63  ecution frequenc
4b90: 79 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 72  y so that they r
4ba0: 75 6e 20 71 75 69 63 6b 6c 79 2e 0a 20 20 63 61  un quickly..  ca
4bb0: 73 65 20 24 6d 6f 64 65 20 69 6e 0a 20 20 23 20  se $mode in.  # 
4bc0: 6c 69 62 74 6f 6f 6c 20 63 6f 6d 70 69 6c 65 20  libtool compile 
4bd0: 6d 6f 64 65 0a 20 20 63 6f 6d 70 69 6c 65 29 0a  mode.  compile).
4be0: 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d      modename="$m
4bf0: 6f 64 65 6e 61 6d 65 3a 20 63 6f 6d 70 69 6c 65  odename: compile
4c00: 22 0a 20 20 20 20 23 20 47 65 74 20 74 68 65 20  ".    # Get the 
4c10: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d  compilation comm
4c20: 61 6e 64 20 61 6e 64 20 74 68 65 20 73 6f 75 72  and and the sour
4c30: 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 62 61 73  ce file..    bas
4c40: 65 5f 63 6f 6d 70 69 6c 65 3d 0a 20 20 20 20 73  e_compile=.    s
4c50: 72 63 66 69 6c 65 3d 22 24 6e 6f 6e 6f 70 74 22  rcfile="$nonopt"
4c60: 20 20 23 20 20 61 6c 77 61 79 73 20 6b 65 65 70    #  always keep
4c70: 20 61 20 6e 6f 6e 2d 65 6d 70 74 79 20 76 61 6c   a non-empty val
4c80: 75 65 20 69 6e 20 22 73 72 63 66 69 6c 65 22 0a  ue in "srcfile".
4c90: 20 20 20 20 73 75 70 70 72 65 73 73 5f 6f 70 74      suppress_opt
4ca0: 3d 79 65 73 0a 20 20 20 20 73 75 70 70 72 65 73  =yes.    suppres
4cb0: 73 5f 6f 75 74 70 75 74 3d 0a 20 20 20 20 61 72  s_output=.    ar
4cc0: 67 5f 6d 6f 64 65 3d 6e 6f 72 6d 61 6c 0a 20 20  g_mode=normal.  
4cd0: 20 20 6c 69 62 6f 62 6a 3d 0a 20 20 20 20 6c 61    libobj=.    la
4ce0: 74 65 72 3d 0a 0a 20 20 20 20 66 6f 72 20 61 72  ter=..    for ar
4cf0: 67 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20 63  g.    do.      c
4d00: 61 73 65 20 24 61 72 67 5f 6d 6f 64 65 20 69 6e  ase $arg_mode in
4d10: 0a 20 20 20 20 20 20 61 72 67 20 20 29 0a 09 23  .      arg  )..#
4d20: 20 64 6f 20 6e 6f 74 20 22 63 6f 6e 74 69 6e 75   do not "continu
4d30: 65 22 2e 20 20 49 6e 73 74 65 61 64 2c 20 61 64  e".  Instead, ad
4d40: 64 20 74 68 69 73 20 74 6f 20 62 61 73 65 5f 63  d this to base_c
4d50: 6f 6d 70 69 6c 65 0a 09 6c 61 73 74 61 72 67 3d  ompile..lastarg=
4d60: 22 24 61 72 67 22 0a 09 61 72 67 5f 6d 6f 64 65  "$arg"..arg_mode
4d70: 3d 6e 6f 72 6d 61 6c 0a 09 3b 3b 0a 0a 20 20 20  =normal..;;..   
4d80: 20 20 20 74 61 72 67 65 74 20 29 0a 09 6c 69 62     target )..lib
4d90: 6f 62 6a 3d 22 24 61 72 67 22 0a 09 61 72 67 5f  obj="$arg"..arg_
4da0: 6d 6f 64 65 3d 6e 6f 72 6d 61 6c 0a 09 63 6f 6e  mode=normal..con
4db0: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
4dc0: 20 6e 6f 72 6d 61 6c 20 29 0a 09 23 20 41 63 63   normal )..# Acc
4dd0: 65 70 74 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 2d  ept any command-
4de0: 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 2e 0a 09 63  line options...c
4df0: 61 73 65 20 24 61 72 67 20 69 6e 0a 09 2d 6f 29  ase $arg in..-o)
4e00: 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22  ..  if test -n "
4e10: 24 6c 69 62 6f 62 6a 22 20 3b 20 74 68 65 6e 0a  $libobj" ; then.
4e20: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
4e30: 65 6e 61 6d 65 3a 20 79 6f 75 20 63 61 6e 6e 6f  ename: you canno
4e40: 74 20 73 70 65 63 69 66 79 20 5c 60 2d 6f 27 20  t specify \`-o' 
4e50: 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 22 20  more than once" 
4e60: 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 24  1>&2..    exit $
4e70: 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
4e80: 66 69 0a 09 20 20 61 72 67 5f 6d 6f 64 65 3d 74  fi..  arg_mode=t
4e90: 61 72 67 65 74 0a 09 20 20 63 6f 6e 74 69 6e 75  arget..  continu
4ea0: 65 0a 09 20 20 3b 3b 0a 0a 09 2d 73 74 61 74 69  e..  ;;...-stati
4eb0: 63 20 7c 20 2d 70 72 65 66 65 72 2d 70 69 63 20  c | -prefer-pic 
4ec0: 7c 20 2d 70 72 65 66 65 72 2d 6e 6f 6e 2d 70 69  | -prefer-non-pi
4ed0: 63 29 0a 09 20 20 6c 61 74 65 72 3d 22 24 6c 61  c)..  later="$la
4ee0: 74 65 72 20 24 61 72 67 22 0a 09 20 20 63 6f 6e  ter $arg"..  con
4ef0: 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 0a 09 2d 6e  tinue..  ;;...-n
4f00: 6f 2d 73 75 70 70 72 65 73 73 29 0a 09 20 20 73  o-suppress)..  s
4f10: 75 70 70 72 65 73 73 5f 6f 70 74 3d 6e 6f 0a 09  uppress_opt=no..
4f20: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b    continue..  ;;
4f30: 0a 0a 09 2d 58 63 6f 6d 70 69 6c 65 72 29 0a 09  ...-Xcompiler)..
4f40: 20 20 61 72 67 5f 6d 6f 64 65 3d 61 72 67 20 20    arg_mode=arg  
4f50: 23 20 20 74 68 65 20 6e 65 78 74 20 6f 6e 65 20  #  the next one 
4f60: 67 6f 65 73 20 69 6e 74 6f 20 74 68 65 20 22 62  goes into the "b
4f70: 61 73 65 5f 63 6f 6d 70 69 6c 65 22 20 61 72 67  ase_compile" arg
4f80: 20 6c 69 73 74 0a 09 20 20 63 6f 6e 74 69 6e 75   list..  continu
4f90: 65 20 20 20 20 20 20 23 20 20 54 68 65 20 63 75  e      #  The cu
4fa0: 72 72 65 6e 74 20 22 73 72 63 66 69 6c 65 22 20  rrent "srcfile" 
4fb0: 77 69 6c 6c 20 65 69 74 68 65 72 20 62 65 20 72  will either be r
4fc0: 65 74 61 69 6e 65 64 20 6f 72 0a 09 20 20 3b 3b  etained or..  ;;
4fd0: 20 20 20 20 20 20 20 20 20 20 20 20 23 20 20 72              #  r
4fe0: 65 70 6c 61 63 65 64 20 6c 61 74 65 72 2e 20 20  eplaced later.  
4ff0: 49 20 77 6f 75 6c 64 20 67 75 65 73 73 20 74 68  I would guess th
5000: 61 74 20 77 6f 75 6c 64 20 62 65 20 61 20 62 75  at would be a bu
5010: 67 2e 0a 0a 09 2d 57 63 2c 2a 29 0a 09 20 20 61  g....-Wc,*)..  a
5020: 72 67 73 3d 60 24 65 63 68 6f 20 22 58 24 61 72  rgs=`$echo "X$ar
5030: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73  g" | $Xsed -e "s
5040: 2f 5e 2d 57 63 2c 2f 2f 22 60 0a 09 20 20 6c 61  /^-Wc,//"`..  la
5050: 73 74 61 72 67 3d 0a 09 20 20 73 61 76 65 5f 69  starg=..  save_i
5060: 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
5070: 2c 27 0a 20 09 20 20 66 6f 72 20 61 72 67 20 69  ,'. .  for arg i
5080: 6e 20 24 61 72 67 73 3b 20 64 6f 0a 09 20 20 20  n $args; do..   
5090: 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
50a0: 0a 0a 09 20 20 20 20 23 20 44 6f 75 62 6c 65 2d  ...    # Double-
50b0: 71 75 6f 74 65 20 61 72 67 73 20 63 6f 6e 74 61  quote args conta
50c0: 69 6e 69 6e 67 20 6f 74 68 65 72 20 73 68 65 6c  ining other shel
50d0: 6c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73  l metacharacters
50e0: 2e 0a 09 20 20 20 20 23 20 4d 61 6e 79 20 42 6f  ...    # Many Bo
50f0: 75 72 6e 65 20 73 68 65 6c 6c 73 20 63 61 6e 6e  urne shells cann
5100: 6f 74 20 68 61 6e 64 6c 65 20 63 6c 6f 73 65 20  ot handle close 
5110: 62 72 61 63 6b 65 74 73 20 63 6f 72 72 65 63 74  brackets correct
5120: 6c 79 0a 09 20 20 20 20 23 20 69 6e 20 73 63 61  ly..    # in sca
5130: 6e 20 73 65 74 73 2c 20 73 6f 20 77 65 20 73 70  n sets, so we sp
5140: 65 63 69 66 79 20 69 74 20 73 65 70 61 72 61 74  ecify it separat
5150: 65 6c 79 2e 0a 09 20 20 20 20 63 61 73 65 20 24  ely...    case $
5160: 61 72 67 20 69 6e 0a 09 20 20 20 20 20 20 2a 5b  arg in..      *[
5170: 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29  \[\~\#\^\&\*\(\)
5180: 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27  \{\}\|\;\<\>\?\'
5190: 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09  \ \.]*|*]*|"")..
51a0: 20 20 20 20 20 20 61 72 67 3d 22 5c 22 24 61 72        arg="\"$ar
51b0: 67 5c 22 22 0a 09 20 20 20 20 20 20 3b 3b 0a 09  g\""..      ;;..
51c0: 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 6c 61      esac..    la
51d0: 73 74 61 72 67 3d 22 24 6c 61 73 74 61 72 67 20  starg="$lastarg 
51e0: 24 61 72 67 22 0a 09 20 20 64 6f 6e 65 0a 09 20  $arg"..  done.. 
51f0: 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
5200: 0a 09 20 20 6c 61 73 74 61 72 67 3d 60 24 65 63  ..  lastarg=`$ec
5210: 68 6f 20 22 58 24 6c 61 73 74 61 72 67 22 20 7c  ho "X$lastarg" |
5220: 20 24 58 73 65 64 20 2d 65 20 22 73 2f 5e 20 2f   $Xsed -e "s/^ /
5230: 2f 22 60 0a 0a 09 20 20 23 20 41 64 64 20 74 68  /"`...  # Add th
5240: 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 62  e arguments to b
5250: 61 73 65 5f 63 6f 6d 70 69 6c 65 2e 0a 09 20 20  ase_compile...  
5260: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d 22 24 62  base_compile="$b
5270: 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24 6c 61 73  ase_compile $las
5280: 74 61 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e 75  targ"..  continu
5290: 65 0a 09 20 20 3b 3b 0a 0a 09 2a 20 29 0a 09 20  e..  ;;...* ).. 
52a0: 20 23 20 41 63 63 65 70 74 20 74 68 65 20 63 75   # Accept the cu
52b0: 72 72 65 6e 74 20 61 72 67 75 6d 65 6e 74 20 61  rrent argument a
52c0: 73 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c  s the source fil
52d0: 65 2e 0a 09 20 20 23 20 54 68 65 20 70 72 65 76  e...  # The prev
52e0: 69 6f 75 73 20 22 73 72 63 66 69 6c 65 22 20 62  ious "srcfile" b
52f0: 65 63 6f 6d 65 73 20 74 68 65 20 63 75 72 72 65  ecomes the curre
5300: 6e 74 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20  nt argument...  
5310: 23 0a 09 20 20 6c 61 73 74 61 72 67 3d 22 24 73  #..  lastarg="$s
5320: 72 63 66 69 6c 65 22 0a 09 20 20 73 72 63 66 69  rcfile"..  srcfi
5330: 6c 65 3d 22 24 61 72 67 22 0a 09 20 20 3b 3b 0a  le="$arg"..  ;;.
5340: 09 65 73 61 63 20 20 23 20 20 63 61 73 65 20 24  .esac  #  case $
5350: 61 72 67 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73  arg..;;.      es
5360: 61 63 20 20 20 20 23 20 20 63 61 73 65 20 24 61  ac    #  case $a
5370: 72 67 5f 6d 6f 64 65 0a 0a 20 20 20 20 20 20 23  rg_mode..      #
5380: 20 41 65 73 74 68 65 74 69 63 61 6c 6c 79 20 71   Aesthetically q
5390: 75 6f 74 65 20 74 68 65 20 70 72 65 76 69 6f 75  uote the previou
53a0: 73 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20  s argument..    
53b0: 20 20 6c 61 73 74 61 72 67 3d 60 24 65 63 68 6f    lastarg=`$echo
53c0: 20 22 58 24 6c 61 73 74 61 72 67 22 20 7c 20 24   "X$lastarg" | $
53d0: 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
53e0: 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a 20 20 20  ote_subst"`..   
53f0: 20 20 20 63 61 73 65 20 24 6c 61 73 74 61 72 67     case $lastarg
5400: 20 69 6e 0a 20 20 20 20 20 20 23 20 44 6f 75 62   in.      # Doub
5410: 6c 65 2d 71 75 6f 74 65 20 61 72 67 73 20 63 6f  le-quote args co
5420: 6e 74 61 69 6e 69 6e 67 20 6f 74 68 65 72 20 73  ntaining other s
5430: 68 65 6c 6c 20 6d 65 74 61 63 68 61 72 61 63 74  hell metacharact
5440: 65 72 73 2e 0a 20 20 20 20 20 20 23 20 4d 61 6e  ers..      # Man
5450: 79 20 42 6f 75 72 6e 65 20 73 68 65 6c 6c 73 20  y Bourne shells 
5460: 63 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 63 6c  cannot handle cl
5470: 6f 73 65 20 62 72 61 63 6b 65 74 73 20 63 6f 72  ose brackets cor
5480: 72 65 63 74 6c 79 0a 20 20 20 20 20 20 23 20 69  rectly.      # i
5490: 6e 20 73 63 61 6e 20 73 65 74 73 2c 20 61 6e 64  n scan sets, and
54a0: 20 73 6f 6d 65 20 53 75 6e 4f 53 20 6b 73 68 20   some SunOS ksh 
54b0: 6d 69 73 74 72 65 61 74 20 62 61 63 6b 73 6c 61  mistreat backsla
54c0: 73 68 2d 65 73 63 61 70 69 6e 67 0a 20 20 20 20  sh-escaping.    
54d0: 20 20 23 20 69 6e 20 73 63 61 6e 20 73 65 74 73    # in scan sets
54e0: 20 28 77 6f 72 6b 65 64 20 61 72 6f 75 6e 64 20   (worked around 
54f0: 77 69 74 68 20 76 61 72 69 61 62 6c 65 20 65 78  with variable ex
5500: 70 61 6e 73 69 6f 6e 29 2c 0a 20 20 20 20 20 20  pansion),.      
5510: 23 20 61 6e 64 20 66 75 72 74 68 65 72 6d 6f 72  # and furthermor
5520: 65 20 63 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20  e cannot handle 
5530: 27 7c 27 20 27 26 27 20 27 28 27 20 27 29 27 20  '|' '&' '(' ')' 
5540: 69 6e 20 73 63 61 6e 20 73 65 74 73 20 0a 20 20  in scan sets .  
5550: 20 20 20 20 23 20 61 74 20 61 6c 6c 2c 20 73 6f      # at all, so
5560: 20 77 65 20 73 70 65 63 69 66 79 20 74 68 65 6d   we specify them
5570: 20 73 65 70 61 72 61 74 65 6c 79 2e 0a 20 20 20   separately..   
5580: 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c     *[\[\~\#\^\&\
5590: 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c  *\(\)\{\}\|\;\<\
55a0: 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c  >\?\'\ \.]*|*]*|
55b0: 22 22 29 0a 09 6c 61 73 74 61 72 67 3d 22 5c 22  "")..lastarg="\"
55c0: 24 6c 61 73 74 61 72 67 5c 22 22 0a 09 3b 3b 0a  $lastarg\""..;;.
55d0: 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20        esac..    
55e0: 20 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d 22    base_compile="
55f0: 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24 6c  $base_compile $l
5600: 61 73 74 61 72 67 22 0a 20 20 20 20 64 6f 6e 65  astarg".    done
5610: 20 23 20 66 6f 72 20 61 72 67 0a 0a 20 20 20 20   # for arg..    
5620: 63 61 73 65 20 24 61 72 67 5f 6d 6f 64 65 20 69  case $arg_mode i
5630: 6e 0a 20 20 20 20 61 72 67 29 0a 20 20 20 20 20  n.    arg).     
5640: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
5650: 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70 65 63  e: you must spec
5660: 69 66 79 20 61 6e 20 61 72 67 75 6d 65 6e 74 20  ify an argument 
5670: 66 6f 72 20 2d 58 63 6f 6d 70 69 6c 65 22 0a 20  for -Xcompile". 
5680: 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f       exit $EXIT_
5690: 46 41 49 4c 55 52 45 0a 20 20 20 20 20 20 3b 3b  FAILURE.      ;;
56a0: 0a 20 20 20 20 74 61 72 67 65 74 29 0a 20 20 20  .    target).   
56b0: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
56c0: 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70  ame: you must sp
56d0: 65 63 69 66 79 20 61 20 74 61 72 67 65 74 20 77  ecify a target w
56e0: 69 74 68 20 5c 60 2d 6f 27 22 20 31 3e 26 32 0a  ith \`-o'" 1>&2.
56f0: 20 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54        exit $EXIT
5700: 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 20 20 3b  _FAILURE.      ;
5710: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 23  ;.    *).      #
5720: 20 47 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66   Get the name of
5730: 20 74 68 65 20 6c 69 62 72 61 72 79 20 6f 62 6a   the library obj
5740: 65 63 74 2e 0a 20 20 20 20 20 20 5b 20 2d 7a 20  ect..      [ -z 
5750: 22 24 6c 69 62 6f 62 6a 22 20 5d 20 26 26 20 6c  "$libobj" ] && l
5760: 69 62 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24  ibobj=`$echo "X$
5770: 73 72 63 66 69 6c 65 22 20 7c 20 24 58 73 65 64  srcfile" | $Xsed
5780: 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
5790: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61        ;;.    esa
57a0: 63 0a 0a 20 20 20 20 23 20 52 65 63 6f 67 6e 69  c..    # Recogni
57b0: 7a 65 20 73 65 76 65 72 61 6c 20 64 69 66 66 65  ze several diffe
57c0: 72 65 6e 74 20 66 69 6c 65 20 73 75 66 66 69 78  rent file suffix
57d0: 65 73 2e 0a 20 20 20 20 23 20 49 66 20 74 68 65  es..    # If the
57e0: 20 75 73 65 72 20 73 70 65 63 69 66 69 65 73 20   user specifies 
57f0: 2d 6f 20 66 69 6c 65 2e 6f 2c 20 69 74 20 69 73  -o file.o, it is
5800: 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 66   replaced with f
5810: 69 6c 65 2e 6c 6f 0a 20 20 20 20 78 66 6f 72 6d  ile.lo.    xform
5820: 3d 27 5b 63 43 46 53 69 66 6d 73 6f 5d 27 0a 20  ='[cCFSifmso]'. 
5830: 20 20 20 63 61 73 65 20 24 6c 69 62 6f 62 6a 20     case $libobj 
5840: 69 6e 0a 20 20 20 20 2a 2e 61 64 61 29 20 78 66  in.    *.ada) xf
5850: 6f 72 6d 3d 61 64 61 20 3b 3b 0a 20 20 20 20 2a  orm=ada ;;.    *
5860: 2e 61 64 62 29 20 78 66 6f 72 6d 3d 61 64 62 20  .adb) xform=adb 
5870: 3b 3b 0a 20 20 20 20 2a 2e 61 64 73 29 20 78 66  ;;.    *.ads) xf
5880: 6f 72 6d 3d 61 64 73 20 3b 3b 0a 20 20 20 20 2a  orm=ads ;;.    *
5890: 2e 61 73 6d 29 20 78 66 6f 72 6d 3d 61 73 6d 20  .asm) xform=asm 
58a0: 3b 3b 0a 20 20 20 20 2a 2e 63 2b 2b 29 20 78 66  ;;.    *.c++) xf
58b0: 6f 72 6d 3d 63 2b 2b 20 3b 3b 0a 20 20 20 20 2a  orm=c++ ;;.    *
58c0: 2e 63 63 29 20 78 66 6f 72 6d 3d 63 63 20 3b 3b  .cc) xform=cc ;;
58d0: 0a 20 20 20 20 2a 2e 69 69 29 20 78 66 6f 72 6d  .    *.ii) xform
58e0: 3d 69 69 20 3b 3b 0a 20 20 20 20 2a 2e 63 6c 61  =ii ;;.    *.cla
58f0: 73 73 29 20 78 66 6f 72 6d 3d 63 6c 61 73 73 20  ss) xform=class 
5900: 3b 3b 0a 20 20 20 20 2a 2e 63 70 70 29 20 78 66  ;;.    *.cpp) xf
5910: 6f 72 6d 3d 63 70 70 20 3b 3b 0a 20 20 20 20 2a  orm=cpp ;;.    *
5920: 2e 63 78 78 29 20 78 66 6f 72 6d 3d 63 78 78 20  .cxx) xform=cxx 
5930: 3b 3b 0a 20 20 20 20 2a 2e 66 39 30 29 20 78 66  ;;.    *.f90) xf
5940: 6f 72 6d 3d 66 39 30 20 3b 3b 0a 20 20 20 20 2a  orm=f90 ;;.    *
5950: 2e 66 6f 72 29 20 78 66 6f 72 6d 3d 66 6f 72 20  .for) xform=for 
5960: 3b 3b 0a 20 20 20 20 2a 2e 6a 61 76 61 29 20 78  ;;.    *.java) x
5970: 66 6f 72 6d 3d 6a 61 76 61 20 3b 3b 0a 20 20 20  form=java ;;.   
5980: 20 65 73 61 63 0a 0a 20 20 20 20 6c 69 62 6f 62   esac..    libob
5990: 6a 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62 6f  j=`$echo "X$libo
59a0: 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  bj" | $Xsed -e "
59b0: 73 2f 5c 2e 24 78 66 6f 72 6d 24 2f 2e 6c 6f 2f  s/\.$xform$/.lo/
59c0: 22 60 0a 0a 20 20 20 20 63 61 73 65 20 24 6c 69  "`..    case $li
59d0: 62 6f 62 6a 20 69 6e 0a 20 20 20 20 2a 2e 6c 6f  bobj in.    *.lo
59e0: 29 20 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24  ) obj=`$echo "X$
59f0: 6c 69 62 6f 62 6a 22 20 7c 20 24 58 73 65 64 20  libobj" | $Xsed 
5a00: 2d 65 20 22 24 6c 6f 32 6f 22 60 20 3b 3b 0a 20  -e "$lo2o"` ;;. 
5a10: 20 20 20 2a 29 0a 20 20 20 20 20 20 24 65 63 68     *).      $ech
5a20: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61  o "$modename: ca
5a30: 6e 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 6e  nnot determine n
5a40: 61 6d 65 20 6f 66 20 6c 69 62 72 61 72 79 20 6f  ame of library o
5a50: 62 6a 65 63 74 20 66 72 6f 6d 20 5c 60 24 6c 69  bject from \`$li
5a60: 62 6f 62 6a 27 22 20 31 3e 26 32 0a 20 20 20 20  bobj'" 1>&2.    
5a70: 20 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49    exit $EXIT_FAI
5a80: 4c 55 52 45 0a 20 20 20 20 20 20 3b 3b 0a 20 20  LURE.      ;;.  
5a90: 20 20 65 73 61 63 0a 0a 20 20 20 20 66 75 6e 63    esac..    func
5aa0: 5f 69 6e 66 65 72 5f 74 61 67 20 24 62 61 73 65  _infer_tag $base
5ab0: 5f 63 6f 6d 70 69 6c 65 0a 0a 20 20 20 20 66 6f  _compile..    fo
5ac0: 72 20 61 72 67 20 69 6e 20 24 6c 61 74 65 72 3b  r arg in $later;
5ad0: 20 64 6f 0a 20 20 20 20 20 20 63 61 73 65 20 24   do.      case $
5ae0: 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2d 73 74  arg in.      -st
5af0: 61 74 69 63 29 0a 09 62 75 69 6c 64 5f 6f 6c 64  atic)..build_old
5b00: 5f 6c 69 62 73 3d 79 65 73 0a 09 63 6f 6e 74 69  _libs=yes..conti
5b10: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
5b20: 70 72 65 66 65 72 2d 70 69 63 29 0a 09 70 69 63  prefer-pic)..pic
5b30: 5f 6d 6f 64 65 3d 79 65 73 0a 09 63 6f 6e 74 69  _mode=yes..conti
5b40: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
5b50: 70 72 65 66 65 72 2d 6e 6f 6e 2d 70 69 63 29 0a  prefer-non-pic).
5b60: 09 70 69 63 5f 6d 6f 64 65 3d 6e 6f 0a 09 63 6f  .pic_mode=no..co
5b70: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20  ntinue..;;.     
5b80: 20 65 73 61 63 0a 20 20 20 20 64 6f 6e 65 0a 0a   esac.    done..
5b90: 20 20 20 20 71 6c 69 62 6f 62 6a 3d 60 24 65 63      qlibobj=`$ec
5ba0: 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22 20 7c 20  ho "X$libobj" | 
5bb0: 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
5bc0: 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20  uote_subst"`.   
5bd0: 20 63 61 73 65 20 24 71 6c 69 62 6f 62 6a 20 69   case $qlibobj i
5be0: 6e 0a 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23  n.      *[\[\~\#
5bf0: 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c  \^\&\*\(\)\{\}\|
5c00: 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a  \;\<\>\?\'\ \.]*
5c10: 7c 2a 5d 2a 7c 22 22 29 0a 09 71 6c 69 62 6f 62  |*]*|"")..qlibob
5c20: 6a 3d 22 5c 22 24 71 6c 69 62 6f 62 6a 5c 22 22  j="\"$qlibobj\""
5c30: 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 20   ;;.    esac.   
5c40: 20 74 65 73 74 20 22 58 24 6c 69 62 6f 62 6a 22   test "X$libobj"
5c50: 20 21 3d 20 22 58 24 71 6c 69 62 6f 62 6a 22 20   != "X$qlibobj" 
5c60: 5c 0a 09 26 26 20 24 65 63 68 6f 20 22 58 24 6c  \..&& $echo "X$l
5c70: 69 62 6f 62 6a 22 20 7c 20 67 72 65 70 20 27 5b  ibobj" | grep '[
5c80: 5d 7e 23 5e 2a 7b 7d 3b 3c 3e 3f 22 27 22 27 22  ]~#^*{};<>?"'"'"
5c90: 27 20 09 26 28 29 7c 60 24 5b 5d 27 20 5c 0a 09  ' .&()|`$[]' \..
5ca0: 26 26 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  && $echo "$moden
5cb0: 61 6d 65 3a 20 6c 69 62 6f 62 6a 20 6e 61 6d 65  ame: libobj name
5cc0: 20 5c 60 24 6c 69 62 6f 62 6a 27 20 6d 61 79 20   \`$libobj' may 
5cd0: 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 73 68 65 6c  not contain shel
5ce0: 6c 20 73 70 65 63 69 61 6c 20 63 68 61 72 61 63  l special charac
5cf0: 74 65 72 73 2e 22 0a 20 20 20 20 6f 62 6a 6e 61  ters.".    objna
5d00: 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a  me=`$echo "X$obj
5d10: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
5d20: 5e 2e 2a 2f 25 25 27 60 0a 20 20 20 20 78 64 69  ^.*/%%'`.    xdi
5d30: 72 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 22  r=`$echo "X$obj"
5d40: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f   | $Xsed -e 's%/
5d50: 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 69  [^/]*$%%'`.    i
5d60: 66 20 74 65 73 74 20 22 58 24 78 64 69 72 22 20  f test "X$xdir" 
5d70: 3d 20 22 58 24 6f 62 6a 22 3b 20 74 68 65 6e 0a  = "X$obj"; then.
5d80: 20 20 20 20 20 20 78 64 69 72 3d 0a 20 20 20 20        xdir=.    
5d90: 65 6c 73 65 0a 20 20 20 20 20 20 78 64 69 72 3d  else.      xdir=
5da0: 24 78 64 69 72 2f 0a 20 20 20 20 66 69 0a 20 20  $xdir/.    fi.  
5db0: 20 20 6c 6f 62 6a 3d 24 7b 78 64 69 72 7d 24 6f    lobj=${xdir}$o
5dc0: 62 6a 64 69 72 2f 24 6f 62 6a 6e 61 6d 65 0a 0a  bjdir/$objname..
5dd0: 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
5de0: 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b 20  $base_compile"; 
5df0: 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f  then.      $echo
5e00: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75   "$modename: you
5e10: 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20   must specify a 
5e20: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d  compilation comm
5e30: 61 6e 64 22 20 31 3e 26 32 0a 20 20 20 20 20 20  and" 1>&2.      
5e40: 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e  $echo "$help" 1>
5e50: 26 32 0a 20 20 20 20 20 20 65 78 69 74 20 24 45  &2.      exit $E
5e60: 58 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20  XIT_FAILURE.    
5e70: 66 69 0a 0a 20 20 20 20 23 20 44 65 6c 65 74 65  fi..    # Delete
5e80: 20 61 6e 79 20 6c 65 66 74 6f 76 65 72 20 6c 69   any leftover li
5e90: 62 72 61 72 79 20 6f 62 6a 65 63 74 73 2e 0a 20  brary objects.. 
5ea0: 20 20 20 69 66 20 74 65 73 74 20 22 24 62 75 69     if test "$bui
5eb0: 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79  ld_old_libs" = y
5ec0: 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 72  es; then.      r
5ed0: 65 6d 6f 76 65 6c 69 73 74 3d 22 24 6f 62 6a 20  emovelist="$obj 
5ee0: 24 6c 6f 62 6a 20 24 6c 69 62 6f 62 6a 20 24 7b  $lobj $libobj ${
5ef0: 6c 69 62 6f 62 6a 7d 54 22 0a 20 20 20 20 65 6c  libobj}T".    el
5f00: 73 65 0a 20 20 20 20 20 20 72 65 6d 6f 76 65 6c  se.      removel
5f10: 69 73 74 3d 22 24 6c 6f 62 6a 20 24 6c 69 62 6f  ist="$lobj $libo
5f20: 62 6a 20 24 7b 6c 69 62 6f 62 6a 7d 54 22 0a 20  bj ${libobj}T". 
5f30: 20 20 20 66 69 0a 0a 20 20 20 20 24 72 75 6e 20     fi..    $run 
5f40: 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a  $rm $removelist.
5f50: 20 20 20 20 74 72 61 70 20 22 24 72 75 6e 20 24      trap "$run $
5f60: 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 3b 20  rm $removelist; 
5f70: 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
5f80: 52 45 22 20 31 20 32 20 31 35 0a 0a 20 20 20 20  RE" 1 2 15..    
5f90: 23 20 4f 6e 20 43 79 67 77 69 6e 20 74 68 65 72  # On Cygwin ther
5fa0: 65 27 73 20 6e 6f 20 22 72 65 61 6c 22 20 50 49  e's no "real" PI
5fb0: 43 20 66 6c 61 67 20 73 6f 20 77 65 20 6d 75 73  C flag so we mus
5fc0: 74 20 62 75 69 6c 64 20 62 6f 74 68 20 6f 62 6a  t build both obj
5fd0: 65 63 74 20 74 79 70 65 73 0a 20 20 20 20 63 61  ect types.    ca
5fe0: 73 65 20 24 68 6f 73 74 5f 6f 73 20 69 6e 0a 20  se $host_os in. 
5ff0: 20 20 20 63 79 67 77 69 6e 2a 20 7c 20 6d 69 6e     cygwin* | min
6000: 67 77 2a 20 7c 20 70 77 33 32 2a 20 7c 20 6f 73  gw* | pw32* | os
6010: 32 2a 29 0a 20 20 20 20 20 20 70 69 63 5f 6d 6f  2*).      pic_mo
6020: 64 65 3d 64 65 66 61 75 6c 74 0a 20 20 20 20 20  de=default.     
6030: 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 20   ;;.    esac.   
6040: 20 69 66 20 74 65 73 74 20 22 24 70 69 63 5f 6d   if test "$pic_m
6050: 6f 64 65 22 20 3d 20 6e 6f 20 26 26 20 74 65 73  ode" = no && tes
6060: 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63  t "$deplibs_chec
6070: 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73  k_method" != pas
6080: 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 20 20 20 20  s_all; then.    
6090: 20 20 23 20 6e 6f 6e 2d 50 49 43 20 63 6f 64 65    # non-PIC code
60a0: 20 69 6e 20 73 68 61 72 65 64 20 6c 69 62 72 61   in shared libra
60b0: 72 69 65 73 20 69 73 20 6e 6f 74 20 73 75 70 70  ries is not supp
60c0: 6f 72 74 65 64 0a 20 20 20 20 20 20 70 69 63 5f  orted.      pic_
60d0: 6d 6f 64 65 3d 64 65 66 61 75 6c 74 0a 20 20 20  mode=default.   
60e0: 20 66 69 0a 0a 20 20 20 20 23 20 43 61 6c 63 75   fi..    # Calcu
60f0: 6c 61 74 65 20 74 68 65 20 66 69 6c 65 6e 61 6d  late the filenam
6100: 65 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20  e of the output 
6110: 6f 62 6a 65 63 74 20 69 66 20 63 6f 6d 70 69 6c  object if compil
6120: 65 72 20 64 6f 65 73 0a 20 20 20 20 23 20 6e 6f  er does.    # no
6130: 74 20 73 75 70 70 6f 72 74 20 2d 6f 20 77 69 74  t support -o wit
6140: 68 20 2d 63 0a 20 20 20 20 69 66 20 74 65 73 74  h -c.    if test
6150: 20 22 24 63 6f 6d 70 69 6c 65 72 5f 63 5f 6f 22   "$compiler_c_o"
6160: 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 20 20 20 20   = no; then.    
6170: 20 20 6f 75 74 70 75 74 5f 6f 62 6a 3d 60 24 65    output_obj=`$e
6180: 63 68 6f 20 22 58 24 73 72 63 66 69 6c 65 22 20  cho "X$srcfile" 
6190: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
61a0: 2a 2f 25 25 27 20 2d 65 20 27 73 25 5c 2e 5b 5e  */%%' -e 's%\.[^
61b0: 2e 5d 2a 24 25 25 27 60 2e 24 7b 6f 62 6a 65 78  .]*$%%'`.${objex
61c0: 74 7d 0a 20 20 20 20 20 20 6c 6f 63 6b 66 69 6c  t}.      lockfil
61d0: 65 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 2e 6c  e="$output_obj.l
61e0: 6f 63 6b 22 0a 20 20 20 20 20 20 72 65 6d 6f 76  ock".      remov
61f0: 65 6c 69 73 74 3d 22 24 72 65 6d 6f 76 65 6c 69  elist="$removeli
6200: 73 74 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24  st $output_obj $
6210: 6c 6f 63 6b 66 69 6c 65 22 0a 20 20 20 20 20 20  lockfile".      
6220: 74 72 61 70 20 22 24 72 75 6e 20 24 72 6d 20 24  trap "$run $rm $
6230: 72 65 6d 6f 76 65 6c 69 73 74 3b 20 65 78 69 74  removelist; exit
6240: 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 22 20   $EXIT_FAILURE" 
6250: 31 20 32 20 31 35 0a 20 20 20 20 65 6c 73 65 0a  1 2 15.    else.
6260: 20 20 20 20 20 20 6f 75 74 70 75 74 5f 6f 62 6a        output_obj
6270: 3d 0a 20 20 20 20 20 20 6e 65 65 64 5f 6c 6f 63  =.      need_loc
6280: 6b 73 3d 6e 6f 0a 20 20 20 20 20 20 6c 6f 63 6b  ks=no.      lock
6290: 66 69 6c 65 3d 0a 20 20 20 20 66 69 0a 0a 20 20  file=.    fi..  
62a0: 20 20 23 20 4c 6f 63 6b 20 74 68 69 73 20 63 72    # Lock this cr
62b0: 69 74 69 63 61 6c 20 73 65 63 74 69 6f 6e 20 69  itical section i
62c0: 66 20 69 74 20 69 73 20 6e 65 65 64 65 64 0a 20  f it is needed. 
62d0: 20 20 20 23 20 57 65 20 75 73 65 20 74 68 69 73     # We use this
62e0: 20 73 63 72 69 70 74 20 66 69 6c 65 20 74 6f 20   script file to 
62f0: 6d 61 6b 65 20 74 68 65 20 6c 69 6e 6b 2c 20 69  make the link, i
6300: 74 20 61 76 6f 69 64 73 20 63 72 65 61 74 69 6e  t avoids creatin
6310: 67 20 61 20 6e 65 77 20 66 69 6c 65 0a 20 20 20  g a new file.   
6320: 20 69 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f   if test "$need_
6330: 6c 6f 63 6b 73 22 20 3d 20 79 65 73 3b 20 74 68  locks" = yes; th
6340: 65 6e 0a 20 20 20 20 20 20 75 6e 74 69 6c 20 24  en.      until $
6350: 72 75 6e 20 6c 6e 20 22 24 73 72 63 66 69 6c 65  run ln "$srcfile
6360: 22 20 22 24 6c 6f 63 6b 66 69 6c 65 22 20 32 3e  " "$lockfile" 2>
6370: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 64 6f 0a 09 24  /dev/null; do..$
6380: 73 68 6f 77 20 22 57 61 69 74 69 6e 67 20 66 6f  show "Waiting fo
6390: 72 20 24 6c 6f 63 6b 66 69 6c 65 20 74 6f 20 62  r $lockfile to b
63a0: 65 20 72 65 6d 6f 76 65 64 22 0a 09 73 6c 65 65  e removed"..slee
63b0: 70 20 32 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20  p 2.      done. 
63c0: 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 6e     elif test "$n
63d0: 65 65 64 5f 6c 6f 63 6b 73 22 20 3d 20 77 61 72  eed_locks" = war
63e0: 6e 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 69 66  n; then.      if
63f0: 20 74 65 73 74 20 2d 66 20 22 24 6c 6f 63 6b 66   test -f "$lockf
6400: 69 6c 65 22 3b 20 74 68 65 6e 0a 09 24 65 63 68  ile"; then..$ech
6410: 6f 20 22 5c 0a 2a 2a 2a 20 45 52 52 4f 52 2c 20  o "\.*** ERROR, 
6420: 24 6c 6f 63 6b 66 69 6c 65 20 65 78 69 73 74 73  $lockfile exists
6430: 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 3a 0a 60   and contains:.`
6440: 63 61 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32 3e  cat $lockfile 2>
6450: 2f 64 65 76 2f 6e 75 6c 6c 60 0a 0a 54 68 69 73  /dev/null`..This
6460: 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20   indicates that 
6470: 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20  another process 
6480: 69 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73 65  is trying to use
6490: 20 74 68 65 20 73 61 6d 65 0a 74 65 6d 70 6f 72   the same.tempor
64a0: 61 72 79 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c  ary object file,
64b0: 20 61 6e 64 20 6c 69 62 74 6f 6f 6c 20 63 6f 75   and libtool cou
64c0: 6c 64 20 6e 6f 74 20 77 6f 72 6b 20 61 72 6f 75  ld not work arou
64d0: 6e 64 20 69 74 20 62 65 63 61 75 73 65 0a 79 6f  nd it because.yo
64e0: 75 72 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73  ur compiler does
64f0: 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 5c 60 2d   not support \`-
6500: 63 27 20 61 6e 64 20 5c 60 2d 6f 27 20 74 6f 67  c' and \`-o' tog
6510: 65 74 68 65 72 2e 20 20 49 66 20 79 6f 75 0a 72  ether.  If you.r
6520: 65 70 65 61 74 20 74 68 69 73 20 63 6f 6d 70 69  epeat this compi
6530: 6c 61 74 69 6f 6e 2c 20 69 74 20 6d 61 79 20 73  lation, it may s
6540: 75 63 63 65 65 64 2c 20 62 79 20 63 68 61 6e 63  ucceed, by chanc
6550: 65 2c 20 62 75 74 20 79 6f 75 20 68 61 64 20 62  e, but you had b
6560: 65 74 74 65 72 0a 61 76 6f 69 64 20 70 61 72 61  etter.avoid para
6570: 6c 6c 65 6c 20 62 75 69 6c 64 73 20 28 6d 61 6b  llel builds (mak
6580: 65 20 2d 6a 29 20 69 6e 20 74 68 69 73 20 70 6c  e -j) in this pl
6590: 61 74 66 6f 72 6d 2c 20 6f 72 20 67 65 74 20 61  atform, or get a
65a0: 20 62 65 74 74 65 72 0a 63 6f 6d 70 69 6c 65 72   better.compiler
65b0: 2e 22 0a 0a 09 24 72 75 6e 20 24 72 6d 20 24 72  ."...$run $rm $r
65c0: 65 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69 74 20  emovelist..exit 
65d0: 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 20 20  $EXIT_FAILURE.  
65e0: 20 20 20 20 66 69 0a 20 20 20 20 20 20 24 65 63      fi.      $ec
65f0: 68 6f 20 22 24 73 72 63 66 69 6c 65 22 20 3e 20  ho "$srcfile" > 
6600: 22 24 6c 6f 63 6b 66 69 6c 65 22 0a 20 20 20 20  "$lockfile".    
6610: 66 69 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  fi..    if test 
6620: 2d 6e 20 22 24 66 69 78 5f 73 72 63 66 69 6c 65  -n "$fix_srcfile
6630: 5f 70 61 74 68 22 3b 20 74 68 65 6e 0a 20 20 20  _path"; then.   
6640: 20 20 20 65 76 61 6c 20 73 72 63 66 69 6c 65 3d     eval srcfile=
6650: 5c 22 24 66 69 78 5f 73 72 63 66 69 6c 65 5f 70  \"$fix_srcfile_p
6660: 61 74 68 5c 22 0a 20 20 20 20 66 69 0a 20 20 20  ath\".    fi.   
6670: 20 71 73 72 63 66 69 6c 65 3d 60 24 65 63 68 6f   qsrcfile=`$echo
6680: 20 22 58 24 73 72 63 66 69 6c 65 22 20 7c 20 24   "X$srcfile" | $
6690: 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
66a0: 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20  ote_subst"`.    
66b0: 63 61 73 65 20 24 71 73 72 63 66 69 6c 65 20 69  case $qsrcfile i
66c0: 6e 0a 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23  n.      *[\[\~\#
66d0: 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c  \^\&\*\(\)\{\}\|
66e0: 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a  \;\<\>\?\'\ \.]*
66f0: 7c 2a 5d 2a 7c 22 22 29 0a 20 20 20 20 20 20 71  |*]*|"").      q
6700: 73 72 63 66 69 6c 65 3d 22 5c 22 24 71 73 72 63  srcfile="\"$qsrc
6710: 66 69 6c 65 5c 22 22 20 3b 3b 0a 20 20 20 20 65  file\"" ;;.    e
6720: 73 61 63 0a 0a 20 20 20 20 24 72 75 6e 20 24 72  sac..    $run $r
6730: 6d 20 22 24 6c 69 62 6f 62 6a 22 20 22 24 7b 6c  m "$libobj" "${l
6740: 69 62 6f 62 6a 7d 54 22 0a 0a 20 20 20 20 23 20  ibobj}T"..    # 
6750: 43 72 65 61 74 65 20 61 20 6c 69 62 74 6f 6f 6c  Create a libtool
6760: 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 28 61 6e   object file (an
6770: 61 6c 6f 67 6f 75 73 20 74 6f 20 61 20 22 2e 6c  alogous to a ".l
6780: 61 22 20 66 69 6c 65 29 2c 0a 20 20 20 20 23 20  a" file),.    # 
6790: 62 75 74 20 64 6f 6e 27 74 20 63 72 65 61 74 65  but don't create
67a0: 20 69 74 20 69 66 20 77 65 27 72 65 20 64 6f 69   it if we're doi
67b0: 6e 67 20 61 20 64 72 79 20 72 75 6e 2e 0a 20 20  ng a dry run..  
67c0: 20 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22    test -z "$run"
67d0: 20 26 26 20 63 61 74 20 3e 20 24 7b 6c 69 62 6f   && cat > ${libo
67e0: 62 6a 7d 54 20 3c 3c 45 4f 46 0a 23 20 24 6c 69  bj}T <<EOF.# $li
67f0: 62 6f 62 6a 20 2d 20 61 20 6c 69 62 74 6f 6f 6c  bobj - a libtool
6800: 20 6f 62 6a 65 63 74 20 66 69 6c 65 0a 23 20 47   object file.# G
6810: 65 6e 65 72 61 74 65 64 20 62 79 20 24 50 52 4f  enerated by $PRO
6820: 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b  GRAM - GNU $PACK
6830: 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d  AGE $VERSION$TIM
6840: 45 53 54 41 4d 50 0a 23 0a 23 20 50 6c 65 61 73  ESTAMP.#.# Pleas
6850: 65 20 44 4f 20 4e 4f 54 20 64 65 6c 65 74 65 20  e DO NOT delete 
6860: 74 68 69 73 20 66 69 6c 65 21 0a 23 20 49 74 20  this file!.# It 
6870: 69 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72  is necessary for
6880: 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 6c 69 62   linking the lib
6890: 72 61 72 79 2e 0a 0a 23 20 4e 61 6d 65 20 6f 66  rary...# Name of
68a0: 20 74 68 65 20 50 49 43 20 6f 62 6a 65 63 74 2e   the PIC object.
68b0: 0a 45 4f 46 0a 0a 20 20 20 20 23 20 4f 6e 6c 79  .EOF..    # Only
68c0: 20 62 75 69 6c 64 20 61 20 50 49 43 20 6f 62 6a   build a PIC obj
68d0: 65 63 74 20 69 66 20 77 65 20 61 72 65 20 62 75  ect if we are bu
68e0: 69 6c 64 69 6e 67 20 6c 69 62 74 6f 6f 6c 20 6c  ilding libtool l
68f0: 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 69 66  ibraries..    if
6900: 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
6910: 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
6920: 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20  s; then.      # 
6930: 57 69 74 68 6f 75 74 20 74 68 69 73 20 61 73 73  Without this ass
6940: 69 67 6e 6d 65 6e 74 2c 20 62 61 73 65 5f 63 6f  ignment, base_co
6950: 6d 70 69 6c 65 20 67 65 74 73 20 65 6d 70 74 69  mpile gets empti
6960: 65 64 2e 0a 20 20 20 20 20 20 66 62 73 64 5f 68  ed..      fbsd_h
6970: 69 64 65 6f 75 73 5f 73 68 5f 62 75 67 3d 24 62  ideous_sh_bug=$b
6980: 61 73 65 5f 63 6f 6d 70 69 6c 65 0a 0a 20 20 20  ase_compile..   
6990: 20 20 20 69 66 20 74 65 73 74 20 22 24 70 69 63     if test "$pic
69a0: 5f 6d 6f 64 65 22 20 21 3d 20 6e 6f 3b 20 74 68  _mode" != no; th
69b0: 65 6e 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61  en..command="$ba
69c0: 73 65 5f 63 6f 6d 70 69 6c 65 20 24 71 73 72 63  se_compile $qsrc
69d0: 66 69 6c 65 20 24 70 69 63 5f 66 6c 61 67 22 0a  file $pic_flag".
69e0: 20 20 20 20 20 20 65 6c 73 65 0a 09 23 20 44 6f        else..# Do
69f0: 6e 27 74 20 62 75 69 6c 64 20 50 49 43 20 63 6f  n't build PIC co
6a00: 64 65 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61  de..command="$ba
6a10: 73 65 5f 63 6f 6d 70 69 6c 65 20 24 71 73 72 63  se_compile $qsrc
6a20: 66 69 6c 65 22 0a 20 20 20 20 20 20 66 69 0a 0a  file".      fi..
6a30: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 21 20        if test ! 
6a40: 2d 64 20 22 24 7b 78 64 69 72 7d 24 6f 62 6a 64  -d "${xdir}$objd
6a50: 69 72 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77  ir"; then..$show
6a60: 20 22 24 6d 6b 64 69 72 20 24 7b 78 64 69 72 7d   "$mkdir ${xdir}
6a70: 24 6f 62 6a 64 69 72 22 0a 09 24 72 75 6e 20 24  $objdir"..$run $
6a80: 6d 6b 64 69 72 20 24 7b 78 64 69 72 7d 24 6f 62  mkdir ${xdir}$ob
6a90: 6a 64 69 72 0a 09 65 78 69 74 5f 73 74 61 74 75  jdir..exit_statu
6aa0: 73 3d 24 3f 0a 09 69 66 20 74 65 73 74 20 22 24  s=$?..if test "$
6ab0: 65 78 69 74 5f 73 74 61 74 75 73 22 20 2d 6e 65  exit_status" -ne
6ac0: 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20   0 && test ! -d 
6ad0: 22 24 7b 78 64 69 72 7d 24 6f 62 6a 64 69 72 22  "${xdir}$objdir"
6ae0: 3b 20 74 68 65 6e 0a 09 20 20 65 78 69 74 20 24  ; then..  exit $
6af0: 65 78 69 74 5f 73 74 61 74 75 73 0a 09 66 69 0a  exit_status..fi.
6b00: 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
6b10: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6f 75 74  if test -z "$out
6b20: 70 75 74 5f 6f 62 6a 22 3b 20 74 68 65 6e 0a 09  put_obj"; then..
6b30: 23 20 50 6c 61 63 65 20 50 49 43 20 6f 62 6a 65  # Place PIC obje
6b40: 63 74 73 20 69 6e 20 24 6f 62 6a 64 69 72 0a 09  cts in $objdir..
6b50: 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e  command="$comman
6b60: 64 20 2d 6f 20 24 6c 6f 62 6a 22 0a 20 20 20 20  d -o $lobj".    
6b70: 20 20 66 69 0a 0a 20 20 20 20 20 20 24 72 75 6e    fi..      $run
6b80: 20 24 72 6d 20 22 24 6c 6f 62 6a 22 20 22 24 6f   $rm "$lobj" "$o
6b90: 75 74 70 75 74 5f 6f 62 6a 22 0a 0a 20 20 20 20  utput_obj"..    
6ba0: 20 20 24 73 68 6f 77 20 22 24 63 6f 6d 6d 61 6e    $show "$comman
6bb0: 64 22 0a 20 20 20 20 20 20 69 66 20 24 72 75 6e  d".      if $run
6bc0: 20 65 76 61 6c 20 22 24 63 6f 6d 6d 61 6e 64 22   eval "$command"
6bd0: 3b 20 74 68 65 6e 20 3a 0a 20 20 20 20 20 20 65  ; then :.      e
6be0: 6c 73 65 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f  lse..test -n "$o
6bf0: 75 74 70 75 74 5f 6f 62 6a 22 20 26 26 20 24 72  utput_obj" && $r
6c00: 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69  un $rm $removeli
6c10: 73 74 0a 09 65 78 69 74 20 24 45 58 49 54 5f 46  st..exit $EXIT_F
6c20: 41 49 4c 55 52 45 0a 20 20 20 20 20 20 66 69 0a  AILURE.      fi.
6c30: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
6c40: 24 6e 65 65 64 5f 6c 6f 63 6b 73 22 20 3d 20 77  $need_locks" = w
6c50: 61 72 6e 20 26 26 0a 09 20 74 65 73 74 20 22 58  arn &&.. test "X
6c60: 60 63 61 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32  `cat $lockfile 2
6c70: 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20 21 3d 20  >/dev/null`" != 
6c80: 22 58 24 73 72 63 66 69 6c 65 22 3b 20 74 68 65  "X$srcfile"; the
6c90: 6e 0a 09 24 65 63 68 6f 20 22 5c 0a 2a 2a 2a 20  n..$echo "\.*** 
6ca0: 45 52 52 4f 52 2c 20 24 6c 6f 63 6b 66 69 6c 65  ERROR, $lockfile
6cb0: 20 63 6f 6e 74 61 69 6e 73 3a 0a 60 63 61 74 20   contains:.`cat 
6cc0: 24 6c 6f 63 6b 66 69 6c 65 20 32 3e 2f 64 65 76  $lockfile 2>/dev
6cd0: 2f 6e 75 6c 6c 60 0a 0a 62 75 74 20 69 74 20 73  /null`..but it s
6ce0: 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 3a 0a 24  hould contain:.$
6cf0: 73 72 63 66 69 6c 65 0a 0a 54 68 69 73 20 69 6e  srcfile..This in
6d00: 64 69 63 61 74 65 73 20 74 68 61 74 20 61 6e 6f  dicates that ano
6d10: 74 68 65 72 20 70 72 6f 63 65 73 73 20 69 73 20  ther process is 
6d20: 74 72 79 69 6e 67 20 74 6f 20 75 73 65 20 74 68  trying to use th
6d30: 65 20 73 61 6d 65 0a 74 65 6d 70 6f 72 61 72 79  e same.temporary
6d40: 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e   object file, an
6d50: 64 20 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64 20  d libtool could 
6d60: 6e 6f 74 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20  not work around 
6d70: 69 74 20 62 65 63 61 75 73 65 0a 79 6f 75 72 20  it because.your 
6d80: 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f  compiler does no
6d90: 74 20 73 75 70 70 6f 72 74 20 5c 60 2d 63 27 20  t support \`-c' 
6da0: 61 6e 64 20 5c 60 2d 6f 27 20 74 6f 67 65 74 68  and \`-o' togeth
6db0: 65 72 2e 20 20 49 66 20 79 6f 75 0a 72 65 70 65  er.  If you.repe
6dc0: 61 74 20 74 68 69 73 20 63 6f 6d 70 69 6c 61 74  at this compilat
6dd0: 69 6f 6e 2c 20 69 74 20 6d 61 79 20 73 75 63 63  ion, it may succ
6de0: 65 65 64 2c 20 62 79 20 63 68 61 6e 63 65 2c 20  eed, by chance, 
6df0: 62 75 74 20 79 6f 75 20 68 61 64 20 62 65 74 74  but you had bett
6e00: 65 72 0a 61 76 6f 69 64 20 70 61 72 61 6c 6c 65  er.avoid paralle
6e10: 6c 20 62 75 69 6c 64 73 20 28 6d 61 6b 65 20 2d  l builds (make -
6e20: 6a 29 20 69 6e 20 74 68 69 73 20 70 6c 61 74 66  j) in this platf
6e30: 6f 72 6d 2c 20 6f 72 20 67 65 74 20 61 20 62 65  orm, or get a be
6e40: 74 74 65 72 0a 63 6f 6d 70 69 6c 65 72 2e 22 0a  tter.compiler.".
6e50: 0a 09 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f  ..$run $rm $remo
6e60: 76 65 6c 69 73 74 0a 09 65 78 69 74 20 24 45 58  velist..exit $EX
6e70: 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 20  IT_FAILURE.     
6e80: 20 66 69 0a 0a 20 20 20 20 20 20 23 20 4a 75 73   fi..      # Jus
6e90: 74 20 6d 6f 76 65 20 74 68 65 20 6f 62 6a 65 63  t move the objec
6ea0: 74 20 69 66 20 6e 65 65 64 65 64 2c 20 74 68 65  t if needed, the
6eb0: 6e 20 67 6f 20 6f 6e 20 74 6f 20 63 6f 6d 70 69  n go on to compi
6ec0: 6c 65 20 74 68 65 20 6e 65 78 74 20 6f 6e 65 0a  le the next one.
6ed0: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
6ee0: 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 22 20 26   "$output_obj" &
6ef0: 26 20 74 65 73 74 20 22 58 24 6f 75 74 70 75 74  & test "X$output
6f00: 5f 6f 62 6a 22 20 21 3d 20 22 58 24 6c 6f 62 6a  _obj" != "X$lobj
6f10: 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22  "; then..$show "
6f20: 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20  $mv $output_obj 
6f30: 24 6c 6f 62 6a 22 0a 09 69 66 20 24 72 75 6e 20  $lobj"..if $run 
6f40: 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20  $mv $output_obj 
6f50: 24 6c 6f 62 6a 3b 20 74 68 65 6e 20 3a 0a 09 65  $lobj; then :..e
6f60: 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d 24 3f 0a  lse..  error=$?.
6f70: 09 20 20 24 72 75 6e 20 24 72 6d 20 24 72 65 6d  .  $run $rm $rem
6f80: 6f 76 65 6c 69 73 74 0a 09 20 20 65 78 69 74 20  ovelist..  exit 
6f90: 24 65 72 72 6f 72 0a 09 66 69 0a 20 20 20 20 20  $error..fi.     
6fa0: 20 66 69 0a 0a 20 20 20 20 20 20 23 20 41 70 70   fi..      # App
6fb0: 65 6e 64 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  end the name of 
6fc0: 74 68 65 20 50 49 43 20 6f 62 6a 65 63 74 20 74  the PIC object t
6fd0: 6f 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6f 62  o the libtool ob
6fe0: 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20  ject file..     
6ff0: 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 20   test -z "$run" 
7000: 26 26 20 63 61 74 20 3e 3e 20 24 7b 6c 69 62 6f  && cat >> ${libo
7010: 62 6a 7d 54 20 3c 3c 45 4f 46 0a 70 69 63 5f 6f  bj}T <<EOF.pic_o
7020: 62 6a 65 63 74 3d 27 24 6f 62 6a 64 69 72 2f 24  bject='$objdir/$
7030: 6f 62 6a 6e 61 6d 65 27 0a 0a 45 4f 46 0a 0a 20  objname'..EOF.. 
7040: 20 20 20 20 20 23 20 41 6c 6c 6f 77 20 65 72 72       # Allow err
7050: 6f 72 20 6d 65 73 73 61 67 65 73 20 6f 6e 6c 79  or messages only
7060: 20 66 72 6f 6d 20 74 68 65 20 66 69 72 73 74 20   from the first 
7070: 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20  compilation..   
7080: 20 20 20 69 66 20 74 65 73 74 20 22 24 73 75 70     if test "$sup
7090: 70 72 65 73 73 5f 6f 70 74 22 20 3d 20 79 65 73  press_opt" = yes
70a0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 73  ; then.        s
70b0: 75 70 70 72 65 73 73 5f 6f 75 74 70 75 74 3d 27  uppress_output='
70c0: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
70d0: 27 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 65  '.      fi.    e
70e0: 6c 73 65 0a 20 20 20 20 20 20 23 20 4e 6f 20 50  lse.      # No P
70f0: 49 43 20 6f 62 6a 65 63 74 20 73 6f 20 69 6e 64  IC object so ind
7100: 69 63 61 74 65 20 69 74 20 64 6f 65 73 6e 27 74  icate it doesn't
7110: 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 6c 69   exist in the li
7120: 62 74 6f 6f 6c 0a 20 20 20 20 20 20 23 20 6f 62  btool.      # ob
7130: 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20  ject file..     
7140: 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 20   test -z "$run" 
7150: 26 26 20 63 61 74 20 3e 3e 20 24 7b 6c 69 62 6f  && cat >> ${libo
7160: 62 6a 7d 54 20 3c 3c 45 4f 46 0a 70 69 63 5f 6f  bj}T <<EOF.pic_o
7170: 62 6a 65 63 74 3d 6e 6f 6e 65 0a 0a 45 4f 46 0a  bject=none..EOF.
7180: 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 4f 6e      fi..    # On
7190: 6c 79 20 62 75 69 6c 64 20 61 20 70 6f 73 69 74  ly build a posit
71a0: 69 6f 6e 2d 64 65 70 65 6e 64 65 6e 74 20 6f 62  ion-dependent ob
71b0: 6a 65 63 74 20 69 66 20 77 65 20 62 75 69 6c 64  ject if we build
71c0: 20 6f 6c 64 20 6c 69 62 72 61 72 69 65 73 2e 0a   old libraries..
71d0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62 75      if test "$bu
71e0: 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20  ild_old_libs" = 
71f0: 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  yes; then.      
7200: 69 66 20 74 65 73 74 20 22 24 70 69 63 5f 6d 6f  if test "$pic_mo
7210: 64 65 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e  de" != yes; then
7220: 0a 09 23 20 44 6f 6e 27 74 20 62 75 69 6c 64 20  ..# Don't build 
7230: 50 49 43 20 63 6f 64 65 0a 09 63 6f 6d 6d 61 6e  PIC code..comman
7240: 64 3d 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65  d="$base_compile
7250: 20 24 71 73 72 63 66 69 6c 65 22 0a 20 20 20 20   $qsrcfile".    
7260: 20 20 65 6c 73 65 0a 09 63 6f 6d 6d 61 6e 64 3d    else..command=
7270: 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24  "$base_compile $
7280: 71 73 72 63 66 69 6c 65 20 24 70 69 63 5f 66 6c  qsrcfile $pic_fl
7290: 61 67 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20  ag".      fi.   
72a0: 20 20 20 69 66 20 74 65 73 74 20 22 24 63 6f 6d     if test "$com
72b0: 70 69 6c 65 72 5f 63 5f 6f 22 20 3d 20 79 65 73  piler_c_o" = yes
72c0: 3b 20 74 68 65 6e 0a 09 63 6f 6d 6d 61 6e 64 3d  ; then..command=
72d0: 22 24 63 6f 6d 6d 61 6e 64 20 2d 6f 20 24 6f 62  "$command -o $ob
72e0: 6a 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  j".      fi..   
72f0: 20 20 20 23 20 53 75 70 70 72 65 73 73 20 63 6f     # Suppress co
7300: 6d 70 69 6c 65 72 20 6f 75 74 70 75 74 20 69 66  mpiler output if
7310: 20 77 65 20 61 6c 72 65 61 64 79 20 64 69 64 20   we already did 
7320: 61 20 50 49 43 20 63 6f 6d 70 69 6c 61 74 69 6f  a PIC compilatio
7330: 6e 2e 0a 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64  n..      command
7340: 3d 22 24 63 6f 6d 6d 61 6e 64 24 73 75 70 70 72  ="$command$suppr
7350: 65 73 73 5f 6f 75 74 70 75 74 22 0a 20 20 20 20  ess_output".    
7360: 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6f 62 6a    $run $rm "$obj
7370: 22 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 22 0a  " "$output_obj".
7380: 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 63 6f        $show "$co
7390: 6d 6d 61 6e 64 22 0a 20 20 20 20 20 20 69 66 20  mmand".      if 
73a0: 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6f 6d 6d  $run eval "$comm
73b0: 61 6e 64 22 3b 20 74 68 65 6e 20 3a 0a 20 20 20  and"; then :.   
73c0: 20 20 20 65 6c 73 65 0a 09 24 72 75 6e 20 24 72     else..$run $r
73d0: 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 65  m $removelist..e
73e0: 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
73f0: 45 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  E.      fi..    
7400: 20 20 69 66 20 74 65 73 74 20 22 24 6e 65 65 64    if test "$need
7410: 5f 6c 6f 63 6b 73 22 20 3d 20 77 61 72 6e 20 26  _locks" = warn &
7420: 26 0a 09 20 74 65 73 74 20 22 58 60 63 61 74 20  &.. test "X`cat 
7430: 24 6c 6f 63 6b 66 69 6c 65 20 32 3e 2f 64 65 76  $lockfile 2>/dev
7440: 2f 6e 75 6c 6c 60 22 20 21 3d 20 22 58 24 73 72  /null`" != "X$sr
7450: 63 66 69 6c 65 22 3b 20 74 68 65 6e 0a 09 24 65  cfile"; then..$e
7460: 63 68 6f 20 22 5c 0a 2a 2a 2a 20 45 52 52 4f 52  cho "\.*** ERROR
7470: 2c 20 24 6c 6f 63 6b 66 69 6c 65 20 63 6f 6e 74  , $lockfile cont
7480: 61 69 6e 73 3a 0a 60 63 61 74 20 24 6c 6f 63 6b  ains:.`cat $lock
7490: 66 69 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  file 2>/dev/null
74a0: 60 0a 0a 62 75 74 20 69 74 20 73 68 6f 75 6c 64  `..but it should
74b0: 20 63 6f 6e 74 61 69 6e 3a 0a 24 73 72 63 66 69   contain:.$srcfi
74c0: 6c 65 0a 0a 54 68 69 73 20 69 6e 64 69 63 61 74  le..This indicat
74d0: 65 73 20 74 68 61 74 20 61 6e 6f 74 68 65 72 20  es that another 
74e0: 70 72 6f 63 65 73 73 20 69 73 20 74 72 79 69 6e  process is tryin
74f0: 67 20 74 6f 20 75 73 65 20 74 68 65 20 73 61 6d  g to use the sam
7500: 65 0a 74 65 6d 70 6f 72 61 72 79 20 6f 62 6a 65  e.temporary obje
7510: 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6c 69 62  ct file, and lib
7520: 74 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f 74 20 77  tool could not w
7530: 6f 72 6b 20 61 72 6f 75 6e 64 20 69 74 20 62 65  ork around it be
7540: 63 61 75 73 65 0a 79 6f 75 72 20 63 6f 6d 70 69  cause.your compi
7550: 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70  ler does not sup
7560: 70 6f 72 74 20 5c 60 2d 63 27 20 61 6e 64 20 5c  port \`-c' and \
7570: 60 2d 6f 27 20 74 6f 67 65 74 68 65 72 2e 20 20  `-o' together.  
7580: 49 66 20 79 6f 75 0a 72 65 70 65 61 74 20 74 68  If you.repeat th
7590: 69 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20  is compilation, 
75a0: 69 74 20 6d 61 79 20 73 75 63 63 65 65 64 2c 20  it may succeed, 
75b0: 62 79 20 63 68 61 6e 63 65 2c 20 62 75 74 20 79  by chance, but y
75c0: 6f 75 20 68 61 64 20 62 65 74 74 65 72 0a 61 76  ou had better.av
75d0: 6f 69 64 20 70 61 72 61 6c 6c 65 6c 20 62 75 69  oid parallel bui
75e0: 6c 64 73 20 28 6d 61 6b 65 20 2d 6a 29 20 69 6e  lds (make -j) in
75f0: 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2c 20   this platform, 
7600: 6f 72 20 67 65 74 20 61 20 62 65 74 74 65 72 0a  or get a better.
7610: 63 6f 6d 70 69 6c 65 72 2e 22 0a 0a 09 24 72 75  compiler."...$ru
7620: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
7630: 74 0a 09 65 78 69 74 20 24 45 58 49 54 5f 46 41  t..exit $EXIT_FA
7640: 49 4c 55 52 45 0a 20 20 20 20 20 20 66 69 0a 0a  ILURE.      fi..
7650: 20 20 20 20 20 20 23 20 4a 75 73 74 20 6d 6f 76        # Just mov
7660: 65 20 74 68 65 20 6f 62 6a 65 63 74 20 69 66 20  e the object if 
7670: 6e 65 65 64 65 64 0a 20 20 20 20 20 20 69 66 20  needed.      if 
7680: 74 65 73 74 20 2d 6e 20 22 24 6f 75 74 70 75 74  test -n "$output
7690: 5f 6f 62 6a 22 20 26 26 20 74 65 73 74 20 22 58  _obj" && test "X
76a0: 24 6f 75 74 70 75 74 5f 6f 62 6a 22 20 21 3d 20  $output_obj" != 
76b0: 22 58 24 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 24  "X$obj"; then..$
76c0: 73 68 6f 77 20 22 24 6d 76 20 24 6f 75 74 70 75  show "$mv $outpu
76d0: 74 5f 6f 62 6a 20 24 6f 62 6a 22 0a 09 69 66 20  t_obj $obj"..if 
76e0: 24 72 75 6e 20 24 6d 76 20 24 6f 75 74 70 75 74  $run $mv $output
76f0: 5f 6f 62 6a 20 24 6f 62 6a 3b 20 74 68 65 6e 20  _obj $obj; then 
7700: 3a 0a 09 65 6c 73 65 0a 09 20 20 65 72 72 6f 72  :..else..  error
7710: 3d 24 3f 0a 09 20 20 24 72 75 6e 20 24 72 6d 20  =$?..  $run $rm 
7720: 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20 20 65  $removelist..  e
7730: 78 69 74 20 24 65 72 72 6f 72 0a 09 66 69 0a 20  xit $error..fi. 
7740: 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23       fi..      #
7750: 20 41 70 70 65 6e 64 20 74 68 65 20 6e 61 6d 65   Append the name
7760: 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 50 49 43 20   of the non-PIC 
7770: 6f 62 6a 65 63 74 20 74 68 65 20 6c 69 62 74 6f  object the libto
7780: 6f 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a  ol object file..
7790: 20 20 20 20 20 20 23 20 4f 6e 6c 79 20 61 70 70        # Only app
77a0: 65 6e 64 20 69 66 20 74 68 65 20 6c 69 62 74 6f  end if the libto
77b0: 6f 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 65  ol object file e
77c0: 78 69 73 74 73 2e 0a 20 20 20 20 20 20 74 65 73  xists..      tes
77d0: 74 20 2d 7a 20 22 24 72 75 6e 22 20 26 26 20 63  t -z "$run" && c
77e0: 61 74 20 3e 3e 20 24 7b 6c 69 62 6f 62 6a 7d 54  at >> ${libobj}T
77f0: 20 3c 3c 45 4f 46 0a 23 20 4e 61 6d 65 20 6f 66   <<EOF.# Name of
7800: 20 74 68 65 20 6e 6f 6e 2d 50 49 43 20 6f 62 6a   the non-PIC obj
7810: 65 63 74 2e 0a 6e 6f 6e 5f 70 69 63 5f 6f 62 6a  ect..non_pic_obj
7820: 65 63 74 3d 27 24 6f 62 6a 6e 61 6d 65 27 0a 0a  ect='$objname'..
7830: 45 4f 46 0a 20 20 20 20 65 6c 73 65 0a 20 20 20  EOF.    else.   
7840: 20 20 20 23 20 41 70 70 65 6e 64 20 74 68 65 20     # Append the 
7850: 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 6f 6e 2d  name of the non-
7860: 50 49 43 20 6f 62 6a 65 63 74 20 74 68 65 20 6c  PIC object the l
7870: 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 66 69  ibtool object fi
7880: 6c 65 2e 0a 20 20 20 20 20 20 23 20 4f 6e 6c 79  le..      # Only
7890: 20 61 70 70 65 6e 64 20 69 66 20 74 68 65 20 6c   append if the l
78a0: 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 66 69  ibtool object fi
78b0: 6c 65 20 65 78 69 73 74 73 2e 0a 20 20 20 20 20  le exists..     
78c0: 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 20   test -z "$run" 
78d0: 26 26 20 63 61 74 20 3e 3e 20 24 7b 6c 69 62 6f  && cat >> ${libo
78e0: 62 6a 7d 54 20 3c 3c 45 4f 46 0a 23 20 4e 61 6d  bj}T <<EOF.# Nam
78f0: 65 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 50 49 43  e of the non-PIC
7900: 20 6f 62 6a 65 63 74 2e 0a 6e 6f 6e 5f 70 69 63   object..non_pic
7910: 5f 6f 62 6a 65 63 74 3d 6e 6f 6e 65 0a 0a 45 4f  _object=none..EO
7920: 46 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 24 72  F.    fi..    $r
7930: 75 6e 20 24 6d 76 20 22 24 7b 6c 69 62 6f 62 6a  un $mv "${libobj
7940: 7d 54 22 20 22 24 7b 6c 69 62 6f 62 6a 7d 22 0a  }T" "${libobj}".
7950: 0a 20 20 20 20 23 20 55 6e 6c 6f 63 6b 20 74 68  .    # Unlock th
7960: 65 20 63 72 69 74 69 63 61 6c 20 73 65 63 74 69  e critical secti
7970: 6f 6e 20 69 66 20 69 74 20 77 61 73 20 6c 6f 63  on if it was loc
7980: 6b 65 64 0a 20 20 20 20 69 66 20 74 65 73 74 20  ked.    if test 
7990: 22 24 6e 65 65 64 5f 6c 6f 63 6b 73 22 20 21 3d  "$need_locks" !=
79a0: 20 6e 6f 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   no; then.      
79b0: 24 72 75 6e 20 24 72 6d 20 22 24 6c 6f 63 6b 66  $run $rm "$lockf
79c0: 69 6c 65 22 0a 20 20 20 20 66 69 0a 0a 20 20 20  ile".    fi..   
79d0: 20 65 78 69 74 20 24 45 58 49 54 5f 53 55 43 43   exit $EXIT_SUCC
79e0: 45 53 53 0a 20 20 20 20 3b 3b 0a 0a 20 20 23 20  ESS.    ;;..  # 
79f0: 6c 69 62 74 6f 6f 6c 20 6c 69 6e 6b 20 6d 6f 64  libtool link mod
7a00: 65 0a 20 20 6c 69 6e 6b 20 7c 20 72 65 6c 69 6e  e.  link | relin
7a10: 6b 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d  k).    modename=
7a20: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 6e 6b  "$modename: link
7a30: 22 0a 20 20 20 20 63 61 73 65 20 24 68 6f 73 74  ".    case $host
7a40: 20 69 6e 0a 20 20 20 20 2a 2d 2a 2d 63 79 67 77   in.    *-*-cygw
7a50: 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a  in* | *-*-mingw*
7a60: 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a   | *-*-pw32* | *
7a70: 2d 2a 2d 6f 73 32 2a 29 0a 20 20 20 20 20 20 23  -*-os2*).      #
7a80: 20 49 74 20 69 73 20 69 6d 70 6f 73 73 69 62 6c   It is impossibl
7a90: 65 20 74 6f 20 6c 69 6e 6b 20 61 20 64 6c 6c 20  e to link a dll 
7aa0: 77 69 74 68 6f 75 74 20 74 68 69 73 20 73 65 74  without this set
7ab0: 74 69 6e 67 2c 20 61 6e 64 0a 20 20 20 20 20 20  ting, and.      
7ac0: 23 20 77 65 20 73 68 6f 75 6c 64 6e 27 74 20 66  # we shouldn't f
7ad0: 6f 72 63 65 20 74 68 65 20 6d 61 6b 65 66 69 6c  orce the makefil
7ae0: 65 20 6d 61 69 6e 74 61 69 6e 65 72 20 74 6f 20  e maintainer to 
7af0: 66 69 67 75 72 65 20 6f 75 74 0a 20 20 20 20 20  figure out.     
7b00: 20 23 20 77 68 69 63 68 20 73 79 73 74 65 6d 20   # which system 
7b10: 77 65 20 61 72 65 20 63 6f 6d 70 69 6c 69 6e 67  we are compiling
7b20: 20 66 6f 72 20 69 6e 20 6f 72 64 65 72 20 74 6f   for in order to
7b30: 20 70 61 73 73 20 61 6e 20 65 78 74 72 61 0a 20   pass an extra. 
7b40: 20 20 20 20 20 23 20 66 6c 61 67 20 66 6f 72 20       # flag for 
7b50: 65 76 65 72 79 20 6c 69 62 74 6f 6f 6c 20 69 6e  every libtool in
7b60: 76 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20  vocation..      
7b70: 23 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65  # allow_undefine
7b80: 64 3d 6e 6f 0a 0a 20 20 20 20 20 20 23 20 46 49  d=no..      # FI
7b90: 58 4d 45 3a 20 55 6e 66 6f 72 74 75 6e 61 74 65  XME: Unfortunate
7ba0: 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 70 72  ly, there are pr
7bb0: 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20  oblems with the 
7bc0: 61 62 6f 76 65 20 77 68 65 6e 20 74 72 79 69 6e  above when tryin
7bd0: 67 0a 20 20 20 20 20 20 23 20 74 6f 20 6d 61 6b  g.      # to mak
7be0: 65 20 61 20 64 6c 6c 20 77 68 69 63 68 20 68 61  e a dll which ha
7bf0: 73 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62  s undefined symb
7c00: 6f 6c 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61  ols, in which ca
7c10: 73 65 20 6e 6f 74 0a 20 20 20 20 20 20 23 20 65  se not.      # e
7c20: 76 65 6e 20 61 20 73 74 61 74 69 63 20 6c 69 62  ven a static lib
7c30: 72 61 72 79 20 69 73 20 62 75 69 6c 74 2e 20 20  rary is built.  
7c40: 46 6f 72 20 6e 6f 77 2c 20 77 65 20 6e 65 65 64  For now, we need
7c50: 20 74 6f 20 73 70 65 63 69 66 79 0a 20 20 20 20   to specify.    
7c60: 20 20 23 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e 65    # -no-undefine
7c70: 64 20 6f 6e 20 74 68 65 20 6c 69 62 74 6f 6f 6c  d on the libtool
7c80: 20 6c 69 6e 6b 20 6c 69 6e 65 20 77 68 65 6e 20   link line when 
7c90: 77 65 20 63 61 6e 20 62 65 20 63 65 72 74 61 69  we can be certai
7ca0: 6e 0a 20 20 20 20 20 20 23 20 74 68 61 74 20 61  n.      # that a
7cb0: 6c 6c 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 73  ll symbols are s
7cc0: 61 74 69 73 66 69 65 64 2c 20 6f 74 68 65 72 77  atisfied, otherw
7cd0: 69 73 65 20 77 65 20 67 65 74 20 61 20 73 74 61  ise we get a sta
7ce0: 74 69 63 20 6c 69 62 72 61 72 79 2e 0a 20 20 20  tic library..   
7cf0: 20 20 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e     allow_undefin
7d00: 65 64 3d 79 65 73 0a 20 20 20 20 20 20 3b 3b 0a  ed=yes.      ;;.
7d10: 20 20 20 20 2a 29 0a 20 20 20 20 20 20 61 6c 6c      *).      all
7d20: 6f 77 5f 75 6e 64 65 66 69 6e 65 64 3d 79 65 73  ow_undefined=yes
7d30: 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73  .      ;;.    es
7d40: 61 63 0a 20 20 20 20 6c 69 62 74 6f 6f 6c 5f 61  ac.    libtool_a
7d50: 72 67 73 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20  rgs="$nonopt".  
7d60: 20 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d 22    base_compile="
7d70: 24 6e 6f 6e 6f 70 74 20 24 40 22 0a 20 20 20 20  $nonopt $@".    
7d80: 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d  compile_command=
7d90: 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 66 69  "$nonopt".    fi
7da0: 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22  nalize_command="
7db0: 24 6e 6f 6e 6f 70 74 22 0a 0a 20 20 20 20 63 6f  $nonopt"..    co
7dc0: 6d 70 69 6c 65 5f 72 70 61 74 68 3d 0a 20 20 20  mpile_rpath=.   
7dd0: 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3d   finalize_rpath=
7de0: 0a 20 20 20 20 63 6f 6d 70 69 6c 65 5f 73 68 6c  .    compile_shl
7df0: 69 62 70 61 74 68 3d 0a 20 20 20 20 66 69 6e 61  ibpath=.    fina
7e00: 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3d 0a  lize_shlibpath=.
7e10: 20 20 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65 3d      convenience=
7e20: 0a 20 20 20 20 6f 6c 64 5f 63 6f 6e 76 65 6e 69  .    old_conveni
7e30: 65 6e 63 65 3d 0a 20 20 20 20 64 65 70 6c 69 62  ence=.    deplib
7e40: 73 3d 0a 20 20 20 20 6f 6c 64 5f 64 65 70 6c 69  s=.    old_depli
7e50: 62 73 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65 72  bs=.    compiler
7e60: 5f 66 6c 61 67 73 3d 0a 20 20 20 20 6c 69 6e 6b  _flags=.    link
7e70: 65 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20 64 6c  er_flags=.    dl
7e80: 6c 73 65 61 72 63 68 70 61 74 68 3d 0a 20 20 20  lsearchpath=.   
7e90: 20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68   lib_search_path
7ea0: 3d 60 70 77 64 60 0a 20 20 20 20 69 6e 73 74 5f  =`pwd`.    inst_
7eb0: 70 72 65 66 69 78 5f 64 69 72 3d 0a 0a 20 20 20  prefix_dir=..   
7ec0: 20 61 76 6f 69 64 5f 76 65 72 73 69 6f 6e 3d 6e   avoid_version=n
7ed0: 6f 0a 20 20 20 20 64 6c 66 69 6c 65 73 3d 0a 20  o.    dlfiles=. 
7ee0: 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d 0a 20     dlprefiles=. 
7ef0: 20 20 20 64 6c 73 65 6c 66 3d 6e 6f 0a 20 20 20     dlself=no.   
7f00: 20 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 3d   export_dynamic=
7f10: 6e 6f 0a 20 20 20 20 65 78 70 6f 72 74 5f 73 79  no.    export_sy
7f20: 6d 62 6f 6c 73 3d 0a 20 20 20 20 65 78 70 6f 72  mbols=.    expor
7f30: 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 3d  t_symbols_regex=
7f40: 0a 20 20 20 20 67 65 6e 65 72 61 74 65 64 3d 0a  .    generated=.
7f50: 20 20 20 20 6c 69 62 6f 62 6a 73 3d 0a 20 20 20      libobjs=.   
7f60: 20 6c 74 6c 69 62 73 3d 0a 20 20 20 20 6d 6f 64   ltlibs=.    mod
7f70: 75 6c 65 3d 6e 6f 0a 20 20 20 20 6e 6f 5f 69 6e  ule=no.    no_in
7f80: 73 74 61 6c 6c 3d 6e 6f 0a 20 20 20 20 6f 62 6a  stall=no.    obj
7f90: 73 3d 0a 20 20 20 20 6e 6f 6e 5f 70 69 63 5f 6f  s=.    non_pic_o
7fa0: 62 6a 65 63 74 73 3d 0a 20 20 20 20 6e 6f 74 69  bjects=.    noti
7fb0: 6e 73 74 5f 70 61 74 68 3d 20 23 20 70 61 74 68  nst_path= # path
7fc0: 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 6e  s that contain n
7fd0: 6f 74 2d 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62  ot-installed lib
7fe0: 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 0a 20  tool libraries. 
7ff0: 20 20 20 70 72 65 63 69 6f 75 73 5f 66 69 6c 65     precious_file
8000: 73 5f 72 65 67 65 78 3d 0a 20 20 20 20 70 72 65  s_regex=.    pre
8010: 66 65 72 5f 73 74 61 74 69 63 5f 6c 69 62 73 3d  fer_static_libs=
8020: 6e 6f 0a 20 20 20 20 70 72 65 6c 6f 61 64 3d 6e  no.    preload=n
8030: 6f 0a 20 20 20 20 70 72 65 76 3d 0a 20 20 20 20  o.    prev=.    
8040: 70 72 65 76 61 72 67 3d 0a 20 20 20 20 72 65 6c  prevarg=.    rel
8050: 65 61 73 65 3d 0a 20 20 20 20 72 70 61 74 68 3d  ease=.    rpath=
8060: 0a 20 20 20 20 78 72 70 61 74 68 3d 0a 20 20 20  .    xrpath=.   
8070: 20 70 65 72 6d 5f 72 70 61 74 68 3d 0a 20 20 20   perm_rpath=.   
8080: 20 74 65 6d 70 5f 72 70 61 74 68 3d 0a 20 20 20   temp_rpath=.   
8090: 20 74 68 72 65 61 64 5f 73 61 66 65 3d 6e 6f 0a   thread_safe=no.
80a0: 20 20 20 20 76 69 6e 66 6f 3d 0a 20 20 20 20 76      vinfo=.    v
80b0: 69 6e 66 6f 5f 6e 75 6d 62 65 72 3d 6e 6f 0a 0a  info_number=no..
80c0: 20 20 20 20 66 75 6e 63 5f 69 6e 66 65 72 5f 74      func_infer_t
80d0: 61 67 20 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65  ag $base_compile
80e0: 0a 0a 20 20 20 20 23 20 57 65 20 6e 65 65 64 20  ..    # We need 
80f0: 74 6f 20 6b 6e 6f 77 20 2d 73 74 61 74 69 63 2c  to know -static,
8100: 20 74 6f 20 67 65 74 20 74 68 65 20 72 69 67 68   to get the righ
8110: 74 20 6f 75 74 70 75 74 20 66 69 6c 65 6e 61 6d  t output filenam
8120: 65 73 2e 0a 20 20 20 20 66 6f 72 20 61 72 67 0a  es..    for arg.
8130: 20 20 20 20 64 6f 0a 20 20 20 20 20 20 63 61 73      do.      cas
8140: 65 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20  e $arg in.      
8150: 2d 61 6c 6c 2d 73 74 61 74 69 63 20 7c 20 2d 73  -all-static | -s
8160: 74 61 74 69 63 29 0a 09 69 66 20 74 65 73 74 20  tatic)..if test 
8170: 22 58 24 61 72 67 22 20 3d 20 22 58 2d 61 6c 6c  "X$arg" = "X-all
8180: 2d 73 74 61 74 69 63 22 3b 20 74 68 65 6e 0a 09  -static"; then..
8190: 20 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c    if test "$buil
81a0: 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20  d_libtool_libs" 
81b0: 3d 20 79 65 73 20 26 26 20 74 65 73 74 20 2d 7a  = yes && test -z
81c0: 20 22 24 6c 69 6e 6b 5f 73 74 61 74 69 63 5f 66   "$link_static_f
81d0: 6c 61 67 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  lag"; then..    
81e0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
81f0: 3a 20 77 61 72 6e 69 6e 67 3a 20 63 6f 6d 70 6c  : warning: compl
8200: 65 74 65 20 73 74 61 74 69 63 20 6c 69 6e 6b 69  ete static linki
8210: 6e 67 20 69 73 20 69 6d 70 6f 73 73 69 62 6c 65  ng is impossible
8220: 20 69 6e 20 74 68 69 73 20 63 6f 6e 66 69 67 75   in this configu
8230: 72 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20  ration" 1>&2..  
8240: 66 69 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e  fi..  if test -n
8250: 20 22 24 6c 69 6e 6b 5f 73 74 61 74 69 63 5f 66   "$link_static_f
8260: 6c 61 67 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  lag"; then..    
8270: 64 6c 6f 70 65 6e 5f 73 65 6c 66 3d 24 64 6c 6f  dlopen_self=$dlo
8280: 70 65 6e 5f 73 65 6c 66 5f 73 74 61 74 69 63 0a  pen_self_static.
8290: 09 20 20 66 69 0a 09 20 20 70 72 65 66 65 72 5f  .  fi..  prefer_
82a0: 73 74 61 74 69 63 5f 6c 69 62 73 3d 79 65 73 0a  static_libs=yes.
82b0: 09 65 6c 73 65 0a 09 20 20 69 66 20 74 65 73 74  .else..  if test
82c0: 20 2d 7a 20 22 24 70 69 63 5f 66 6c 61 67 22 20   -z "$pic_flag" 
82d0: 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 6e  && test -n "$lin
82e0: 6b 5f 73 74 61 74 69 63 5f 66 6c 61 67 22 3b 20  k_static_flag"; 
82f0: 74 68 65 6e 0a 09 20 20 20 20 64 6c 6f 70 65 6e  then..    dlopen
8300: 5f 73 65 6c 66 3d 24 64 6c 6f 70 65 6e 5f 73 65  _self=$dlopen_se
8310: 6c 66 5f 73 74 61 74 69 63 0a 09 20 20 66 69 0a  lf_static..  fi.
8320: 09 20 20 70 72 65 66 65 72 5f 73 74 61 74 69 63  .  prefer_static
8330: 5f 6c 69 62 73 3d 62 75 69 6c 74 0a 09 66 69 0a  _libs=built..fi.
8340: 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c  .build_libtool_l
8350: 69 62 73 3d 6e 6f 0a 09 62 75 69 6c 64 5f 6f 6c  ibs=no..build_ol
8360: 64 5f 6c 69 62 73 3d 79 65 73 0a 09 62 72 65 61  d_libs=yes..brea
8370: 6b 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63  k..;;.      esac
8380: 0a 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 23  .    done..    #
8390: 20 53 65 65 20 69 66 20 6f 75 72 20 73 68 61 72   See if our shar
83a0: 65 64 20 61 72 63 68 69 76 65 73 20 64 65 70 65  ed archives depe
83b0: 6e 64 20 6f 6e 20 73 74 61 74 69 63 20 61 72 63  nd on static arc
83c0: 68 69 76 65 73 2e 0a 20 20 20 20 74 65 73 74 20  hives..    test 
83d0: 2d 6e 20 22 24 6f 6c 64 5f 61 72 63 68 69 76 65  -n "$old_archive
83e0: 5f 66 72 6f 6d 5f 6e 65 77 5f 63 6d 64 73 22 20  _from_new_cmds" 
83f0: 26 26 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62  && build_old_lib
8400: 73 3d 79 65 73 0a 0a 20 20 20 20 23 20 47 6f 20  s=yes..    # Go 
8410: 74 68 72 6f 75 67 68 20 74 68 65 20 61 72 67 75  through the argu
8420: 6d 65 6e 74 73 2c 20 74 72 61 6e 73 66 6f 72 6d  ments, transform
8430: 69 6e 67 20 74 68 65 6d 20 6f 6e 20 74 68 65 20  ing them on the 
8440: 77 61 79 2e 0a 20 20 20 20 77 68 69 6c 65 20 74  way..    while t
8450: 65 73 74 20 22 24 23 22 20 2d 67 74 20 30 3b 20  est "$#" -gt 0; 
8460: 64 6f 0a 20 20 20 20 20 20 61 72 67 3d 22 24 31  do.      arg="$1
8470: 22 0a 20 20 20 20 20 20 73 68 69 66 74 0a 20 20  ".      shift.  
8480: 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69 6e      case $arg in
8490: 0a 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c  .      *[\[\~\#\
84a0: 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c  ^\&\*\(\)\{\}\|\
84b0: 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c  ;\<\>\?\'\ \.]*|
84c0: 2a 5d 2a 7c 22 22 29 0a 09 71 61 72 67 3d 5c 22  *]*|"")..qarg=\"
84d0: 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c  `$echo "X$arg" |
84e0: 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f   $Xsed -e "$sed_
84f0: 71 75 6f 74 65 5f 73 75 62 73 74 22 60 5c 22 20  quote_subst"`\" 
8500: 23 23 23 20 74 65 73 74 73 75 69 74 65 3a 20 73  ### testsuite: s
8510: 6b 69 70 20 6e 65 73 74 65 64 20 71 75 6f 74 69  kip nested quoti
8520: 6e 67 20 74 65 73 74 0a 09 3b 3b 0a 20 20 20 20  ng test..;;.    
8530: 20 20 2a 29 20 71 61 72 67 3d 24 61 72 67 20 3b    *) qarg=$arg ;
8540: 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20  ;.      esac.   
8550: 20 20 20 6c 69 62 74 6f 6f 6c 5f 61 72 67 73 3d     libtool_args=
8560: 22 24 6c 69 62 74 6f 6f 6c 5f 61 72 67 73 20 24  "$libtool_args $
8570: 71 61 72 67 22 0a 0a 20 20 20 20 20 20 23 20 49  qarg"..      # I
8580: 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6f  f the previous o
8590: 70 74 69 6f 6e 20 6e 65 65 64 73 20 61 6e 20 61  ption needs an a
85a0: 72 67 75 6d 65 6e 74 2c 20 61 73 73 69 67 6e 20  rgument, assign 
85b0: 69 74 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73  it..      if tes
85c0: 74 20 2d 6e 20 22 24 70 72 65 76 22 3b 20 74 68  t -n "$prev"; th
85d0: 65 6e 0a 09 63 61 73 65 20 24 70 72 65 76 20 69  en..case $prev i
85e0: 6e 0a 09 6f 75 74 70 75 74 29 0a 09 20 20 63 6f  n..output)..  co
85f0: 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  mpile_command="$
8600: 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20  compile_command 
8610: 40 4f 55 54 50 55 54 40 22 0a 09 20 20 66 69 6e  @OUTPUT@"..  fin
8620: 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
8630: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
8640: 20 40 4f 55 54 50 55 54 40 22 0a 09 20 20 3b 3b   @OUTPUT@"..  ;;
8650: 0a 09 65 73 61 63 0a 0a 09 63 61 73 65 20 24 70  ..esac...case $p
8660: 72 65 76 20 69 6e 0a 09 64 6c 66 69 6c 65 73 7c  rev in..dlfiles|
8670: 64 6c 70 72 65 66 69 6c 65 73 29 0a 09 20 20 69  dlprefiles)..  i
8680: 66 20 74 65 73 74 20 22 24 70 72 65 6c 6f 61 64  f test "$preload
8690: 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20  " = no; then..  
86a0: 20 20 23 20 41 64 64 20 74 68 65 20 73 79 6d 62    # Add the symb
86b0: 6f 6c 20 6f 62 6a 65 63 74 20 69 6e 74 6f 20 74  ol object into t
86c0: 68 65 20 6c 69 6e 6b 69 6e 67 20 63 6f 6d 6d 61  he linking comma
86d0: 6e 64 73 2e 0a 09 20 20 20 20 63 6f 6d 70 69 6c  nds...    compil
86e0: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  e_command="$comp
86f0: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 40 53 59 4d  ile_command @SYM
8700: 46 49 4c 45 40 22 0a 09 20 20 20 20 66 69 6e 61  FILE@"..    fina
8710: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66  lize_command="$f
8720: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20  inalize_command 
8730: 40 53 59 4d 46 49 4c 45 40 22 0a 09 20 20 20 20  @SYMFILE@"..    
8740: 70 72 65 6c 6f 61 64 3d 79 65 73 0a 09 20 20 66  preload=yes..  f
8750: 69 0a 09 20 20 63 61 73 65 20 24 61 72 67 20 69  i..  case $arg i
8760: 6e 0a 09 20 20 2a 2e 6c 61 20 7c 20 2a 2e 6c 6f  n..  *.la | *.lo
8770: 29 20 3b 3b 20 20 23 20 57 65 20 68 61 6e 64 6c  ) ;;  # We handl
8780: 65 20 74 68 65 73 65 20 63 61 73 65 73 20 62 65  e these cases be
8790: 6c 6f 77 2e 0a 09 20 20 66 6f 72 63 65 29 0a 09  low...  force)..
87a0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 64 6c      if test "$dl
87b0: 73 65 6c 66 22 20 3d 20 6e 6f 3b 20 74 68 65 6e  self" = no; then
87c0: 0a 09 20 20 20 20 20 20 64 6c 73 65 6c 66 3d 6e  ..      dlself=n
87d0: 65 65 64 6c 65 73 73 0a 09 20 20 20 20 20 20 65  eedless..      e
87e0: 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 3d 79 65  xport_dynamic=ye
87f0: 73 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 70  s..    fi..    p
8800: 72 65 76 3d 0a 09 20 20 20 20 63 6f 6e 74 69 6e  rev=..    contin
8810: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 73 65  ue..    ;;..  se
8820: 6c 66 29 0a 09 20 20 20 20 69 66 20 74 65 73 74  lf)..    if test
8830: 20 22 24 70 72 65 76 22 20 3d 20 64 6c 70 72 65   "$prev" = dlpre
8840: 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  files; then..   
8850: 20 20 20 64 6c 73 65 6c 66 3d 79 65 73 0a 09 20     dlself=yes.. 
8860: 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 70     elif test "$p
8870: 72 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 20 26  rev" = dlfiles &
8880: 26 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f  & test "$dlopen_
8890: 73 65 6c 66 22 20 21 3d 20 79 65 73 3b 20 74 68  self" != yes; th
88a0: 65 6e 0a 09 20 20 20 20 20 20 64 6c 73 65 6c 66  en..      dlself
88b0: 3d 79 65 73 0a 09 20 20 20 20 65 6c 73 65 0a 09  =yes..    else..
88c0: 20 20 20 20 20 20 64 6c 73 65 6c 66 3d 6e 65 65        dlself=nee
88d0: 64 6c 65 73 73 0a 09 20 20 20 20 20 20 65 78 70  dless..      exp
88e0: 6f 72 74 5f 64 79 6e 61 6d 69 63 3d 79 65 73 0a  ort_dynamic=yes.
88f0: 09 20 20 20 20 66 69 0a 09 20 20 20 20 70 72 65  .    fi..    pre
8900: 76 3d 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65  v=..    continue
8910: 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 29 0a 09  ..    ;;..  *)..
8920: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 70 72      if test "$pr
8930: 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 3b 20 74  ev" = dlfiles; t
8940: 68 65 6e 0a 09 20 20 20 20 20 20 64 6c 66 69 6c  hen..      dlfil
8950: 65 73 3d 22 24 64 6c 66 69 6c 65 73 20 24 61 72  es="$dlfiles $ar
8960: 67 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  g"..    else..  
8970: 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d 22      dlprefiles="
8980: 24 64 6c 70 72 65 66 69 6c 65 73 20 24 61 72 67  $dlprefiles $arg
8990: 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 70  "..    fi..    p
89a0: 72 65 76 3d 0a 09 20 20 20 20 63 6f 6e 74 69 6e  rev=..    contin
89b0: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  ue..    ;;..  es
89c0: 61 63 0a 09 20 20 3b 3b 0a 09 65 78 70 73 79 6d  ac..  ;;..expsym
89d0: 73 29 0a 09 20 20 65 78 70 6f 72 74 5f 73 79 6d  s)..  export_sym
89e0: 62 6f 6c 73 3d 22 24 61 72 67 22 0a 09 20 20 69  bols="$arg"..  i
89f0: 66 20 74 65 73 74 20 21 20 2d 66 20 22 24 61 72  f test ! -f "$ar
8a00: 67 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  g"; then..    $e
8a10: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
8a20: 73 79 6d 62 6f 6c 20 66 69 6c 65 20 5c 60 24 61  symbol file \`$a
8a30: 72 67 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69  rg' does not exi
8a40: 73 74 22 0a 09 20 20 20 20 65 78 69 74 20 24 45  st"..    exit $E
8a50: 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20 66  XIT_FAILURE..  f
8a60: 69 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f  i..  prev=..  co
8a70: 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 65 78  ntinue..  ;;..ex
8a80: 70 73 79 6d 73 5f 72 65 67 65 78 29 0a 09 20 20  psyms_regex)..  
8a90: 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72  export_symbols_r
8aa0: 65 67 65 78 3d 22 24 61 72 67 22 0a 09 20 20 70  egex="$arg"..  p
8ab0: 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65  rev=..  continue
8ac0: 0a 09 20 20 3b 3b 0a 09 69 6e 73 74 5f 70 72 65  ..  ;;..inst_pre
8ad0: 66 69 78 29 0a 09 20 20 69 6e 73 74 5f 70 72 65  fix)..  inst_pre
8ae0: 66 69 78 5f 64 69 72 3d 22 24 61 72 67 22 0a 09  fix_dir="$arg"..
8af0: 20 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69    prev=..  conti
8b00: 6e 75 65 0a 09 20 20 3b 3b 0a 09 70 72 65 63 69  nue..  ;;..preci
8b10: 6f 75 73 5f 72 65 67 65 78 29 0a 09 20 20 70 72  ous_regex)..  pr
8b20: 65 63 69 6f 75 73 5f 66 69 6c 65 73 5f 72 65 67  ecious_files_reg
8b30: 65 78 3d 22 24 61 72 67 22 0a 09 20 20 70 72 65  ex="$arg"..  pre
8b40: 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  v=..  continue..
8b50: 20 20 3b 3b 0a 09 72 65 6c 65 61 73 65 29 0a 09    ;;..release)..
8b60: 20 20 72 65 6c 65 61 73 65 3d 22 2d 24 61 72 67    release="-$arg
8b70: 22 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f  "..  prev=..  co
8b80: 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 6f 62  ntinue..  ;;..ob
8b90: 6a 65 63 74 6c 69 73 74 29 0a 09 20 20 69 66 20  jectlist)..  if 
8ba0: 74 65 73 74 20 2d 66 20 22 24 61 72 67 22 3b 20  test -f "$arg"; 
8bb0: 74 68 65 6e 0a 09 20 20 20 20 73 61 76 65 5f 61  then..    save_a
8bc0: 72 67 3d 24 61 72 67 0a 09 20 20 20 20 6d 6f 72  rg=$arg..    mor
8bd0: 65 61 72 67 73 3d 0a 09 20 20 20 20 66 6f 72 20  eargs=..    for 
8be0: 66 69 6c 20 69 6e 20 60 63 61 74 20 24 73 61 76  fil in `cat $sav
8bf0: 65 5f 61 72 67 60 0a 09 20 20 20 20 64 6f 0a 23  e_arg`..    do.#
8c00: 09 20 20 20 20 20 20 6d 6f 72 65 61 72 67 73 3d  .      moreargs=
8c10: 22 24 6d 6f 72 65 61 72 67 73 20 24 66 69 6c 22  "$moreargs $fil"
8c20: 0a 09 20 20 20 20 20 20 61 72 67 3d 24 66 69 6c  ..      arg=$fil
8c30: 0a 09 20 20 20 20 20 20 23 20 41 20 6c 69 62 74  ..      # A libt
8c40: 6f 6f 6c 2d 63 6f 6e 74 72 6f 6c 6c 65 64 20 6f  ool-controlled o
8c50: 62 6a 65 63 74 2e 0a 0a 09 20 20 20 20 20 20 23  bject....      #
8c60: 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68   Check to see th
8c70: 61 74 20 74 68 69 73 20 72 65 61 6c 6c 79 20 69  at this really i
8c80: 73 20 61 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65  s a libtool obje
8c90: 63 74 2e 0a 09 20 20 20 20 20 20 69 66 20 28 24  ct...      if ($
8ca0: 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20 24 61  {SED} -e '2q' $a
8cb0: 72 67 20 7c 20 67 72 65 70 20 22 5e 23 20 47 65  rg | grep "^# Ge
8cc0: 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41  nerated by .*$PA
8cd0: 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75  CKAGE") >/dev/nu
8ce0: 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09 09  ll 2>&1; then...
8cf0: 70 69 63 5f 6f 62 6a 65 63 74 3d 0a 09 09 6e 6f  pic_object=...no
8d00: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 0a 0a 09  n_pic_object=...
8d10: 09 23 20 52 65 61 64 20 74 68 65 20 2e 6c 6f 20  .# Read the .lo 
8d20: 66 69 6c 65 0a 09 09 23 20 49 66 20 74 68 65 72  file...# If ther
8d30: 65 20 69 73 20 6e 6f 20 64 69 72 65 63 74 6f 72  e is no director
8d40: 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65  y component, the
8d50: 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 09 63 61 73  n add one....cas
8d60: 65 20 24 61 72 67 20 69 6e 0a 09 09 2a 2f 2a 20  e $arg in...*/* 
8d70: 7c 20 2a 5c 5c 2a 29 20 2e 20 24 61 72 67 20 3b  | *\\*) . $arg ;
8d80: 3b 0a 09 09 2a 29 20 2e 20 2e 2f 24 61 72 67 20  ;...*) . ./$arg 
8d90: 3b 3b 0a 09 09 65 73 61 63 0a 0a 09 09 69 66 20  ;;...esac....if 
8da0: 74 65 73 74 20 2d 7a 20 22 24 70 69 63 5f 6f 62  test -z "$pic_ob
8db0: 6a 65 63 74 22 20 7c 7c 20 5c 0a 09 09 20 20 20  ject" || \...   
8dc0: 74 65 73 74 20 2d 7a 20 22 24 6e 6f 6e 5f 70 69  test -z "$non_pi
8dd0: 63 5f 6f 62 6a 65 63 74 22 20 7c 7c 0a 09 09 20  c_object" ||... 
8de0: 20 20 74 65 73 74 20 22 24 70 69 63 5f 6f 62 6a    test "$pic_obj
8df0: 65 63 74 22 20 3d 20 6e 6f 6e 65 20 26 26 20 5c  ect" = none && \
8e00: 0a 09 09 20 20 20 74 65 73 74 20 22 24 6e 6f 6e  ...   test "$non
8e10: 5f 70 69 63 5f 6f 62 6a 65 63 74 22 20 3d 20 6e  _pic_object" = n
8e20: 6f 6e 65 3b 20 74 68 65 6e 0a 09 09 20 20 24 65  one; then...  $e
8e30: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
8e40: 63 61 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d 65  cannot find name
8e50: 20 6f 66 20 6f 62 6a 65 63 74 20 66 6f 72 20 5c   of object for \
8e60: 60 24 61 72 67 27 22 20 31 3e 26 32 0a 09 09 20  `$arg'" 1>&2... 
8e70: 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c   exit $EXIT_FAIL
8e80: 55 52 45 0a 09 09 66 69 0a 0a 09 09 23 20 45 78  URE...fi....# Ex
8e90: 74 72 61 63 74 20 73 75 62 64 69 72 65 63 74 6f  tract subdirecto
8ea0: 72 79 20 66 72 6f 6d 20 74 68 65 20 61 72 67 75  ry from the argu
8eb0: 6d 65 6e 74 2e 0a 09 09 78 64 69 72 3d 60 24 65  ment....xdir=`$e
8ec0: 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58  cho "X$arg" | $X
8ed0: 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a  sed -e 's%/[^/]*
8ee0: 24 25 25 27 60 0a 09 09 69 66 20 74 65 73 74 20  $%%'`...if test 
8ef0: 22 58 24 78 64 69 72 22 20 3d 20 22 58 24 61 72  "X$xdir" = "X$ar
8f00: 67 22 3b 20 74 68 65 6e 0a 09 09 20 20 78 64 69  g"; then...  xdi
8f10: 72 3d 0a 09 09 65 6c 73 65 0a 09 09 20 20 78 64  r=...else...  xd
8f20: 69 72 3d 22 24 78 64 69 72 2f 22 0a 09 09 66 69  ir="$xdir/"...fi
8f30: 0a 0a 09 09 69 66 20 74 65 73 74 20 22 24 70 69  ....if test "$pi
8f40: 63 5f 6f 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e  c_object" != non
8f50: 65 3b 20 74 68 65 6e 0a 09 09 20 20 23 20 50 72  e; then...  # Pr
8f60: 65 70 65 6e 64 20 74 68 65 20 73 75 62 64 69 72  epend the subdir
8f70: 65 63 74 6f 72 79 20 74 68 65 20 6f 62 6a 65 63  ectory the objec
8f80: 74 20 69 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09  t is found in...
8f90: 09 20 20 70 69 63 5f 6f 62 6a 65 63 74 3d 22 24  .  pic_object="$
8fa0: 78 64 69 72 24 70 69 63 5f 6f 62 6a 65 63 74 22  xdir$pic_object"
8fb0: 0a 0a 09 09 20 20 69 66 20 74 65 73 74 20 22 24  ....  if test "$
8fc0: 70 72 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 3b  prev" = dlfiles;
8fd0: 20 74 68 65 6e 0a 09 09 20 20 20 20 69 66 20 74   then...    if t
8fe0: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
8ff0: 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 20  ool_libs" = yes 
9000: 26 26 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e  && test "$dlopen
9010: 5f 73 75 70 70 6f 72 74 22 20 3d 20 79 65 73 3b  _support" = yes;
9020: 20 74 68 65 6e 0a 09 09 20 20 20 20 20 20 64 6c   then...      dl
9030: 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73 20  files="$dlfiles 
9040: 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20  $pic_object"... 
9050: 20 20 20 20 20 70 72 65 76 3d 0a 09 09 20 20 20       prev=...   
9060: 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 09 20 20     continue...  
9070: 20 20 65 6c 73 65 0a 09 09 20 20 20 20 20 20 23    else...      #
9080: 20 49 66 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65   If libtool obje
9090: 63 74 73 20 61 72 65 20 75 6e 73 75 70 70 6f 72  cts are unsuppor
90a0: 74 65 64 2c 20 74 68 65 6e 20 77 65 20 6e 65 65  ted, then we nee
90b0: 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e 0a 09 09  d to preload....
90c0: 20 20 20 20 20 20 70 72 65 76 3d 64 6c 70 72 65        prev=dlpre
90d0: 66 69 6c 65 73 0a 09 09 20 20 20 20 66 69 0a 09  files...    fi..
90e0: 09 20 20 66 69 0a 0a 09 09 20 20 23 20 43 48 45  .  fi....  # CHE
90f0: 43 4b 20 4d 45 3a 20 20 49 20 74 68 69 6e 6b 20  CK ME:  I think 
9100: 49 20 62 75 73 74 65 64 20 74 68 69 73 2e 20 20  I busted this.  
9110: 2d 4f 73 73 61 6d 61 0a 09 09 20 20 69 66 20 74  -Ossama...  if t
9120: 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c  est "$prev" = dl
9130: 70 72 65 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09  prefiles; then..
9140: 09 20 20 20 20 23 20 50 72 65 6c 6f 61 64 20 74  .    # Preload t
9150: 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a  he old-style obj
9160: 65 63 74 2e 0a 09 09 20 20 20 20 64 6c 70 72 65  ect....    dlpre
9170: 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c  files="$dlprefil
9180: 65 73 20 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a  es $pic_object".
9190: 09 09 20 20 20 20 70 72 65 76 3d 0a 09 09 20 20  ..    prev=...  
91a0: 66 69 0a 0a 09 09 20 20 23 20 41 20 50 49 43 20  fi....  # A PIC 
91b0: 6f 62 6a 65 63 74 2e 0a 09 09 20 20 6c 69 62 6f  object....  libo
91c0: 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 70  bjs="$libobjs $p
91d0: 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20 20 61  ic_object"...  a
91e0: 72 67 3d 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  rg="$pic_object"
91f0: 0a 09 09 66 69 0a 0a 09 09 23 20 4e 6f 6e 2d 50  ...fi....# Non-P
9200: 49 43 20 6f 62 6a 65 63 74 2e 0a 09 09 69 66 20  IC object....if 
9210: 74 65 73 74 20 22 24 6e 6f 6e 5f 70 69 63 5f 6f  test "$non_pic_o
9220: 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e 65 3b 20  bject" != none; 
9230: 74 68 65 6e 0a 09 09 20 20 23 20 50 72 65 70 65  then...  # Prepe
9240: 6e 64 20 74 68 65 20 73 75 62 64 69 72 65 63 74  nd the subdirect
9250: 6f 72 79 20 74 68 65 20 6f 62 6a 65 63 74 20 69  ory the object i
9260: 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09 09 20 20  s found in....  
9270: 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 22  non_pic_object="
9280: 24 78 64 69 72 24 6e 6f 6e 5f 70 69 63 5f 6f 62  $xdir$non_pic_ob
9290: 6a 65 63 74 22 0a 0a 09 09 20 20 23 20 41 20 73  ject"....  # A s
92a0: 74 61 6e 64 61 72 64 20 6e 6f 6e 2d 50 49 43 20  tandard non-PIC 
92b0: 6f 62 6a 65 63 74 0a 09 09 20 20 6e 6f 6e 5f 70  object...  non_p
92c0: 69 63 5f 6f 62 6a 65 63 74 73 3d 22 24 6e 6f 6e  ic_objects="$non
92d0: 5f 70 69 63 5f 6f 62 6a 65 63 74 73 20 24 6e 6f  _pic_objects $no
92e0: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09  n_pic_object"...
92f0: 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 70    if test -z "$p
9300: 69 63 5f 6f 62 6a 65 63 74 22 20 7c 7c 20 74 65  ic_object" || te
9310: 73 74 20 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  st "$pic_object"
9320: 20 3d 20 6e 6f 6e 65 20 3b 20 74 68 65 6e 0a 09   = none ; then..
9330: 09 20 20 20 20 61 72 67 3d 22 24 6e 6f 6e 5f 70  .    arg="$non_p
9340: 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20 20 66  ic_object"...  f
9350: 69 0a 09 09 65 6c 73 65 0a 09 09 20 20 23 20 49  i...else...  # I
9360: 66 20 74 68 65 20 50 49 43 20 6f 62 6a 65 63 74  f the PIC object
9370: 20 65 78 69 73 74 73 2c 20 75 73 65 20 69 74 20   exists, use it 
9380: 69 6e 73 74 65 61 64 2e 0a 09 09 20 20 23 20 24  instead....  # $
9390: 78 64 69 72 20 77 61 73 20 70 72 65 70 65 6e 64  xdir was prepend
93a0: 65 64 20 74 6f 20 24 70 69 63 5f 6f 62 6a 65 63  ed to $pic_objec
93b0: 74 20 61 62 6f 76 65 2e 0a 09 09 20 20 6e 6f 6e  t above....  non
93c0: 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 22 24 70 69  _pic_object="$pi
93d0: 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20 20 6e 6f  c_object"...  no
93e0: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73 3d 22 24  n_pic_objects="$
93f0: 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73 20  non_pic_objects 
9400: 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22  $non_pic_object"
9410: 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65 6c 73  ...fi..      els
9420: 65 0a 09 09 23 20 4f 6e 6c 79 20 61 6e 20 65 72  e...# Only an er
9430: 72 6f 72 20 69 66 20 6e 6f 74 20 64 6f 69 6e 67  ror if not doing
9440: 20 61 20 64 72 79 2d 72 75 6e 2e 0a 09 09 69 66   a dry-run....if
9450: 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b   test -z "$run";
9460: 20 74 68 65 6e 0a 09 09 20 20 24 65 63 68 6f 20   then...  $echo 
9470: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 61  "$modename: \`$a
9480: 72 67 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c  rg' is not a val
9490: 69 64 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63  id libtool objec
94a0: 74 22 20 31 3e 26 32 0a 09 09 20 20 65 78 69 74  t" 1>&2...  exit
94b0: 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09   $EXIT_FAILURE..
94c0: 09 65 6c 73 65 0a 09 09 20 20 23 20 44 72 79 2d  .else...  # Dry-
94d0: 72 75 6e 20 63 61 73 65 2e 0a 0a 09 09 20 20 23  run case.....  #
94e0: 20 45 78 74 72 61 63 74 20 73 75 62 64 69 72 65   Extract subdire
94f0: 63 74 6f 72 79 20 66 72 6f 6d 20 74 68 65 20 61  ctory from the a
9500: 72 67 75 6d 65 6e 74 2e 0a 09 09 20 20 78 64 69  rgument....  xdi
9510: 72 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22  r=`$echo "X$arg"
9520: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f   | $Xsed -e 's%/
9530: 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 09 20 20 69  [^/]*$%%'`...  i
9540: 66 20 74 65 73 74 20 22 58 24 78 64 69 72 22 20  f test "X$xdir" 
9550: 3d 20 22 58 24 61 72 67 22 3b 20 74 68 65 6e 0a  = "X$arg"; then.
9560: 09 09 20 20 20 20 78 64 69 72 3d 0a 09 09 20 20  ..    xdir=...  
9570: 65 6c 73 65 0a 09 09 20 20 20 20 78 64 69 72 3d  else...    xdir=
9580: 22 24 78 64 69 72 2f 22 0a 09 09 20 20 66 69 0a  "$xdir/"...  fi.
9590: 0a 09 09 20 20 70 69 63 5f 6f 62 6a 65 63 74 3d  ...  pic_object=
95a0: 60 24 65 63 68 6f 20 22 58 24 7b 78 64 69 72 7d  `$echo "X${xdir}
95b0: 24 7b 6f 62 6a 64 69 72 7d 2f 24 7b 61 72 67 7d  ${objdir}/${arg}
95c0: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  " | $Xsed -e "$l
95d0: 6f 32 6f 22 60 0a 09 09 20 20 6e 6f 6e 5f 70 69  o2o"`...  non_pi
95e0: 63 5f 6f 62 6a 65 63 74 3d 60 24 65 63 68 6f 20  c_object=`$echo 
95f0: 22 58 24 7b 78 64 69 72 7d 24 7b 61 72 67 7d 22  "X${xdir}${arg}"
9600: 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f   | $Xsed -e "$lo
9610: 32 6f 22 60 0a 09 09 20 20 6c 69 62 6f 62 6a 73  2o"`...  libobjs
9620: 3d 22 24 6c 69 62 6f 62 6a 73 20 24 70 69 63 5f  ="$libobjs $pic_
9630: 6f 62 6a 65 63 74 22 0a 09 09 20 20 6e 6f 6e 5f  object"...  non_
9640: 70 69 63 5f 6f 62 6a 65 63 74 73 3d 22 24 6e 6f  pic_objects="$no
9650: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73 20 24 6e  n_pic_objects $n
9660: 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09  on_pic_object"..
9670: 09 66 69 0a 09 20 20 20 20 20 20 66 69 0a 09 20  .fi..      fi.. 
9680: 20 20 20 64 6f 6e 65 0a 09 20 20 65 6c 73 65 0a     done..  else.
9690: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
96a0: 65 6e 61 6d 65 3a 20 6c 69 6e 6b 20 69 6e 70 75  ename: link inpu
96b0: 74 20 66 69 6c 65 20 5c 60 24 73 61 76 65 5f 61  t file \`$save_a
96c0: 72 67 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69  rg' does not exi
96d0: 73 74 22 0a 09 20 20 20 20 65 78 69 74 20 24 45  st"..    exit $E
96e0: 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20 66  XIT_FAILURE..  f
96f0: 69 0a 09 20 20 61 72 67 3d 24 73 61 76 65 5f 61  i..  arg=$save_a
9700: 72 67 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63  rg..  prev=..  c
9710: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 72  ontinue..  ;;..r
9720: 70 61 74 68 20 7c 20 78 72 70 61 74 68 29 0a 09  path | xrpath)..
9730: 20 20 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61    # We need an a
9740: 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 20  bsolute path... 
9750: 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 20   case $arg in.. 
9760: 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d   [\\/]* | [A-Za-
9770: 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09 20  z]:[\\/]*) ;;.. 
9780: 20 2a 29 0a 09 20 20 20 20 24 65 63 68 6f 20 22   *)..    $echo "
9790: 24 6d 6f 64 65 6e 61 6d 65 3a 20 6f 6e 6c 79 20  $modename: only 
97a0: 61 62 73 6f 6c 75 74 65 20 72 75 6e 2d 70 61 74  absolute run-pat
97b0: 68 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 22 20  hs are allowed" 
97c0: 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 24  1>&2..    exit $
97d0: 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
97e0: 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20    ;;..  esac..  
97f0: 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22 20  if test "$prev" 
9800: 3d 20 72 70 61 74 68 3b 20 74 68 65 6e 0a 09 20  = rpath; then.. 
9810: 20 20 20 63 61 73 65 20 22 24 72 70 61 74 68 20     case "$rpath 
9820: 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 61 72  " in..    *" $ar
9830: 67 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29  g "*) ;;..    *)
9840: 20 72 70 61 74 68 3d 22 24 72 70 61 74 68 20 24   rpath="$rpath $
9850: 61 72 67 22 20 3b 3b 0a 09 20 20 20 20 65 73 61  arg" ;;..    esa
9860: 63 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 63  c..  else..    c
9870: 61 73 65 20 22 24 78 72 70 61 74 68 20 22 20 69  ase "$xrpath " i
9880: 6e 0a 09 20 20 20 20 2a 22 20 24 61 72 67 20 22  n..    *" $arg "
9890: 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 78 72  *) ;;..    *) xr
98a0: 70 61 74 68 3d 22 24 78 72 70 61 74 68 20 24 61  path="$xrpath $a
98b0: 72 67 22 20 3b 3b 0a 09 20 20 20 20 65 73 61 63  rg" ;;..    esac
98c0: 0a 09 20 20 66 69 0a 09 20 20 70 72 65 76 3d 0a  ..  fi..  prev=.
98d0: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b  .  continue..  ;
98e0: 3b 0a 09 78 63 6f 6d 70 69 6c 65 72 29 0a 09 20  ;..xcompiler).. 
98f0: 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 3d   compiler_flags=
9900: 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73  "$compiler_flags
9910: 20 24 71 61 72 67 22 0a 09 20 20 70 72 65 76 3d   $qarg"..  prev=
9920: 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  ..  compile_comm
9930: 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f  and="$compile_co
9940: 6d 6d 61 6e 64 20 24 71 61 72 67 22 0a 09 20 20  mmand $qarg"..  
9950: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
9960: 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  ="$finalize_comm
9970: 61 6e 64 20 24 71 61 72 67 22 0a 09 20 20 63 6f  and $qarg"..  co
9980: 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 78 6c  ntinue..  ;;..xl
9990: 69 6e 6b 65 72 29 0a 09 20 20 6c 69 6e 6b 65 72  inker)..  linker
99a0: 5f 66 6c 61 67 73 3d 22 24 6c 69 6e 6b 65 72 5f  _flags="$linker_
99b0: 66 6c 61 67 73 20 24 71 61 72 67 22 0a 09 20 20  flags $qarg"..  
99c0: 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 3d 22  compiler_flags="
99d0: 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20  $compiler_flags 
99e0: 24 77 6c 24 71 61 72 67 22 0a 09 20 20 70 72 65  $wl$qarg"..  pre
99f0: 76 3d 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f  v=..  compile_co
9a00: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
9a10: 63 6f 6d 6d 61 6e 64 20 24 77 6c 24 71 61 72 67  command $wl$qarg
9a20: 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f  "..  finalize_co
9a30: 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65  mmand="$finalize
9a40: 5f 63 6f 6d 6d 61 6e 64 20 24 77 6c 24 71 61 72  _command $wl$qar
9a50: 67 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  g"..  continue..
9a60: 20 20 3b 3b 0a 09 78 63 63 6c 69 6e 6b 65 72 29    ;;..xcclinker)
9a70: 0a 09 20 20 6c 69 6e 6b 65 72 5f 66 6c 61 67 73  ..  linker_flags
9a80: 3d 22 24 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 20  ="$linker_flags 
9a90: 24 71 61 72 67 22 0a 09 20 20 63 6f 6d 70 69 6c  $qarg"..  compil
9aa0: 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f 6d 70 69  er_flags="$compi
9ab0: 6c 65 72 5f 66 6c 61 67 73 20 24 71 61 72 67 22  ler_flags $qarg"
9ac0: 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f 6d  ..  prev=..  com
9ad0: 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63  pile_command="$c
9ae0: 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24  ompile_command $
9af0: 71 61 72 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a  qarg"..  finaliz
9b00: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  e_command="$fina
9b10: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 71 61  lize_command $qa
9b20: 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  rg"..  continue.
9b30: 09 20 20 3b 3b 0a 09 73 68 72 65 78 74 29 0a 20  .  ;;..shrext). 
9b40: 20 09 20 20 73 68 72 65 78 74 5f 63 6d 64 73 3d   .  shrext_cmds=
9b50: 22 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a  "$arg"..  prev=.
9b60: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b  .  continue..  ;
9b70: 3b 0a 09 64 61 72 77 69 6e 5f 66 72 61 6d 65 77  ;..darwin_framew
9b80: 6f 72 6b 7c 64 61 72 77 69 6e 5f 66 72 61 6d 65  ork|darwin_frame
9b90: 77 6f 72 6b 5f 73 6b 69 70 29 0a 09 20 20 74 65  work_skip)..  te
9ba0: 73 74 20 22 24 70 72 65 76 22 20 3d 20 22 64 61  st "$prev" = "da
9bb0: 72 77 69 6e 5f 66 72 61 6d 65 77 6f 72 6b 22 20  rwin_framework" 
9bc0: 26 26 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  && compiler_flag
9bd0: 73 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61  s="$compiler_fla
9be0: 67 73 20 24 61 72 67 22 0a 09 20 20 63 6f 6d 70  gs $arg"..  comp
9bf0: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f  ile_command="$co
9c00: 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 61  mpile_command $a
9c10: 72 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f  rg"..  finalize_
9c20: 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69  command="$finali
9c30: 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22  ze_command $arg"
9c40: 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e  ..  prev=..  con
9c50: 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 2a 29 0a  tinue..  ;;..*).
9c60: 09 20 20 65 76 61 6c 20 22 24 70 72 65 76 3d 5c  .  eval "$prev=\
9c70: 22 5c 24 61 72 67 5c 22 22 0a 09 20 20 70 72 65  "\$arg\""..  pre
9c80: 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  v=..  continue..
9c90: 20 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20    ;;..esac.     
9ca0: 20 66 69 20 23 20 74 65 73 74 20 2d 6e 20 22 24   fi # test -n "$
9cb0: 70 72 65 76 22 0a 0a 20 20 20 20 20 20 70 72 65  prev"..      pre
9cc0: 76 61 72 67 3d 22 24 61 72 67 22 0a 0a 20 20 20  varg="$arg"..   
9cd0: 20 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a     case $arg in.
9ce0: 20 20 20 20 20 20 2d 61 6c 6c 2d 73 74 61 74 69        -all-stati
9cf0: 63 29 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22  c)..if test -n "
9d00: 24 6c 69 6e 6b 5f 73 74 61 74 69 63 5f 66 6c 61  $link_static_fla
9d10: 67 22 3b 20 74 68 65 6e 0a 09 20 20 63 6f 6d 70  g"; then..  comp
9d20: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f  ile_command="$co
9d30: 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 6c  mpile_command $l
9d40: 69 6e 6b 5f 73 74 61 74 69 63 5f 66 6c 61 67 22  ink_static_flag"
9d50: 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  ..  finalize_com
9d60: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
9d70: 63 6f 6d 6d 61 6e 64 20 24 6c 69 6e 6b 5f 73 74  command $link_st
9d80: 61 74 69 63 5f 66 6c 61 67 22 0a 09 66 69 0a 09  atic_flag"..fi..
9d90: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
9da0: 20 20 20 20 2d 61 6c 6c 6f 77 2d 75 6e 64 65 66      -allow-undef
9db0: 69 6e 65 64 29 0a 09 23 20 46 49 58 4d 45 3a 20  ined)..# FIXME: 
9dc0: 72 65 6d 6f 76 65 20 74 68 69 73 20 66 6c 61 67  remove this flag
9dd0: 20 73 6f 6d 65 74 69 6d 65 20 69 6e 20 74 68 65   sometime in the
9de0: 20 66 75 74 75 72 65 2e 0a 09 24 65 63 68 6f 20   future...$echo 
9df0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 2d 61  "$modename: \`-a
9e00: 6c 6c 6f 77 2d 75 6e 64 65 66 69 6e 65 64 27 20  llow-undefined' 
9e10: 69 73 20 64 65 70 72 65 63 61 74 65 64 20 62 65  is deprecated be
9e20: 63 61 75 73 65 20 69 74 20 69 73 20 74 68 65 20  cause it is the 
9e30: 64 65 66 61 75 6c 74 22 20 31 3e 26 32 0a 09 63  default" 1>&2..c
9e40: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
9e50: 20 20 20 2d 61 76 6f 69 64 2d 76 65 72 73 69 6f     -avoid-versio
9e60: 6e 29 0a 09 61 76 6f 69 64 5f 76 65 72 73 69 6f  n)..avoid_versio
9e70: 6e 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a  n=yes..continue.
9e80: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 64 6c 6f 70  .;;..      -dlop
9e90: 65 6e 29 0a 09 70 72 65 76 3d 64 6c 66 69 6c 65  en)..prev=dlfile
9ea0: 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  s..continue..;;.
9eb0: 0a 20 20 20 20 20 20 2d 64 6c 70 72 65 6f 70 65  .      -dlpreope
9ec0: 6e 29 0a 09 70 72 65 76 3d 64 6c 70 72 65 66 69  n)..prev=dlprefi
9ed0: 6c 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b  les..continue..;
9ee0: 3b 0a 0a 20 20 20 20 20 20 2d 65 78 70 6f 72 74  ;..      -export
9ef0: 2d 64 79 6e 61 6d 69 63 29 0a 09 65 78 70 6f 72  -dynamic)..expor
9f00: 74 5f 64 79 6e 61 6d 69 63 3d 79 65 73 0a 09 63  t_dynamic=yes..c
9f10: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
9f20: 20 20 20 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f     -export-symbo
9f30: 6c 73 20 7c 20 2d 65 78 70 6f 72 74 2d 73 79 6d  ls | -export-sym
9f40: 62 6f 6c 73 2d 72 65 67 65 78 29 0a 09 69 66 20  bols-regex)..if 
9f50: 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74  test -n "$export
9f60: 5f 73 79 6d 62 6f 6c 73 22 20 7c 7c 20 74 65 73  _symbols" || tes
9f70: 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79  t -n "$export_sy
9f80: 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74 68  mbols_regex"; th
9f90: 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  en..  $echo "$mo
9fa0: 64 65 6e 61 6d 65 3a 20 6d 6f 72 65 20 74 68 61  dename: more tha
9fb0: 6e 20 6f 6e 65 20 2d 65 78 70 6f 72 74 65 64 2d  n one -exported-
9fc0: 73 79 6d 62 6f 6c 73 20 61 72 67 75 6d 65 6e 74  symbols argument
9fd0: 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 22   is not allowed"
9fe0: 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f 46  ..  exit $EXIT_F
9ff0: 41 49 4c 55 52 45 0a 09 66 69 0a 09 69 66 20 74  AILURE..fi..if t
a000: 65 73 74 20 22 58 24 61 72 67 22 20 3d 20 22 58  est "X$arg" = "X
a010: 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 22  -export-symbols"
a020: 3b 20 74 68 65 6e 0a 09 20 20 70 72 65 76 3d 65  ; then..  prev=e
a030: 78 70 73 79 6d 73 0a 09 65 6c 73 65 0a 09 20 20  xpsyms..else..  
a040: 70 72 65 76 3d 65 78 70 73 79 6d 73 5f 72 65 67  prev=expsyms_reg
a050: 65 78 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65  ex..fi..continue
a060: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 66 72 61  ..;;..      -fra
a070: 6d 65 77 6f 72 6b 7c 2d 61 72 63 68 7c 2d 69 73  mework|-arch|-is
a080: 79 73 72 6f 6f 74 29 0a 09 63 61 73 65 20 22 20  ysroot)..case " 
a090: 24 43 43 20 22 20 69 6e 0a 09 20 20 2a 22 20 24  $CC " in..  *" $
a0a0: 7b 61 72 67 7d 20 24 7b 31 7d 20 22 2a 20 7c 20  {arg} ${1} "* | 
a0b0: 2a 22 20 24 7b 61 72 67 7d 09 24 7b 31 7d 20 22  *" ${arg}.${1} "
a0c0: 2a 29 20 0a 09 09 70 72 65 76 3d 64 61 72 77 69  *) ...prev=darwi
a0d0: 6e 5f 66 72 61 6d 65 77 6f 72 6b 5f 73 6b 69 70  n_framework_skip
a0e0: 20 3b 3b 0a 09 20 20 2a 29 20 63 6f 6d 70 69 6c   ;;..  *) compil
a0f0: 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f 6d 70 69  er_flags="$compi
a100: 6c 65 72 5f 66 6c 61 67 73 20 24 61 72 67 22 0a  ler_flags $arg".
a110: 09 20 20 20 20 20 70 72 65 76 3d 64 61 72 77 69  .     prev=darwi
a120: 6e 5f 66 72 61 6d 65 77 6f 72 6b 20 3b 3b 0a 09  n_framework ;;..
a130: 65 73 61 63 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f  esac..compile_co
a140: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
a150: 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 09 66  command $arg"..f
a160: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
a170: 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  "$finalize_comma
a180: 6e 64 20 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e  nd $arg"..contin
a190: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 69  ue..;;..      -i
a1a0: 6e 73 74 2d 70 72 65 66 69 78 2d 64 69 72 29 0a  nst-prefix-dir).
a1b0: 09 70 72 65 76 3d 69 6e 73 74 5f 70 72 65 66 69  .prev=inst_prefi
a1c0: 78 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  x..continue..;;.
a1d0: 0a 20 20 20 20 20 20 23 20 54 68 65 20 6e 61 74  .      # The nat
a1e0: 69 76 65 20 49 52 49 58 20 6c 69 6e 6b 65 72 20  ive IRIX linker 
a1f0: 75 6e 64 65 72 73 74 61 6e 64 73 20 2d 4c 41 4e  understands -LAN
a200: 47 3a 2a 2c 20 2d 4c 49 53 54 3a 2a 20 61 6e 64  G:*, -LIST:* and
a210: 20 2d 4c 4e 4f 3a 2a 0a 20 20 20 20 20 20 23 20   -LNO:*.      # 
a220: 73 6f 2c 20 69 66 20 77 65 20 73 65 65 20 74 68  so, if we see th
a230: 65 73 65 20 66 6c 61 67 73 20 62 65 20 63 61 72  ese flags be car
a240: 65 66 75 6c 20 6e 6f 74 20 74 6f 20 74 72 65 61  eful not to trea
a250: 74 20 74 68 65 6d 20 6c 69 6b 65 20 2d 4c 0a 20  t them like -L. 
a260: 20 20 20 20 20 2d 4c 5b 41 2d 5a 5d 5b 41 2d 5a       -L[A-Z][A-Z
a270: 5d 2a 3a 2a 29 0a 09 63 61 73 65 20 24 77 69 74  ]*:*)..case $wit
a280: 68 5f 67 63 63 2f 24 68 6f 73 74 20 69 6e 0a 09  h_gcc/$host in..
a290: 6e 6f 2f 2a 2d 2a 2d 69 72 69 78 2a 20 7c 20 2f  no/*-*-irix* | /
a2a0: 2a 2d 2a 2d 69 72 69 78 2a 29 0a 09 20 20 63 6f  *-*-irix*)..  co
a2b0: 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  mpile_command="$
a2c0: 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20  compile_command 
a2d0: 24 61 72 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a  $arg"..  finaliz
a2e0: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  e_command="$fina
a2f0: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72  lize_command $ar
a300: 67 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09  g"..  ;;..esac..
a310: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
a320: 20 20 20 20 2d 4c 2a 29 0a 09 64 69 72 3d 60 24      -L*)..dir=`$
a330: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
a340: 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f  Xsed -e 's/^-L//
a350: 27 60 0a 09 23 20 57 65 20 6e 65 65 64 20 61 6e  '`..# We need an
a360: 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a   absolute path..
a370: 09 63 61 73 65 20 24 64 69 72 20 69 6e 0a 09 5b  .case $dir in..[
a380: 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d  \\/]* | [A-Za-z]
a390: 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09 2a 29 0a  :[\\/]*) ;;..*).
a3a0: 09 20 20 61 62 73 64 69 72 3d 60 63 64 20 22 24  .  absdir=`cd "$
a3b0: 64 69 72 22 20 26 26 20 70 77 64 60 0a 09 20 20  dir" && pwd`..  
a3c0: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 61 62 73  if test -z "$abs
a3d0: 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  dir"; then..    
a3e0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
a3f0: 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69  : cannot determi
a400: 6e 65 20 61 62 73 6f 6c 75 74 65 20 64 69 72 65  ne absolute dire
a410: 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66 20 5c 60  ctory name of \`
a420: 24 64 69 72 27 22 20 31 3e 26 32 0a 09 20 20 20  $dir'" 1>&2..   
a430: 20 61 62 73 64 69 72 3d 22 24 64 69 72 22 0a 09   absdir="$dir"..
a440: 20 20 20 20 6e 6f 74 69 6e 73 74 5f 70 61 74 68      notinst_path
a450: 3d 22 24 6e 6f 74 69 6e 73 74 5f 70 61 74 68 20  ="$notinst_path 
a460: 24 64 69 72 22 0a 09 20 20 66 69 0a 09 20 20 64  $dir"..  fi..  d
a470: 69 72 3d 22 24 61 62 73 64 69 72 22 0a 09 20 20  ir="$absdir"..  
a480: 3b 3b 0a 09 65 73 61 63 0a 09 63 61 73 65 20 22  ;;..esac..case "
a490: 24 64 65 70 6c 69 62 73 20 22 20 69 6e 0a 09 2a  $deplibs " in..*
a4a0: 22 20 2d 4c 24 64 69 72 20 22 2a 29 20 3b 3b 0a  " -L$dir "*) ;;.
a4b0: 09 2a 29 0a 09 20 20 64 65 70 6c 69 62 73 3d 22  .*)..  deplibs="
a4c0: 24 64 65 70 6c 69 62 73 20 2d 4c 24 64 69 72 22  $deplibs -L$dir"
a4d0: 0a 09 20 20 6c 69 62 5f 73 65 61 72 63 68 5f 70  ..  lib_search_p
a4e0: 61 74 68 3d 22 24 6c 69 62 5f 73 65 61 72 63 68  ath="$lib_search
a4f0: 5f 70 61 74 68 20 24 64 69 72 22 0a 09 20 20 3b  _path $dir"..  ;
a500: 3b 0a 09 65 73 61 63 0a 09 63 61 73 65 20 24 68  ;..esac..case $h
a510: 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 63 79 67 77  ost in..*-*-cygw
a520: 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a  in* | *-*-mingw*
a530: 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a   | *-*-pw32* | *
a540: 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 74 65 73 74  -*-os2*)..  test
a550: 62 69 6e 64 69 72 3d 60 24 65 63 68 6f 20 22 58  bindir=`$echo "X
a560: 24 64 69 72 22 20 7c 20 24 58 73 65 64 20 2d 65  $dir" | $Xsed -e
a570: 20 27 73 2a 2f 6c 69 62 24 2a 2f 62 69 6e 2a 27   's*/lib$*/bin*'
a580: 60 0a 09 20 20 63 61 73 65 20 3a 24 64 6c 6c 73  `..  case :$dlls
a590: 65 61 72 63 68 70 61 74 68 3a 20 69 6e 0a 09 20  earchpath: in.. 
a5a0: 20 2a 22 3a 24 64 69 72 3a 22 2a 29 20 3b 3b 0a   *":$dir:"*) ;;.
a5b0: 09 20 20 2a 29 20 64 6c 6c 73 65 61 72 63 68 70  .  *) dllsearchp
a5c0: 61 74 68 3d 22 24 64 6c 6c 73 65 61 72 63 68 70  ath="$dllsearchp
a5d0: 61 74 68 3a 24 64 69 72 22 3b 3b 0a 09 20 20 65  ath:$dir";;..  e
a5e0: 73 61 63 0a 09 20 20 63 61 73 65 20 3a 24 64 6c  sac..  case :$dl
a5f0: 6c 73 65 61 72 63 68 70 61 74 68 3a 20 69 6e 0a  lsearchpath: in.
a600: 09 20 20 2a 22 3a 24 74 65 73 74 62 69 6e 64 69  .  *":$testbindi
a610: 72 3a 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 64  r:"*) ;;..  *) d
a620: 6c 6c 73 65 61 72 63 68 70 61 74 68 3d 22 24 64  llsearchpath="$d
a630: 6c 6c 73 65 61 72 63 68 70 61 74 68 3a 24 74 65  llsearchpath:$te
a640: 73 74 62 69 6e 64 69 72 22 3b 3b 0a 09 20 20 65  stbindir";;..  e
a650: 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a  sac..  ;;..esac.
a660: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
a670: 20 20 20 20 20 2d 6c 2a 29 0a 09 69 66 20 74 65       -l*)..if te
a680: 73 74 20 22 58 24 61 72 67 22 20 3d 20 22 58 2d  st "X$arg" = "X-
a690: 6c 63 22 20 7c 7c 20 74 65 73 74 20 22 58 24 61  lc" || test "X$a
a6a0: 72 67 22 20 3d 20 22 58 2d 6c 6d 22 3b 20 74 68  rg" = "X-lm"; th
a6b0: 65 6e 0a 09 20 20 63 61 73 65 20 24 68 6f 73 74  en..  case $host
a6c0: 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79 67 77 69   in..  *-*-cygwi
a6d0: 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a 20  n* | *-*-mingw* 
a6e0: 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a 2d  | *-*-pw32* | *-
a6f0: 2a 2d 62 65 6f 73 2a 29 0a 09 20 20 20 20 23 20  *-beos*)..    # 
a700: 54 68 65 73 65 20 73 79 73 74 65 6d 73 20 64 6f  These systems do
a710: 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 68 61 76  n't actually hav
a720: 65 20 61 20 43 20 6f 72 20 6d 61 74 68 20 6c 69  e a C or math li
a730: 62 72 61 72 79 20 28 61 73 20 73 75 63 68 29 0a  brary (as such).
a740: 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20  .    continue.. 
a750: 20 20 20 3b 3b 0a 09 20 20 2a 2d 2a 2d 6f 73 32     ;;..  *-*-os2
a760: 2a 29 0a 09 20 20 20 20 23 20 54 68 65 73 65 20  *)..    # These 
a770: 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20 61 63  systems don't ac
a780: 74 75 61 6c 6c 79 20 68 61 76 65 20 61 20 43 20  tually have a C 
a790: 6c 69 62 72 61 72 79 20 28 61 73 20 73 75 63 68  library (as such
a7a0: 29 0a 09 20 20 20 20 74 65 73 74 20 22 58 24 61  )..    test "X$a
a7b0: 72 67 22 20 3d 20 22 58 2d 6c 63 22 20 26 26 20  rg" = "X-lc" && 
a7c0: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b  continue..    ;;
a7d0: 0a 09 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a  ..  *-*-openbsd*
a7e0: 20 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64 2a 20   | *-*-freebsd* 
a7f0: 7c 20 2a 2d 2a 2d 64 72 61 67 6f 6e 66 6c 79 2a  | *-*-dragonfly*
a800: 29 0a 09 20 20 20 20 23 20 44 6f 20 6e 6f 74 20  )..    # Do not 
a810: 69 6e 63 6c 75 64 65 20 6c 69 62 63 20 64 75 65  include libc due
a820: 20 74 6f 20 75 73 20 68 61 76 69 6e 67 20 6c 69   to us having li
a830: 62 63 2f 6c 69 62 63 5f 72 2e 0a 09 20 20 20 20  bc/libc_r...    
a840: 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20 22  test "X$arg" = "
a850: 58 2d 6c 63 22 20 26 26 20 63 6f 6e 74 69 6e 75  X-lc" && continu
a860: 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d 2a  e..    ;;..  *-*
a870: 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20 2a 2d 2a  -rhapsody* | *-*
a880: 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32 5d 29 0a  -darwin1.[012]).
a890: 09 20 20 20 20 23 20 52 68 61 70 73 6f 64 79 20  .    # Rhapsody 
a8a0: 43 20 61 6e 64 20 6d 61 74 68 20 6c 69 62 72 61  C and math libra
a8b0: 72 69 65 73 20 61 72 65 20 69 6e 20 74 68 65 20  ries are in the 
a8c0: 53 79 73 74 65 6d 20 66 72 61 6d 65 77 6f 72 6b  System framework
a8d0: 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24  ..    deplibs="$
a8e0: 64 65 70 6c 69 62 73 20 2d 66 72 61 6d 65 77 6f  deplibs -framewo
a8f0: 72 6b 20 53 79 73 74 65 6d 22 0a 09 20 20 20 20  rk System"..    
a900: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b  continue..    ;;
a910: 0a 09 20 20 2a 2d 2a 2d 73 63 6f 33 2e 32 76 35  ..  *-*-sco3.2v5
a920: 2a 20 7c 20 2a 2d 2a 2d 73 63 6f 35 76 36 2a 29  * | *-*-sco5v6*)
a930: 0a 09 20 20 20 20 23 20 43 61 75 73 65 73 20 70  ..    # Causes p
a940: 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 5f 5f 63  roblems with __c
a950: 74 79 70 65 0a 09 20 20 20 20 74 65 73 74 20 22  type..    test "
a960: 58 24 61 72 67 22 20 3d 20 22 58 2d 6c 63 22 20  X$arg" = "X-lc" 
a970: 26 26 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20  && continue..   
a980: 20 3b 3b 0a 09 20 20 2a 2d 2a 2d 73 79 73 76 34   ;;..  *-*-sysv4
a990: 2e 32 75 77 32 2a 20 7c 20 2a 2d 2a 2d 73 79 73  .2uw2* | *-*-sys
a9a0: 76 35 2a 20 7c 20 2a 2d 2a 2d 75 6e 69 78 77 61  v5* | *-*-unixwa
a9b0: 72 65 2a 20 7c 20 2a 2d 2a 2d 4f 70 65 6e 55 4e  re* | *-*-OpenUN
a9c0: 49 58 2a 29 0a 09 20 20 20 20 23 20 43 6f 6d 70  IX*)..    # Comp
a9d0: 69 6c 65 72 20 69 6e 73 65 72 74 73 20 6c 69 62  iler inserts lib
a9e0: 63 20 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74  c in the correct
a9f0: 20 70 6c 61 63 65 20 66 6f 72 20 74 68 72 65 61   place for threa
aa00: 64 73 20 74 6f 20 77 6f 72 6b 0a 09 20 20 20 20  ds to work..    
aa10: 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20 22  test "X$arg" = "
aa20: 58 2d 6c 63 22 20 26 26 20 63 6f 6e 74 69 6e 75  X-lc" && continu
aa30: 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61  e..    ;;..  esa
aa40: 63 0a 09 65 6c 69 66 20 74 65 73 74 20 22 58 24  c..elif test "X$
aa50: 61 72 67 22 20 3d 20 22 58 2d 6c 63 5f 72 22 3b  arg" = "X-lc_r";
aa60: 20 74 68 65 6e 0a 09 20 63 61 73 65 20 24 68 6f   then.. case $ho
aa70: 73 74 20 69 6e 0a 09 20 2a 2d 2a 2d 6f 70 65 6e  st in.. *-*-open
aa80: 62 73 64 2a 20 7c 20 2a 2d 2a 2d 66 72 65 65 62  bsd* | *-*-freeb
aa90: 73 64 2a 20 7c 20 2a 2d 2a 2d 64 72 61 67 6f 6e  sd* | *-*-dragon
aaa0: 66 6c 79 2a 29 0a 09 20 20 20 23 20 44 6f 20 6e  fly*)..   # Do n
aab0: 6f 74 20 69 6e 63 6c 75 64 65 20 6c 69 62 63 5f  ot include libc_
aac0: 72 20 64 69 72 65 63 74 6c 79 2c 20 75 73 65 20  r directly, use 
aad0: 2d 70 74 68 72 65 61 64 20 66 6c 61 67 2e 0a 09  -pthread flag...
aae0: 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20     continue..   
aaf0: 3b 3b 0a 09 20 65 73 61 63 0a 09 66 69 0a 09 64  ;;.. esac..fi..d
ab00: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
ab10: 20 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e 75 65   $arg"..continue
ab20: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 54 72  ..;;..      # Tr
ab30: 75 36 34 20 55 4e 49 58 20 75 73 65 73 20 2d 6d  u64 UNIX uses -m
ab40: 6f 64 65 6c 20 5b 61 72 67 5d 20 74 6f 20 64 65  odel [arg] to de
ab50: 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 79 6f  termine the layo
ab60: 75 74 20 6f 66 20 43 2b 2b 0a 20 20 20 20 20 20  ut of C++.      
ab70: 23 20 63 6c 61 73 73 65 73 2c 20 6e 61 6d 65 20  # classes, name 
ab80: 6d 61 6e 67 6c 69 6e 67 2c 20 61 6e 64 20 65 78  mangling, and ex
ab90: 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67  ception handling
aba0: 2e 0a 20 20 20 20 20 20 2d 6d 6f 64 65 6c 29 0a  ..      -model).
abb0: 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  .compile_command
abc0: 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  ="$compile_comma
abd0: 6e 64 20 24 61 72 67 22 0a 09 63 6f 6d 70 69 6c  nd $arg"..compil
abe0: 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f 6d 70 69  er_flags="$compi
abf0: 6c 65 72 5f 66 6c 61 67 73 20 24 61 72 67 22 0a  ler_flags $arg".
ac00: 09 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e  .finalize_comman
ac10: 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  d="$finalize_com
ac20: 6d 61 6e 64 20 24 61 72 67 22 0a 09 70 72 65 76  mand $arg"..prev
ac30: 3d 78 63 6f 6d 70 69 6c 65 72 0a 09 63 6f 6e 74  =xcompiler..cont
ac40: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 2d  inue..;;..     -
ac50: 6d 74 7c 2d 6d 74 68 72 65 61 64 73 7c 2d 6b 74  mt|-mthreads|-kt
ac60: 68 72 65 61 64 7c 2d 4b 74 68 72 65 61 64 7c 2d  hread|-Kthread|-
ac70: 70 74 68 72 65 61 64 7c 2d 70 74 68 72 65 61 64  pthread|-pthread
ac80: 73 7c 2d 2d 74 68 72 65 61 64 2d 73 61 66 65 29  s|--thread-safe)
ac90: 0a 09 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73  ..compiler_flags
aca0: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
acb0: 73 20 24 61 72 67 22 0a 09 63 6f 6d 70 69 6c 65  s $arg"..compile
acc0: 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69  _command="$compi
acd0: 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22  le_command $arg"
ace0: 0a 09 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  ..finalize_comma
acf0: 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  nd="$finalize_co
ad00: 6d 6d 61 6e 64 20 24 61 72 67 22 0a 09 63 6f 6e  mmand $arg"..con
ad10: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
ad20: 20 2d 6d 6f 64 75 6c 65 29 0a 09 6d 6f 64 75 6c   -module)..modul
ad30: 65 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a  e=yes..continue.
ad40: 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 2d 36 34  .;;..      # -64
ad50: 2c 20 2d 6d 69 70 73 5b 30 2d 39 5d 20 65 6e 61  , -mips[0-9] ena
ad60: 62 6c 65 20 36 34 2d 62 69 74 20 6d 6f 64 65 20  ble 64-bit mode 
ad70: 6f 6e 20 74 68 65 20 53 47 49 20 63 6f 6d 70 69  on the SGI compi
ad80: 6c 65 72 0a 20 20 20 20 20 20 23 20 2d 72 5b 30  ler.      # -r[0
ad90: 2d 39 5d 5b 30 2d 39 5d 2a 20 73 70 65 63 69 66  -9][0-9]* specif
ada0: 69 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 6f  ies the processo
adb0: 72 20 6f 6e 20 74 68 65 20 53 47 49 20 63 6f 6d  r on the SGI com
adc0: 70 69 6c 65 72 0a 20 20 20 20 20 20 23 20 2d 78  piler.      # -x
add0: 61 72 63 68 3d 2a 2c 20 2d 78 74 61 72 67 65 74  arch=*, -xtarget
ade0: 3d 2a 20 65 6e 61 62 6c 65 20 36 34 2d 62 69 74  =* enable 64-bit
adf0: 20 6d 6f 64 65 20 6f 6e 20 74 68 65 20 53 75 6e   mode on the Sun
ae00: 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20   compiler.      
ae10: 23 20 2b 44 41 2a 2c 20 2b 44 44 2a 20 65 6e 61  # +DA*, +DD* ena
ae20: 62 6c 65 20 36 34 2d 62 69 74 20 6d 6f 64 65 20  ble 64-bit mode 
ae30: 6f 6e 20 74 68 65 20 48 50 20 63 6f 6d 70 69 6c  on the HP compil
ae40: 65 72 0a 20 20 20 20 20 20 23 20 2d 71 2a 20 70  er.      # -q* p
ae50: 61 73 73 20 74 68 72 6f 75 67 68 20 63 6f 6d 70  ass through comp
ae60: 69 6c 65 72 20 61 72 67 73 20 66 6f 72 20 74 68  iler args for th
ae70: 65 20 49 42 4d 20 63 6f 6d 70 69 6c 65 72 0a 20  e IBM compiler. 
ae80: 20 20 20 20 20 23 20 2d 6d 2a 20 70 61 73 73 20       # -m* pass 
ae90: 74 68 72 6f 75 67 68 20 61 72 63 68 69 74 65 63  through architec
aea0: 74 75 72 65 2d 73 70 65 63 69 66 69 63 20 63 6f  ture-specific co
aeb0: 6d 70 69 6c 65 72 20 61 72 67 73 20 66 6f 72 20  mpiler args for 
aec0: 47 43 43 0a 20 20 20 20 20 20 23 20 2d 6d 2a 2c  GCC.      # -m*,
aed0: 20 2d 74 5b 34 35 5d 2a 2c 20 2d 74 78 73 63 61   -t[45]*, -txsca
aee0: 6c 65 2a 20 70 61 73 73 20 74 68 72 6f 75 67 68  le* pass through
aef0: 20 61 72 63 68 69 74 65 63 74 75 72 65 2d 73 70   architecture-sp
af00: 65 63 69 66 69 63 0a 20 20 20 20 20 20 23 20 63  ecific.      # c
af10: 6f 6d 70 69 6c 65 72 20 61 72 67 73 20 66 6f 72  ompiler args for
af20: 20 47 43 43 0a 20 20 20 20 20 20 23 20 2d 70 67   GCC.      # -pg
af30: 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 70 72   pass through pr
af40: 6f 66 69 6c 69 6e 67 20 66 6c 61 67 20 66 6f 72  ofiling flag for
af50: 20 47 43 43 0a 20 20 20 20 20 20 23 20 40 66 69   GCC.      # @fi
af60: 6c 65 20 47 43 43 20 72 65 73 70 6f 6e 73 65 20  le GCC response 
af70: 66 69 6c 65 73 0a 20 20 20 20 20 20 2d 36 34 7c  files.      -64|
af80: 2d 6d 69 70 73 5b 30 2d 39 5d 7c 2d 72 5b 30 2d  -mips[0-9]|-r[0-
af90: 39 5d 5b 30 2d 39 5d 2a 7c 2d 78 61 72 63 68 3d  9][0-9]*|-xarch=
afa0: 2a 7c 2d 78 74 61 72 67 65 74 3d 2a 7c 2b 44 41  *|-xtarget=*|+DA
afb0: 2a 7c 2b 44 44 2a 7c 2d 71 2a 7c 2d 6d 2a 7c 2d  *|+DD*|-q*|-m*|-
afc0: 70 67 7c 20 5c 0a 20 20 20 20 20 20 2d 74 5b 34  pg| \.      -t[4
afd0: 35 5d 2a 7c 2d 74 78 73 63 61 6c 65 2a 7c 40 2a  5]*|-txscale*|@*
afe0: 29 0a 0a 09 23 20 55 6e 6b 6e 6f 77 6e 20 61 72  )...# Unknown ar
aff0: 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f 74 68 20  guments in both 
b000: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
b010: 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d   and compile_com
b020: 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20 74 6f 20  mand need..# to 
b030: 62 65 20 61 65 73 74 68 65 74 69 63 61 6c 6c 79  be aesthetically
b040: 20 71 75 6f 74 65 64 20 62 65 63 61 75 73 65 20   quoted because 
b050: 74 68 65 79 20 61 72 65 20 65 76 61 6c 65 64 20  they are evaled 
b060: 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60 24 65 63  later...arg=`$ec
b070: 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73  ho "X$arg" | $Xs
b080: 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
b090: 65 5f 73 75 62 73 74 22 60 0a 09 63 61 73 65 20  e_subst"`..case 
b0a0: 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b 5c 7e 5c  $arg in..*[\[\~\
b0b0: 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
b0c0: 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
b0d0: 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61 72 67  *|*]*|"")..  arg
b0e0: 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20 20 3b  ="\"$arg\""..  ;
b0f0: 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20 20 20  ;..esac.        
b100: 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d  compile_command=
b110: 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  "$compile_comman
b120: 64 20 24 61 72 67 22 0a 20 20 20 20 20 20 20 20  d $arg".        
b130: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
b140: 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  ="$finalize_comm
b150: 61 6e 64 20 24 61 72 67 22 0a 20 20 20 20 20 20  and $arg".      
b160: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
b170: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
b180: 73 20 24 61 72 67 22 0a 20 20 20 20 20 20 20 20  s $arg".        
b190: 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20  continue.       
b1a0: 20 3b 3b 0a 0a 20 20 20 20 20 20 2d 73 68 72 65   ;;..      -shre
b1b0: 78 74 29 0a 09 70 72 65 76 3d 73 68 72 65 78 74  xt)..prev=shrext
b1c0: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
b1d0: 20 20 20 20 20 20 2d 6e 6f 2d 66 61 73 74 2d 69        -no-fast-i
b1e0: 6e 73 74 61 6c 6c 29 0a 09 66 61 73 74 5f 69 6e  nstall)..fast_in
b1f0: 73 74 61 6c 6c 3d 6e 6f 0a 09 63 6f 6e 74 69 6e  stall=no..contin
b200: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 6e  ue..;;..      -n
b210: 6f 2d 69 6e 73 74 61 6c 6c 29 0a 09 63 61 73 65  o-install)..case
b220: 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 63   $host in..*-*-c
b230: 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e  ygwin* | *-*-min
b240: 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20  gw* | *-*-pw32* 
b250: 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 23  | *-*-os2*)..  #
b260: 20 54 68 65 20 50 41 54 48 20 68 61 63 6b 65 72   The PATH hacker
b270: 79 20 69 6e 20 77 72 61 70 70 65 72 20 73 63 72  y in wrapper scr
b280: 69 70 74 73 20 69 73 20 72 65 71 75 69 72 65 64  ipts is required
b290: 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 09 20 20 23   on Windows..  #
b2a0: 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20 74 68   in order for th
b2b0: 65 20 6c 6f 61 64 65 72 20 74 6f 20 66 69 6e 64  e loader to find
b2c0: 20 61 6e 79 20 64 6c 6c 73 20 69 74 20 6e 65 65   any dlls it nee
b2d0: 64 73 2e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  ds...  $echo "$m
b2e0: 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
b2f0: 3a 20 5c 60 2d 6e 6f 2d 69 6e 73 74 61 6c 6c 27  : \`-no-install'
b300: 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20   is ignored for 
b310: 24 68 6f 73 74 22 20 31 3e 26 32 0a 09 20 20 24  $host" 1>&2..  $
b320: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
b330: 20 77 61 72 6e 69 6e 67 3a 20 61 73 73 75 6d 69   warning: assumi
b340: 6e 67 20 5c 60 2d 6e 6f 2d 66 61 73 74 2d 69 6e  ng \`-no-fast-in
b350: 73 74 61 6c 6c 27 20 69 6e 73 74 65 61 64 22 20  stall' instead" 
b360: 31 3e 26 32 0a 09 20 20 66 61 73 74 5f 69 6e 73  1>&2..  fast_ins
b370: 74 61 6c 6c 3d 6e 6f 0a 09 20 20 3b 3b 0a 09 2a  tall=no..  ;;..*
b380: 29 20 6e 6f 5f 69 6e 73 74 61 6c 6c 3d 79 65 73  ) no_install=yes
b390: 20 3b 3b 0a 09 65 73 61 63 0a 09 63 6f 6e 74 69   ;;..esac..conti
b3a0: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
b3b0: 6e 6f 2d 75 6e 64 65 66 69 6e 65 64 29 0a 09 61  no-undefined)..a
b3c0: 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 3d 6e  llow_undefined=n
b3d0: 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  o..continue..;;.
b3e0: 0a 20 20 20 20 20 20 2d 6f 62 6a 65 63 74 6c 69  .      -objectli
b3f0: 73 74 29 0a 09 70 72 65 76 3d 6f 62 6a 65 63 74  st)..prev=object
b400: 6c 69 73 74 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  list..continue..
b410: 3b 3b 0a 0a 20 20 20 20 20 20 2d 6f 29 20 70 72  ;;..      -o) pr
b420: 65 76 3d 6f 75 74 70 75 74 20 3b 3b 0a 0a 20 20  ev=output ;;..  
b430: 20 20 20 20 2d 70 72 65 63 69 6f 75 73 2d 66 69      -precious-fi
b440: 6c 65 73 2d 72 65 67 65 78 29 0a 09 70 72 65 76  les-regex)..prev
b450: 3d 70 72 65 63 69 6f 75 73 5f 72 65 67 65 78 0a  =precious_regex.
b460: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
b470: 20 20 20 20 20 2d 72 65 6c 65 61 73 65 29 0a 09       -release)..
b480: 70 72 65 76 3d 72 65 6c 65 61 73 65 0a 09 63 6f  prev=release..co
b490: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
b4a0: 20 20 2d 72 70 61 74 68 29 0a 09 70 72 65 76 3d    -rpath)..prev=
b4b0: 72 70 61 74 68 0a 09 63 6f 6e 74 69 6e 75 65 0a  rpath..continue.
b4c0: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 52 29 0a 09  .;;..      -R)..
b4d0: 70 72 65 76 3d 78 72 70 61 74 68 0a 09 63 6f 6e  prev=xrpath..con
b4e0: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
b4f0: 20 2d 52 2a 29 0a 09 64 69 72 3d 60 24 65 63 68   -R*)..dir=`$ech
b500: 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73 65  o "X$arg" | $Xse
b510: 64 20 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a  d -e 's/^-R//'`.
b520: 09 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61 62  .# We need an ab
b530: 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 63 61  solute path...ca
b540: 73 65 20 24 64 69 72 20 69 6e 0a 09 5b 5c 5c 2f  se $dir in..[\\/
b550: 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c  ]* | [A-Za-z]:[\
b560: 5c 2f 5d 2a 29 20 3b 3b 0a 09 2a 29 0a 09 20 20  \/]*) ;;..*)..  
b570: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
b580: 3a 20 6f 6e 6c 79 20 61 62 73 6f 6c 75 74 65 20  : only absolute 
b590: 72 75 6e 2d 70 61 74 68 73 20 61 72 65 20 61 6c  run-paths are al
b5a0: 6c 6f 77 65 64 22 20 31 3e 26 32 0a 09 20 20 65  lowed" 1>&2..  e
b5b0: 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
b5c0: 45 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 63  E..  ;;..esac..c
b5d0: 61 73 65 20 22 24 78 72 70 61 74 68 20 22 20 69  ase "$xrpath " i
b5e0: 6e 0a 09 2a 22 20 24 64 69 72 20 22 2a 29 20 3b  n..*" $dir "*) ;
b5f0: 3b 0a 09 2a 29 20 78 72 70 61 74 68 3d 22 24 78  ;..*) xrpath="$x
b600: 72 70 61 74 68 20 24 64 69 72 22 20 3b 3b 0a 09  rpath $dir" ;;..
b610: 65 73 61 63 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  esac..continue..
b620: 3b 3b 0a 0a 20 20 20 20 20 20 2d 73 74 61 74 69  ;;..      -stati
b630: 63 29 0a 09 23 20 54 68 65 20 65 66 66 65 63 74  c)..# The effect
b640: 73 20 6f 66 20 2d 73 74 61 74 69 63 20 61 72 65  s of -static are
b650: 20 64 65 66 69 6e 65 64 20 69 6e 20 61 20 70 72   defined in a pr
b660: 65 76 69 6f 75 73 20 6c 6f 6f 70 2e 0a 09 23 20  evious loop...# 
b670: 57 65 20 75 73 65 64 20 74 6f 20 64 6f 20 74 68  We used to do th
b680: 65 20 73 61 6d 65 20 61 73 20 2d 61 6c 6c 2d 73  e same as -all-s
b690: 74 61 74 69 63 20 6f 6e 20 70 6c 61 74 66 6f 72  tatic on platfor
b6a0: 6d 73 20 74 68 61 74 0a 09 23 20 64 69 64 6e 27  ms that..# didn'
b6b0: 74 20 68 61 76 65 20 61 20 50 49 43 20 66 6c 61  t have a PIC fla
b6c0: 67 2c 20 62 75 74 20 74 68 65 20 61 73 73 75 6d  g, but the assum
b6d0: 70 74 69 6f 6e 20 74 68 61 74 20 74 68 65 20 65  ption that the e
b6e0: 66 66 65 63 74 73 0a 09 23 20 77 6f 75 6c 64 20  ffects..# would 
b6f0: 62 65 20 65 71 75 69 76 61 6c 65 6e 74 20 77 61  be equivalent wa
b700: 73 20 77 72 6f 6e 67 2e 20 20 49 74 20 77 6f 75  s wrong.  It wou
b710: 6c 64 20 62 72 65 61 6b 20 6f 6e 20 61 74 20 6c  ld break on at l
b720: 65 61 73 74 0a 09 23 20 44 69 67 69 74 61 6c 20  east..# Digital 
b730: 55 6e 69 78 20 61 6e 64 20 41 49 58 2e 0a 09 63  Unix and AIX...c
b740: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
b750: 20 20 20 2d 74 68 72 65 61 64 2d 73 61 66 65 29     -thread-safe)
b760: 0a 09 74 68 72 65 61 64 5f 73 61 66 65 3d 79 65  ..thread_safe=ye
b770: 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  s..continue..;;.
b780: 0a 20 20 20 20 20 20 2d 76 65 72 73 69 6f 6e 2d  .      -version-
b790: 69 6e 66 6f 29 0a 09 70 72 65 76 3d 76 69 6e 66  info)..prev=vinf
b7a0: 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  o..continue..;;.
b7b0: 20 20 20 20 20 20 2d 76 65 72 73 69 6f 6e 2d 6e        -version-n
b7c0: 75 6d 62 65 72 29 0a 09 70 72 65 76 3d 76 69 6e  umber)..prev=vin
b7d0: 66 6f 0a 09 76 69 6e 66 6f 5f 6e 75 6d 62 65 72  fo..vinfo_number
b7e0: 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  =yes..continue..
b7f0: 3b 3b 0a 0a 20 20 20 20 20 20 2d 57 63 2c 2a 29  ;;..      -Wc,*)
b800: 0a 09 61 72 67 73 3d 60 24 65 63 68 6f 20 22 58  ..args=`$echo "X
b810: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
b820: 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62   "$sed_quote_sub
b830: 73 74 22 20 2d 65 20 27 73 2f 5e 2d 57 63 2c 2f  st" -e 's/^-Wc,/
b840: 2f 27 60 0a 09 61 72 67 3d 0a 09 73 61 76 65 5f  /'`..arg=..save_
b850: 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d  ifs="$IFS"; IFS=
b860: 27 2c 27 0a 09 66 6f 72 20 66 6c 61 67 20 69 6e  ','..for flag in
b870: 20 24 61 72 67 73 3b 20 64 6f 0a 09 20 20 49 46   $args; do..  IF
b880: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20  S="$save_ifs".. 
b890: 20 63 61 73 65 20 24 66 6c 61 67 20 69 6e 0a 09   case $flag in..
b8a0: 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26      *[\[\~\#\^\&
b8b0: 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c  \*\(\)\{\}\|\;\<
b8c0: 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a  \>\?\'\ \.]*|*]*
b8d0: 7c 22 22 29 0a 09 20 20 20 20 66 6c 61 67 3d 22  |"")..    flag="
b8e0: 5c 22 24 66 6c 61 67 5c 22 22 0a 09 20 20 20 20  \"$flag\""..    
b8f0: 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 61 72  ;;..  esac..  ar
b900: 67 3d 22 24 61 72 67 20 24 77 6c 24 66 6c 61 67  g="$arg $wl$flag
b910: 22 0a 09 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c  "..  compiler_fl
b920: 61 67 73 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66  ags="$compiler_f
b930: 6c 61 67 73 20 24 66 6c 61 67 22 0a 09 64 6f 6e  lags $flag"..don
b940: 65 0a 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66  e..IFS="$save_if
b950: 73 22 0a 09 61 72 67 3d 60 24 65 63 68 6f 20 22  s"..arg=`$echo "
b960: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
b970: 65 20 22 73 2f 5e 20 2f 2f 22 60 0a 09 3b 3b 0a  e "s/^ //"`..;;.
b980: 0a 20 20 20 20 20 20 2d 57 6c 2c 2a 29 0a 09 61  .      -Wl,*)..a
b990: 72 67 73 3d 60 24 65 63 68 6f 20 22 58 24 61 72  rgs=`$echo "X$ar
b9a0: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  g" | $Xsed -e "$
b9b0: 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
b9c0: 20 2d 65 20 27 73 2f 5e 2d 57 6c 2c 2f 2f 27 60   -e 's/^-Wl,//'`
b9d0: 0a 09 61 72 67 3d 0a 09 73 61 76 65 5f 69 66 73  ..arg=..save_ifs
b9e0: 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 2c 27  ="$IFS"; IFS=','
b9f0: 0a 09 66 6f 72 20 66 6c 61 67 20 69 6e 20 24 61  ..for flag in $a
ba00: 72 67 73 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22  rgs; do..  IFS="
ba10: 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 63 61  $save_ifs"..  ca
ba20: 73 65 20 24 66 6c 61 67 20 69 6e 0a 09 20 20 20  se $flag in..   
ba30: 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c   *[\[\~\#\^\&\*\
ba40: 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c  (\)\{\}\|\;\<\>\
ba50: 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22  ?\'\ \.]*|*]*|""
ba60: 29 0a 09 20 20 20 20 66 6c 61 67 3d 22 5c 22 24  )..    flag="\"$
ba70: 66 6c 61 67 5c 22 22 0a 09 20 20 20 20 3b 3b 0a  flag\""..    ;;.
ba80: 09 20 20 65 73 61 63 0a 09 20 20 61 72 67 3d 22  .  esac..  arg="
ba90: 24 61 72 67 20 24 77 6c 24 66 6c 61 67 22 0a 09  $arg $wl$flag"..
baa0: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
bab0: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
bac0: 73 20 24 77 6c 24 66 6c 61 67 22 0a 09 20 20 6c  s $wl$flag"..  l
bad0: 69 6e 6b 65 72 5f 66 6c 61 67 73 3d 22 24 6c 69  inker_flags="$li
bae0: 6e 6b 65 72 5f 66 6c 61 67 73 20 24 66 6c 61 67  nker_flags $flag
baf0: 22 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73  "..done..IFS="$s
bb00: 61 76 65 5f 69 66 73 22 0a 09 61 72 67 3d 60 24  ave_ifs"..arg=`$
bb10: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
bb20: 58 73 65 64 20 2d 65 20 22 73 2f 5e 20 2f 2f 22  Xsed -e "s/^ //"
bb30: 60 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 63  `..;;..      -Xc
bb40: 6f 6d 70 69 6c 65 72 29 0a 09 70 72 65 76 3d 78  ompiler)..prev=x
bb50: 63 6f 6d 70 69 6c 65 72 0a 09 63 6f 6e 74 69 6e  compiler..contin
bb60: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58  ue..;;..      -X
bb70: 6c 69 6e 6b 65 72 29 0a 09 70 72 65 76 3d 78 6c  linker)..prev=xl
bb80: 69 6e 6b 65 72 0a 09 63 6f 6e 74 69 6e 75 65 0a  inker..continue.
bb90: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 43 43 6c  .;;..      -XCCl
bba0: 69 6e 6b 65 72 29 0a 09 70 72 65 76 3d 78 63 63  inker)..prev=xcc
bbb0: 6c 69 6e 6b 65 72 0a 09 63 6f 6e 74 69 6e 75 65  linker..continue
bbc0: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 53 6f  ..;;..      # So
bbd0: 6d 65 20 6f 74 68 65 72 20 63 6f 6d 70 69 6c 65  me other compile
bbe0: 72 20 66 6c 61 67 2e 0a 20 20 20 20 20 20 2d 2a  r flag..      -*
bbf0: 20 7c 20 2b 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77   | +*)..# Unknow
bc00: 6e 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 62  n arguments in b
bc10: 6f 74 68 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  oth finalize_com
bc20: 6d 61 6e 64 20 61 6e 64 20 63 6f 6d 70 69 6c 65  mand and compile
bc30: 5f 63 6f 6d 6d 61 6e 64 20 6e 65 65 64 0a 09 23  _command need..#
bc40: 20 74 6f 20 62 65 20 61 65 73 74 68 65 74 69 63   to be aesthetic
bc50: 61 6c 6c 79 20 71 75 6f 74 65 64 20 62 65 63 61  ally quoted beca
bc60: 75 73 65 20 74 68 65 79 20 61 72 65 20 65 76 61  use they are eva
bc70: 6c 65 64 20 6c 61 74 65 72 2e 0a 09 61 72 67 3d  led later...arg=
bc80: 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c  `$echo "X$arg" |
bc90: 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f   $Xsed -e "$sed_
bca0: 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 63  quote_subst"`..c
bcb0: 61 73 65 20 24 61 72 67 20 69 6e 0a 09 2a 5b 5c  ase $arg in..*[\
bcc0: 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c  [\~\#\^\&\*\(\)\
bcd0: 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c  {\}\|\;\<\>\?\'\
bce0: 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20   \.]*|*]*|"").. 
bcf0: 20 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a   arg="\"$arg\"".
bd00: 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a  .  ;;..esac..;;.
bd10: 0a 20 20 20 20 20 20 2a 2e 24 6f 62 6a 65 78 74  .      *.$objext
bd20: 29 0a 09 23 20 41 20 73 74 61 6e 64 61 72 64 20  )..# A standard 
bd30: 6f 62 6a 65 63 74 2e 0a 09 6f 62 6a 73 3d 22 24  object...objs="$
bd40: 6f 62 6a 73 20 24 61 72 67 22 0a 09 3b 3b 0a 0a  objs $arg"..;;..
bd50: 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20 41        *.lo)..# A
bd60: 20 6c 69 62 74 6f 6f 6c 2d 63 6f 6e 74 72 6f 6c   libtool-control
bd70: 6c 65 64 20 6f 62 6a 65 63 74 2e 0a 0a 09 23 20  led object....# 
bd80: 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61  Check to see tha
bd90: 74 20 74 68 69 73 20 72 65 61 6c 6c 79 20 69 73  t this really is
bda0: 20 61 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63   a libtool objec
bdb0: 74 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d 20 2d  t...if (${SED} -
bdc0: 65 20 27 32 71 27 20 24 61 72 67 20 7c 20 67 72  e '2q' $arg | gr
bdd0: 65 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64  ep "^# Generated
bde0: 20 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29   by .*$PACKAGE")
bdf0: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
be00: 3b 20 74 68 65 6e 0a 09 20 20 70 69 63 5f 6f 62  ; then..  pic_ob
be10: 6a 65 63 74 3d 0a 09 20 20 6e 6f 6e 5f 70 69 63  ject=..  non_pic
be20: 5f 6f 62 6a 65 63 74 3d 0a 0a 09 20 20 23 20 52  _object=...  # R
be30: 65 61 64 20 74 68 65 20 2e 6c 6f 20 66 69 6c 65  ead the .lo file
be40: 0a 09 20 20 23 20 49 66 20 74 68 65 72 65 20 69  ..  # If there i
be50: 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63  s no directory c
be60: 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61  omponent, then a
be70: 64 64 20 6f 6e 65 2e 0a 09 20 20 63 61 73 65 20  dd one...  case 
be80: 24 61 72 67 20 69 6e 0a 09 20 20 2a 2f 2a 20 7c  $arg in..  */* |
be90: 20 2a 5c 5c 2a 29 20 2e 20 24 61 72 67 20 3b 3b   *\\*) . $arg ;;
bea0: 0a 09 20 20 2a 29 20 2e 20 2e 2f 24 61 72 67 20  ..  *) . ./$arg 
beb0: 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20 20 69  ;;..  esac...  i
bec0: 66 20 74 65 73 74 20 2d 7a 20 22 24 70 69 63 5f  f test -z "$pic_
bed0: 6f 62 6a 65 63 74 22 20 7c 7c 20 5c 0a 09 20 20  object" || \..  
bee0: 20 20 20 74 65 73 74 20 2d 7a 20 22 24 6e 6f 6e     test -z "$non
bef0: 5f 70 69 63 5f 6f 62 6a 65 63 74 22 20 7c 7c 0a  _pic_object" ||.
bf00: 09 20 20 20 20 20 74 65 73 74 20 22 24 70 69 63  .     test "$pic
bf10: 5f 6f 62 6a 65 63 74 22 20 3d 20 6e 6f 6e 65 20  _object" = none 
bf20: 26 26 20 5c 0a 09 20 20 20 20 20 74 65 73 74 20  && \..     test 
bf30: 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74  "$non_pic_object
bf40: 22 20 3d 20 6e 6f 6e 65 3b 20 74 68 65 6e 0a 09  " = none; then..
bf50: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
bf60: 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 66 69 6e  name: cannot fin
bf70: 64 20 6e 61 6d 65 20 6f 66 20 6f 62 6a 65 63 74  d name of object
bf80: 20 66 6f 72 20 5c 60 24 61 72 67 27 22 20 31 3e   for \`$arg'" 1>
bf90: 26 32 0a 09 20 20 20 20 65 78 69 74 20 24 45 58  &2..    exit $EX
bfa0: 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20 66 69  IT_FAILURE..  fi
bfb0: 0a 0a 09 20 20 23 20 45 78 74 72 61 63 74 20 73  ...  # Extract s
bfc0: 75 62 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d  ubdirectory from
bfd0: 20 74 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 09   the argument...
bfe0: 20 20 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58    xdir=`$echo "X
bff0: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
c000: 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a   's%/[^/]*$%%'`.
c010: 09 20 20 69 66 20 74 65 73 74 20 22 58 24 78 64  .  if test "X$xd
c020: 69 72 22 20 3d 20 22 58 24 61 72 67 22 3b 20 74  ir" = "X$arg"; t
c030: 68 65 6e 0a 09 20 20 20 20 78 64 69 72 3d 0a 20  hen..    xdir=. 
c040: 09 20 20 65 6c 73 65 0a 09 20 20 20 20 78 64 69  .  else..    xdi
c050: 72 3d 22 24 78 64 69 72 2f 22 0a 09 20 20 66 69  r="$xdir/"..  fi
c060: 0a 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 70  ...  if test "$p
c070: 69 63 5f 6f 62 6a 65 63 74 22 20 21 3d 20 6e 6f  ic_object" != no
c080: 6e 65 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20  ne; then..    # 
c090: 50 72 65 70 65 6e 64 20 74 68 65 20 73 75 62 64  Prepend the subd
c0a0: 69 72 65 63 74 6f 72 79 20 74 68 65 20 6f 62 6a  irectory the obj
c0b0: 65 63 74 20 69 73 20 66 6f 75 6e 64 20 69 6e 2e  ect is found in.
c0c0: 0a 09 20 20 20 20 70 69 63 5f 6f 62 6a 65 63 74  ..    pic_object
c0d0: 3d 22 24 78 64 69 72 24 70 69 63 5f 6f 62 6a 65  ="$xdir$pic_obje
c0e0: 63 74 22 0a 0a 09 20 20 20 20 69 66 20 74 65 73  ct"...    if tes
c0f0: 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c 66 69  t "$prev" = dlfi
c100: 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  les; then..     
c110: 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64   if test "$build
c120: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
c130: 20 79 65 73 20 26 26 20 74 65 73 74 20 22 24 64   yes && test "$d
c140: 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74 22 20 3d  lopen_support" =
c150: 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 64 6c 66   yes; then...dlf
c160: 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73 20 24  iles="$dlfiles $
c170: 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 70 72  pic_object"...pr
c180: 65 76 3d 0a 09 09 63 6f 6e 74 69 6e 75 65 0a 09  ev=...continue..
c190: 20 20 20 20 20 20 65 6c 73 65 0a 09 09 23 20 49        else...# I
c1a0: 66 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74  f libtool object
c1b0: 73 20 61 72 65 20 75 6e 73 75 70 70 6f 72 74 65  s are unsupporte
c1c0: 64 2c 20 74 68 65 6e 20 77 65 20 6e 65 65 64 20  d, then we need 
c1d0: 74 6f 20 70 72 65 6c 6f 61 64 2e 0a 09 09 70 72  to preload....pr
c1e0: 65 76 3d 64 6c 70 72 65 66 69 6c 65 73 0a 09 20  ev=dlprefiles.. 
c1f0: 20 20 20 20 20 66 69 0a 09 20 20 20 20 66 69 0a       fi..    fi.
c200: 0a 09 20 20 20 20 23 20 43 48 45 43 4b 20 4d 45  ..    # CHECK ME
c210: 3a 20 20 49 20 74 68 69 6e 6b 20 49 20 62 75 73  :  I think I bus
c220: 74 65 64 20 74 68 69 73 2e 20 20 2d 4f 73 73 61  ted this.  -Ossa
c230: 6d 61 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  ma..    if test 
c240: 22 24 70 72 65 76 22 20 3d 20 64 6c 70 72 65 66  "$prev" = dlpref
c250: 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20  iles; then..    
c260: 20 20 23 20 50 72 65 6c 6f 61 64 20 74 68 65 20    # Preload the 
c270: 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a 65 63 74  old-style object
c280: 2e 0a 09 20 20 20 20 20 20 64 6c 70 72 65 66 69  ...      dlprefi
c290: 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73  les="$dlprefiles
c2a0: 20 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20   $pic_object".. 
c2b0: 20 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20       prev=..    
c2c0: 66 69 0a 0a 09 20 20 20 20 23 20 41 20 50 49 43  fi...    # A PIC
c2d0: 20 6f 62 6a 65 63 74 2e 0a 09 20 20 20 20 6c 69   object...    li
c2e0: 62 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20  bobjs="$libobjs 
c2f0: 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20  $pic_object"..  
c300: 20 20 61 72 67 3d 22 24 70 69 63 5f 6f 62 6a 65    arg="$pic_obje
c310: 63 74 22 0a 09 20 20 66 69 0a 0a 09 20 20 23 20  ct"..  fi...  # 
c320: 4e 6f 6e 2d 50 49 43 20 6f 62 6a 65 63 74 2e 0a  Non-PIC object..
c330: 09 20 20 69 66 20 74 65 73 74 20 22 24 6e 6f 6e  .  if test "$non
c340: 5f 70 69 63 5f 6f 62 6a 65 63 74 22 20 21 3d 20  _pic_object" != 
c350: 6e 6f 6e 65 3b 20 74 68 65 6e 0a 09 20 20 20 20  none; then..    
c360: 23 20 50 72 65 70 65 6e 64 20 74 68 65 20 73 75  # Prepend the su
c370: 62 64 69 72 65 63 74 6f 72 79 20 74 68 65 20 6f  bdirectory the o
c380: 62 6a 65 63 74 20 69 73 20 66 6f 75 6e 64 20 69  bject is found i
c390: 6e 2e 0a 09 20 20 20 20 6e 6f 6e 5f 70 69 63 5f  n...    non_pic_
c3a0: 6f 62 6a 65 63 74 3d 22 24 78 64 69 72 24 6e 6f  object="$xdir$no
c3b0: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22 0a 0a 09  n_pic_object"...
c3c0: 20 20 20 20 23 20 41 20 73 74 61 6e 64 61 72 64      # A standard
c3d0: 20 6e 6f 6e 2d 50 49 43 20 6f 62 6a 65 63 74 0a   non-PIC object.
c3e0: 09 20 20 20 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a  .    non_pic_obj
c3f0: 65 63 74 73 3d 22 24 6e 6f 6e 5f 70 69 63 5f 6f  ects="$non_pic_o
c400: 62 6a 65 63 74 73 20 24 6e 6f 6e 5f 70 69 63 5f  bjects $non_pic_
c410: 6f 62 6a 65 63 74 22 0a 09 20 20 20 20 69 66 20  object"..    if 
c420: 74 65 73 74 20 2d 7a 20 22 24 70 69 63 5f 6f 62  test -z "$pic_ob
c430: 6a 65 63 74 22 20 7c 7c 20 74 65 73 74 20 22 24  ject" || test "$
c440: 70 69 63 5f 6f 62 6a 65 63 74 22 20 3d 20 6e 6f  pic_object" = no
c450: 6e 65 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  ne ; then..     
c460: 20 61 72 67 3d 22 24 6e 6f 6e 5f 70 69 63 5f 6f   arg="$non_pic_o
c470: 62 6a 65 63 74 22 0a 09 20 20 20 20 66 69 0a 09  bject"..    fi..
c480: 20 20 65 6c 73 65 0a 09 20 20 20 20 23 20 49 66    else..    # If
c490: 20 74 68 65 20 50 49 43 20 6f 62 6a 65 63 74 20   the PIC object 
c4a0: 65 78 69 73 74 73 2c 20 75 73 65 20 69 74 20 69  exists, use it i
c4b0: 6e 73 74 65 61 64 2e 0a 09 20 20 20 20 23 20 24  nstead...    # $
c4c0: 78 64 69 72 20 77 61 73 20 70 72 65 70 65 6e 64  xdir was prepend
c4d0: 65 64 20 74 6f 20 24 70 69 63 5f 6f 62 6a 65 63  ed to $pic_objec
c4e0: 74 20 61 62 6f 76 65 2e 0a 09 20 20 20 20 6e 6f  t above...    no
c4f0: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 22 24 70  n_pic_object="$p
c500: 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20 20 20  ic_object"..    
c510: 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73 3d  non_pic_objects=
c520: 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74  "$non_pic_object
c530: 73 20 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63  s $non_pic_objec
c540: 74 22 0a 09 20 20 66 69 0a 09 65 6c 73 65 0a 09  t"..  fi..else..
c550: 20 20 23 20 4f 6e 6c 79 20 61 6e 20 65 72 72 6f    # Only an erro
c560: 72 20 69 66 20 6e 6f 74 20 64 6f 69 6e 67 20 61  r if not doing a
c570: 20 64 72 79 2d 72 75 6e 2e 0a 09 20 20 69 66 20   dry-run...  if 
c580: 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b 20  test -z "$run"; 
c590: 74 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20  then..    $echo 
c5a0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 61  "$modename: \`$a
c5b0: 72 67 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c  rg' is not a val
c5c0: 69 64 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63  id libtool objec
c5d0: 74 22 20 31 3e 26 32 0a 09 20 20 20 20 65 78 69  t" 1>&2..    exi
c5e0: 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a  t $EXIT_FAILURE.
c5f0: 09 20 20 65 6c 73 65 0a 09 20 20 20 20 23 20 44  .  else..    # D
c600: 72 79 2d 72 75 6e 20 63 61 73 65 2e 0a 0a 09 20  ry-run case.... 
c610: 20 20 20 23 20 45 78 74 72 61 63 74 20 73 75 62     # Extract sub
c620: 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 74  directory from t
c630: 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20  he argument...  
c640: 20 20 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58    xdir=`$echo "X
c650: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
c660: 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a   's%/[^/]*$%%'`.
c670: 09 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24  .    if test "X$
c680: 78 64 69 72 22 20 3d 20 22 58 24 61 72 67 22 3b  xdir" = "X$arg";
c690: 20 74 68 65 6e 0a 09 20 20 20 20 20 20 78 64 69   then..      xdi
c6a0: 72 3d 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  r=..    else..  
c6b0: 20 20 20 20 78 64 69 72 3d 22 24 78 64 69 72 2f      xdir="$xdir/
c6c0: 22 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20  "..    fi...    
c6d0: 70 69 63 5f 6f 62 6a 65 63 74 3d 60 24 65 63 68  pic_object=`$ech
c6e0: 6f 20 22 58 24 7b 78 64 69 72 7d 24 7b 6f 62 6a  o "X${xdir}${obj
c6f0: 64 69 72 7d 2f 24 7b 61 72 67 7d 22 20 7c 20 24  dir}/${arg}" | $
c700: 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60  Xsed -e "$lo2o"`
c710: 0a 09 20 20 20 20 6e 6f 6e 5f 70 69 63 5f 6f 62  ..    non_pic_ob
c720: 6a 65 63 74 3d 60 24 65 63 68 6f 20 22 58 24 7b  ject=`$echo "X${
c730: 78 64 69 72 7d 24 7b 61 72 67 7d 22 20 7c 20 24  xdir}${arg}" | $
c740: 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60  Xsed -e "$lo2o"`
c750: 0a 09 20 20 20 20 6c 69 62 6f 62 6a 73 3d 22 24  ..    libobjs="$
c760: 6c 69 62 6f 62 6a 73 20 24 70 69 63 5f 6f 62 6a  libobjs $pic_obj
c770: 65 63 74 22 0a 09 20 20 20 20 6e 6f 6e 5f 70 69  ect"..    non_pi
c780: 63 5f 6f 62 6a 65 63 74 73 3d 22 24 6e 6f 6e 5f  c_objects="$non_
c790: 70 69 63 5f 6f 62 6a 65 63 74 73 20 24 6e 6f 6e  pic_objects $non
c7a0: 5f 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20  _pic_object"..  
c7b0: 66 69 0a 09 66 69 0a 09 3b 3b 0a 0a 20 20 20 20  fi..fi..;;..    
c7c0: 20 20 2a 2e 24 6c 69 62 65 78 74 29 0a 09 23 20    *.$libext)..# 
c7d0: 41 6e 20 61 72 63 68 69 76 65 2e 0a 09 64 65 70  An archive...dep
c7e0: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 24  libs="$deplibs $
c7f0: 61 72 67 22 0a 09 6f 6c 64 5f 64 65 70 6c 69 62  arg"..old_deplib
c800: 73 3d 22 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20  s="$old_deplibs 
c810: 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e 75 65 0a  $arg"..continue.
c820: 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e 6c 61 29  .;;..      *.la)
c830: 0a 09 23 20 41 20 6c 69 62 74 6f 6f 6c 2d 63 6f  ..# A libtool-co
c840: 6e 74 72 6f 6c 6c 65 64 20 6c 69 62 72 61 72 79  ntrolled library
c850: 2e 0a 0a 09 69 66 20 74 65 73 74 20 22 24 70 72  ....if test "$pr
c860: 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 3b 20 74  ev" = dlfiles; t
c870: 68 65 6e 0a 09 20 20 23 20 54 68 69 73 20 6c 69  hen..  # This li
c880: 62 72 61 72 79 20 77 61 73 20 73 70 65 63 69 66  brary was specif
c890: 69 65 64 20 77 69 74 68 20 2d 64 6c 6f 70 65 6e  ied with -dlopen
c8a0: 2e 0a 09 20 20 64 6c 66 69 6c 65 73 3d 22 24 64  ...  dlfiles="$d
c8b0: 6c 66 69 6c 65 73 20 24 61 72 67 22 0a 09 20 20  lfiles $arg"..  
c8c0: 70 72 65 76 3d 0a 09 65 6c 69 66 20 74 65 73 74  prev=..elif test
c8d0: 20 22 24 70 72 65 76 22 20 3d 20 64 6c 70 72 65   "$prev" = dlpre
c8e0: 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 23  files; then..  #
c8f0: 20 54 68 65 20 6c 69 62 72 61 72 79 20 77 61 73   The library was
c900: 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68 20   specified with 
c910: 2d 64 6c 70 72 65 6f 70 65 6e 2e 0a 09 20 20 64  -dlpreopen...  d
c920: 6c 70 72 65 66 69 6c 65 73 3d 22 24 64 6c 70 72  lprefiles="$dlpr
c930: 65 66 69 6c 65 73 20 24 61 72 67 22 0a 09 20 20  efiles $arg"..  
c940: 70 72 65 76 3d 0a 09 65 6c 73 65 0a 09 20 20 64  prev=..else..  d
c950: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
c960: 20 24 61 72 67 22 0a 09 66 69 0a 09 63 6f 6e 74   $arg"..fi..cont
c970: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  inue..;;..      
c980: 23 20 53 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6d  # Some other com
c990: 70 69 6c 65 72 20 61 72 67 75 6d 65 6e 74 2e 0a  piler argument..
c9a0: 20 20 20 20 20 20 2a 29 0a 09 23 20 55 6e 6b 6e        *)..# Unkn
c9b0: 6f 77 6e 20 61 72 67 75 6d 65 6e 74 73 20 69 6e  own arguments in
c9c0: 20 62 6f 74 68 20 66 69 6e 61 6c 69 7a 65 5f 63   both finalize_c
c9d0: 6f 6d 6d 61 6e 64 20 61 6e 64 20 63 6f 6d 70 69  ommand and compi
c9e0: 6c 65 5f 63 6f 6d 6d 61 6e 64 20 6e 65 65 64 0a  le_command need.
c9f0: 09 23 20 74 6f 20 62 65 20 61 65 73 74 68 65 74  .# to be aesthet
ca00: 69 63 61 6c 6c 79 20 71 75 6f 74 65 64 20 62 65  ically quoted be
ca10: 63 61 75 73 65 20 74 68 65 79 20 61 72 65 20 65  cause they are e
ca20: 76 61 6c 65 64 20 6c 61 74 65 72 2e 0a 09 61 72  valed later...ar
ca30: 67 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22  g=`$echo "X$arg"
ca40: 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65   | $Xsed -e "$se
ca50: 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a  d_quote_subst"`.
ca60: 09 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 2a  .case $arg in..*
ca70: 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c  [\[\~\#\^\&\*\(\
ca80: 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c  )\{\}\|\;\<\>\?\
ca90: 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a  '\ \.]*|*]*|"").
caa0: 09 20 20 61 72 67 3d 22 5c 22 24 61 72 67 5c 22  .  arg="\"$arg\"
cab0: 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 3b  "..  ;;..esac..;
cac0: 3b 0a 20 20 20 20 20 20 65 73 61 63 20 23 20 61  ;.      esac # a
cad0: 72 67 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77 20  rg..      # Now 
cae0: 61 63 74 75 61 6c 6c 79 20 73 75 62 73 74 69 74  actually substit
caf0: 75 74 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74  ute the argument
cb00: 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e   into the comman
cb10: 64 73 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73  ds..      if tes
cb20: 74 20 2d 6e 20 22 24 61 72 67 22 3b 20 74 68 65  t -n "$arg"; the
cb30: 6e 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  n..compile_comma
cb40: 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
cb50: 6d 61 6e 64 20 24 61 72 67 22 0a 09 66 69 6e 61  mand $arg"..fina
cb60: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66  lize_command="$f
cb70: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20  inalize_command 
cb80: 24 61 72 67 22 0a 20 20 20 20 20 20 66 69 0a 20  $arg".      fi. 
cb90: 20 20 20 64 6f 6e 65 20 23 20 61 72 67 75 6d 65     done # argume
cba0: 6e 74 20 70 61 72 73 69 6e 67 20 6c 6f 6f 70 0a  nt parsing loop.
cbb0: 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
cbc0: 22 24 70 72 65 76 22 3b 20 74 68 65 6e 0a 20 20  "$prev"; then.  
cbd0: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
cbe0: 6e 61 6d 65 3a 20 74 68 65 20 5c 60 24 70 72 65  name: the \`$pre
cbf0: 76 61 72 67 27 20 6f 70 74 69 6f 6e 20 72 65 71  varg' option req
cc00: 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e  uires an argumen
cc10: 74 22 20 31 3e 26 32 0a 20 20 20 20 20 20 24 65  t" 1>&2.      $e
cc20: 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
cc30: 0a 20 20 20 20 20 20 65 78 69 74 20 24 45 58 49  .      exit $EXI
cc40: 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 66 69  T_FAILURE.    fi
cc50: 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
cc60: 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 22 20  export_dynamic" 
cc70: 3d 20 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e  = yes && test -n
cc80: 20 22 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69   "$export_dynami
cc90: 63 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68  c_flag_spec"; th
cca0: 65 6e 0a 20 20 20 20 20 20 65 76 61 6c 20 61 72  en.      eval ar
ccb0: 67 3d 5c 22 24 65 78 70 6f 72 74 5f 64 79 6e 61  g=\"$export_dyna
ccc0: 6d 69 63 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a  mic_flag_spec\".
ccd0: 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f        compile_co
cce0: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
ccf0: 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20  command $arg".  
cd00: 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d      finalize_com
cd10: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
cd20: 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20  command $arg".  
cd30: 20 20 66 69 0a 0a 20 20 20 20 6f 6c 64 6c 69 62    fi..    oldlib
cd40: 73 3d 0a 20 20 20 20 23 20 63 61 6c 63 75 6c 61  s=.    # calcula
cd50: 74 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  te the name of t
cd60: 68 65 20 66 69 6c 65 2c 20 77 69 74 68 6f 75 74  he file, without
cd70: 20 69 74 73 20 64 69 72 65 63 74 6f 72 79 0a 20   its directory. 
cd80: 20 20 20 6f 75 74 70 75 74 6e 61 6d 65 3d 60 24     outputname=`$
cd90: 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22 20  echo "X$output" 
cda0: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
cdb0: 2a 2f 25 25 27 60 0a 20 20 20 20 6c 69 62 6f 62  */%%'`.    libob
cdc0: 6a 73 5f 73 61 76 65 3d 22 24 6c 69 62 6f 62 6a  js_save="$libobj
cdd0: 73 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  s"..    if test 
cde0: 2d 6e 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76  -n "$shlibpath_v
cdf0: 61 72 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  ar"; then.      
ce00: 23 20 67 65 74 20 74 68 65 20 64 69 72 65 63 74  # get the direct
ce10: 6f 72 69 65 73 20 6c 69 73 74 65 64 20 69 6e 20  ories listed in 
ce20: 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a 20  $shlibpath_var. 
ce30: 20 20 20 20 20 65 76 61 6c 20 73 68 6c 69 62 5f       eval shlib_
ce40: 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 60 5c 24  search_path=\`\$
ce50: 65 63 68 6f 20 5c 22 58 5c 24 7b 24 73 68 6c 69  echo \"X\${$shli
ce60: 62 70 61 74 68 5f 76 61 72 7d 5c 22 20 5c 7c 20  bpath_var}\" \| 
ce70: 5c 24 58 73 65 64 20 2d 65 20 5c 27 73 2f 3a 2f  \$Xsed -e \'s/:/
ce80: 20 2f 67 5c 27 5c 60 0a 20 20 20 20 65 6c 73 65   /g\'\`.    else
ce90: 0a 20 20 20 20 20 20 73 68 6c 69 62 5f 73 65 61  .      shlib_sea
cea0: 72 63 68 5f 70 61 74 68 3d 0a 20 20 20 20 66 69  rch_path=.    fi
ceb0: 0a 20 20 20 20 65 76 61 6c 20 73 79 73 5f 6c 69  .    eval sys_li
cec0: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 22  b_search_path=\"
ced0: 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f  $sys_lib_search_
cee0: 70 61 74 68 5f 73 70 65 63 5c 22 0a 20 20 20 20  path_spec\".    
cef0: 65 76 61 6c 20 73 79 73 5f 6c 69 62 5f 64 6c 73  eval sys_lib_dls
cf00: 65 61 72 63 68 5f 70 61 74 68 3d 5c 22 24 73 79  earch_path=\"$sy
cf10: 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68 5f 70  s_lib_dlsearch_p
cf20: 61 74 68 5f 73 70 65 63 5c 22 0a 0a 20 20 20 20  ath_spec\"..    
cf30: 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d 60 24  output_objdir=`$
cf40: 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22 20  echo "X$output" 
cf50: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b  | $Xsed -e 's%/[
cf60: 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 69 66  ^/]*$%%'`.    if
cf70: 20 74 65 73 74 20 22 58 24 6f 75 74 70 75 74 5f   test "X$output_
cf80: 6f 62 6a 64 69 72 22 20 3d 20 22 58 24 6f 75 74  objdir" = "X$out
cf90: 70 75 74 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  put"; then.     
cfa0: 20 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d 22   output_objdir="
cfb0: 24 6f 62 6a 64 69 72 22 0a 20 20 20 20 65 6c 73  $objdir".    els
cfc0: 65 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f 6f  e.      output_o
cfd0: 62 6a 64 69 72 3d 22 24 6f 75 74 70 75 74 5f 6f  bjdir="$output_o
cfe0: 62 6a 64 69 72 2f 24 6f 62 6a 64 69 72 22 0a 20  bjdir/$objdir". 
cff0: 20 20 20 66 69 0a 20 20 20 20 23 20 43 72 65 61     fi.    # Crea
d000: 74 65 20 74 68 65 20 6f 62 6a 65 63 74 20 64 69  te the object di
d010: 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 69 66 20  rectory..    if 
d020: 74 65 73 74 20 21 20 2d 64 20 22 24 6f 75 74 70  test ! -d "$outp
d030: 75 74 5f 6f 62 6a 64 69 72 22 3b 20 74 68 65 6e  ut_objdir"; then
d040: 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 6d  .      $show "$m
d050: 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f 62 6a  kdir $output_obj
d060: 64 69 72 22 0a 20 20 20 20 20 20 24 72 75 6e 20  dir".      $run 
d070: 24 6d 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f  $mkdir $output_o
d080: 62 6a 64 69 72 0a 20 20 20 20 20 20 65 78 69 74  bjdir.      exit
d090: 5f 73 74 61 74 75 73 3d 24 3f 0a 20 20 20 20 20  _status=$?.     
d0a0: 20 69 66 20 74 65 73 74 20 22 24 65 78 69 74 5f   if test "$exit_
d0b0: 73 74 61 74 75 73 22 20 2d 6e 65 20 30 20 26 26  status" -ne 0 &&
d0c0: 20 74 65 73 74 20 21 20 2d 64 20 22 24 6f 75 74   test ! -d "$out
d0d0: 70 75 74 5f 6f 62 6a 64 69 72 22 3b 20 74 68 65  put_objdir"; the
d0e0: 6e 0a 09 65 78 69 74 20 24 65 78 69 74 5f 73 74  n..exit $exit_st
d0f0: 61 74 75 73 0a 20 20 20 20 20 20 66 69 0a 20 20  atus.      fi.  
d100: 20 20 66 69 0a 0a 20 20 20 20 23 20 44 65 74 65    fi..    # Dete
d110: 72 6d 69 6e 65 20 74 68 65 20 74 79 70 65 20 6f  rmine the type o
d120: 66 20 6f 75 74 70 75 74 0a 20 20 20 20 63 61 73  f output.    cas
d130: 65 20 24 6f 75 74 70 75 74 20 69 6e 0a 20 20 20  e $output in.   
d140: 20 22 22 29 0a 20 20 20 20 20 20 24 65 63 68 6f   "").      $echo
d150: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75   "$modename: you
d160: 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e   must specify an
d170: 20 6f 75 74 70 75 74 20 66 69 6c 65 22 20 31 3e   output file" 1>
d180: 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  &2.      $echo "
d190: 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20  $help" 1>&2.    
d1a0: 20 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49    exit $EXIT_FAI
d1b0: 4c 55 52 45 0a 20 20 20 20 20 20 3b 3b 0a 20 20  LURE.      ;;.  
d1c0: 20 20 2a 2e 24 6c 69 62 65 78 74 29 20 6c 69 6e    *.$libext) lin
d1d0: 6b 6d 6f 64 65 3d 6f 6c 64 6c 69 62 20 3b 3b 0a  kmode=oldlib ;;.
d1e0: 20 20 20 20 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62      *.lo | *.$ob
d1f0: 6a 65 78 74 29 20 6c 69 6e 6b 6d 6f 64 65 3d 6f  jext) linkmode=o
d200: 62 6a 20 3b 3b 0a 20 20 20 20 2a 2e 6c 61 29 20  bj ;;.    *.la) 
d210: 6c 69 6e 6b 6d 6f 64 65 3d 6c 69 62 20 3b 3b 0a  linkmode=lib ;;.
d220: 20 20 20 20 2a 29 20 6c 69 6e 6b 6d 6f 64 65 3d      *) linkmode=
d230: 70 72 6f 67 20 3b 3b 20 23 20 41 6e 79 74 68 69  prog ;; # Anythi
d240: 6e 67 20 65 6c 73 65 20 73 68 6f 75 6c 64 20 62  ng else should b
d250: 65 20 61 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20  e a program..   
d260: 20 65 73 61 63 0a 0a 20 20 20 20 63 61 73 65 20   esac..    case 
d270: 24 68 6f 73 74 20 69 6e 0a 20 20 20 20 2a 63 79  $host in.    *cy
d280: 67 77 69 6e 2a 20 7c 20 2a 6d 69 6e 67 77 2a 20  gwin* | *mingw* 
d290: 7c 20 2a 70 77 33 32 2a 29 0a 20 20 20 20 20 20  | *pw32*).      
d2a0: 23 20 64 6f 6e 27 74 20 65 6c 69 6d 69 6e 61 74  # don't eliminat
d2b0: 65 20 64 75 70 6c 69 63 61 74 69 6f 6e 73 20 69  e duplications i
d2c0: 6e 20 24 70 6f 73 74 64 65 70 73 20 61 6e 64 20  n $postdeps and 
d2d0: 24 70 72 65 64 65 70 73 0a 20 20 20 20 20 20 64  $predeps.      d
d2e0: 75 70 6c 69 63 61 74 65 5f 63 6f 6d 70 69 6c 65  uplicate_compile
d2f0: 72 5f 67 65 6e 65 72 61 74 65 64 5f 64 65 70 73  r_generated_deps
d300: 3d 79 65 73 0a 20 20 20 20 20 20 3b 3b 0a 20 20  =yes.      ;;.  
d310: 20 20 2a 29 0a 20 20 20 20 20 20 64 75 70 6c 69    *).      dupli
d320: 63 61 74 65 5f 63 6f 6d 70 69 6c 65 72 5f 67 65  cate_compiler_ge
d330: 6e 65 72 61 74 65 64 5f 64 65 70 73 3d 24 64 75  nerated_deps=$du
d340: 70 6c 69 63 61 74 65 5f 64 65 70 73 0a 20 20 20  plicate_deps.   
d350: 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20     ;;.    esac. 
d360: 20 20 20 73 70 65 63 69 61 6c 64 65 70 6c 69 62     specialdeplib
d370: 73 3d 0a 0a 20 20 20 20 6c 69 62 73 3d 0a 20 20  s=..    libs=.  
d380: 20 20 23 20 46 69 6e 64 20 61 6c 6c 20 69 6e 74    # Find all int
d390: 65 72 64 65 70 65 6e 64 65 6e 74 20 64 65 70 6c  erdependent depl
d3a0: 69 62 73 20 62 79 20 73 65 61 72 63 68 69 6e 67  ibs by searching
d3b0: 20 66 6f 72 20 6c 69 62 72 61 72 69 65 73 0a 20   for libraries. 
d3c0: 20 20 20 23 20 74 68 61 74 20 61 72 65 20 6c 69     # that are li
d3d0: 6e 6b 65 64 20 6d 6f 72 65 20 74 68 61 6e 20 6f  nked more than o
d3e0: 6e 63 65 20 28 65 2e 67 2e 20 2d 6c 61 20 2d 6c  nce (e.g. -la -l
d3f0: 62 20 2d 6c 61 29 0a 20 20 20 20 66 6f 72 20 64  b -la).    for d
d400: 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62  eplib in $deplib
d410: 73 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20 74  s; do.      if t
d420: 65 73 74 20 22 58 24 64 75 70 6c 69 63 61 74 65  est "X$duplicate
d430: 5f 64 65 70 73 22 20 3d 20 22 58 79 65 73 22 20  _deps" = "Xyes" 
d440: 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 22 24 6c  ; then..case "$l
d450: 69 62 73 20 22 20 69 6e 0a 09 2a 22 20 24 64 65  ibs " in..*" $de
d460: 70 6c 69 62 20 22 2a 29 20 73 70 65 63 69 61 6c  plib "*) special
d470: 64 65 70 6c 69 62 73 3d 22 24 73 70 65 63 69 61  deplibs="$specia
d480: 6c 64 65 70 6c 69 62 73 20 24 64 65 70 6c 69 62  ldeplibs $deplib
d490: 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20  " ;;..esac.     
d4a0: 20 66 69 0a 20 20 20 20 20 20 6c 69 62 73 3d 22   fi.      libs="
d4b0: 24 6c 69 62 73 20 24 64 65 70 6c 69 62 22 0a 20  $libs $deplib". 
d4c0: 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66 20     done..    if 
d4d0: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
d4e0: 20 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 20 20 20   = lib; then.   
d4f0: 20 20 20 6c 69 62 73 3d 22 24 70 72 65 64 65 70     libs="$predep
d500: 73 20 24 6c 69 62 73 20 24 63 6f 6d 70 69 6c 65  s $libs $compile
d510: 72 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  r_lib_search_pat
d520: 68 20 24 70 6f 73 74 64 65 70 73 22 0a 0a 20 20  h $postdeps"..  
d530: 20 20 20 20 23 20 43 6f 6d 70 75 74 65 20 6c 69      # Compute li
d540: 62 72 61 72 69 65 73 20 74 68 61 74 20 61 72 65  braries that are
d550: 20 6c 69 73 74 65 64 20 6d 6f 72 65 20 74 68 61   listed more tha
d560: 6e 20 6f 6e 63 65 20 69 6e 20 24 70 72 65 64 65  n once in $prede
d570: 70 73 0a 20 20 20 20 20 20 23 20 24 70 6f 73 74  ps.      # $post
d580: 64 65 70 73 20 61 6e 64 20 6d 61 72 6b 20 74 68  deps and mark th
d590: 65 6d 20 61 73 20 73 70 65 63 69 61 6c 20 28 69  em as special (i
d5a0: 2e 65 2e 2c 20 77 68 6f 73 65 20 64 75 70 6c 69  .e., whose dupli
d5b0: 63 61 74 65 73 20 61 72 65 0a 20 20 20 20 20 20  cates are.      
d5c0: 23 20 6e 6f 74 20 74 6f 20 62 65 20 65 6c 69 6d  # not to be elim
d5d0: 69 6e 61 74 65 64 29 2e 0a 20 20 20 20 20 20 70  inated)..      p
d5e0: 72 65 5f 70 6f 73 74 5f 64 65 70 73 3d 0a 20 20  re_post_deps=.  
d5f0: 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64      if test "X$d
d600: 75 70 6c 69 63 61 74 65 5f 63 6f 6d 70 69 6c 65  uplicate_compile
d610: 72 5f 67 65 6e 65 72 61 74 65 64 5f 64 65 70 73  r_generated_deps
d620: 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
d630: 6e 0a 09 66 6f 72 20 70 72 65 5f 70 6f 73 74 5f  n..for pre_post_
d640: 64 65 70 20 69 6e 20 24 70 72 65 64 65 70 73 20  dep in $predeps 
d650: 24 70 6f 73 74 64 65 70 73 3b 20 64 6f 0a 09 20  $postdeps; do.. 
d660: 20 63 61 73 65 20 22 24 70 72 65 5f 70 6f 73 74   case "$pre_post
d670: 5f 64 65 70 73 20 22 20 69 6e 0a 09 20 20 2a 22  _deps " in..  *"
d680: 20 24 70 72 65 5f 70 6f 73 74 5f 64 65 70 20 22   $pre_post_dep "
d690: 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c 69 62  *) specialdeplib
d6a0: 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70 6c 69  s="$specialdepli
d6b0: 62 73 20 24 70 72 65 5f 70 6f 73 74 5f 64 65 70  bs $pre_post_dep
d6c0: 73 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20  s" ;;..  esac.. 
d6d0: 20 70 72 65 5f 70 6f 73 74 5f 64 65 70 73 3d 22   pre_post_deps="
d6e0: 24 70 72 65 5f 70 6f 73 74 5f 64 65 70 73 20 24  $pre_post_deps $
d6f0: 70 72 65 5f 70 6f 73 74 5f 64 65 70 22 0a 09 64  pre_post_dep"..d
d700: 6f 6e 65 0a 20 20 20 20 20 20 66 69 0a 20 20 20  one.      fi.   
d710: 20 20 20 70 72 65 5f 70 6f 73 74 5f 64 65 70 73     pre_post_deps
d720: 3d 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 64 65  =.    fi..    de
d730: 70 6c 69 62 73 3d 0a 20 20 20 20 6e 65 77 64 65  plibs=.    newde
d740: 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 0a 20  pendency_libs=. 
d750: 20 20 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68     newlib_search
d760: 5f 70 61 74 68 3d 0a 20 20 20 20 6e 65 65 64 5f  _path=.    need_
d770: 72 65 6c 69 6e 6b 3d 6e 6f 20 23 20 77 68 65 74  relink=no # whet
d780: 68 65 72 20 77 65 27 72 65 20 6c 69 6e 6b 69 6e  her we're linkin
d790: 67 20 61 6e 79 20 75 6e 69 6e 73 74 61 6c 6c 65  g any uninstalle
d7a0: 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  d libtool librar
d7b0: 69 65 73 0a 20 20 20 20 6e 6f 74 69 6e 73 74 5f  ies.    notinst_
d7c0: 64 65 70 6c 69 62 73 3d 20 23 20 6e 6f 74 2d 69  deplibs= # not-i
d7d0: 6e 73 74 61 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c  nstalled libtool
d7e0: 20 6c 69 62 72 61 72 69 65 73 0a 20 20 20 20 63   libraries.    c
d7f0: 61 73 65 20 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e  ase $linkmode in
d800: 0a 20 20 20 20 6c 69 62 29 0a 09 70 61 73 73 65  .    lib)..passe
d810: 73 3d 22 63 6f 6e 76 20 6c 69 6e 6b 22 0a 09 66  s="conv link"..f
d820: 6f 72 20 66 69 6c 65 20 69 6e 20 24 64 6c 66 69  or file in $dlfi
d830: 6c 65 73 20 24 64 6c 70 72 65 66 69 6c 65 73 3b  les $dlprefiles;
d840: 20 64 6f 0a 09 20 20 63 61 73 65 20 24 66 69 6c   do..  case $fil
d850: 65 20 69 6e 0a 09 20 20 2a 2e 6c 61 29 20 3b 3b  e in..  *.la) ;;
d860: 0a 09 20 20 2a 29 0a 09 20 20 20 20 24 65 63 68  ..  *)..    $ech
d870: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69  o "$modename: li
d880: 62 72 61 72 69 65 73 20 63 61 6e 20 5c 60 2d 64  braries can \`-d
d890: 6c 6f 70 65 6e 27 20 6f 6e 6c 79 20 6c 69 62 74  lopen' only libt
d8a0: 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 3a 20 24  ool libraries: $
d8b0: 66 69 6c 65 22 20 31 3e 26 32 0a 09 20 20 20 20  file" 1>&2..    
d8c0: 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
d8d0: 52 45 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  RE..    ;;..  es
d8e0: 61 63 0a 09 64 6f 6e 65 0a 09 3b 3b 0a 20 20 20  ac..done..;;.   
d8f0: 20 70 72 6f 67 29 0a 09 63 6f 6d 70 69 6c 65 5f   prog)..compile_
d900: 64 65 70 6c 69 62 73 3d 0a 09 66 69 6e 61 6c 69  deplibs=..finali
d910: 7a 65 5f 64 65 70 6c 69 62 73 3d 0a 09 61 6c 6c  ze_deplibs=..all
d920: 64 65 70 6c 69 62 73 3d 6e 6f 0a 09 6e 65 77 64  deplibs=no..newd
d930: 6c 66 69 6c 65 73 3d 0a 09 6e 65 77 64 6c 70 72  lfiles=..newdlpr
d940: 65 66 69 6c 65 73 3d 0a 09 70 61 73 73 65 73 3d  efiles=..passes=
d950: 22 63 6f 6e 76 20 73 63 61 6e 20 64 6c 6f 70 65  "conv scan dlope
d960: 6e 20 64 6c 70 72 65 6f 70 65 6e 20 6c 69 6e 6b  n dlpreopen link
d970: 22 0a 09 3b 3b 0a 20 20 20 20 2a 29 20 20 70 61  "..;;.    *)  pa
d980: 73 73 65 73 3d 22 63 6f 6e 76 22 0a 09 3b 3b 0a  sses="conv"..;;.
d990: 20 20 20 20 65 73 61 63 0a 20 20 20 20 66 6f 72      esac.    for
d9a0: 20 70 61 73 73 20 69 6e 20 24 70 61 73 73 65 73   pass in $passes
d9b0: 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20 74 65  ; do.      if te
d9c0: 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70  st "$linkmode,$p
d9d0: 61 73 73 22 20 3d 20 22 6c 69 62 2c 6c 69 6e 6b  ass" = "lib,link
d9e0: 22 20 7c 7c 0a 09 20 74 65 73 74 20 22 24 6c 69  " ||.. test "$li
d9f0: 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20  nkmode,$pass" = 
da00: 22 70 72 6f 67 2c 73 63 61 6e 22 3b 20 74 68 65  "prog,scan"; the
da10: 6e 0a 09 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  n..libs="$deplib
da20: 73 22 0a 09 64 65 70 6c 69 62 73 3d 0a 20 20 20  s"..deplibs=.   
da30: 20 20 20 66 69 0a 20 20 20 20 20 20 69 66 20 74     fi.      if t
da40: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20  est "$linkmode" 
da50: 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 63 61  = prog; then..ca
da60: 73 65 20 24 70 61 73 73 20 69 6e 0a 09 64 6c 6f  se $pass in..dlo
da70: 70 65 6e 29 20 6c 69 62 73 3d 22 24 64 6c 66 69  pen) libs="$dlfi
da80: 6c 65 73 22 20 3b 3b 0a 09 64 6c 70 72 65 6f 70  les" ;;..dlpreop
da90: 65 6e 29 20 6c 69 62 73 3d 22 24 64 6c 70 72 65  en) libs="$dlpre
daa0: 66 69 6c 65 73 22 20 3b 3b 0a 09 6c 69 6e 6b 29  files" ;;..link)
dab0: 20 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20   libs="$deplibs 
dac0: 25 44 45 50 4c 49 42 53 25 20 24 64 65 70 65 6e  %DEPLIBS% $depen
dad0: 64 65 6e 63 79 5f 6c 69 62 73 22 20 3b 3b 0a 09  dency_libs" ;;..
dae0: 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a 20 20  esac.      fi.  
daf0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 70 61      if test "$pa
db00: 73 73 22 20 3d 20 64 6c 6f 70 65 6e 3b 20 74 68  ss" = dlopen; th
db10: 65 6e 0a 09 23 20 43 6f 6c 6c 65 63 74 20 64 6c  en..# Collect dl
db20: 70 72 65 6f 70 65 6e 65 64 20 6c 69 62 72 61 72  preopened librar
db30: 69 65 73 0a 09 73 61 76 65 5f 64 65 70 6c 69 62  ies..save_deplib
db40: 73 3d 22 24 64 65 70 6c 69 62 73 22 0a 09 64 65  s="$deplibs"..de
db50: 70 6c 69 62 73 3d 0a 20 20 20 20 20 20 66 69 0a  plibs=.      fi.
db60: 20 20 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62        for deplib
db70: 20 69 6e 20 24 6c 69 62 73 3b 20 64 6f 0a 09 6c   in $libs; do..l
db80: 69 62 3d 0a 09 66 6f 75 6e 64 3d 6e 6f 0a 09 63  ib=..found=no..c
db90: 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e 0a 09  ase $deplib in..
dba0: 2d 6d 74 7c 2d 6d 74 68 72 65 61 64 73 7c 2d 6b  -mt|-mthreads|-k
dbb0: 74 68 72 65 61 64 7c 2d 4b 74 68 72 65 61 64 7c  thread|-Kthread|
dbc0: 2d 70 74 68 72 65 61 64 7c 2d 70 74 68 72 65 61  -pthread|-pthrea
dbd0: 64 73 7c 2d 2d 74 68 72 65 61 64 2d 73 61 66 65  ds|--thread-safe
dbe0: 29 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 6c  )..  if test "$l
dbf0: 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d  inkmode,$pass" =
dc00: 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68   "prog,link"; th
dc10: 65 6e 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65 5f  en..    compile_
dc20: 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  deplibs="$deplib
dc30: 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62   $compile_deplib
dc40: 73 22 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a 65  s"..    finalize
dc50: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
dc60: 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
dc70: 69 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ibs"..  else..  
dc80: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
dc90: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
dca0: 73 20 24 64 65 70 6c 69 62 22 0a 09 20 20 66 69  s $deplib"..  fi
dcb0: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
dcc0: 3b 3b 0a 09 2d 6c 2a 29 0a 09 20 20 69 66 20 74  ;;..-l*)..  if t
dcd0: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20  est "$linkmode" 
dce0: 21 3d 20 6c 69 62 20 26 26 20 74 65 73 74 20 22  != lib && test "
dcf0: 24 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d 20 70 72  $linkmode" != pr
dd00: 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  og; then..    $e
dd10: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
dd20: 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 6c 27 20 69  warning: \`-l' i
dd30: 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72  s ignored for ar
dd40: 63 68 69 76 65 73 2f 6f 62 6a 65 63 74 73 22 20  chives/objects" 
dd50: 31 3e 26 32 0a 09 20 20 20 20 63 6f 6e 74 69 6e  1>&2..    contin
dd60: 75 65 0a 09 20 20 66 69 0a 09 20 20 6e 61 6d 65  ue..  fi..  name
dd70: 3d 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c 69  =`$echo "X$depli
dd80: 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  b" | $Xsed -e 's
dd90: 2f 5e 2d 6c 2f 2f 27 60 0a 09 20 20 66 6f 72 20  /^-l//'`..  for 
dda0: 73 65 61 72 63 68 64 69 72 20 69 6e 20 24 6e 65  searchdir in $ne
ddb0: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
ddc0: 20 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74   $lib_search_pat
ddd0: 68 20 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63  h $sys_lib_searc
dde0: 68 5f 70 61 74 68 20 24 73 68 6c 69 62 5f 73 65  h_path $shlib_se
ddf0: 61 72 63 68 5f 70 61 74 68 3b 20 64 6f 0a 09 20  arch_path; do.. 
de00: 20 20 20 66 6f 72 20 73 65 61 72 63 68 5f 65 78     for search_ex
de10: 74 20 69 6e 20 2e 6c 61 20 24 73 74 64 5f 73 68  t in .la $std_sh
de20: 72 65 78 74 20 2e 73 6f 20 2e 61 3b 20 64 6f 0a  rext .so .a; do.
de30: 09 20 20 20 20 20 20 23 20 53 65 61 72 63 68 20  .      # Search 
de40: 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72  the libtool libr
de50: 61 72 79 0a 09 20 20 20 20 20 20 6c 69 62 3d 22  ary..      lib="
de60: 24 73 65 61 72 63 68 64 69 72 2f 6c 69 62 24 7b  $searchdir/lib${
de70: 6e 61 6d 65 7d 24 7b 73 65 61 72 63 68 5f 65 78  name}${search_ex
de80: 74 7d 22 0a 09 20 20 20 20 20 20 69 66 20 74 65  t}"..      if te
de90: 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20 74 68  st -f "$lib"; th
dea0: 65 6e 0a 09 09 69 66 20 74 65 73 74 20 22 24 73  en...if test "$s
deb0: 65 61 72 63 68 5f 65 78 74 22 20 3d 20 22 2e 6c  earch_ext" = ".l
dec0: 61 22 3b 20 74 68 65 6e 0a 09 09 20 20 66 6f 75  a"; then...  fou
ded0: 6e 64 3d 79 65 73 0a 09 09 65 6c 73 65 0a 09 09  nd=yes...else...
dee0: 20 20 66 6f 75 6e 64 3d 6e 6f 0a 09 09 66 69 0a    found=no...fi.
def0: 09 09 62 72 65 61 6b 20 32 0a 09 20 20 20 20 20  ..break 2..     
df00: 20 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20   fi..    done.. 
df10: 20 64 6f 6e 65 0a 09 20 20 69 66 20 74 65 73 74   done..  if test
df20: 20 22 24 66 6f 75 6e 64 22 20 21 3d 20 79 65 73   "$found" != yes
df30: 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 64 65  ; then..    # de
df40: 70 6c 69 62 20 64 6f 65 73 6e 27 74 20 73 65 65  plib doesn't see
df50: 6d 20 74 6f 20 62 65 20 61 20 6c 69 62 74 6f 6f  m to be a libtoo
df60: 6c 20 6c 69 62 72 61 72 79 0a 09 20 20 20 20 69  l library..    i
df70: 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64  f test "$linkmod
df80: 65 2c 24 70 61 73 73 22 20 3d 20 22 70 72 6f 67  e,$pass" = "prog
df90: 2c 6c 69 6e 6b 22 3b 20 74 68 65 6e 0a 09 20 20  ,link"; then..  
dfa0: 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c      compile_depl
dfb0: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 63 6f  ibs="$deplib $co
dfc0: 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09  mpile_deplibs"..
dfd0: 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64        finalize_d
dfe0: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20  eplibs="$deplib 
dff0: 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62  $finalize_deplib
e000: 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  s"..    else..  
e010: 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65      deplibs="$de
e020: 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09  plib $deplibs"..
e030: 20 20 20 20 20 20 74 65 73 74 20 22 24 6c 69 6e        test "$lin
e040: 6b 6d 6f 64 65 22 20 3d 20 6c 69 62 20 26 26 20  kmode" = lib && 
e050: 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
e060: 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77  bs="$deplib $new
e070: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22  dependency_libs"
e080: 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 63 6f  ..    fi..    co
e090: 6e 74 69 6e 75 65 0a 09 20 20 65 6c 73 65 20 23  ntinue..  else #
e0a0: 20 64 65 70 6c 69 62 20 69 73 20 61 20 6c 69 62   deplib is a lib
e0b0: 74 6f 6f 6c 20 6c 69 62 72 61 72 79 0a 09 20 20  tool library..  
e0c0: 20 20 23 20 49 66 20 24 61 6c 6c 6f 77 5f 6c 69    # If $allow_li
e0d0: 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68 5f  btool_libs_with_
e0e0: 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73 20  static_runtimes 
e0f0: 26 26 20 24 64 65 70 6c 69 62 20 69 73 20 61 20  && $deplib is a 
e100: 73 74 64 6c 69 62 2c 0a 09 20 20 20 20 23 20 57  stdlib,..    # W
e110: 65 20 6e 65 65 64 20 74 6f 20 64 6f 20 73 6f 6d  e need to do som
e120: 65 20 73 70 65 63 69 61 6c 20 74 68 69 6e 67 73  e special things
e130: 20 68 65 72 65 2c 20 61 6e 64 20 6e 6f 74 20 6c   here, and not l
e140: 61 74 65 72 2e 0a 09 20 20 20 20 69 66 20 74 65  ater...    if te
e150: 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c 69 62 74  st "X$allow_libt
e160: 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68 5f 73 74  ool_libs_with_st
e170: 61 74 69 63 5f 72 75 6e 74 69 6d 65 73 22 20 3d  atic_runtimes" =
e180: 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09   "Xyes" ; then..
e190: 20 20 20 20 20 20 63 61 73 65 20 22 20 24 70 72        case " $pr
e1a0: 65 64 65 70 73 20 24 70 6f 73 74 64 65 70 73 20  edeps $postdeps 
e1b0: 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24  " in..      *" $
e1c0: 64 65 70 6c 69 62 20 22 2a 29 0a 09 09 69 66 20  deplib "*)...if 
e1d0: 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20  (${SED} -e '2q' 
e1e0: 24 6c 69 62 20 7c 0a 20 20 20 20 20 20 20 20 20  $lib |.         
e1f0: 20 20 20 20 20 20 20 20 20 20 20 67 72 65 70 20             grep 
e200: 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62 79  "^# Generated by
e210: 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20 3e 2f   .*$PACKAGE") >/
e220: 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74  dev/null 2>&1; t
e230: 68 65 6e 0a 09 09 20 20 6c 69 62 72 61 72 79 5f  hen...  library_
e240: 6e 61 6d 65 73 3d 0a 09 09 20 20 6f 6c 64 5f 6c  names=...  old_l
e250: 69 62 72 61 72 79 3d 0a 09 09 20 20 63 61 73 65  ibrary=...  case
e260: 20 24 6c 69 62 20 69 6e 0a 09 09 20 20 2a 2f 2a   $lib in...  */*
e270: 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62 20   | *\\*) . $lib 
e280: 3b 3b 0a 09 09 20 20 2a 29 20 2e 20 2e 2f 24 6c  ;;...  *) . ./$l
e290: 69 62 20 3b 3b 0a 09 09 20 20 65 73 61 63 0a 09  ib ;;...  esac..
e2a0: 09 20 20 66 6f 72 20 6c 20 69 6e 20 24 6f 6c 64  .  for l in $old
e2b0: 5f 6c 69 62 72 61 72 79 20 24 6c 69 62 72 61 72  _library $librar
e2c0: 79 5f 6e 61 6d 65 73 3b 20 64 6f 0a 09 09 20 20  y_names; do...  
e2d0: 20 20 6c 6c 3d 22 24 6c 22 0a 09 09 20 20 64 6f    ll="$l"...  do
e2e0: 6e 65 0a 09 09 20 20 69 66 20 74 65 73 74 20 22  ne...  if test "
e2f0: 58 24 6c 6c 22 20 3d 20 22 58 24 6f 6c 64 5f 6c  X$ll" = "X$old_l
e300: 69 62 72 61 72 79 22 20 3b 20 74 68 65 6e 20 23  ibrary" ; then #
e310: 20 6f 6e 6c 79 20 73 74 61 74 69 63 20 76 65 72   only static ver
e320: 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 09  sion available..
e330: 09 20 20 20 20 66 6f 75 6e 64 3d 6e 6f 0a 09 09  .    found=no...
e340: 20 20 20 20 6c 61 64 69 72 3d 60 24 65 63 68 6f      ladir=`$echo
e350: 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64   "X$lib" | $Xsed
e360: 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25   -e 's%/[^/]*$%%
e370: 27 60 0a 09 09 20 20 20 20 74 65 73 74 20 22 58  '`...    test "X
e380: 24 6c 61 64 69 72 22 20 3d 20 22 58 24 6c 69 62  $ladir" = "X$lib
e390: 22 20 26 26 20 6c 61 64 69 72 3d 22 2e 22 0a 09  " && ladir="."..
e3a0: 09 20 20 20 20 6c 69 62 3d 24 6c 61 64 69 72 2f  .    lib=$ladir/
e3b0: 24 6f 6c 64 5f 6c 69 62 72 61 72 79 0a 09 09 20  $old_library... 
e3c0: 20 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e     if test "$lin
e3d0: 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22  kmode,$pass" = "
e3e0: 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68 65 6e  prog,link"; then
e3f0: 0a 09 09 20 20 20 20 20 20 63 6f 6d 70 69 6c 65  ...      compile
e400: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
e410: 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  b $compile_depli
e420: 62 73 22 0a 09 09 20 20 20 20 20 20 66 69 6e 61  bs"...      fina
e430: 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 64  lize_deplibs="$d
e440: 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65 5f  eplib $finalize_
e450: 64 65 70 6c 69 62 73 22 0a 09 09 20 20 20 20 65  deplibs"...    e
e460: 6c 73 65 0a 09 09 20 20 20 20 20 20 64 65 70 6c  lse...      depl
e470: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65  ibs="$deplib $de
e480: 70 6c 69 62 73 22 0a 09 09 20 20 20 20 20 20 74  plibs"...      t
e490: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20  est "$linkmode" 
e4a0: 3d 20 6c 69 62 20 26 26 20 6e 65 77 64 65 70 65  = lib && newdepe
e4b0: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64 65  ndency_libs="$de
e4c0: 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64 65  plib $newdepende
e4d0: 6e 63 79 5f 6c 69 62 73 22 0a 09 09 20 20 20 20  ncy_libs"...    
e4e0: 66 69 0a 09 09 20 20 20 20 63 6f 6e 74 69 6e 75  fi...    continu
e4f0: 65 0a 09 09 20 20 66 69 0a 09 09 66 69 0a 09 20  e...  fi...fi.. 
e500: 20 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 20         ;;..     
e510: 20 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 65 73   *) ;;..      es
e520: 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69  ac..    fi..  fi
e530: 0a 09 20 20 3b 3b 20 23 20 2d 6c 0a 09 2d 4c 2a  ..  ;; # -l..-L*
e540: 29 0a 09 20 20 63 61 73 65 20 24 6c 69 6e 6b 6d  )..  case $linkm
e550: 6f 64 65 20 69 6e 0a 09 20 20 6c 69 62 29 0a 09  ode in..  lib)..
e560: 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65      deplibs="$de
e570: 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09  plib $deplibs"..
e580: 20 20 20 20 74 65 73 74 20 22 24 70 61 73 73 22      test "$pass"
e590: 20 3d 20 63 6f 6e 76 20 26 26 20 63 6f 6e 74 69   = conv && conti
e5a0: 6e 75 65 0a 09 20 20 20 20 6e 65 77 64 65 70 65  nue..    newdepe
e5b0: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64 65  ndency_libs="$de
e5c0: 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64 65  plib $newdepende
e5d0: 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 20 20 6e  ncy_libs"..    n
e5e0: 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ewlib_search_pat
e5f0: 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63  h="$newlib_searc
e600: 68 5f 70 61 74 68 20 22 60 24 65 63 68 6f 20 22  h_path "`$echo "
e610: 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65  X$deplib" | $Xse
e620: 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f 27 60 0a  d -e 's/^-L//'`.
e630: 09 20 20 20 20 3b 3b 0a 09 20 20 70 72 6f 67 29  .    ;;..  prog)
e640: 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
e650: 70 61 73 73 22 20 3d 20 63 6f 6e 76 3b 20 74 68  pass" = conv; th
e660: 65 6e 0a 09 20 20 20 20 20 20 64 65 70 6c 69 62  en..      deplib
e670: 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c  s="$deplib $depl
e680: 69 62 73 22 0a 09 20 20 20 20 20 20 63 6f 6e 74  ibs"..      cont
e690: 69 6e 75 65 0a 09 20 20 20 20 66 69 0a 09 20 20  inue..    fi..  
e6a0: 20 20 69 66 20 74 65 73 74 20 22 24 70 61 73 73    if test "$pass
e6b0: 22 20 3d 20 73 63 61 6e 3b 20 74 68 65 6e 0a 09  " = scan; then..
e6c0: 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24        deplibs="$
e6d0: 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22  deplib $deplibs"
e6e0: 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20  ..    else..    
e6f0: 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62    compile_deplib
e700: 73 3d 22 24 64 65 70 6c 69 62 20 24 63 6f 6d 70  s="$deplib $comp
e710: 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ile_deplibs"..  
e720: 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70      finalize_dep
e730: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 66  libs="$deplib $f
e740: 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22  inalize_deplibs"
e750: 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 6e 65  ..    fi..    ne
e760: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
e770: 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68  ="$newlib_search
e780: 5f 70 61 74 68 20 22 60 24 65 63 68 6f 20 22 58  _path "`$echo "X
e790: 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65 64  $deplib" | $Xsed
e7a0: 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f 27 60 0a 09   -e 's/^-L//'`..
e7b0: 20 20 20 20 3b 3b 0a 09 20 20 2a 29 0a 09 20 20      ;;..  *)..  
e7c0: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
e7d0: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
e7e0: 4c 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  L' is ignored fo
e7f0: 72 20 61 72 63 68 69 76 65 73 2f 6f 62 6a 65 63  r archives/objec
e800: 74 73 22 20 31 3e 26 32 0a 09 20 20 20 20 3b 3b  ts" 1>&2..    ;;
e810: 0a 09 20 20 65 73 61 63 20 23 20 6c 69 6e 6b 6d  ..  esac # linkm
e820: 6f 64 65 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  ode..  continue.
e830: 09 20 20 3b 3b 20 23 20 2d 4c 0a 09 2d 52 2a 29  .  ;; # -L..-R*)
e840: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 70 61  ..  if test "$pa
e850: 73 73 22 20 3d 20 6c 69 6e 6b 3b 20 74 68 65 6e  ss" = link; then
e860: 0a 09 20 20 20 20 64 69 72 3d 60 24 65 63 68 6f  ..    dir=`$echo
e870: 20 22 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58   "X$deplib" | $X
e880: 73 65 64 20 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27  sed -e 's/^-R//'
e890: 60 0a 09 20 20 20 20 23 20 4d 61 6b 65 20 73 75  `..    # Make su
e8a0: 72 65 20 74 68 65 20 78 72 70 61 74 68 20 63 6f  re the xrpath co
e8b0: 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75 6e 69 71  ntains only uniq
e8c0: 75 65 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a  ue directories..
e8d0: 09 20 20 20 20 63 61 73 65 20 22 24 78 72 70 61  .    case "$xrpa
e8e0: 74 68 20 22 20 69 6e 0a 09 20 20 20 20 2a 22 20  th " in..    *" 
e8f0: 24 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20  $dir "*) ;;..   
e900: 20 2a 29 20 78 72 70 61 74 68 3d 22 24 78 72 70   *) xrpath="$xrp
e910: 61 74 68 20 24 64 69 72 22 20 3b 3b 0a 09 20 20  ath $dir" ;;..  
e920: 20 20 65 73 61 63 0a 09 20 20 66 69 0a 09 20 20    esac..  fi..  
e930: 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  deplibs="$deplib
e940: 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 63 6f   $deplibs"..  co
e950: 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 2a 2e  ntinue..  ;;..*.
e960: 6c 61 29 20 6c 69 62 3d 22 24 64 65 70 6c 69 62  la) lib="$deplib
e970: 22 20 3b 3b 0a 09 2a 2e 24 6c 69 62 65 78 74 29  " ;;..*.$libext)
e980: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 70 61  ..  if test "$pa
e990: 73 73 22 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e  ss" = conv; then
e9a0: 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24  ..    deplibs="$
e9b0: 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22  deplib $deplibs"
e9c0: 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09  ..    continue..
e9d0: 20 20 66 69 0a 09 20 20 63 61 73 65 20 24 6c 69    fi..  case $li
e9e0: 6e 6b 6d 6f 64 65 20 69 6e 0a 09 20 20 6c 69 62  nkmode in..  lib
e9f0: 29 0a 09 20 20 20 20 76 61 6c 69 64 5f 61 5f 6c  )..    valid_a_l
ea00: 69 62 3d 6e 6f 0a 09 20 20 20 20 63 61 73 65 20  ib=no..    case 
ea10: 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d  $deplibs_check_m
ea20: 65 74 68 6f 64 20 69 6e 0a 09 20 20 20 20 20 20  ethod in..      
ea30: 6d 61 74 63 68 5f 70 61 74 74 65 72 6e 2a 29 0a  match_pattern*).
ea40: 09 09 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70  ..set dummy $dep
ea50: 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f  libs_check_metho
ea60: 64 0a 09 20 20 20 20 20 20 20 20 6d 61 74 63 68  d..        match
ea70: 5f 70 61 74 74 65 72 6e 5f 72 65 67 65 78 3d 60  _pattern_regex=`
ea80: 65 78 70 72 20 22 24 64 65 70 6c 69 62 73 5f 63  expr "$deplibs_c
ea90: 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3a 20 22  heck_method" : "
eaa0: 24 32 20 5c 28 2e 2a 5c 29 22 60 0a 09 09 69 66  $2 \(.*\)"`...if
eab0: 20 65 76 61 6c 20 24 65 63 68 6f 20 5c 22 24 64   eval $echo \"$d
eac0: 65 70 6c 69 62 5c 22 20 32 3e 2f 64 65 76 2f 6e  eplib\" 2>/dev/n
ead0: 75 6c 6c 20 5c 0a 09 09 20 20 20 20 7c 20 24 53  ull \...    | $S
eae0: 45 44 20 31 30 71 20 5c 0a 09 09 20 20 20 20 7c  ED 10q \...    |
eaf0: 20 24 45 47 52 45 50 20 22 24 6d 61 74 63 68 5f   $EGREP "$match_
eb00: 70 61 74 74 65 72 6e 5f 72 65 67 65 78 22 20 3e  pattern_regex" >
eb10: 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e   /dev/null; then
eb20: 0a 09 09 20 20 76 61 6c 69 64 5f 61 5f 6c 69 62  ...  valid_a_lib
eb30: 3d 79 65 73 0a 09 09 66 69 0a 09 09 3b 3b 0a 09  =yes...fi...;;..
eb40: 20 20 20 20 20 20 70 61 73 73 5f 61 6c 6c 29 0a        pass_all).
eb50: 09 09 76 61 6c 69 64 5f 61 5f 6c 69 62 3d 79 65  ..valid_a_lib=ye
eb60: 73 0a 09 09 3b 3b 0a 20 20 20 20 20 20 20 20 20  s...;;.         
eb70: 20 20 20 65 73 61 63 0a 09 20 20 20 20 69 66 20     esac..    if 
eb80: 74 65 73 74 20 22 24 76 61 6c 69 64 5f 61 5f 6c  test "$valid_a_l
eb90: 69 62 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e  ib" != yes; then
eba0: 0a 09 20 20 20 20 20 20 24 65 63 68 6f 0a 09 20  ..      $echo.. 
ebb0: 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20       $echo "*** 
ebc0: 57 61 72 6e 69 6e 67 3a 20 54 72 79 69 6e 67 20  Warning: Trying 
ebd0: 74 6f 20 6c 69 6e 6b 20 77 69 74 68 20 73 74 61  to link with sta
ebe0: 74 69 63 20 6c 69 62 20 61 72 63 68 69 76 65 20  tic lib archive 
ebf0: 24 64 65 70 6c 69 62 2e 22 0a 09 20 20 20 20 20  $deplib."..     
ec00: 20 24 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68 61   $echo "*** I ha
ec10: 76 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74  ve the capabilit
ec20: 79 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c  y to make that l
ec30: 69 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69 63  ibrary automatic
ec40: 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68 65  ally link in whe
ec50: 6e 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20  n"..      $echo 
ec60: 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f  "*** you link to
ec70: 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20   this library.  
ec80: 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64  But I can only d
ec90: 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61  o this if you ha
eca0: 76 65 20 61 22 0a 09 20 20 20 20 20 20 24 65 63  ve a"..      $ec
ecb0: 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76  ho "*** shared v
ecc0: 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69  ersion of the li
ecd0: 62 72 61 72 79 2c 20 77 68 69 63 68 20 79 6f 75  brary, which you
ece0: 20 64 6f 20 6e 6f 74 20 61 70 70 65 61 72 20 74   do not appear t
ecf0: 6f 20 68 61 76 65 22 0a 09 20 20 20 20 20 20 24  o have"..      $
ed00: 65 63 68 6f 20 22 2a 2a 2a 20 62 65 63 61 75 73  echo "*** becaus
ed10: 65 20 74 68 65 20 66 69 6c 65 20 65 78 74 65 6e  e the file exten
ed20: 73 69 6f 6e 73 20 2e 24 6c 69 62 65 78 74 20 6f  sions .$libext o
ed30: 66 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20  f this argument 
ed40: 6d 61 6b 65 73 20 6d 65 20 62 65 6c 69 65 76 65  makes me believe
ed50: 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  "..      $echo "
ed60: 2a 2a 2a 20 74 68 61 74 20 69 74 20 69 73 20 6a  *** that it is j
ed70: 75 73 74 20 61 20 73 74 61 74 69 63 20 61 72 63  ust a static arc
ed80: 68 69 76 65 20 74 68 61 74 20 49 20 73 68 6f 75  hive that I shou
ed90: 6c 64 20 6e 6f 74 20 75 73 65 64 20 68 65 72 65  ld not used here
eda0: 2e 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  ."..    else..  
edb0: 20 20 20 20 24 65 63 68 6f 0a 09 20 20 20 20 20      $echo..     
edc0: 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e   $echo "*** Warn
edd0: 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74 68 65  ing: Linking the
ede0: 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20   shared library 
edf0: 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73 74 20  $output against 
ee00: 74 68 65 22 0a 09 20 20 20 20 20 20 24 65 63 68  the"..      $ech
ee10: 6f 20 22 2a 2a 2a 20 73 74 61 74 69 63 20 6c 69  o "*** static li
ee20: 62 72 61 72 79 20 24 64 65 70 6c 69 62 20 69 73  brary $deplib is
ee30: 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65 21 22 0a   not portable!".
ee40: 09 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22  .      deplibs="
ee50: 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73  $deplib $deplibs
ee60: 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 63  "..    fi..    c
ee70: 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a  ontinue..    ;;.
ee80: 09 20 20 70 72 6f 67 29 0a 09 20 20 20 20 69 66  .  prog)..    if
ee90: 20 74 65 73 74 20 22 24 70 61 73 73 22 20 21 3d   test "$pass" !=
eea0: 20 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20   link; then..   
eeb0: 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70     deplibs="$dep
eec0: 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20  lib $deplibs".. 
eed0: 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 63     else..      c
eee0: 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22  ompile_deplibs="
eef0: 24 64 65 70 6c 69 62 20 24 63 6f 6d 70 69 6c 65  $deplib $compile
ef00: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20  _deplibs"..     
ef10: 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62   finalize_deplib
ef20: 73 3d 22 24 64 65 70 6c 69 62 20 24 66 69 6e 61  s="$deplib $fina
ef30: 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20  lize_deplibs".. 
ef40: 20 20 20 66 69 0a 09 20 20 20 20 63 6f 6e 74 69     fi..    conti
ef50: 6e 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65  nue..    ;;..  e
ef60: 73 61 63 20 23 20 6c 69 6e 6b 6d 6f 64 65 0a 09  sac # linkmode..
ef70: 20 20 3b 3b 20 23 20 2a 2e 24 6c 69 62 65 78 74    ;; # *.$libext
ef80: 0a 09 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62 6a 65  ..*.lo | *.$obje
ef90: 78 74 29 0a 09 20 20 69 66 20 74 65 73 74 20 22  xt)..  if test "
efa0: 24 70 61 73 73 22 20 3d 20 63 6f 6e 76 3b 20 74  $pass" = conv; t
efb0: 68 65 6e 0a 09 20 20 20 20 64 65 70 6c 69 62 73  hen..    deplibs
efc0: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
efd0: 62 73 22 0a 09 20 20 65 6c 69 66 20 74 65 73 74  bs"..  elif test
efe0: 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70   "$linkmode" = p
eff0: 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 69  rog; then..    i
f000: 66 20 74 65 73 74 20 22 24 70 61 73 73 22 20 3d  f test "$pass" =
f010: 20 64 6c 70 72 65 6f 70 65 6e 20 7c 7c 20 74 65   dlpreopen || te
f020: 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73 75 70 70  st "$dlopen_supp
f030: 6f 72 74 22 20 21 3d 20 79 65 73 20 7c 7c 20 74  ort" != yes || t
f040: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
f050: 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 6e 6f 3b 20  ool_libs" = no; 
f060: 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20 49 66  then..      # If
f070: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 6c 6f   there is no dlo
f080: 70 65 6e 20 73 75 70 70 6f 72 74 20 6f 72 20 77  pen support or w
f090: 65 27 72 65 20 6c 69 6e 6b 69 6e 67 20 73 74 61  e're linking sta
f0a0: 74 69 63 61 6c 6c 79 2c 0a 09 20 20 20 20 20 20  tically,..      
f0b0: 23 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65  # we need to pre
f0c0: 6c 6f 61 64 2e 0a 09 20 20 20 20 20 20 6e 65 77  load...      new
f0d0: 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77  dlprefiles="$new
f0e0: 64 6c 70 72 65 66 69 6c 65 73 20 24 64 65 70 6c  dlprefiles $depl
f0f0: 69 62 22 0a 09 20 20 20 20 20 20 63 6f 6d 70 69  ib"..      compi
f100: 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70  le_deplibs="$dep
f110: 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70  lib $compile_dep
f120: 6c 69 62 73 22 0a 09 20 20 20 20 20 20 66 69 6e  libs"..      fin
f130: 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24  alize_deplibs="$
f140: 64 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65  deplib $finalize
f150: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 65  _deplibs"..    e
f160: 6c 73 65 0a 09 20 20 20 20 20 20 6e 65 77 64 6c  lse..      newdl
f170: 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69 6c  files="$newdlfil
f180: 65 73 20 24 64 65 70 6c 69 62 22 0a 09 20 20 20  es $deplib"..   
f190: 20 66 69 0a 09 20 20 66 69 0a 09 20 20 63 6f 6e   fi..  fi..  con
f1a0: 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 25 44 45  tinue..  ;;..%DE
f1b0: 50 4c 49 42 53 25 29 0a 09 20 20 61 6c 6c 64 65  PLIBS%)..  allde
f1c0: 70 6c 69 62 73 3d 79 65 73 0a 09 20 20 63 6f 6e  plibs=yes..  con
f1d0: 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 65 73 61  tinue..  ;;..esa
f1e0: 63 20 23 20 63 61 73 65 20 24 64 65 70 6c 69 62  c # case $deplib
f1f0: 0a 09 69 66 20 74 65 73 74 20 22 24 66 6f 75 6e  ..if test "$foun
f200: 64 22 20 3d 20 79 65 73 20 7c 7c 20 74 65 73 74  d" = yes || test
f210: 20 2d 66 20 22 24 6c 69 62 22 3b 20 74 68 65 6e   -f "$lib"; then
f220: 20 3a 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68   :..else..  $ech
f230: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61  o "$modename: ca
f240: 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 6c 69  nnot find the li
f250: 62 72 61 72 79 20 5c 60 24 6c 69 62 27 20 6f 72  brary \`$lib' or
f260: 20 75 6e 68 61 6e 64 6c 65 64 20 61 72 67 75 6d   unhandled argum
f270: 65 6e 74 20 5c 60 24 64 65 70 6c 69 62 27 22 20  ent \`$deplib'" 
f280: 31 3e 26 32 0a 09 20 20 65 78 69 74 20 24 45 58  1>&2..  exit $EX
f290: 49 54 5f 46 41 49 4c 55 52 45 0a 09 66 69 0a 0a  IT_FAILURE..fi..
f2a0: 09 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20  .# Check to see 
f2b0: 74 68 61 74 20 74 68 69 73 20 72 65 61 6c 6c 79  that this really
f2c0: 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c 20 61 72   is a libtool ar
f2d0: 63 68 69 76 65 2e 0a 09 69 66 20 28 24 7b 53 45  chive...if (${SE
f2e0: 44 7d 20 2d 65 20 27 32 71 27 20 24 6c 69 62 20  D} -e '2q' $lib 
f2f0: 7c 20 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72  | grep "^# Gener
f300: 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41  ated by .*$PACKA
f310: 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  GE") >/dev/null 
f320: 32 3e 26 31 3b 20 74 68 65 6e 20 3a 0a 09 65 6c  2>&1; then :..el
f330: 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  se..  $echo "$mo
f340: 64 65 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20  dename: \`$lib' 
f350: 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c  is not a valid l
f360: 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20  ibtool archive" 
f370: 31 3e 26 32 0a 09 20 20 65 78 69 74 20 24 45 58  1>&2..  exit $EX
f380: 49 54 5f 46 41 49 4c 55 52 45 0a 09 66 69 0a 0a  IT_FAILURE..fi..
f390: 09 6c 61 64 69 72 3d 60 24 65 63 68 6f 20 22 58  .ladir=`$echo "X
f3a0: 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  $lib" | $Xsed -e
f3b0: 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a   's%/[^/]*$%%'`.
f3c0: 09 74 65 73 74 20 22 58 24 6c 61 64 69 72 22 20  .test "X$ladir" 
f3d0: 3d 20 22 58 24 6c 69 62 22 20 26 26 20 6c 61 64  = "X$lib" && lad
f3e0: 69 72 3d 22 2e 22 0a 0a 09 64 6c 6e 61 6d 65 3d  ir="."...dlname=
f3f0: 0a 09 64 6c 6f 70 65 6e 3d 0a 09 64 6c 70 72 65  ..dlopen=..dlpre
f400: 6f 70 65 6e 3d 0a 09 6c 69 62 64 69 72 3d 0a 09  open=..libdir=..
f410: 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d 0a 09  library_names=..
f420: 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 0a 09 23 20  old_library=..# 
f430: 49 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 77  If the library w
f440: 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74  as installed wit
f450: 68 20 61 6e 20 6f 6c 64 20 72 65 6c 65 61 73 65  h an old release
f460: 20 6f 66 20 6c 69 62 74 6f 6f 6c 2c 0a 09 23 20   of libtool,..# 
f470: 69 74 20 77 69 6c 6c 20 6e 6f 74 20 72 65 64 65  it will not rede
f480: 66 69 6e 65 20 76 61 72 69 61 62 6c 65 73 20 69  fine variables i
f490: 6e 73 74 61 6c 6c 65 64 2c 20 6f 72 20 73 68 6f  nstalled, or sho
f4a0: 75 6c 64 6e 6f 74 6c 69 6e 6b 0a 09 69 6e 73 74  uldnotlink..inst
f4b0: 61 6c 6c 65 64 3d 79 65 73 0a 09 73 68 6f 75 6c  alled=yes..shoul
f4c0: 64 6e 6f 74 6c 69 6e 6b 3d 6e 6f 0a 09 61 76 6f  dnotlink=no..avo
f4d0: 69 64 74 65 6d 70 72 70 61 74 68 3d 0a 0a 0a 09  idtemprpath=....
f4e0: 23 20 52 65 61 64 20 74 68 65 20 2e 6c 61 20 66  # Read the .la f
f4f0: 69 6c 65 0a 09 63 61 73 65 20 24 6c 69 62 20 69  ile..case $lib i
f500: 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e  n..*/* | *\\*) .
f510: 20 24 6c 69 62 20 3b 3b 0a 09 2a 29 20 2e 20 2e   $lib ;;..*) . .
f520: 2f 24 6c 69 62 20 3b 3b 0a 09 65 73 61 63 0a 0a  /$lib ;;..esac..
f530: 09 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d  .if test "$linkm
f540: 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22 6c 69  ode,$pass" = "li
f550: 62 2c 6c 69 6e 6b 22 20 7c 7c 0a 09 20 20 20 74  b,link" ||..   t
f560: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24  est "$linkmode,$
f570: 70 61 73 73 22 20 3d 20 22 70 72 6f 67 2c 73 63  pass" = "prog,sc
f580: 61 6e 22 20 7c 7c 0a 09 20 20 20 7b 20 74 65 73  an" ||..   { tes
f590: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d  t "$linkmode" !=
f5a0: 20 70 72 6f 67 20 26 26 20 74 65 73 74 20 22 24   prog && test "$
f5b0: 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d 20 6c 69 62  linkmode" != lib
f5c0: 3b 20 7d 3b 20 74 68 65 6e 0a 09 20 20 74 65 73  ; }; then..  tes
f5d0: 74 20 2d 6e 20 22 24 64 6c 6f 70 65 6e 22 20 26  t -n "$dlopen" &
f5e0: 26 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69  & dlfiles="$dlfi
f5f0: 6c 65 73 20 24 64 6c 6f 70 65 6e 22 0a 09 20 20  les $dlopen"..  
f600: 74 65 73 74 20 2d 6e 20 22 24 64 6c 70 72 65 6f  test -n "$dlpreo
f610: 70 65 6e 22 20 26 26 20 64 6c 70 72 65 66 69 6c  pen" && dlprefil
f620: 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73 20  es="$dlprefiles 
f630: 24 64 6c 70 72 65 6f 70 65 6e 22 0a 09 66 69 0a  $dlpreopen"..fi.
f640: 0a 09 69 66 20 74 65 73 74 20 22 24 70 61 73 73  ..if test "$pass
f650: 22 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e 0a 09  " = conv; then..
f660: 20 20 23 20 4f 6e 6c 79 20 63 68 65 63 6b 20 66    # Only check f
f670: 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c  or convenience l
f680: 69 62 72 61 72 69 65 73 0a 09 20 20 64 65 70 6c  ibraries..  depl
f690: 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70 6c 69  ibs="$lib $depli
f6a0: 62 73 22 0a 09 20 20 69 66 20 74 65 73 74 20 2d  bs"..  if test -
f6b0: 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65  z "$libdir"; the
f6c0: 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  n..    if test -
f6d0: 7a 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22  z "$old_library"
f6e0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65  ; then..      $e
f6f0: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
f700: 63 61 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d 65  cannot find name
f710: 20 6f 66 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79   of link library
f720: 20 66 6f 72 20 5c 60 24 6c 69 62 27 22 20 31 3e   for \`$lib'" 1>
f730: 26 32 0a 09 20 20 20 20 20 20 65 78 69 74 20 24  &2..      exit $
f740: 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
f750: 20 20 66 69 0a 09 20 20 20 20 23 20 49 74 20 69    fi..    # It i
f760: 73 20 61 20 6c 69 62 74 6f 6f 6c 20 63 6f 6e 76  s a libtool conv
f770: 65 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 79 2c  enience library,
f780: 20 73 6f 20 61 64 64 20 69 6e 20 69 74 73 20 6f   so add in its o
f790: 62 6a 65 63 74 73 2e 0a 09 20 20 20 20 63 6f 6e  bjects...    con
f7a0: 76 65 6e 69 65 6e 63 65 3d 22 24 63 6f 6e 76 65  venience="$conve
f7b0: 6e 69 65 6e 63 65 20 24 6c 61 64 69 72 2f 24 6f  nience $ladir/$o
f7c0: 62 6a 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61  bjdir/$old_libra
f7d0: 72 79 22 0a 09 20 20 20 20 6f 6c 64 5f 63 6f 6e  ry"..    old_con
f7e0: 76 65 6e 69 65 6e 63 65 3d 22 24 6f 6c 64 5f 63  venience="$old_c
f7f0: 6f 6e 76 65 6e 69 65 6e 63 65 20 24 6c 61 64 69  onvenience $ladi
f800: 72 2f 24 6f 62 6a 64 69 72 2f 24 6f 6c 64 5f 6c  r/$objdir/$old_l
f810: 69 62 72 61 72 79 22 0a 09 20 20 20 20 74 6d 70  ibrary"..    tmp
f820: 5f 6c 69 62 73 3d 0a 09 20 20 20 20 66 6f 72 20  _libs=..    for 
f830: 64 65 70 6c 69 62 20 69 6e 20 24 64 65 70 65 6e  deplib in $depen
f840: 64 65 6e 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09  dency_libs; do..
f850: 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24        deplibs="$
f860: 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22  deplib $deplibs"
f870: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69  .              i
f880: 66 20 74 65 73 74 20 22 58 24 64 75 70 6c 69 63  f test "X$duplic
f890: 61 74 65 5f 64 65 70 73 22 20 3d 20 22 58 79 65  ate_deps" = "Xye
f8a0: 73 22 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  s" ; then..     
f8b0: 20 20 20 63 61 73 65 20 22 24 74 6d 70 5f 6c 69     case "$tmp_li
f8c0: 62 73 20 22 20 69 6e 0a 09 20 20 20 20 20 20 20  bs " in..       
f8d0: 20 2a 22 20 24 64 65 70 6c 69 62 20 22 2a 29 20   *" $deplib "*) 
f8e0: 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 3d 22  specialdeplibs="
f8f0: 24 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 20  $specialdeplibs 
f900: 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20 20  $deplib" ;;..   
f910: 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 20 20       esac.      
f920: 20 20 20 20 20 20 20 20 66 69 0a 09 20 20 20 20          fi..    
f930: 20 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70    tmp_libs="$tmp
f940: 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22 0a 09  _libs $deplib"..
f950: 20 20 20 20 64 6f 6e 65 0a 09 20 20 65 6c 69 66      done..  elif
f960: 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
f970: 22 20 21 3d 20 70 72 6f 67 20 26 26 20 74 65 73  " != prog && tes
f980: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d  t "$linkmode" !=
f990: 20 6c 69 62 3b 20 74 68 65 6e 0a 09 20 20 20 20   lib; then..    
f9a0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
f9b0: 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f 74  : \`$lib' is not
f9c0: 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c   a convenience l
f9d0: 69 62 72 61 72 79 22 20 31 3e 26 32 0a 09 20 20  ibrary" 1>&2..  
f9e0: 20 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49    exit $EXIT_FAI
f9f0: 4c 55 52 45 0a 09 20 20 66 69 0a 09 20 20 63 6f  LURE..  fi..  co
fa00: 6e 74 69 6e 75 65 0a 09 66 69 20 23 20 24 70 61  ntinue..fi # $pa
fa10: 73 73 20 3d 20 63 6f 6e 76 0a 0a 0a 09 23 20 47  ss = conv....# G
fa20: 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  et the name of t
fa30: 68 65 20 6c 69 62 72 61 72 79 20 77 65 20 6c 69  he library we li
fa40: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 09 6c 69 6e  nk against...lin
fa50: 6b 6c 69 62 3d 0a 09 66 6f 72 20 6c 20 69 6e 20  klib=..for l in 
fa60: 24 6f 6c 64 5f 6c 69 62 72 61 72 79 20 24 6c 69  $old_library $li
fa70: 62 72 61 72 79 5f 6e 61 6d 65 73 3b 20 64 6f 0a  brary_names; do.
fa80: 09 20 20 6c 69 6e 6b 6c 69 62 3d 22 24 6c 22 0a  .  linklib="$l".
fa90: 09 64 6f 6e 65 0a 09 69 66 20 74 65 73 74 20 2d  .done..if test -
faa0: 7a 20 22 24 6c 69 6e 6b 6c 69 62 22 3b 20 74 68  z "$linklib"; th
fab0: 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  en..  $echo "$mo
fac0: 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 66  dename: cannot f
fad0: 69 6e 64 20 6e 61 6d 65 20 6f 66 20 6c 69 6e 6b  ind name of link
fae0: 20 6c 69 62 72 61 72 79 20 66 6f 72 20 5c 60 24   library for \`$
faf0: 6c 69 62 27 22 20 31 3e 26 32 0a 09 20 20 65 78  lib'" 1>&2..  ex
fb00: 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45  it $EXIT_FAILURE
fb10: 0a 09 66 69 0a 0a 09 23 20 54 68 69 73 20 6c 69  ..fi...# This li
fb20: 62 72 61 72 79 20 77 61 73 20 73 70 65 63 69 66  brary was specif
fb30: 69 65 64 20 77 69 74 68 20 2d 64 6c 6f 70 65 6e  ied with -dlopen
fb40: 2e 0a 09 69 66 20 74 65 73 74 20 22 24 70 61 73  ...if test "$pas
fb50: 73 22 20 3d 20 64 6c 6f 70 65 6e 3b 20 74 68 65  s" = dlopen; the
fb60: 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20  n..  if test -z 
fb70: 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a  "$libdir"; then.
fb80: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
fb90: 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 2d 64  ename: cannot -d
fba0: 6c 6f 70 65 6e 20 61 20 63 6f 6e 76 65 6e 69 65  lopen a convenie
fbb0: 6e 63 65 20 6c 69 62 72 61 72 79 3a 20 5c 60 24  nce library: \`$
fbc0: 6c 69 62 27 22 20 31 3e 26 32 0a 09 20 20 20 20  lib'" 1>&2..    
fbd0: 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
fbe0: 52 45 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74  RE..  fi..  if t
fbf0: 65 73 74 20 2d 7a 20 22 24 64 6c 6e 61 6d 65 22  est -z "$dlname"
fc00: 20 7c 7c 0a 09 20 20 20 20 20 74 65 73 74 20 22   ||..     test "
fc10: 24 64 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74 22  $dlopen_support"
fc20: 20 21 3d 20 79 65 73 20 7c 7c 0a 09 20 20 20 20   != yes ||..    
fc30: 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
fc40: 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 6e 6f  btool_libs" = no
fc50: 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 49 66  ; then..    # If
fc60: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 6c 6e   there is no dln
fc70: 61 6d 65 2c 20 6e 6f 20 64 6c 6f 70 65 6e 20 73  ame, no dlopen s
fc80: 75 70 70 6f 72 74 20 6f 72 20 77 65 27 72 65 20  upport or we're 
fc90: 6c 69 6e 6b 69 6e 67 0a 09 20 20 20 20 23 20 73  linking..    # s
fca0: 74 61 74 69 63 61 6c 6c 79 2c 20 77 65 20 6e 65  tatically, we ne
fcb0: 65 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e 20 20  ed to preload.  
fcc0: 57 65 20 61 6c 73 6f 20 6e 65 65 64 20 74 6f 20  We also need to 
fcd0: 70 72 65 6c 6f 61 64 20 61 6e 79 0a 09 20 20 20  preload any..   
fce0: 20 23 20 64 65 70 65 6e 64 65 6e 74 20 6c 69 62   # dependent lib
fcf0: 72 61 72 69 65 73 20 73 6f 20 6c 69 62 6c 74 64  raries so libltd
fd00: 6c 27 73 20 64 65 70 6c 69 62 20 70 72 65 6c 6f  l's deplib prelo
fd10: 61 64 65 72 20 64 6f 65 73 6e 27 74 0a 09 20 20  ader doesn't..  
fd20: 20 20 23 20 62 6f 6d 62 20 6f 75 74 20 69 6e 20    # bomb out in 
fd30: 74 68 65 20 6c 6f 61 64 20 64 65 70 6c 69 62 73  the load deplibs
fd40: 20 70 68 61 73 65 2e 0a 09 20 20 20 20 64 6c 70   phase...    dlp
fd50: 72 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66  refiles="$dlpref
fd60: 69 6c 65 73 20 24 6c 69 62 20 24 64 65 70 65 6e  iles $lib $depen
fd70: 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 65  dency_libs"..  e
fd80: 6c 73 65 0a 09 20 20 20 20 6e 65 77 64 6c 66 69  lse..    newdlfi
fd90: 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69 6c 65 73  les="$newdlfiles
fda0: 20 24 6c 69 62 22 0a 09 20 20 66 69 0a 09 20 20   $lib"..  fi..  
fdb0: 63 6f 6e 74 69 6e 75 65 0a 09 66 69 20 23 20 24  continue..fi # $
fdc0: 70 61 73 73 20 3d 20 64 6c 6f 70 65 6e 0a 0a 09  pass = dlopen...
fdd0: 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61 62 73  # We need an abs
fde0: 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 63 61 73  olute path...cas
fdf0: 65 20 24 6c 61 64 69 72 20 69 6e 0a 09 5b 5c 5c  e $ladir in..[\\
fe00: 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b  /]* | [A-Za-z]:[
fe10: 5c 5c 2f 5d 2a 29 20 61 62 73 5f 6c 61 64 69 72  \\/]*) abs_ladir
fe20: 3d 22 24 6c 61 64 69 72 22 20 3b 3b 0a 09 2a 29  ="$ladir" ;;..*)
fe30: 0a 09 20 20 61 62 73 5f 6c 61 64 69 72 3d 60 63  ..  abs_ladir=`c
fe40: 64 20 22 24 6c 61 64 69 72 22 20 26 26 20 70 77  d "$ladir" && pw
fe50: 64 60 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a  d`..  if test -z
fe60: 20 22 24 61 62 73 5f 6c 61 64 69 72 22 3b 20 74   "$abs_ladir"; t
fe70: 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22  hen..    $echo "
fe80: 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
fe90: 6e 67 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65 72  ng: cannot deter
fea0: 6d 69 6e 65 20 61 62 73 6f 6c 75 74 65 20 64 69  mine absolute di
feb0: 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66 20  rectory name of 
fec0: 5c 60 24 6c 61 64 69 72 27 22 20 31 3e 26 32 0a  \`$ladir'" 1>&2.
fed0: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
fee0: 65 6e 61 6d 65 3a 20 70 61 73 73 69 6e 67 20 69  ename: passing i
fef0: 74 20 6c 69 74 65 72 61 6c 6c 79 20 74 6f 20 74  t literally to t
ff00: 68 65 20 6c 69 6e 6b 65 72 2c 20 61 6c 74 68 6f  he linker, altho
ff10: 75 67 68 20 69 74 20 6d 69 67 68 74 20 66 61 69  ugh it might fai
ff20: 6c 22 20 31 3e 26 32 0a 09 20 20 20 20 61 62 73  l" 1>&2..    abs
ff30: 5f 6c 61 64 69 72 3d 22 24 6c 61 64 69 72 22 0a  _ladir="$ladir".
ff40: 09 20 20 66 69 0a 09 20 20 3b 3b 0a 09 65 73 61  .  fi..  ;;..esa
ff50: 63 0a 09 6c 61 6e 61 6d 65 3d 60 24 65 63 68 6f  c..laname=`$echo
ff60: 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64   "X$lib" | $Xsed
ff70: 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
ff80: 0a 09 23 20 46 69 6e 64 20 74 68 65 20 72 65 6c  ..# Find the rel
ff90: 65 76 61 6e 74 20 6f 62 6a 65 63 74 20 64 69 72  evant object dir
ffa0: 65 63 74 6f 72 79 20 61 6e 64 20 6c 69 62 72 61  ectory and libra
ffb0: 72 79 20 6e 61 6d 65 2e 0a 09 69 66 20 74 65 73  ry name...if tes
ffc0: 74 20 22 58 24 69 6e 73 74 61 6c 6c 65 64 22 20  t "X$installed" 
ffd0: 3d 20 58 79 65 73 3b 20 74 68 65 6e 0a 09 20 20  = Xyes; then..  
ffe0: 69 66 20 74 65 73 74 20 21 20 2d 66 20 22 24 6c  if test ! -f "$l
fff0: 69 62 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 20  ibdir/$linklib" 
10000 26 26 20 74 65 73 74 20 2d 66 20 22 24 61 62 73  && test -f "$abs
10010 5f 6c 61 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22  _ladir/$linklib"
10020 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63 68  ; then..    $ech
10030 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
10040 72 6e 69 6e 67 3a 20 6c 69 62 72 61 72 79 20 5c  rning: library \
10050 60 24 6c 69 62 27 20 77 61 73 20 6d 6f 76 65 64  `$lib' was moved
10060 2e 22 20 31 3e 26 32 0a 09 20 20 20 20 64 69 72  ." 1>&2..    dir
10070 3d 22 24 6c 61 64 69 72 22 0a 09 20 20 20 20 61  ="$ladir"..    a
10080 62 73 64 69 72 3d 22 24 61 62 73 5f 6c 61 64 69  bsdir="$abs_ladi
10090 72 22 0a 09 20 20 20 20 6c 69 62 64 69 72 3d 22  r"..    libdir="
100a0 24 61 62 73 5f 6c 61 64 69 72 22 0a 09 20 20 65  $abs_ladir"..  e
100b0 6c 73 65 0a 09 20 20 20 20 64 69 72 3d 22 24 6c  lse..    dir="$l
100c0 69 62 64 69 72 22 0a 09 20 20 20 20 61 62 73 64  ibdir"..    absd
100d0 69 72 3d 22 24 6c 69 62 64 69 72 22 0a 09 20 20  ir="$libdir"..  
100e0 66 69 0a 09 20 20 74 65 73 74 20 22 58 24 68 61  fi..  test "X$ha
100f0 72 64 63 6f 64 65 5f 61 75 74 6f 6d 61 74 69 63  rdcode_automatic
10100 22 20 3d 20 58 79 65 73 20 26 26 20 61 76 6f 69  " = Xyes && avoi
10110 64 74 65 6d 70 72 70 61 74 68 3d 79 65 73 0a 09  dtemprpath=yes..
10120 65 6c 73 65 0a 09 20 20 69 66 20 74 65 73 74 20  else..  if test 
10130 21 20 2d 66 20 22 24 6c 61 64 69 72 2f 24 6f 62  ! -f "$ladir/$ob
10140 6a 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 20 26  jdir/$linklib" &
10150 26 20 74 65 73 74 20 2d 66 20 22 24 61 62 73 5f  & test -f "$abs_
10160 6c 61 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 3b  ladir/$linklib";
10170 20 74 68 65 6e 0a 09 20 20 20 20 64 69 72 3d 22   then..    dir="
10180 24 6c 61 64 69 72 22 0a 09 20 20 20 20 61 62 73  $ladir"..    abs
10190 64 69 72 3d 22 24 61 62 73 5f 6c 61 64 69 72 22  dir="$abs_ladir"
101a0 0a 09 20 20 20 20 23 20 52 65 6d 6f 76 65 20 74  ..    # Remove t
101b0 68 69 73 20 73 65 61 72 63 68 20 70 61 74 68 20  his search path 
101c0 6c 61 74 65 72 0a 09 20 20 20 20 6e 6f 74 69 6e  later..    notin
101d0 73 74 5f 70 61 74 68 3d 22 24 6e 6f 74 69 6e 73  st_path="$notins
101e0 74 5f 70 61 74 68 20 24 61 62 73 5f 6c 61 64 69  t_path $abs_ladi
101f0 72 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  r"..  else..    
10200 64 69 72 3d 22 24 6c 61 64 69 72 2f 24 6f 62 6a  dir="$ladir/$obj
10210 64 69 72 22 0a 09 20 20 20 20 61 62 73 64 69 72  dir"..    absdir
10220 3d 22 24 61 62 73 5f 6c 61 64 69 72 2f 24 6f 62  ="$abs_ladir/$ob
10230 6a 64 69 72 22 0a 09 20 20 20 20 23 20 52 65 6d  jdir"..    # Rem
10240 6f 76 65 20 74 68 69 73 20 73 65 61 72 63 68 20  ove this search 
10250 70 61 74 68 20 6c 61 74 65 72 0a 09 20 20 20 20  path later..    
10260 6e 6f 74 69 6e 73 74 5f 70 61 74 68 3d 22 24 6e  notinst_path="$n
10270 6f 74 69 6e 73 74 5f 70 61 74 68 20 24 61 62 73  otinst_path $abs
10280 5f 6c 61 64 69 72 22 0a 09 20 20 66 69 0a 09 66  _ladir"..  fi..f
10290 69 20 23 20 24 69 6e 73 74 61 6c 6c 65 64 20 3d  i # $installed =
102a0 20 79 65 73 0a 09 6e 61 6d 65 3d 60 24 65 63 68   yes..name=`$ech
102b0 6f 20 22 58 24 6c 61 6e 61 6d 65 22 20 7c 20 24  o "X$laname" | $
102c0 58 73 65 64 20 2d 65 20 27 73 2f 5c 2e 6c 61 24  Xsed -e 's/\.la$
102d0 2f 2f 27 20 2d 65 20 27 73 2f 5e 6c 69 62 2f 2f  //' -e 's/^lib//
102e0 27 60 0a 0a 09 23 20 54 68 69 73 20 6c 69 62 72  '`...# This libr
102f0 61 72 79 20 77 61 73 20 73 70 65 63 69 66 69 65  ary was specifie
10300 64 20 77 69 74 68 20 2d 64 6c 70 72 65 6f 70 65  d with -dlpreope
10310 6e 2e 0a 09 69 66 20 74 65 73 74 20 22 24 70 61  n...if test "$pa
10320 73 73 22 20 3d 20 64 6c 70 72 65 6f 70 65 6e 3b  ss" = dlpreopen;
10330 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74   then..  if test
10340 20 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74   -z "$libdir"; t
10350 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22  hen..    $echo "
10360 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f  $modename: canno
10370 74 20 2d 64 6c 70 72 65 6f 70 65 6e 20 61 20 63  t -dlpreopen a c
10380 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62 72 61  onvenience libra
10390 72 79 3a 20 5c 60 24 6c 69 62 27 22 20 31 3e 26  ry: \`$lib'" 1>&
103a0 32 0a 09 20 20 20 20 65 78 69 74 20 24 45 58 49  2..    exit $EXI
103b0 54 5f 46 41 49 4c 55 52 45 0a 09 20 20 66 69 0a  T_FAILURE..  fi.
103c0 09 20 20 23 20 50 72 65 66 65 72 20 75 73 69 6e  .  # Prefer usin
103d0 67 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61  g a static libra
103e0 72 79 20 28 73 6f 20 74 68 61 74 20 6e 6f 20 73  ry (so that no s
103f0 69 6c 6c 79 20 5f 44 59 4e 41 4d 49 43 20 73 79  illy _DYNAMIC sy
10400 6d 62 6f 6c 73 0a 09 20 20 23 20 61 72 65 20 72  mbols..  # are r
10410 65 71 75 69 72 65 64 20 74 6f 20 6c 69 6e 6b 29  equired to link)
10420 2e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20  ...  if test -n 
10430 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 3b 20  "$old_library"; 
10440 74 68 65 6e 0a 09 20 20 20 20 6e 65 77 64 6c 70  then..    newdlp
10450 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70  refiles="$newdlp
10460 72 65 66 69 6c 65 73 20 24 64 69 72 2f 24 6f 6c  refiles $dir/$ol
10470 64 5f 6c 69 62 72 61 72 79 22 0a 09 20 20 23 20  d_library"..  # 
10480 4f 74 68 65 72 77 69 73 65 2c 20 75 73 65 20 74  Otherwise, use t
10490 68 65 20 64 6c 6e 61 6d 65 2c 20 73 6f 20 74 68  he dlname, so th
104a0 61 74 20 6c 74 5f 64 6c 6f 70 65 6e 20 66 69 6e  at lt_dlopen fin
104b0 64 73 20 69 74 2e 0a 09 20 20 65 6c 69 66 20 74  ds it...  elif t
104c0 65 73 74 20 2d 6e 20 22 24 64 6c 6e 61 6d 65 22  est -n "$dlname"
104d0 3b 20 74 68 65 6e 0a 09 20 20 20 20 6e 65 77 64  ; then..    newd
104e0 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64  lprefiles="$newd
104f0 6c 70 72 65 66 69 6c 65 73 20 24 64 69 72 2f 24  lprefiles $dir/$
10500 64 6c 6e 61 6d 65 22 0a 09 20 20 65 6c 73 65 0a  dlname"..  else.
10510 09 20 20 20 20 6e 65 77 64 6c 70 72 65 66 69 6c  .    newdlprefil
10520 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c  es="$newdlprefil
10530 65 73 20 24 64 69 72 2f 24 6c 69 6e 6b 6c 69 62  es $dir/$linklib
10540 22 0a 09 20 20 66 69 0a 09 66 69 20 23 20 24 70  "..  fi..fi # $p
10550 61 73 73 20 3d 20 64 6c 70 72 65 6f 70 65 6e 0a  ass = dlpreopen.
10560 0a 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c  ..if test -z "$l
10570 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20  ibdir"; then..  
10580 23 20 4c 69 6e 6b 20 74 68 65 20 63 6f 6e 76 65  # Link the conve
10590 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 79 0a 09  nience library..
105a0 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b    if test "$link
105b0 6d 6f 64 65 22 20 3d 20 6c 69 62 3b 20 74 68 65  mode" = lib; the
105c0 6e 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22  n..    deplibs="
105d0 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72  $dir/$old_librar
105e0 79 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 65  y $deplibs"..  e
105f0 6c 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d  lif test "$linkm
10600 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22 70 72  ode,$pass" = "pr
10610 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68 65 6e 0a 09  og,link"; then..
10620 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c      compile_depl
10630 69 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64 5f 6c  ibs="$dir/$old_l
10640 69 62 72 61 72 79 20 24 63 6f 6d 70 69 6c 65 5f  ibrary $compile_
10650 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66 69  deplibs"..    fi
10660 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22  nalize_deplibs="
10670 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72  $dir/$old_librar
10680 79 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  y $finalize_depl
10690 69 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ibs"..  else..  
106a0 20 20 64 65 70 6c 69 62 73 3d 22 24 6c 69 62 20    deplibs="$lib 
106b0 24 64 65 70 6c 69 62 73 22 20 23 20 75 73 65 64  $deplibs" # used
106c0 20 66 6f 72 20 70 72 6f 67 2c 73 63 61 6e 20 70   for prog,scan p
106d0 61 73 73 0a 09 20 20 66 69 0a 09 20 20 63 6f 6e  ass..  fi..  con
106e0 74 69 6e 75 65 0a 09 66 69 0a 0a 0a 09 69 66 20  tinue..fi....if 
106f0 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
10700 20 3d 20 70 72 6f 67 20 26 26 20 74 65 73 74 20   = prog && test 
10710 22 24 70 61 73 73 22 20 21 3d 20 6c 69 6e 6b 3b  "$pass" != link;
10720 20 74 68 65 6e 0a 09 20 20 6e 65 77 6c 69 62 5f   then..  newlib_
10730 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6e 65  search_path="$ne
10740 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
10750 20 24 6c 61 64 69 72 22 0a 09 20 20 64 65 70 6c   $ladir"..  depl
10760 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70 6c 69  ibs="$lib $depli
10770 62 73 22 0a 0a 09 20 20 6c 69 6e 6b 61 6c 6c 64  bs"...  linkalld
10780 65 70 6c 69 62 73 3d 6e 6f 0a 09 20 20 69 66 20  eplibs=no..  if 
10790 74 65 73 74 20 22 24 6c 69 6e 6b 5f 61 6c 6c 5f  test "$link_all_
107a0 64 65 70 6c 69 62 73 22 20 21 3d 20 6e 6f 20 7c  deplibs" != no |
107b0 7c 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 72  | test -z "$libr
107c0 61 72 79 5f 6e 61 6d 65 73 22 20 7c 7c 0a 09 20  ary_names" ||.. 
107d0 20 20 20 20 74 65 73 74 20 22 24 62 75 69 6c 64      test "$build
107e0 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
107f0 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 6c   no; then..    l
10800 69 6e 6b 61 6c 6c 64 65 70 6c 69 62 73 3d 79 65  inkalldeplibs=ye
10810 73 0a 09 20 20 66 69 0a 0a 09 20 20 74 6d 70 5f  s..  fi...  tmp_
10820 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70  libs=..  for dep
10830 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
10840 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
10850 20 63 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e   case $deplib in
10860 0a 09 20 20 20 20 2d 4c 2a 29 20 6e 65 77 6c 69  ..    -L*) newli
10870 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24  b_search_path="$
10880 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
10890 74 68 20 22 60 24 65 63 68 6f 20 22 58 24 64 65  th "`$echo "X$de
108a0 70 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  plib" | $Xsed -e
108b0 20 27 73 2f 5e 2d 4c 2f 2f 27 60 3b 3b 20 23 23   's/^-L//'`;; ##
108c0 23 20 74 65 73 74 73 75 69 74 65 3a 20 73 6b 69  # testsuite: ski
108d0 70 20 6e 65 73 74 65 64 20 71 75 6f 74 69 6e 67  p nested quoting
108e0 20 74 65 73 74 0a 09 20 20 20 20 65 73 61 63 0a   test..    esac.
108f0 09 20 20 20 20 23 20 4e 65 65 64 20 74 6f 20 6c  .    # Need to l
10900 69 6e 6b 20 61 67 61 69 6e 73 74 20 61 6c 6c 20  ink against all 
10910 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3f  dependency_libs?
10920 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
10930 6c 69 6e 6b 61 6c 6c 64 65 70 6c 69 62 73 22 20  linkalldeplibs" 
10940 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  = yes; then..   
10950 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70     deplibs="$dep
10960 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20  lib $deplibs".. 
10970 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23     else..      #
10980 20 4e 65 65 64 20 74 6f 20 68 61 72 64 63 6f 64   Need to hardcod
10990 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79  e shared library
109a0 20 70 61 74 68 73 0a 09 20 20 20 20 20 20 23 20   paths..      # 
109b0 6f 72 2f 61 6e 64 20 6c 69 6e 6b 20 61 67 61 69  or/and link agai
109c0 6e 73 74 20 73 74 61 74 69 63 20 6c 69 62 72 61  nst static libra
109d0 72 69 65 73 0a 09 20 20 20 20 20 20 6e 65 77 64  ries..      newd
109e0 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
109f0 24 64 65 70 6c 69 62 20 24 6e 65 77 64 65 70 65  $deplib $newdepe
10a00 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20  ndency_libs"..  
10a10 20 20 66 69 0a 09 20 20 20 20 69 66 20 74 65 73    fi..    if tes
10a20 74 20 22 58 24 64 75 70 6c 69 63 61 74 65 5f 64  t "X$duplicate_d
10a30 65 70 73 22 20 3d 20 22 58 79 65 73 22 20 3b 20  eps" = "Xyes" ; 
10a40 74 68 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65  then..      case
10a50 20 22 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e   "$tmp_libs " in
10a60 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c  ..      *" $depl
10a70 69 62 20 22 2a 29 20 73 70 65 63 69 61 6c 64 65  ib "*) specialde
10a80 70 6c 69 62 73 3d 22 24 73 70 65 63 69 61 6c 64  plibs="$speciald
10a90 65 70 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20  eplibs $deplib" 
10aa0 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
10ab0 20 20 20 20 66 69 0a 09 20 20 20 20 74 6d 70 5f      fi..    tmp_
10ac0 6c 69 62 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20  libs="$tmp_libs 
10ad0 24 64 65 70 6c 69 62 22 0a 09 20 20 64 6f 6e 65  $deplib"..  done
10ae0 20 23 20 66 6f 72 20 64 65 70 6c 69 62 0a 09 20   # for deplib.. 
10af0 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69 20 23 20   continue..fi # 
10b00 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72 6f 67  $linkmode = prog
10b10 2e 2e 2e 0a 0a 09 69 66 20 74 65 73 74 20 22 24  ......if test "$
10b20 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20  linkmode,$pass" 
10b30 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74  = "prog,link"; t
10b40 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d  hen..  if test -
10b50 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  n "$library_name
10b60 73 22 20 26 26 0a 09 20 20 20 20 20 7b 20 74 65  s" &&..     { te
10b70 73 74 20 22 24 70 72 65 66 65 72 5f 73 74 61 74  st "$prefer_stat
10b80 69 63 5f 6c 69 62 73 22 20 3d 20 6e 6f 20 7c 7c  ic_libs" = no ||
10b90 20 74 65 73 74 20 2d 7a 20 22 24 6f 6c 64 5f 6c   test -z "$old_l
10ba0 69 62 72 61 72 79 22 3b 20 7d 3b 20 74 68 65 6e  ibrary"; }; then
10bb0 0a 09 20 20 20 20 23 20 57 65 20 6e 65 65 64 20  ..    # We need 
10bc0 74 6f 20 68 61 72 64 63 6f 64 65 20 74 68 65 20  to hardcode the 
10bd0 6c 69 62 72 61 72 79 20 70 61 74 68 0a 09 20 20  library path..  
10be0 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73    if test -n "$s
10bf0 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20 26 26  hlibpath_var" &&
10c00 20 74 65 73 74 20 2d 7a 20 22 24 61 76 6f 69 64   test -z "$avoid
10c10 74 65 6d 70 72 70 61 74 68 22 20 3b 20 74 68 65  temprpath" ; the
10c20 6e 0a 09 20 20 20 20 20 20 23 20 4d 61 6b 65 20  n..      # Make 
10c30 73 75 72 65 20 74 68 65 20 72 70 61 74 68 20 63  sure the rpath c
10c40 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75 6e 69  ontains only uni
10c50 71 75 65 20 64 69 72 65 63 74 6f 72 69 65 73 2e  que directories.
10c60 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24 74  ..      case "$t
10c70 65 6d 70 5f 72 70 61 74 68 20 22 20 69 6e 0a 09  emp_rpath " in..
10c80 20 20 20 20 20 20 2a 22 20 24 64 69 72 20 22 2a        *" $dir "*
10c90 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 22 20 24  ) ;;..      *" $
10ca0 61 62 73 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20  absdir "*) ;;.. 
10cb0 20 20 20 20 20 2a 29 20 74 65 6d 70 5f 72 70 61       *) temp_rpa
10cc0 74 68 3d 22 24 74 65 6d 70 5f 72 70 61 74 68 20  th="$temp_rpath 
10cd0 24 61 62 73 64 69 72 22 20 3b 3b 0a 09 20 20 20  $absdir" ;;..   
10ce0 20 20 20 65 73 61 63 0a 09 20 20 20 20 66 69 0a     esac..    fi.
10cf0 0a 09 20 20 20 20 23 20 48 61 72 64 63 6f 64 65  ..    # Hardcode
10d00 20 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74   the library pat
10d10 68 2e 0a 09 20 20 20 20 23 20 53 6b 69 70 20 64  h...    # Skip d
10d20 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20  irectories that 
10d30 61 72 65 20 69 6e 20 74 68 65 20 73 79 73 74 65  are in the syste
10d40 6d 20 64 65 66 61 75 6c 74 20 72 75 6e 2d 74 69  m default run-ti
10d50 6d 65 0a 09 20 20 20 20 23 20 73 65 61 72 63 68  me..    # search
10d60 20 70 61 74 68 2e 0a 09 20 20 20 20 63 61 73 65   path...    case
10d70 20 22 20 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65   " $sys_lib_dlse
10d80 61 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a 09  arch_path " in..
10d90 20 20 20 20 2a 22 20 24 61 62 73 64 69 72 20 22      *" $absdir "
10da0 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20  *) ;;..    *).. 
10db0 20 20 20 20 20 63 61 73 65 20 22 24 63 6f 6d 70       case "$comp
10dc0 69 6c 65 5f 72 70 61 74 68 20 22 20 69 6e 0a 09  ile_rpath " in..
10dd0 20 20 20 20 20 20 2a 22 20 24 61 62 73 64 69 72        *" $absdir
10de0 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a   "*) ;;..      *
10df0 29 20 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d  ) compile_rpath=
10e00 22 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20  "$compile_rpath 
10e10 24 61 62 73 64 69 72 22 0a 09 20 20 20 20 20 20  $absdir"..      
10e20 65 73 61 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09  esac..      ;;..
10e30 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 63 61      esac..    ca
10e40 73 65 20 22 20 24 73 79 73 5f 6c 69 62 5f 64 6c  se " $sys_lib_dl
10e50 73 65 61 72 63 68 5f 70 61 74 68 20 22 20 69 6e  search_path " in
10e60 0a 09 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72  ..    *" $libdir
10e70 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 0a   "*) ;;..    *).
10e80 09 20 20 20 20 20 20 63 61 73 65 20 22 24 66 69  .      case "$fi
10e90 6e 61 6c 69 7a 65 5f 72 70 61 74 68 20 22 20 69  nalize_rpath " i
10ea0 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 6c 69 62  n..      *" $lib
10eb0 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20  dir "*) ;;..    
10ec0 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72 70    *) finalize_rp
10ed0 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 72  ath="$finalize_r
10ee0 70 61 74 68 20 24 6c 69 62 64 69 72 22 0a 09 20  path $libdir".. 
10ef0 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 20       esac..     
10f00 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20   ;;..    esac.. 
10f10 20 66 69 20 23 20 24 6c 69 6e 6b 6d 6f 64 65 2c   fi # $linkmode,
10f20 24 70 61 73 73 20 3d 20 70 72 6f 67 2c 6c 69 6e  $pass = prog,lin
10f30 6b 2e 2e 2e 0a 0a 09 20 20 69 66 20 74 65 73 74  k......  if test
10f40 20 22 24 61 6c 6c 64 65 70 6c 69 62 73 22 20 3d   "$alldeplibs" =
10f50 20 79 65 73 20 26 26 0a 09 20 20 20 20 20 7b 20   yes &&..     { 
10f60 74 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63  test "$deplibs_c
10f70 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3d 20 70  heck_method" = p
10f80 61 73 73 5f 61 6c 6c 20 7c 7c 0a 09 20 20 20 20  ass_all ||..    
10f90 20 20 20 7b 20 74 65 73 74 20 22 24 62 75 69 6c     { test "$buil
10fa0 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20  d_libtool_libs" 
10fb0 3d 20 79 65 73 20 26 26 0a 09 09 20 74 65 73 74  = yes &&... test
10fc0 20 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61   -n "$library_na
10fd0 6d 65 73 22 3b 20 7d 3b 20 7d 3b 20 74 68 65 6e  mes"; }; }; then
10fe0 0a 09 20 20 20 20 23 20 57 65 20 6f 6e 6c 79 20  ..    # We only 
10ff0 6e 65 65 64 20 74 6f 20 73 65 61 72 63 68 20 66  need to search f
11000 6f 72 20 73 74 61 74 69 63 20 6c 69 62 72 61 72  or static librar
11010 69 65 73 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75  ies..    continu
11020 65 0a 09 20 20 66 69 0a 09 66 69 0a 0a 09 6c 69  e..  fi..fi...li
11030 6e 6b 5f 73 74 61 74 69 63 3d 6e 6f 20 23 20 57  nk_static=no # W
11040 68 65 74 68 65 72 20 74 68 65 20 64 65 70 6c 69  hether the depli
11050 62 20 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64  b will be linked
11060 20 73 74 61 74 69 63 61 6c 6c 79 0a 09 75 73 65   statically..use
11070 5f 73 74 61 74 69 63 5f 6c 69 62 73 3d 24 70 72  _static_libs=$pr
11080 65 66 65 72 5f 73 74 61 74 69 63 5f 6c 69 62 73  efer_static_libs
11090 0a 09 69 66 20 74 65 73 74 20 22 24 75 73 65 5f  ..if test "$use_
110a0 73 74 61 74 69 63 5f 6c 69 62 73 22 20 3d 20 62  static_libs" = b
110b0 75 69 6c 74 20 26 26 20 74 65 73 74 20 22 24 69  uilt && test "$i
110c0 6e 73 74 61 6c 6c 65 64 22 20 3d 20 79 65 73 20  nstalled" = yes 
110d0 3b 20 74 68 65 6e 0a 09 20 20 75 73 65 5f 73 74  ; then..  use_st
110e0 61 74 69 63 5f 6c 69 62 73 3d 6e 6f 0a 09 66 69  atic_libs=no..fi
110f0 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6c  ..if test -n "$l
11100 69 62 72 61 72 79 5f 6e 61 6d 65 73 22 20 26 26  ibrary_names" &&
11110 0a 09 20 20 20 7b 20 74 65 73 74 20 22 24 75 73  ..   { test "$us
11120 65 5f 73 74 61 74 69 63 5f 6c 69 62 73 22 20 3d  e_static_libs" =
11130 20 6e 6f 20 7c 7c 20 74 65 73 74 20 2d 7a 20 22   no || test -z "
11140 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 3b 20 7d  $old_library"; }
11150 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73  ; then..  if tes
11160 74 20 22 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d  t "$installed" =
11170 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 6e   no; then..    n
11180 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d 22  otinst_deplibs="
11190 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73  $notinst_deplibs
111a0 20 24 6c 69 62 22 0a 09 20 20 20 20 6e 65 65 64   $lib"..    need
111b0 5f 72 65 6c 69 6e 6b 3d 79 65 73 0a 09 20 20 66  _relink=yes..  f
111c0 69 0a 09 20 20 23 20 54 68 69 73 20 69 73 20 61  i..  # This is a
111d0 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 0a   shared library.
111e0 0a 09 20 20 23 20 57 61 72 6e 20 61 62 6f 75 74  ..  # Warn about
111f0 20 70 6f 72 74 61 62 69 6c 69 74 79 2c 20 63 61   portability, ca
11200 6e 27 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  n't link against
11210 20 2d 6d 6f 64 75 6c 65 27 73 20 6f 6e 0a 09 20   -module's on.. 
11220 20 23 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20   # some systems 
11230 28 64 61 72 77 69 6e 29 0a 09 20 20 69 66 20 74  (darwin)..  if t
11240 65 73 74 20 22 24 73 68 6f 75 6c 64 6e 6f 74 6c  est "$shouldnotl
11250 69 6e 6b 22 20 3d 20 79 65 73 20 26 26 20 74 65  ink" = yes && te
11260 73 74 20 22 24 70 61 73 73 22 20 3d 20 6c 69 6e  st "$pass" = lin
11270 6b 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  k ; then..    $e
11280 63 68 6f 0a 09 20 20 20 20 69 66 20 74 65 73 74  cho..    if test
11290 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70   "$linkmode" = p
112a0 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  rog; then..     
112b0 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e   $echo "*** Warn
112c0 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74 68 65  ing: Linking the
112d0 20 65 78 65 63 75 74 61 62 6c 65 20 24 6f 75 74   executable $out
112e0 70 75 74 20 61 67 61 69 6e 73 74 20 74 68 65 20  put against the 
112f0 6c 6f 61 64 61 62 6c 65 20 6d 6f 64 75 6c 65 22  loadable module"
11300 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20  ..    else..    
11310 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72    $echo "*** War
11320 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74 68  ning: Linking th
11330 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79  e shared library
11340 20 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73 74   $output against
11350 20 74 68 65 20 6c 6f 61 64 61 62 6c 65 20 6d 6f   the loadable mo
11360 64 75 6c 65 22 0a 09 20 20 20 20 66 69 0a 09 20  dule"..    fi.. 
11370 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 24 6c     $echo "*** $l
11380 69 6e 6b 6c 69 62 20 69 73 20 6e 6f 74 20 70 6f  inklib is not po
11390 72 74 61 62 6c 65 21 22 0a 09 20 20 66 69 0a 09  rtable!"..  fi..
113a0 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b    if test "$link
113b0 6d 6f 64 65 22 20 3d 20 6c 69 62 20 26 26 0a 09  mode" = lib &&..
113c0 20 20 20 20 20 74 65 73 74 20 22 24 68 61 72 64       test "$hard
113d0 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 22 20  code_into_libs" 
113e0 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  = yes; then..   
113f0 20 23 20 48 61 72 64 63 6f 64 65 20 74 68 65 20   # Hardcode the 
11400 6c 69 62 72 61 72 79 20 70 61 74 68 2e 0a 09 20  library path... 
11410 20 20 20 23 20 53 6b 69 70 20 64 69 72 65 63 74     # Skip direct
11420 6f 72 69 65 73 20 74 68 61 74 20 61 72 65 20 69  ories that are i
11430 6e 20 74 68 65 20 73 79 73 74 65 6d 20 64 65 66  n the system def
11440 61 75 6c 74 20 72 75 6e 2d 74 69 6d 65 0a 09 20  ault run-time.. 
11450 20 20 20 23 20 73 65 61 72 63 68 20 70 61 74 68     # search path
11460 2e 0a 09 20 20 20 20 63 61 73 65 20 22 20 24 73  ...    case " $s
11470 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68 5f  ys_lib_dlsearch_
11480 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20 2a  path " in..    *
11490 22 20 24 61 62 73 64 69 72 20 22 2a 29 20 3b 3b  " $absdir "*) ;;
114a0 0a 09 20 20 20 20 2a 29 0a 09 20 20 20 20 20 20  ..    *)..      
114b0 63 61 73 65 20 22 24 63 6f 6d 70 69 6c 65 5f 72  case "$compile_r
114c0 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20 20  path " in..     
114d0 20 2a 22 20 24 61 62 73 64 69 72 20 22 2a 29 20   *" $absdir "*) 
114e0 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 63 6f 6d  ;;..      *) com
114f0 70 69 6c 65 5f 72 70 61 74 68 3d 22 24 63 6f 6d  pile_rpath="$com
11500 70 69 6c 65 5f 72 70 61 74 68 20 24 61 62 73 64  pile_rpath $absd
11510 69 72 22 0a 09 20 20 20 20 20 20 65 73 61 63 0a  ir"..      esac.
11520 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 65  .      ;;..    e
11530 73 61 63 0a 09 20 20 20 20 63 61 73 65 20 22 20  sac..    case " 
11540 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63  $sys_lib_dlsearc
11550 68 5f 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20  h_path " in..   
11560 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a 29 20   *" $libdir "*) 
11570 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20 20 20  ;;..    *)..    
11580 20 20 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a    case "$finaliz
11590 65 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20  e_rpath " in..  
115a0 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22      *" $libdir "
115b0 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20  *) ;;..      *) 
115c0 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3d 22  finalize_rpath="
115d0 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 20  $finalize_rpath 
115e0 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20 20 20  $libdir"..      
115f0 65 73 61 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09  esac..      ;;..
11600 20 20 20 20 65 73 61 63 0a 09 20 20 66 69 0a 0a      esac..  fi..
11610 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
11620 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d  old_archive_from
11630 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73 22 3b 20  _expsyms_cmds"; 
11640 74 68 65 6e 0a 09 20 20 20 20 23 20 66 69 67 75  then..    # figu
11650 72 65 20 6f 75 74 20 74 68 65 20 73 6f 6e 61 6d  re out the sonam
11660 65 0a 09 20 20 20 20 73 65 74 20 64 75 6d 6d 79  e..    set dummy
11670 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 0a   $library_names.
11680 09 20 20 20 20 72 65 61 6c 6e 61 6d 65 3d 22 24  .    realname="$
11690 32 22 0a 09 20 20 20 20 73 68 69 66 74 3b 20 73  2"..    shift; s
116a0 68 69 66 74 0a 09 20 20 20 20 6c 69 62 6e 61 6d  hift..    libnam
116b0 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20  e=`eval \\$echo 
116c0 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c  \"$libname_spec\
116d0 22 60 0a 09 20 20 20 20 23 20 75 73 65 20 64 6c  "`..    # use dl
116e0 6e 61 6d 65 20 69 66 20 77 65 20 67 6f 74 20 69  name if we got i
116f0 74 2e 20 69 74 27 73 20 70 65 72 66 65 63 74 6c  t. it's perfectl
11700 79 20 67 6f 6f 64 2c 20 6e 6f 3f 0a 09 20 20 20  y good, no?..   
11710 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 6c   if test -n "$dl
11720 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 20  name"; then..   
11730 20 20 20 73 6f 6e 61 6d 65 3d 22 24 64 6c 6e 61     soname="$dlna
11740 6d 65 22 0a 09 20 20 20 20 65 6c 69 66 20 74 65  me"..    elif te
11750 73 74 20 2d 6e 20 22 24 73 6f 6e 61 6d 65 5f 73  st -n "$soname_s
11760 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  pec"; then..    
11770 20 20 23 20 62 6c 65 68 20 77 69 6e 64 6f 77 73    # bleh windows
11780 0a 09 20 20 20 20 20 20 63 61 73 65 20 24 68 6f  ..      case $ho
11790 73 74 20 69 6e 0a 09 20 20 20 20 20 20 2a 63 79  st in..      *cy
117a0 67 77 69 6e 2a 20 7c 20 6d 69 6e 67 77 2a 29 0a  gwin* | mingw*).
117b0 09 09 6d 61 6a 6f 72 3d 60 65 78 70 72 20 24 63  ..major=`expr $c
117c0 75 72 72 65 6e 74 20 2d 20 24 61 67 65 60 0a 09  urrent - $age`..
117d0 09 76 65 72 73 75 66 66 69 78 3d 22 2d 24 6d 61  .versuffix="-$ma
117e0 6a 6f 72 22 0a 09 09 3b 3b 0a 09 20 20 20 20 20  jor"...;;..     
117f0 20 65 73 61 63 0a 09 20 20 20 20 20 20 65 76 61   esac..      eva
11800 6c 20 73 6f 6e 61 6d 65 3d 5c 22 24 73 6f 6e 61  l soname=\"$sona
11810 6d 65 5f 73 70 65 63 5c 22 0a 09 20 20 20 20 65  me_spec\"..    e
11820 6c 73 65 0a 09 20 20 20 20 20 20 73 6f 6e 61 6d  lse..      sonam
11830 65 3d 22 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20  e="$realname".. 
11840 20 20 20 66 69 0a 0a 09 20 20 20 20 23 20 4d 61     fi...    # Ma
11850 6b 65 20 61 20 6e 65 77 20 6e 61 6d 65 20 66 6f  ke a new name fo
11860 72 20 74 68 65 20 65 78 74 72 61 63 74 5f 65 78  r the extract_ex
11870 70 73 79 6d 73 5f 63 6d 64 73 20 74 6f 20 75 73  psyms_cmds to us
11880 65 0a 09 20 20 20 20 73 6f 72 6f 6f 74 3d 22 24  e..    soroot="$
11890 73 6f 6e 61 6d 65 22 0a 09 20 20 20 20 73 6f 6e  soname"..    son
118a0 61 6d 65 3d 60 24 65 63 68 6f 20 24 73 6f 72 6f  ame=`$echo $soro
118b0 6f 74 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27  ot | ${SED} -e '
118c0 73 2f 5e 2e 2a 5c 2f 2f 2f 27 60 0a 09 20 20 20  s/^.*\///'`..   
118d0 20 6e 65 77 6c 69 62 3d 22 6c 69 62 69 6d 70 2d   newlib="libimp-
118e0 60 24 65 63 68 6f 20 24 73 6f 6e 61 6d 65 20 7c  `$echo $soname |
118f0 20 24 7b 53 45 44 7d 20 27 73 2f 5e 6c 69 62 2f   ${SED} 's/^lib/
11900 2f 3b 73 2f 5c 2e 64 6c 6c 24 2f 2f 27 60 2e 61  /;s/\.dll$//'`.a
11910 22 0a 0a 09 20 20 20 20 23 20 49 66 20 74 68 65  "...    # If the
11920 20 6c 69 62 72 61 72 79 20 68 61 73 20 6e 6f 20   library has no 
11930 65 78 70 6f 72 74 20 6c 69 73 74 2c 20 74 68 65  export list, the
11940 6e 20 63 72 65 61 74 65 20 6f 6e 65 20 6e 6f 77  n create one now
11950 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 66  ..    if test -f
11960 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
11970 2f 24 73 6f 6e 61 6d 65 2d 64 65 66 22 3b 20 74  /$soname-def"; t
11980 68 65 6e 20 3a 0a 09 20 20 20 20 65 6c 73 65 0a  hen :..    else.
11990 09 20 20 20 20 20 20 24 73 68 6f 77 20 22 65 78  .      $show "ex
119a0 74 72 61 63 74 69 6e 67 20 65 78 70 6f 72 74 65  tracting exporte
119b0 64 20 73 79 6d 62 6f 6c 20 6c 69 73 74 20 66 72  d symbol list fr
119c0 6f 6d 20 5c 60 24 73 6f 6e 61 6d 65 27 22 0a 09  om \`$soname'"..
119d0 20 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22        save_ifs="
119e0 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09  $IFS"; IFS='~'..
119f0 20 20 20 20 20 20 63 6d 64 73 3d 24 65 78 74 72        cmds=$extr
11a00 61 63 74 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73  act_expsyms_cmds
11a10 0a 09 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20  ..      for cmd 
11a20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 09 49  in $cmds; do...I
11a30 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09  FS="$save_ifs"..
11a40 09 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d 64  .eval cmd=\"$cmd
11a50 5c 22 0a 09 09 24 73 68 6f 77 20 22 24 63 6d 64  \"...$show "$cmd
11a60 22 0a 09 09 24 72 75 6e 20 65 76 61 6c 20 22 24  "...$run eval "$
11a70 63 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a  cmd" || exit $?.
11a80 09 20 20 20 20 20 20 64 6f 6e 65 0a 09 20 20 20  .      done..   
11a90 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66     IFS="$save_if
11aa0 73 22 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20  s"..    fi...   
11ab0 20 23 20 43 72 65 61 74 65 20 24 6e 65 77 6c 69   # Create $newli
11ac0 62 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  b..    if test -
11ad0 66 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  f "$output_objdi
11ae0 72 2f 24 6e 65 77 6c 69 62 22 3b 20 74 68 65 6e  r/$newlib"; then
11af0 20 3a 3b 20 65 6c 73 65 0a 09 20 20 20 20 20 20   :; else..      
11b00 24 73 68 6f 77 20 22 67 65 6e 65 72 61 74 69 6e  $show "generatin
11b10 67 20 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79  g import library
11b20 20 66 6f 72 20 5c 60 24 73 6f 6e 61 6d 65 27 22   for \`$soname'"
11b30 0a 09 20 20 20 20 20 20 73 61 76 65 5f 69 66 73  ..      save_ifs
11b40 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27  ="$IFS"; IFS='~'
11b50 0a 09 20 20 20 20 20 20 63 6d 64 73 3d 24 6f 6c  ..      cmds=$ol
11b60 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 65  d_archive_from_e
11b70 78 70 73 79 6d 73 5f 63 6d 64 73 0a 09 20 20 20  xpsyms_cmds..   
11b80 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63     for cmd in $c
11b90 6d 64 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22 24  mds; do...IFS="$
11ba0 73 61 76 65 5f 69 66 73 22 0a 09 09 65 76 61 6c  save_ifs"...eval
11bb0 20 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 09   cmd=\"$cmd\"...
11bc0 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24  $show "$cmd"...$
11bd0 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20  run eval "$cmd" 
11be0 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20  || exit $?..    
11bf0 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46    done..      IF
11c00 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20  S="$save_ifs".. 
11c10 20 20 20 66 69 0a 09 20 20 20 20 23 20 6d 61 6b     fi..    # mak
11c20 65 20 73 75 72 65 20 74 68 65 20 6c 69 62 72 61  e sure the libra
11c30 72 79 20 76 61 72 69 61 62 6c 65 73 20 61 72 65  ry variables are
11c40 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65   pointing to the
11c50 20 6e 65 77 20 6c 69 62 72 61 72 79 0a 09 20 20   new library..  
11c60 20 20 64 69 72 3d 24 6f 75 74 70 75 74 5f 6f 62    dir=$output_ob
11c70 6a 64 69 72 0a 09 20 20 20 20 6c 69 6e 6b 6c 69  jdir..    linkli
11c80 62 3d 24 6e 65 77 6c 69 62 0a 09 20 20 66 69 20  b=$newlib..  fi 
11c90 23 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f  # test -n "$old_
11ca0 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 65 78 70  archive_from_exp
11cb0 73 79 6d 73 5f 63 6d 64 73 22 0a 0a 09 20 20 69  syms_cmds"...  i
11cc0 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64  f test "$linkmod
11cd0 65 22 20 3d 20 70 72 6f 67 20 7c 7c 20 74 65 73  e" = prog || tes
11ce0 74 20 22 24 6d 6f 64 65 22 20 21 3d 20 72 65 6c  t "$mode" != rel
11cf0 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20 61  ink; then..    a
11d00 64 64 5f 73 68 6c 69 62 70 61 74 68 3d 0a 09 20  dd_shlibpath=.. 
11d10 20 20 20 61 64 64 5f 64 69 72 3d 0a 09 20 20 20     add_dir=..   
11d20 20 61 64 64 3d 0a 09 20 20 20 20 6c 69 62 5f 6c   add=..    lib_l
11d30 69 6e 6b 65 64 3d 79 65 73 0a 09 20 20 20 20 63  inked=yes..    c
11d40 61 73 65 20 24 68 61 72 64 63 6f 64 65 5f 61 63  ase $hardcode_ac
11d50 74 69 6f 6e 20 69 6e 0a 09 20 20 20 20 69 6d 6d  tion in..    imm
11d60 65 64 69 61 74 65 20 7c 20 75 6e 73 75 70 70 6f  ediate | unsuppo
11d70 72 74 65 64 29 0a 09 20 20 20 20 20 20 69 66 20  rted)..      if 
11d80 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f  test "$hardcode_
11d90 64 69 72 65 63 74 22 20 3d 20 6e 6f 3b 20 74 68  direct" = no; th
11da0 65 6e 0a 09 09 61 64 64 3d 22 24 64 69 72 2f 24  en...add="$dir/$
11db0 6c 69 6e 6b 6c 69 62 22 0a 09 09 63 61 73 65 20  linklib"...case 
11dc0 24 68 6f 73 74 20 69 6e 0a 09 09 20 20 2a 2d 2a  $host in...  *-*
11dd0 2d 73 63 6f 33 2e 32 76 35 2e 30 2e 5b 30 32 34  -sco3.2v5.0.[024
11de0 5d 2a 29 20 61 64 64 5f 64 69 72 3d 22 2d 4c 24  ]*) add_dir="-L$
11df0 64 69 72 22 20 3b 3b 0a 09 09 20 20 2a 2d 2a 2d  dir" ;;...  *-*-
11e00 73 79 73 76 34 2a 75 77 32 2a 29 20 61 64 64 5f  sysv4*uw2*) add_
11e10 64 69 72 3d 22 2d 4c 24 64 69 72 22 20 3b 3b 0a  dir="-L$dir" ;;.
11e20 09 09 20 20 2a 2d 2a 2d 73 79 73 76 35 4f 70 65  ..  *-*-sysv5Ope
11e30 6e 55 4e 49 58 2a 20 7c 20 2a 2d 2a 2d 73 79 73  nUNIX* | *-*-sys
11e40 76 35 55 6e 69 78 57 61 72 65 37 2e 5b 30 31 5d  v5UnixWare7.[01]
11e50 2e 5b 31 30 5d 2a 20 7c 20 5c 0a 09 09 20 20 20  .[10]* | \...   
11e60 20 2a 2d 2a 2d 75 6e 69 78 77 61 72 65 37 2a 29   *-*-unixware7*)
11e70 20 61 64 64 5f 64 69 72 3d 22 2d 4c 24 64 69 72   add_dir="-L$dir
11e80 22 20 3b 3b 0a 09 09 20 20 2a 2d 2a 2d 64 61 72  " ;;...  *-*-dar
11e90 77 69 6e 2a 20 29 0a 09 09 20 20 20 20 23 20 69  win* )...    # i
11ea0 66 20 74 68 65 20 6c 69 62 20 69 73 20 61 20 6d  f the lib is a m
11eb0 6f 64 75 6c 65 20 74 68 65 6e 20 77 65 20 63 61  odule then we ca
11ec0 6e 20 6e 6f 74 20 6c 69 6e 6b 20 61 67 61 69 6e  n not link again
11ed0 73 74 0a 09 09 20 20 20 20 23 20 69 74 2c 20 73  st...    # it, s
11ee0 6f 6d 65 6f 6e 65 20 69 73 20 69 67 6e 6f 72 69  omeone is ignori
11ef0 6e 67 20 74 68 65 20 6e 65 77 20 77 61 72 6e 69  ng the new warni
11f00 6e 67 73 20 49 20 61 64 64 65 64 0a 09 09 20 20  ngs I added...  
11f10 20 20 69 66 20 2f 75 73 72 2f 62 69 6e 2f 66 69    if /usr/bin/fi
11f20 6c 65 20 2d 4c 20 24 61 64 64 20 32 3e 20 2f 64  le -L $add 2> /d
11f30 65 76 2f 6e 75 6c 6c 20 7c 0a 20 20 20 20 20 20  ev/null |.      
11f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11f50 24 45 47 52 45 50 20 22 3a 20 5b 5e 3a 5d 2a 20  $EGREP ": [^:]* 
11f60 62 75 6e 64 6c 65 22 20 3e 2f 64 65 76 2f 6e 75  bundle" >/dev/nu
11f70 6c 6c 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20  ll ; then...    
11f80 20 20 24 65 63 68 6f 20 22 2a 2a 20 57 61 72 6e    $echo "** Warn
11f90 69 6e 67 2c 20 6c 69 62 20 24 6c 69 6e 6b 6c 69  ing, lib $linkli
11fa0 62 20 69 73 20 61 20 6d 6f 64 75 6c 65 2c 20 6e  b is a module, n
11fb0 6f 74 20 61 20 73 68 61 72 65 64 20 6c 69 62 72  ot a shared libr
11fc0 61 72 79 22 0a 09 09 20 20 20 20 20 20 69 66 20  ary"...      if 
11fd0 74 65 73 74 20 2d 7a 20 22 24 6f 6c 64 5f 6c 69  test -z "$old_li
11fe0 62 72 61 72 79 22 20 3b 20 74 68 65 6e 0a 09 09  brary" ; then...
11ff0 20 20 20 20 20 20 20 20 24 65 63 68 6f 0a 09 09          $echo...
12000 20 20 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a          $echo "*
12010 2a 20 41 6e 64 20 74 68 65 72 65 20 64 6f 65 73  * And there does
12020 6e 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20 61  n't seem to be a
12030 20 73 74 61 74 69 63 20 61 72 63 68 69 76 65 20   static archive 
12040 61 76 61 69 6c 61 62 6c 65 22 0a 09 09 20 20 20  available"...   
12050 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 20 54       $echo "** T
12060 68 65 20 6c 69 6e 6b 20 77 69 6c 6c 20 70 72 6f  he link will pro
12070 62 61 62 6c 79 20 66 61 69 6c 2c 20 73 6f 72 72  bably fail, sorr
12080 79 22 0a 09 09 20 20 20 20 20 20 65 6c 73 65 0a  y"...      else.
12090 09 09 20 20 20 20 20 20 20 20 61 64 64 3d 22 24  ..        add="$
120a0 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79  dir/$old_library
120b0 22 0a 09 09 20 20 20 20 20 20 66 69 0a 09 09 20  "...      fi... 
120c0 20 20 20 66 69 0a 09 09 65 73 61 63 0a 09 20 20     fi...esac..  
120d0 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24      elif test "$
120e0 68 61 72 64 63 6f 64 65 5f 6d 69 6e 75 73 5f 4c  hardcode_minus_L
120f0 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 63  " = no; then...c
12100 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 09 2a  ase $host in...*
12110 2d 2a 2d 73 75 6e 6f 73 2a 29 20 61 64 64 5f 73  -*-sunos*) add_s
12120 68 6c 69 62 70 61 74 68 3d 22 24 64 69 72 22 20  hlibpath="$dir" 
12130 3b 3b 0a 09 09 65 73 61 63 0a 09 09 61 64 64 5f  ;;...esac...add_
12140 64 69 72 3d 22 2d 4c 24 64 69 72 22 0a 09 09 61  dir="-L$dir"...a
12150 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20  dd="-l$name"..  
12160 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24      elif test "$
12170 68 61 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61  hardcode_shlibpa
12180 74 68 5f 76 61 72 22 20 3d 20 6e 6f 3b 20 74 68  th_var" = no; th
12190 65 6e 0a 09 09 61 64 64 5f 73 68 6c 69 62 70 61  en...add_shlibpa
121a0 74 68 3d 22 24 64 69 72 22 0a 09 09 61 64 64 3d  th="$dir"...add=
121b0 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 20  "-l$name"..     
121c0 20 65 6c 73 65 0a 09 09 6c 69 62 5f 6c 69 6e 6b   else...lib_link
121d0 65 64 3d 6e 6f 0a 09 20 20 20 20 20 20 66 69 0a  ed=no..      fi.
121e0 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 72  .      ;;..    r
121f0 65 6c 69 6e 6b 29 0a 09 20 20 20 20 20 20 69 66  elink)..      if
12200 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
12210 5f 64 69 72 65 63 74 22 20 3d 20 79 65 73 3b 20  _direct" = yes; 
12220 74 68 65 6e 0a 09 09 61 64 64 3d 22 24 64 69 72  then...add="$dir
12230 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09 20 20 20 20  /$linklib"..    
12240 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 68 61    elif test "$ha
12250 72 64 63 6f 64 65 5f 6d 69 6e 75 73 5f 4c 22 20  rdcode_minus_L" 
12260 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 61 64  = yes; then...ad
12270 64 5f 64 69 72 3d 22 2d 4c 24 64 69 72 22 0a 09  d_dir="-L$dir"..
12280 09 23 20 54 72 79 20 6c 6f 6f 6b 69 6e 67 20 66  .# Try looking f
12290 69 72 73 74 20 69 6e 20 74 68 65 20 6c 6f 63 61  irst in the loca
122a0 74 69 6f 6e 20 77 65 27 72 65 20 62 65 69 6e 67  tion we're being
122b0 20 69 6e 73 74 61 6c 6c 65 64 20 74 6f 2e 0a 09   installed to...
122c0 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69 6e  .if test -n "$in
122d0 73 74 5f 70 72 65 66 69 78 5f 64 69 72 22 3b 20  st_prefix_dir"; 
122e0 74 68 65 6e 0a 09 09 20 20 63 61 73 65 20 24 6c  then...  case $l
122f0 69 62 64 69 72 20 69 6e 0a 09 09 20 20 20 20 5b  ibdir in...    [
12300 5c 5c 2f 5d 2a 29 0a 09 09 20 20 20 20 20 20 61  \\/]*)...      a
12310 64 64 5f 64 69 72 3d 22 24 61 64 64 5f 64 69 72  dd_dir="$add_dir
12320 20 2d 4c 24 69 6e 73 74 5f 70 72 65 66 69 78 5f   -L$inst_prefix_
12330 64 69 72 24 6c 69 62 64 69 72 22 0a 09 09 20 20  dir$libdir"...  
12340 20 20 20 20 3b 3b 0a 09 09 20 20 65 73 61 63 0a      ;;...  esac.
12350 09 09 66 69 0a 09 09 61 64 64 3d 22 2d 6c 24 6e  ..fi...add="-l$n
12360 61 6d 65 22 0a 09 20 20 20 20 20 20 65 6c 69 66  ame"..      elif
12370 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
12380 5f 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20  _shlibpath_var" 
12390 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 61 64  = yes; then...ad
123a0 64 5f 73 68 6c 69 62 70 61 74 68 3d 22 24 64 69  d_shlibpath="$di
123b0 72 22 0a 09 09 61 64 64 3d 22 2d 6c 24 6e 61 6d  r"...add="-l$nam
123c0 65 22 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09  e"..      else..
123d0 09 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e 6f 0a 09  .lib_linked=no..
123e0 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 20 20        fi..      
123f0 3b 3b 0a 09 20 20 20 20 2a 29 20 6c 69 62 5f 6c  ;;..    *) lib_l
12400 69 6e 6b 65 64 3d 6e 6f 20 3b 3b 0a 09 20 20 20  inked=no ;;..   
12410 20 65 73 61 63 0a 0a 09 20 20 20 20 69 66 20 74   esac...    if t
12420 65 73 74 20 22 24 6c 69 62 5f 6c 69 6e 6b 65 64  est "$lib_linked
12430 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  " != yes; then..
12440 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f        $echo "$mo
12450 64 65 6e 61 6d 65 3a 20 63 6f 6e 66 69 67 75 72  dename: configur
12460 61 74 69 6f 6e 20 65 72 72 6f 72 3a 20 75 6e 73  ation error: uns
12470 75 70 70 6f 72 74 65 64 20 68 61 72 64 63 6f 64  upported hardcod
12480 65 20 70 72 6f 70 65 72 74 69 65 73 22 0a 09 20  e properties".. 
12490 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f       exit $EXIT_
124a0 46 41 49 4c 55 52 45 0a 09 20 20 20 20 66 69 0a  FAILURE..    fi.
124b0 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
124c0 20 22 24 61 64 64 5f 73 68 6c 69 62 70 61 74 68   "$add_shlibpath
124d0 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 63  "; then..      c
124e0 61 73 65 20 3a 24 63 6f 6d 70 69 6c 65 5f 73 68  ase :$compile_sh
124f0 6c 69 62 70 61 74 68 3a 20 69 6e 0a 09 20 20 20  libpath: in..   
12500 20 20 20 2a 22 3a 24 61 64 64 5f 73 68 6c 69 62     *":$add_shlib
12510 70 61 74 68 3a 22 2a 29 20 3b 3b 0a 09 20 20 20  path:"*) ;;..   
12520 20 20 20 2a 29 20 63 6f 6d 70 69 6c 65 5f 73 68     *) compile_sh
12530 6c 69 62 70 61 74 68 3d 22 24 63 6f 6d 70 69 6c  libpath="$compil
12540 65 5f 73 68 6c 69 62 70 61 74 68 24 61 64 64 5f  e_shlibpath$add_
12550 73 68 6c 69 62 70 61 74 68 3a 22 20 3b 3b 0a 09  shlibpath:" ;;..
12560 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20        esac..    
12570 66 69 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  fi..    if test 
12580 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70 72  "$linkmode" = pr
12590 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  og; then..      
125a0 74 65 73 74 20 2d 6e 20 22 24 61 64 64 5f 64 69  test -n "$add_di
125b0 72 22 20 26 26 20 63 6f 6d 70 69 6c 65 5f 64 65  r" && compile_de
125c0 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69 72 20  plibs="$add_dir 
125d0 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73  $compile_deplibs
125e0 22 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  "..      test -n
125f0 20 22 24 61 64 64 22 20 26 26 20 63 6f 6d 70 69   "$add" && compi
12600 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 61 64 64  le_deplibs="$add
12610 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62   $compile_deplib
12620 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  s"..    else..  
12630 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 61 64      test -n "$ad
12640 64 5f 64 69 72 22 20 26 26 20 64 65 70 6c 69 62  d_dir" && deplib
12650 73 3d 22 24 61 64 64 5f 64 69 72 20 24 64 65 70  s="$add_dir $dep
12660 6c 69 62 73 22 0a 09 20 20 20 20 20 20 74 65 73  libs"..      tes
12670 74 20 2d 6e 20 22 24 61 64 64 22 20 26 26 20 64  t -n "$add" && d
12680 65 70 6c 69 62 73 3d 22 24 61 64 64 20 24 64 65  eplibs="$add $de
12690 70 6c 69 62 73 22 0a 09 20 20 20 20 20 20 69 66  plibs"..      if
126a0 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
126b0 5f 64 69 72 65 63 74 22 20 21 3d 20 79 65 73 20  _direct" != yes 
126c0 26 26 20 5c 0a 09 09 20 74 65 73 74 20 22 24 68  && \... test "$h
126d0 61 72 64 63 6f 64 65 5f 6d 69 6e 75 73 5f 4c 22  ardcode_minus_L"
126e0 20 21 3d 20 79 65 73 20 26 26 20 5c 0a 09 09 20   != yes && \... 
126f0 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f  test "$hardcode_
12700 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20 3d  shlibpath_var" =
12710 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 63 61 73   yes; then...cas
12720 65 20 3a 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c  e :$finalize_shl
12730 69 62 70 61 74 68 3a 20 69 6e 0a 09 09 2a 22 3a  ibpath: in...*":
12740 24 6c 69 62 64 69 72 3a 22 2a 29 20 3b 3b 0a 09  $libdir:"*) ;;..
12750 09 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 73 68 6c  .*) finalize_shl
12760 69 62 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a  ibpath="$finaliz
12770 65 5f 73 68 6c 69 62 70 61 74 68 24 6c 69 62 64  e_shlibpath$libd
12780 69 72 3a 22 20 3b 3b 0a 09 09 65 73 61 63 0a 09  ir:" ;;...esac..
12790 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 66 69        fi..    fi
127a0 0a 09 20 20 66 69 0a 0a 09 20 20 69 66 20 74 65  ..  fi...  if te
127b0 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d  st "$linkmode" =
127c0 20 70 72 6f 67 20 7c 7c 20 74 65 73 74 20 22 24   prog || test "$
127d0 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b 20  mode" = relink; 
127e0 74 68 65 6e 0a 09 20 20 20 20 61 64 64 5f 73 68  then..    add_sh
127f0 6c 69 62 70 61 74 68 3d 0a 09 20 20 20 20 61 64  libpath=..    ad
12800 64 5f 64 69 72 3d 0a 09 20 20 20 20 61 64 64 3d  d_dir=..    add=
12810 0a 09 20 20 20 20 23 20 46 69 6e 61 6c 69 7a 65  ..    # Finalize
12820 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 62 6f 74   command for bot
12830 68 20 69 73 20 73 69 6d 70 6c 65 3a 20 6a 75 73  h is simple: jus
12840 74 20 68 61 72 64 63 6f 64 65 20 69 74 2e 0a 09  t hardcode it...
12850 20 20 20 20 69 66 20 74 65 73 74 20 22 24 68 61      if test "$ha
12860 72 64 63 6f 64 65 5f 64 69 72 65 63 74 22 20 3d  rdcode_direct" =
12870 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
12880 20 20 61 64 64 3d 22 24 6c 69 62 64 69 72 2f 24    add="$libdir/$
12890 6c 69 6e 6b 6c 69 62 22 0a 09 20 20 20 20 65 6c  linklib"..    el
128a0 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63 6f  if test "$hardco
128b0 64 65 5f 6d 69 6e 75 73 5f 4c 22 20 3d 20 79 65  de_minus_L" = ye
128c0 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 61  s; then..      a
128d0 64 64 5f 64 69 72 3d 22 2d 4c 24 6c 69 62 64 69  dd_dir="-L$libdi
128e0 72 22 0a 09 20 20 20 20 20 20 61 64 64 3d 22 2d  r"..      add="-
128f0 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 65 6c 69  l$name"..    eli
12900 66 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64  f test "$hardcod
12910 65 5f 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22  e_shlibpath_var"
12920 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
12930 20 20 20 20 63 61 73 65 20 3a 24 66 69 6e 61 6c      case :$final
12940 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3a 20 69  ize_shlibpath: i
12950 6e 0a 09 20 20 20 20 20 20 2a 22 3a 24 6c 69 62  n..      *":$lib
12960 64 69 72 3a 22 2a 29 20 3b 3b 0a 09 20 20 20 20  dir:"*) ;;..    
12970 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 73 68    *) finalize_sh
12980 6c 69 62 70 61 74 68 3d 22 24 66 69 6e 61 6c 69  libpath="$finali
12990 7a 65 5f 73 68 6c 69 62 70 61 74 68 24 6c 69 62  ze_shlibpath$lib
129a0 64 69 72 3a 22 20 3b 3b 0a 09 20 20 20 20 20 20  dir:" ;;..      
129b0 65 73 61 63 0a 09 20 20 20 20 20 20 61 64 64 3d  esac..      add=
129c0 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 65  "-l$name"..    e
129d0 6c 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63  lif test "$hardc
129e0 6f 64 65 5f 61 75 74 6f 6d 61 74 69 63 22 20 3d  ode_automatic" =
129f0 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
12a00 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69    if test -n "$i
12a10 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 22 20  nst_prefix_dir" 
12a20 26 26 0a 09 09 20 74 65 73 74 20 2d 66 20 22 24  &&... test -f "$
12a30 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 24  inst_prefix_dir$
12a40 6c 69 62 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22  libdir/$linklib"
12a50 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 20   ; then..       
12a60 20 61 64 64 3d 22 24 69 6e 73 74 5f 70 72 65 66   add="$inst_pref
12a70 69 78 5f 64 69 72 24 6c 69 62 64 69 72 2f 24 6c  ix_dir$libdir/$l
12a80 69 6e 6b 6c 69 62 22 0a 09 20 20 20 20 20 20 65  inklib"..      e
12a90 6c 73 65 0a 09 20 20 20 20 20 20 20 20 61 64 64  lse..        add
12aa0 3d 22 24 6c 69 62 64 69 72 2f 24 6c 69 6e 6b 6c  ="$libdir/$linkl
12ab0 69 62 22 0a 09 20 20 20 20 20 20 66 69 0a 09 20  ib"..      fi.. 
12ac0 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23     else..      #
12ad0 20 57 65 20 63 61 6e 6e 6f 74 20 73 65 65 6d 20   We cannot seem 
12ae0 74 6f 20 68 61 72 64 63 6f 64 65 20 69 74 2c 20  to hardcode it, 
12af0 67 75 65 73 73 20 77 65 27 6c 6c 20 66 61 6b 65  guess we'll fake
12b00 20 69 74 2e 0a 09 20 20 20 20 20 20 61 64 64 5f   it...      add_
12b10 64 69 72 3d 22 2d 4c 24 6c 69 62 64 69 72 22 0a  dir="-L$libdir".
12b20 09 20 20 20 20 20 20 23 20 54 72 79 20 6c 6f 6f  .      # Try loo
12b30 6b 69 6e 67 20 66 69 72 73 74 20 69 6e 20 74 68  king first in th
12b40 65 20 6c 6f 63 61 74 69 6f 6e 20 77 65 27 72 65  e location we're
12b50 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64   being installed
12b60 20 74 6f 2e 0a 09 20 20 20 20 20 20 69 66 20 74   to...      if t
12b70 65 73 74 20 2d 6e 20 22 24 69 6e 73 74 5f 70 72  est -n "$inst_pr
12b80 65 66 69 78 5f 64 69 72 22 3b 20 74 68 65 6e 0a  efix_dir"; then.
12b90 09 09 63 61 73 65 20 24 6c 69 62 64 69 72 20 69  ..case $libdir i
12ba0 6e 0a 09 09 20 20 5b 5c 5c 2f 5d 2a 29 0a 09 09  n...  [\\/]*)...
12bb0 20 20 20 20 61 64 64 5f 64 69 72 3d 22 24 61 64      add_dir="$ad
12bc0 64 5f 64 69 72 20 2d 4c 24 69 6e 73 74 5f 70 72  d_dir -L$inst_pr
12bd0 65 66 69 78 5f 64 69 72 24 6c 69 62 64 69 72 22  efix_dir$libdir"
12be0 0a 09 09 20 20 20 20 3b 3b 0a 09 09 65 73 61 63  ...    ;;...esac
12bf0 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
12c00 20 20 61 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a    add="-l$name".
12c10 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 69 66  .    fi...    if
12c20 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
12c30 22 20 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09  " = prog; then..
12c40 20 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24        test -n "$
12c50 61 64 64 5f 64 69 72 22 20 26 26 20 66 69 6e 61  add_dir" && fina
12c60 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 61  lize_deplibs="$a
12c70 64 64 5f 64 69 72 20 24 66 69 6e 61 6c 69 7a 65  dd_dir $finalize
12c80 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20  _deplibs"..     
12c90 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 22 20   test -n "$add" 
12ca0 26 26 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  && finalize_depl
12cb0 69 62 73 3d 22 24 61 64 64 20 24 66 69 6e 61 6c  ibs="$add $final
12cc0 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ize_deplibs"..  
12cd0 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 74 65    else..      te
12ce0 73 74 20 2d 6e 20 22 24 61 64 64 5f 64 69 72 22  st -n "$add_dir"
12cf0 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24 61 64   && deplibs="$ad
12d00 64 5f 64 69 72 20 24 64 65 70 6c 69 62 73 22 0a  d_dir $deplibs".
12d10 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22  .      test -n "
12d20 24 61 64 64 22 20 26 26 20 64 65 70 6c 69 62 73  $add" && deplibs
12d30 3d 22 24 61 64 64 20 24 64 65 70 6c 69 62 73 22  ="$add $deplibs"
12d40 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 09  ..    fi..  fi..
12d50 65 6c 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b  elif test "$link
12d60 6d 6f 64 65 22 20 3d 20 70 72 6f 67 3b 20 74 68  mode" = prog; th
12d70 65 6e 0a 09 20 20 23 20 48 65 72 65 20 77 65 20  en..  # Here we 
12d80 61 73 73 75 6d 65 20 74 68 61 74 20 6f 6e 65 20  assume that one 
12d90 6f 66 20 68 61 72 64 63 6f 64 65 5f 64 69 72 65  of hardcode_dire
12da0 63 74 20 6f 72 20 68 61 72 64 63 6f 64 65 5f 6d  ct or hardcode_m
12db0 69 6e 75 73 5f 4c 0a 09 20 20 23 20 69 73 20 6e  inus_L..  # is n
12dc0 6f 74 20 75 6e 73 75 70 70 6f 72 74 65 64 2e 20  ot unsupported. 
12dd0 20 54 68 69 73 20 69 73 20 76 61 6c 69 64 20 6f   This is valid o
12de0 6e 20 61 6c 6c 20 6b 6e 6f 77 6e 20 73 74 61 74  n all known stat
12df0 69 63 20 61 6e 64 0a 09 20 20 23 20 73 68 61 72  ic and..  # shar
12e00 65 64 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 09 20  ed platforms... 
12e10 20 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63   if test "$hardc
12e20 6f 64 65 5f 64 69 72 65 63 74 22 20 21 3d 20 75  ode_direct" != u
12e30 6e 73 75 70 70 6f 72 74 65 64 3b 20 74 68 65 6e  nsupported; then
12e40 0a 09 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24  ..    test -n "$
12e50 6f 6c 64 5f 6c 69 62 72 61 72 79 22 20 26 26 20  old_library" && 
12e60 6c 69 6e 6b 6c 69 62 3d 22 24 6f 6c 64 5f 6c 69  linklib="$old_li
12e70 62 72 61 72 79 22 0a 09 20 20 20 20 63 6f 6d 70  brary"..    comp
12e80 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 69  ile_deplibs="$di
12e90 72 2f 24 6c 69 6e 6b 6c 69 62 20 24 63 6f 6d 70  r/$linklib $comp
12ea0 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ile_deplibs"..  
12eb0 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69    finalize_depli
12ec0 62 73 3d 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69  bs="$dir/$linkli
12ed0 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
12ee0 69 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ibs"..  else..  
12ef0 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62    compile_deplib
12f00 73 3d 22 2d 6c 24 6e 61 6d 65 20 2d 4c 24 64 69  s="-l$name -L$di
12f10 72 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  r $compile_depli
12f20 62 73 22 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a  bs"..    finaliz
12f30 65 5f 64 65 70 6c 69 62 73 3d 22 2d 6c 24 6e 61  e_deplibs="-l$na
12f40 6d 65 20 2d 4c 24 64 69 72 20 24 66 69 6e 61 6c  me -L$dir $final
12f50 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ize_deplibs"..  
12f60 66 69 0a 09 65 6c 69 66 20 74 65 73 74 20 22 24  fi..elif test "$
12f70 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
12f80 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  bs" = yes; then.
12f90 09 20 20 23 20 4e 6f 74 20 61 20 73 68 61 72 65  .  # Not a share
12fa0 64 20 6c 69 62 72 61 72 79 0a 09 20 20 69 66 20  d library..  if 
12fb0 74 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63  test "$deplibs_c
12fc0 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20  heck_method" != 
12fd0 70 61 73 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09  pass_all; then..
12fe0 20 20 20 20 23 20 57 65 27 72 65 20 74 72 79 69      # We're tryi
12ff0 6e 67 20 6c 69 6e 6b 20 61 20 73 68 61 72 65 64  ng link a shared
13000 20 6c 69 62 72 61 72 79 20 61 67 61 69 6e 73 74   library against
13010 20 61 20 73 74 61 74 69 63 20 6f 6e 65 0a 09 20   a static one.. 
13020 20 20 20 23 20 62 75 74 20 74 68 65 20 73 79 73     # but the sys
13030 74 65 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70  tem doesn't supp
13040 6f 72 74 20 69 74 2e 0a 0a 09 20 20 20 20 23 20  ort it....    # 
13050 4a 75 73 74 20 70 72 69 6e 74 20 61 20 77 61 72  Just print a war
13060 6e 69 6e 67 20 61 6e 64 20 61 64 64 20 74 68 65  ning and add the
13070 20 6c 69 62 72 61 72 79 20 74 6f 20 64 65 70 65   library to depe
13080 6e 64 65 6e 63 79 5f 6c 69 62 73 20 73 6f 0a 09  ndency_libs so..
13090 20 20 20 20 23 20 74 68 61 74 20 74 68 65 20 70      # that the p
130a0 72 6f 67 72 61 6d 20 63 61 6e 20 62 65 20 6c 69  rogram can be li
130b0 6e 6b 65 64 20 61 67 61 69 6e 73 74 20 74 68 65  nked against the
130c0 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2e   static library.
130d0 0a 09 20 20 20 20 24 65 63 68 6f 0a 09 20 20 20  ..    $echo..   
130e0 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e   $echo "*** Warn
130f0 69 6e 67 3a 20 54 68 69 73 20 73 79 73 74 65 6d  ing: This system
13100 20 63 61 6e 20 6e 6f 74 20 6c 69 6e 6b 20 74 6f   can not link to
13110 20 73 74 61 74 69 63 20 6c 69 62 20 61 72 63 68   static lib arch
13120 69 76 65 20 24 6c 69 62 2e 22 0a 09 20 20 20 20  ive $lib."..    
13130 24 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68 61 76  $echo "*** I hav
13140 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 79  e the capability
13150 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c 69   to make that li
13160 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69 63 61  brary automatica
13170 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68 65 6e  lly link in when
13180 22 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a 2a  "..    $echo "**
13190 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f 20 74 68  * you link to th
131a0 69 73 20 6c 69 62 72 61 72 79 2e 20 20 42 75 74  is library.  But
131b0 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64 6f 20 74   I can only do t
131c0 68 69 73 20 69 66 20 79 6f 75 20 68 61 76 65 20  his if you have 
131d0 61 22 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a  a"..    $echo "*
131e0 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73 69 6f  ** shared versio
131f0 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79  n of the library
13200 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e  , which you do n
13210 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68 61 76  ot appear to hav
13220 65 2e 22 0a 09 20 20 20 20 69 66 20 74 65 73 74  e."..    if test
13230 20 22 24 6d 6f 64 75 6c 65 22 20 3d 20 79 65 73   "$module" = yes
13240 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65  ; then..      $e
13250 63 68 6f 20 22 2a 2a 2a 20 42 75 74 20 61 73 20  cho "*** But as 
13260 79 6f 75 20 74 72 79 20 74 6f 20 62 75 69 6c 64  you try to build
13270 20 61 20 6d 6f 64 75 6c 65 20 6c 69 62 72 61 72   a module librar
13280 79 2c 20 6c 69 62 74 6f 6f 6c 20 77 69 6c 6c 20  y, libtool will 
13290 73 74 69 6c 6c 20 63 72 65 61 74 65 20 22 0a 09  still create "..
132a0 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a        $echo "***
132b0 20 61 20 73 74 61 74 69 63 20 6d 6f 64 75 6c 65   a static module
132c0 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 77 6f  , that should wo
132d0 72 6b 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68  rk as long as th
132e0 65 20 64 6c 6f 70 65 6e 69 6e 67 20 61 70 70 6c  e dlopening appl
132f0 69 63 61 74 69 6f 6e 22 0a 09 20 20 20 20 20 20  ication"..      
13300 24 65 63 68 6f 20 22 2a 2a 2a 20 69 73 20 6c 69  $echo "*** is li
13310 6e 6b 65 64 20 77 69 74 68 20 74 68 65 20 2d 64  nked with the -d
13320 6c 6f 70 65 6e 20 66 6c 61 67 20 74 6f 20 72 65  lopen flag to re
13330 73 6f 6c 76 65 20 73 79 6d 62 6f 6c 73 20 61 74  solve symbols at
13340 20 72 75 6e 74 69 6d 65 2e 22 0a 09 20 20 20 20   runtime."..    
13350 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 67    if test -z "$g
13360 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70  lobal_symbol_pip
13370 65 22 3b 20 74 68 65 6e 0a 09 09 24 65 63 68 6f  e"; then...$echo
13380 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20 48 6f  ...$echo "*** Ho
13390 77 65 76 65 72 2c 20 74 68 69 73 20 77 6f 75 6c  wever, this woul
133a0 64 20 6f 6e 6c 79 20 77 6f 72 6b 20 69 66 20 6c  d only work if l
133b0 69 62 74 6f 6f 6c 20 77 61 73 20 61 62 6c 65 20  ibtool was able 
133c0 74 6f 20 65 78 74 72 61 63 74 20 73 79 6d 62 6f  to extract symbo
133d0 6c 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20  l"...$echo "*** 
133e0 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 70 72 6f  lists from a pro
133f0 67 72 61 6d 2c 20 75 73 69 6e 67 20 5c 60 6e 6d  gram, using \`nm
13400 27 20 6f 72 20 65 71 75 69 76 61 6c 65 6e 74 2c  ' or equivalent,
13410 20 62 75 74 20 6c 69 62 74 6f 6f 6c 20 63 6f 75   but libtool cou
13420 6c 64 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a  ld"...$echo "***
13430 20 6e 6f 74 20 66 69 6e 64 20 73 75 63 68 20 61   not find such a
13440 20 70 72 6f 67 72 61 6d 2e 20 20 53 6f 2c 20 74   program.  So, t
13450 68 69 73 20 6d 6f 64 75 6c 65 20 69 73 20 70 72  his module is pr
13460 6f 62 61 62 6c 79 20 75 73 65 6c 65 73 73 2e 22  obably useless."
13470 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20 5c 60  ...$echo "*** \`
13480 6e 6d 27 20 66 72 6f 6d 20 47 4e 55 20 62 69 6e  nm' from GNU bin
13490 75 74 69 6c 73 20 61 6e 64 20 61 20 66 75 6c 6c  utils and a full
134a0 20 72 65 62 75 69 6c 64 20 6d 61 79 20 68 65 6c   rebuild may hel
134b0 70 2e 22 0a 09 20 20 20 20 20 20 66 69 0a 09 20  p."..      fi.. 
134c0 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62       if test "$b
134d0 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d  uild_old_libs" =
134e0 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 62 75 69 6c   no; then...buil
134f0 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d  d_libtool_libs=m
13500 6f 64 75 6c 65 0a 09 09 62 75 69 6c 64 5f 6f 6c  odule...build_ol
13510 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 20 20  d_libs=yes..    
13520 20 20 65 6c 73 65 0a 09 09 62 75 69 6c 64 5f 6c    else...build_l
13530 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09  ibtool_libs=no..
13540 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 66 69        fi..    fi
13550 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 64 65  ..  else..    de
13560 70 6c 69 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64  plibs="$dir/$old
13570 5f 6c 69 62 72 61 72 79 20 24 64 65 70 6c 69 62  _library $deplib
13580 73 22 0a 09 20 20 20 20 6c 69 6e 6b 5f 73 74 61  s"..    link_sta
13590 74 69 63 3d 79 65 73 0a 09 20 20 66 69 0a 09 66  tic=yes..  fi..f
135a0 69 20 23 20 6c 69 6e 6b 20 73 68 61 72 65 64 2f  i # link shared/
135b0 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 3f 0a  static library?.
135c0 0a 09 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b  ..if test "$link
135d0 6d 6f 64 65 22 20 3d 20 6c 69 62 3b 20 74 68 65  mode" = lib; the
135e0 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20  n..  if test -n 
135f0 22 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  "$dependency_lib
13600 73 22 20 26 26 0a 09 20 20 20 20 20 7b 20 74 65  s" &&..     { te
13610 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 69 6e  st "$hardcode_in
13620 74 6f 5f 6c 69 62 73 22 20 21 3d 20 79 65 73 20  to_libs" != yes 
13630 7c 7c 0a 09 20 20 20 20 20 20 20 74 65 73 74 20  ||..       test 
13640 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73  "$build_old_libs
13650 22 20 3d 20 79 65 73 20 7c 7c 0a 09 20 20 20 20  " = yes ||..    
13660 20 20 20 74 65 73 74 20 22 24 6c 69 6e 6b 5f 73     test "$link_s
13670 74 61 74 69 63 22 20 3d 20 79 65 73 3b 20 7d 3b  tatic" = yes; };
13680 20 74 68 65 6e 0a 09 20 20 20 20 23 20 45 78 74   then..    # Ext
13690 72 61 63 74 20 2d 52 20 66 72 6f 6d 20 64 65 70  ract -R from dep
136a0 65 6e 64 65 6e 63 79 5f 6c 69 62 73 0a 09 20 20  endency_libs..  
136b0 20 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 0a    temp_deplibs=.
136c0 09 20 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20  .    for libdir 
136d0 69 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c  in $dependency_l
136e0 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 63  ibs; do..      c
136f0 61 73 65 20 24 6c 69 62 64 69 72 20 69 6e 0a 09  ase $libdir in..
13700 20 20 20 20 20 20 2d 52 2a 29 20 74 65 6d 70 5f        -R*) temp_
13710 78 72 70 61 74 68 3d 60 24 65 63 68 6f 20 22 58  xrpath=`$echo "X
13720 24 6c 69 62 64 69 72 22 20 7c 20 24 58 73 65 64  $libdir" | $Xsed
13730 20 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09   -e 's/^-R//'`..
13740 09 20 20 20 63 61 73 65 20 22 20 24 78 72 70 61  .   case " $xrpa
13750 74 68 20 22 20 69 6e 0a 09 09 20 20 20 2a 22 20  th " in...   *" 
13760 24 74 65 6d 70 5f 78 72 70 61 74 68 20 22 2a 29  $temp_xrpath "*)
13770 20 3b 3b 0a 09 09 20 20 20 2a 29 20 78 72 70 61   ;;...   *) xrpa
13780 74 68 3d 22 24 78 72 70 61 74 68 20 24 74 65 6d  th="$xrpath $tem
13790 70 5f 78 72 70 61 74 68 22 3b 3b 0a 09 09 20 20  p_xrpath";;...  
137a0 20 65 73 61 63 3b 3b 0a 09 20 20 20 20 20 20 2a   esac;;..      *
137b0 29 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 22  ) temp_deplibs="
137c0 24 74 65 6d 70 5f 64 65 70 6c 69 62 73 20 24 6c  $temp_deplibs $l
137d0 69 62 64 69 72 22 3b 3b 0a 09 20 20 20 20 20 20  ibdir";;..      
137e0 65 73 61 63 0a 09 20 20 20 20 64 6f 6e 65 0a 09  esac..    done..
137f0 20 20 20 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c      dependency_l
13800 69 62 73 3d 22 24 74 65 6d 70 5f 64 65 70 6c 69  ibs="$temp_depli
13810 62 73 22 0a 09 20 20 66 69 0a 0a 09 20 20 6e 65  bs"..  fi...  ne
13820 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
13830 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68  ="$newlib_search
13840 5f 70 61 74 68 20 24 61 62 73 64 69 72 22 0a 09  _path $absdir"..
13850 20 20 23 20 4c 69 6e 6b 20 61 67 61 69 6e 73 74    # Link against
13860 20 74 68 69 73 20 6c 69 62 72 61 72 79 0a 09 20   this library.. 
13870 20 74 65 73 74 20 22 24 6c 69 6e 6b 5f 73 74 61   test "$link_sta
13880 74 69 63 22 20 3d 20 6e 6f 20 26 26 20 6e 65 77  tic" = no && new
13890 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d  dependency_libs=
138a0 22 24 61 62 73 5f 6c 61 64 69 72 2f 24 6c 61 6e  "$abs_ladir/$lan
138b0 61 6d 65 20 24 6e 65 77 64 65 70 65 6e 64 65 6e  ame $newdependen
138c0 63 79 5f 6c 69 62 73 22 0a 09 20 20 23 20 2e 2e  cy_libs"..  # ..
138d0 2e 20 61 6e 64 20 69 74 73 20 64 65 70 65 6e 64  . and its depend
138e0 65 6e 63 79 5f 6c 69 62 73 0a 09 20 20 74 6d 70  ency_libs..  tmp
138f0 5f 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65  _libs=..  for de
13900 70 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65  plib in $depende
13910 6e 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20  ncy_libs; do..  
13920 20 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f    newdependency_
13930 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e  libs="$deplib $n
13940 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  ewdependency_lib
13950 73 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  s"..    if test 
13960 22 58 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70  "X$duplicate_dep
13970 73 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68  s" = "Xyes" ; th
13980 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22  en..      case "
13990 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09  $tmp_libs " in..
139a0 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62        *" $deplib
139b0 20 22 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c   "*) specialdepl
139c0 69 62 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70  ibs="$specialdep
139d0 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b  libs $deplib" ;;
139e0 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
139f0 20 20 66 69 0a 09 20 20 20 20 74 6d 70 5f 6c 69    fi..    tmp_li
13a00 62 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20 24 64  bs="$tmp_libs $d
13a10 65 70 6c 69 62 22 0a 09 20 20 64 6f 6e 65 0a 0a  eplib"..  done..
13a20 09 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e  .  if test "$lin
13a30 6b 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 22 20 21  k_all_deplibs" !
13a40 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20  = no; then..    
13a50 23 20 41 64 64 20 74 68 65 20 73 65 61 72 63 68  # Add the search
13a60 20 70 61 74 68 73 20 6f 66 20 61 6c 6c 20 64 65   paths of all de
13a70 70 65 6e 64 65 6e 63 79 20 6c 69 62 72 61 72 69  pendency librari
13a80 65 73 0a 09 20 20 20 20 66 6f 72 20 64 65 70 6c  es..    for depl
13a90 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e 63  ib in $dependenc
13aa0 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20  y_libs; do..    
13ab0 20 20 63 61 73 65 20 24 64 65 70 6c 69 62 20 69    case $deplib i
13ac0 6e 0a 09 20 20 20 20 20 20 2d 4c 2a 29 20 70 61  n..      -L*) pa
13ad0 74 68 3d 22 24 64 65 70 6c 69 62 22 20 3b 3b 0a  th="$deplib" ;;.
13ae0 09 20 20 20 20 20 20 2a 2e 6c 61 29 0a 09 09 64  .      *.la)...d
13af0 69 72 3d 60 24 65 63 68 6f 20 22 58 24 64 65 70  ir=`$echo "X$dep
13b00 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20  lib" | $Xsed -e 
13b10 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09  's%/[^/]*$%%'`..
13b20 09 74 65 73 74 20 22 58 24 64 69 72 22 20 3d 20  .test "X$dir" = 
13b30 22 58 24 64 65 70 6c 69 62 22 20 26 26 20 64 69  "X$deplib" && di
13b40 72 3d 22 2e 22 0a 09 09 23 20 57 65 20 6e 65 65  r="."...# We nee
13b50 64 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61  d an absolute pa
13b60 74 68 2e 0a 09 09 63 61 73 65 20 24 64 69 72 20  th....case $dir 
13b70 69 6e 0a 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41  in...[\\/]* | [A
13b80 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61  -Za-z]:[\\/]*) a
13b90 62 73 64 69 72 3d 22 24 64 69 72 22 20 3b 3b 0a  bsdir="$dir" ;;.
13ba0 09 09 2a 29 0a 09 09 20 20 61 62 73 64 69 72 3d  ..*)...  absdir=
13bb0 60 63 64 20 22 24 64 69 72 22 20 26 26 20 70 77  `cd "$dir" && pw
13bc0 64 60 0a 09 09 20 20 69 66 20 74 65 73 74 20 2d  d`...  if test -
13bd0 7a 20 22 24 61 62 73 64 69 72 22 3b 20 74 68 65  z "$absdir"; the
13be0 6e 0a 09 09 20 20 20 20 24 65 63 68 6f 20 22 24  n...    $echo "$
13bf0 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
13c00 67 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65 72 6d  g: cannot determ
13c10 69 6e 65 20 61 62 73 6f 6c 75 74 65 20 64 69 72  ine absolute dir
13c20 65 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66 20 5c  ectory name of \
13c30 60 24 64 69 72 27 22 20 31 3e 26 32 0a 09 09 20  `$dir'" 1>&2... 
13c40 20 20 20 61 62 73 64 69 72 3d 22 24 64 69 72 22     absdir="$dir"
13c50 0a 09 09 20 20 66 69 0a 09 09 20 20 3b 3b 0a 09  ...  fi...  ;;..
13c60 09 65 73 61 63 0a 09 09 69 66 20 67 72 65 70 20  .esac...if grep 
13c70 22 5e 69 6e 73 74 61 6c 6c 65 64 3d 6e 6f 22 20  "^installed=no" 
13c80 24 64 65 70 6c 69 62 20 3e 20 2f 64 65 76 2f 6e  $deplib > /dev/n
13c90 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 20 20 70 61  ull; then...  pa
13ca0 74 68 3d 22 24 61 62 73 64 69 72 2f 24 6f 62 6a  th="$absdir/$obj
13cb0 64 69 72 22 0a 09 09 65 6c 73 65 0a 09 09 20 20  dir"...else...  
13cc0 65 76 61 6c 20 6c 69 62 64 69 72 3d 60 24 7b 53  eval libdir=`${S
13cd0 45 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69  ED} -n -e 's/^li
13ce0 62 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c 31 2f  bdir=\(.*\)$/\1/
13cf0 70 27 20 24 64 65 70 6c 69 62 60 0a 09 09 20 20  p' $deplib`...  
13d00 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62  if test -z "$lib
13d10 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 20  dir"; then...   
13d20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
13d30 65 3a 20 5c 60 24 64 65 70 6c 69 62 27 20 69 73  e: \`$deplib' is
13d40 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62   not a valid lib
13d50 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e  tool archive" 1>
13d60 26 32 0a 09 09 20 20 20 20 65 78 69 74 20 24 45  &2...    exit $E
13d70 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 09 20 20  XIT_FAILURE...  
13d80 66 69 0a 09 09 20 20 69 66 20 74 65 73 74 20 22  fi...  if test "
13d90 24 61 62 73 64 69 72 22 20 21 3d 20 22 24 6c 69  $absdir" != "$li
13da0 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20  bdir"; then...  
13db0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
13dc0 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24  me: warning: \`$
13dd0 64 65 70 6c 69 62 27 20 73 65 65 6d 73 20 74 6f  deplib' seems to
13de0 20 62 65 20 6d 6f 76 65 64 22 20 31 3e 26 32 0a   be moved" 1>&2.
13df0 09 09 20 20 66 69 0a 09 09 20 20 70 61 74 68 3d  ..  fi...  path=
13e00 22 24 61 62 73 64 69 72 22 0a 09 09 66 69 0a 09  "$absdir"...fi..
13e10 09 64 65 70 64 65 70 6c 3d 0a 09 09 63 61 73 65  .depdepl=...case
13e20 20 24 68 6f 73 74 20 69 6e 0a 09 09 2a 2d 2a 2d   $host in...*-*-
13e30 64 61 72 77 69 6e 2a 29 0a 09 09 20 20 23 20 77  darwin*)...  # w
13e40 65 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f  e do not want to
13e50 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 73 74   link against st
13e60 61 74 69 63 20 6c 69 62 73 2c 0a 09 09 20 20 23  atic libs,...  #
13e70 20 62 75 74 20 6e 65 65 64 20 74 6f 20 6c 69 6e   but need to lin
13e80 6b 20 61 67 61 69 6e 73 74 20 73 68 61 72 65 64  k against shared
13e90 0a 09 09 20 20 65 76 61 6c 20 64 65 70 6c 69 62  ...  eval deplib
13ea0 72 61 72 79 5f 6e 61 6d 65 73 3d 60 24 7b 53 45  rary_names=`${SE
13eb0 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62  D} -n -e 's/^lib
13ec0 72 61 72 79 5f 6e 61 6d 65 73 3d 5c 28 2e 2a 5c  rary_names=\(.*\
13ed0 29 24 2f 5c 31 2f 70 27 20 24 64 65 70 6c 69 62  )$/\1/p' $deplib
13ee0 60 0a 09 09 20 20 69 66 20 74 65 73 74 20 2d 6e  `...  if test -n
13ef0 20 22 24 64 65 70 6c 69 62 72 61 72 79 5f 6e 61   "$deplibrary_na
13f00 6d 65 73 22 20 3b 20 74 68 65 6e 0a 09 09 20 20  mes" ; then...  
13f10 20 20 66 6f 72 20 74 6d 70 20 69 6e 20 24 64 65    for tmp in $de
13f20 70 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 20 3b  plibrary_names ;
13f30 20 64 6f 0a 09 09 20 20 20 20 20 20 64 65 70 64   do...      depd
13f40 65 70 6c 3d 24 74 6d 70 0a 09 09 20 20 20 20 64  epl=$tmp...    d
13f50 6f 6e 65 0a 09 09 20 20 20 20 69 66 20 74 65 73  one...    if tes
13f60 74 20 2d 66 20 22 24 70 61 74 68 2f 24 64 65 70  t -f "$path/$dep
13f70 64 65 70 6c 22 20 3b 20 74 68 65 6e 0a 09 09 20  depl" ; then... 
13f80 20 20 20 20 20 64 65 70 64 65 70 6c 3d 22 24 70       depdepl="$p
13f90 61 74 68 2f 24 64 65 70 64 65 70 6c 22 0a 09 09  ath/$depdepl"...
13fa0 20 20 20 20 66 69 0a 09 09 20 20 20 20 23 20 64      fi...    # d
13fb0 6f 20 6e 6f 74 20 61 64 64 20 70 61 74 68 73 20  o not add paths 
13fc0 77 68 69 63 68 20 61 72 65 20 61 6c 72 65 61 64  which are alread
13fd0 79 20 74 68 65 72 65 0a 09 09 20 20 20 20 63 61  y there...    ca
13fe0 73 65 20 22 20 24 6e 65 77 6c 69 62 5f 73 65 61  se " $newlib_sea
13ff0 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a 09 09  rch_path " in...
14000 20 20 20 20 2a 22 20 24 70 61 74 68 20 22 2a 29      *" $path "*)
14010 20 3b 3b 0a 09 09 20 20 20 20 2a 29 20 6e 65 77   ;;...    *) new
14020 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d  lib_search_path=
14030 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f  "$newlib_search_
14040 70 61 74 68 20 24 70 61 74 68 22 3b 3b 0a 09 09  path $path";;...
14050 20 20 20 20 65 73 61 63 0a 09 09 20 20 66 69 0a      esac...  fi.
14060 09 09 20 20 70 61 74 68 3d 22 22 0a 09 09 20 20  ..  path=""...  
14070 3b 3b 0a 09 09 2a 29 0a 09 09 20 20 70 61 74 68  ;;...*)...  path
14080 3d 22 2d 4c 24 70 61 74 68 22 0a 09 09 20 20 3b  ="-L$path"...  ;
14090 3b 0a 09 09 65 73 61 63 0a 09 09 3b 3b 0a 09 20  ;...esac...;;.. 
140a0 20 20 20 20 20 2d 6c 2a 29 0a 09 09 63 61 73 65       -l*)...case
140b0 20 24 68 6f 73 74 20 69 6e 0a 09 09 2a 2d 2a 2d   $host in...*-*-
140c0 64 61 72 77 69 6e 2a 29 0a 09 09 20 20 23 20 41  darwin*)...  # A
140d0 67 61 69 6e 2c 20 77 65 20 6f 6e 6c 79 20 77 61  gain, we only wa
140e0 6e 74 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e  nt to link again
140f0 73 74 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  st shared librar
14100 69 65 73 0a 09 09 20 20 65 76 61 6c 20 74 6d 70  ies...  eval tmp
14110 5f 6c 69 62 73 3d 60 24 65 63 68 6f 20 22 58 24  _libs=`$echo "X$
14120 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65 64 20  deplib" | $Xsed 
14130 2d 65 20 22 73 2c 5e 5c 2d 6c 2c 2c 22 60 0a 09  -e "s,^\-l,,"`..
14140 09 20 20 66 6f 72 20 74 6d 70 20 69 6e 20 24 6e  .  for tmp in $n
14150 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ewlib_search_pat
14160 68 20 3b 20 64 6f 0a 09 09 20 20 20 20 69 66 20  h ; do...    if 
14170 74 65 73 74 20 2d 66 20 22 24 74 6d 70 2f 6c 69  test -f "$tmp/li
14180 62 24 74 6d 70 5f 6c 69 62 73 2e 64 79 6c 69 62  b$tmp_libs.dylib
14190 22 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 20  " ; then...     
141a0 20 65 76 61 6c 20 64 65 70 64 65 70 6c 3d 22 24   eval depdepl="$
141b0 74 6d 70 2f 6c 69 62 24 74 6d 70 5f 6c 69 62 73  tmp/lib$tmp_libs
141c0 2e 64 79 6c 69 62 22 0a 09 09 20 20 20 20 20 20  .dylib"...      
141d0 62 72 65 61 6b 0a 09 09 20 20 20 20 66 69 0a 09  break...    fi..
141e0 09 20 20 64 6f 6e 65 0a 09 09 20 20 70 61 74 68  .  done...  path
141f0 3d 22 22 0a 09 09 20 20 3b 3b 0a 09 09 2a 29 20  =""...  ;;...*) 
14200 63 6f 6e 74 69 6e 75 65 20 3b 3b 0a 09 09 65 73  continue ;;...es
14210 61 63 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20 2a  ac...;;..      *
14220 29 20 63 6f 6e 74 69 6e 75 65 20 3b 3b 0a 09 20  ) continue ;;.. 
14230 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 20       esac..     
14240 20 63 61 73 65 20 22 20 24 64 65 70 6c 69 62 73   case " $deplibs
14250 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20   " in..      *" 
14260 24 70 61 74 68 20 22 2a 29 20 3b 3b 0a 09 20 20  $path "*) ;;..  
14270 20 20 20 20 2a 29 20 64 65 70 6c 69 62 73 3d 22      *) deplibs="
14280 24 70 61 74 68 20 24 64 65 70 6c 69 62 73 22 20  $path $deplibs" 
14290 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
142a0 20 20 20 20 20 20 63 61 73 65 20 22 20 24 64 65        case " $de
142b0 70 6c 69 62 73 20 22 20 69 6e 0a 09 20 20 20 20  plibs " in..    
142c0 20 20 2a 22 20 24 64 65 70 64 65 70 6c 20 22 2a    *" $depdepl "*
142d0 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 64  ) ;;..      *) d
142e0 65 70 6c 69 62 73 3d 22 24 64 65 70 64 65 70 6c  eplibs="$depdepl
142f0 20 24 64 65 70 6c 69 62 73 22 20 3b 3b 0a 09 20   $deplibs" ;;.. 
14300 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 64       esac..    d
14310 6f 6e 65 0a 09 20 20 66 69 20 23 20 6c 69 6e 6b  one..  fi # link
14320 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 20 21 3d 20  _all_deplibs != 
14330 6e 6f 0a 09 66 69 20 23 20 6c 69 6e 6b 6d 6f 64  no..fi # linkmod
14340 65 20 3d 20 6c 69 62 0a 20 20 20 20 20 20 64 6f  e = lib.      do
14350 6e 65 20 23 20 66 6f 72 20 64 65 70 6c 69 62 20  ne # for deplib 
14360 69 6e 20 24 6c 69 62 73 0a 20 20 20 20 20 20 64  in $libs.      d
14370 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
14380 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c  $newdependency_l
14390 69 62 73 22 0a 20 20 20 20 20 20 69 66 20 74 65  ibs".      if te
143a0 73 74 20 22 24 70 61 73 73 22 20 3d 20 64 6c 70  st "$pass" = dlp
143b0 72 65 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 23 20  reopen; then..# 
143c0 4c 69 6e 6b 20 74 68 65 20 64 6c 70 72 65 6f 70  Link the dlpreop
143d0 65 6e 65 64 20 6c 69 62 72 61 72 69 65 73 20 62  ened libraries b
143e0 65 66 6f 72 65 20 6f 74 68 65 72 20 6c 69 62 72  efore other libr
143f0 61 72 69 65 73 0a 09 66 6f 72 20 64 65 70 6c 69  aries..for depli
14400 62 20 69 6e 20 24 73 61 76 65 5f 64 65 70 6c 69  b in $save_depli
14410 62 73 3b 20 64 6f 0a 09 20 20 64 65 70 6c 69 62  bs; do..  deplib
14420 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c  s="$deplib $depl
14430 69 62 73 22 0a 09 64 6f 6e 65 0a 20 20 20 20 20  ibs"..done.     
14440 20 66 69 0a 20 20 20 20 20 20 69 66 20 74 65 73   fi.      if tes
14450 74 20 22 24 70 61 73 73 22 20 21 3d 20 64 6c 6f  t "$pass" != dlo
14460 70 65 6e 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  pen; then..if te
14470 73 74 20 22 24 70 61 73 73 22 20 21 3d 20 63 6f  st "$pass" != co
14480 6e 76 3b 20 74 68 65 6e 0a 09 20 20 23 20 4d 61  nv; then..  # Ma
14490 6b 65 20 73 75 72 65 20 6c 69 62 5f 73 65 61 72  ke sure lib_sear
144a0 63 68 5f 70 61 74 68 20 63 6f 6e 74 61 69 6e 73  ch_path contains
144b0 20 6f 6e 6c 79 20 75 6e 69 71 75 65 20 64 69 72   only unique dir
144c0 65 63 74 6f 72 69 65 73 2e 0a 09 20 20 6c 69 62  ectories...  lib
144d0 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 0a 09 20  _search_path=.. 
144e0 20 66 6f 72 20 64 69 72 20 69 6e 20 24 6e 65 77   for dir in $new
144f0 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3b  lib_search_path;
14500 20 64 6f 0a 09 20 20 20 20 63 61 73 65 20 22 24   do..    case "$
14510 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20  lib_search_path 
14520 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 64 69  " in..    *" $di
14530 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29  r "*) ;;..    *)
14540 20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68   lib_search_path
14550 3d 22 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  ="$lib_search_pa
14560 74 68 20 24 64 69 72 22 20 3b 3b 0a 09 20 20 20  th $dir" ;;..   
14570 20 65 73 61 63 0a 09 20 20 64 6f 6e 65 0a 09 20   esac..  done.. 
14580 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70   newlib_search_p
14590 61 74 68 3d 0a 09 66 69 0a 0a 09 69 66 20 74 65  ath=..fi...if te
145a0 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70  st "$linkmode,$p
145b0 61 73 73 22 20 21 3d 20 22 70 72 6f 67 2c 6c 69  ass" != "prog,li
145c0 6e 6b 22 3b 20 74 68 65 6e 0a 09 20 20 76 61 72  nk"; then..  var
145d0 73 3d 22 64 65 70 6c 69 62 73 22 0a 09 65 6c 73  s="deplibs"..els
145e0 65 0a 09 20 20 76 61 72 73 3d 22 63 6f 6d 70 69  e..  vars="compi
145f0 6c 65 5f 64 65 70 6c 69 62 73 20 66 69 6e 61 6c  le_deplibs final
14600 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 66 69  ize_deplibs"..fi
14610 0a 09 66 6f 72 20 76 61 72 20 69 6e 20 24 76 61  ..for var in $va
14620 72 73 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  rs dependency_li
14630 62 73 3b 20 64 6f 0a 09 20 20 23 20 41 64 64 20  bs; do..  # Add 
14640 6c 69 62 72 61 72 69 65 73 20 74 6f 20 24 76 61  libraries to $va
14650 72 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64  r in reverse ord
14660 65 72 0a 09 20 20 65 76 61 6c 20 74 6d 70 5f 6c  er..  eval tmp_l
14670 69 62 73 3d 5c 22 5c 24 24 76 61 72 5c 22 0a 09  ibs=\"\$$var\"..
14680 20 20 6e 65 77 5f 6c 69 62 73 3d 0a 09 20 20 66    new_libs=..  f
14690 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 74 6d  or deplib in $tm
146a0 70 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20  p_libs; do..    
146b0 23 20 46 49 58 4d 45 3a 20 50 65 64 61 6e 74 69  # FIXME: Pedanti
146c0 63 61 6c 6c 79 2c 20 74 68 69 73 20 69 73 20 74  cally, this is t
146d0 68 65 20 72 69 67 68 74 20 74 68 69 6e 67 20 74  he right thing t
146e0 6f 20 64 6f 2c 20 73 6f 0a 09 20 20 20 20 23 20  o do, so..    # 
146f0 20 20 20 20 20 20 20 74 68 61 74 20 73 6f 6d 65         that some
14700 20 6e 61 73 74 79 20 64 65 70 65 6e 64 65 6e 63   nasty dependenc
14710 79 20 6c 6f 6f 70 20 69 73 6e 27 74 20 61 63 63  y loop isn't acc
14720 69 64 65 6e 74 61 6c 6c 79 0a 09 20 20 20 20 23  identally..    #
14730 20 20 20 20 20 20 20 20 62 72 6f 6b 65 6e 3a 0a          broken:.
14740 09 20 20 20 20 23 6e 65 77 5f 6c 69 62 73 3d 22  .    #new_libs="
14750 24 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69 62  $deplib $new_lib
14760 73 22 0a 09 20 20 20 20 23 20 50 72 61 67 6d 61  s"..    # Pragma
14770 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 73 65  tically, this se
14780 65 6d 73 20 74 6f 20 63 61 75 73 65 20 76 65 72  ems to cause ver
14790 79 20 66 65 77 20 70 72 6f 62 6c 65 6d 73 20 69  y few problems i
147a0 6e 0a 09 20 20 20 20 23 20 70 72 61 63 74 69 63  n..    # practic
147b0 65 3a 0a 09 20 20 20 20 63 61 73 65 20 24 64 65  e:..    case $de
147c0 70 6c 69 62 20 69 6e 0a 09 20 20 20 20 2d 4c 2a  plib in..    -L*
147d0 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24 64 65 70  ) new_libs="$dep
147e0 6c 69 62 20 24 6e 65 77 5f 6c 69 62 73 22 20 3b  lib $new_libs" ;
147f0 3b 0a 09 20 20 20 20 2d 52 2a 29 20 3b 3b 0a 09  ;..    -R*) ;;..
14800 20 20 20 20 2a 29 0a 09 20 20 20 20 20 20 23 20      *)..      # 
14810 41 6e 64 20 68 65 72 65 20 69 73 20 74 68 65 20  And here is the 
14820 72 65 61 73 6f 6e 3a 20 77 68 65 6e 20 61 20 6c  reason: when a l
14830 69 62 72 61 72 79 20 61 70 70 65 61 72 73 20 6d  ibrary appears m
14840 6f 72 65 0a 09 20 20 20 20 20 20 23 20 74 68 61  ore..      # tha
14850 6e 20 6f 6e 63 65 20 61 73 20 61 6e 20 65 78 70  n once as an exp
14860 6c 69 63 69 74 20 64 65 70 65 6e 64 65 6e 63 65  licit dependence
14870 20 6f 66 20 61 20 6c 69 62 72 61 72 79 2c 20 6f   of a library, o
14880 72 0a 09 20 20 20 20 20 20 23 20 69 73 20 69 6d  r..      # is im
14890 70 6c 69 63 69 74 6c 79 20 6c 69 6e 6b 65 64 20  plicitly linked 
148a0 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63  in more than onc
148b0 65 20 62 79 20 74 68 65 0a 09 20 20 20 20 20 20  e by the..      
148c0 23 20 63 6f 6d 70 69 6c 65 72 2c 20 69 74 20 69  # compiler, it i
148d0 73 20 63 6f 6e 73 69 64 65 72 65 64 20 73 70 65  s considered spe
148e0 63 69 61 6c 2c 20 61 6e 64 20 6d 75 6c 74 69 70  cial, and multip
148f0 6c 65 0a 09 20 20 20 20 20 20 23 20 6f 63 63 75  le..      # occu
14900 72 72 65 6e 63 65 73 20 74 68 65 72 65 6f 66 20  rrences thereof 
14910 61 72 65 20 6e 6f 74 20 72 65 6d 6f 76 65 64 2e  are not removed.
14920 20 20 43 6f 6d 70 61 72 65 20 74 68 69 73 0a 09    Compare this..
14930 20 20 20 20 20 20 23 20 77 69 74 68 20 68 61 76        # with hav
14940 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6c 69 62  ing the same lib
14950 72 61 72 79 20 62 65 69 6e 67 20 6c 69 73 74 65  rary being liste
14960 64 20 61 73 20 61 0a 09 20 20 20 20 20 20 23 20  d as a..      # 
14970 64 65 70 65 6e 64 65 6e 63 79 20 6f 66 20 6d 75  dependency of mu
14980 6c 74 69 70 6c 65 20 6f 74 68 65 72 20 6c 69 62  ltiple other lib
14990 72 61 72 69 65 73 3a 20 69 6e 20 74 68 69 73 20  raries: in this 
149a0 63 61 73 65 2c 0a 09 20 20 20 20 20 20 23 20 77  case,..      # w
149b0 65 20 6b 6e 6f 77 20 28 70 65 64 61 6e 74 69 63  e know (pedantic
149c0 61 6c 6c 79 2c 20 77 65 20 61 73 73 75 6d 65 29  ally, we assume)
149d0 20 74 68 65 20 6c 69 62 72 61 72 79 20 64 6f 65   the library doe
149e0 73 20 6e 6f 74 0a 09 20 20 20 20 20 20 23 20 6e  s not..      # n
149f0 65 65 64 20 74 6f 20 62 65 20 6c 69 73 74 65 64  eed to be listed
14a00 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c   more than once,
14a10 20 73 6f 20 77 65 20 6b 65 65 70 20 6f 6e 6c 79   so we keep only
14a20 20 74 68 65 0a 09 20 20 20 20 20 20 23 20 6c 61   the..      # la
14a30 73 74 20 63 6f 70 79 2e 20 20 54 68 69 73 20 69  st copy.  This i
14a40 73 20 6e 6f 74 20 61 6c 77 61 79 73 20 72 69 67  s not always rig
14a50 68 74 2c 20 62 75 74 20 69 74 20 69 73 20 72 61  ht, but it is ra
14a60 72 65 0a 09 20 20 20 20 20 20 23 20 65 6e 6f 75  re..      # enou
14a70 67 68 20 74 68 61 74 20 77 65 20 72 65 71 75 69  gh that we requi
14a80 72 65 20 75 73 65 72 73 20 74 68 61 74 20 72 65  re users that re
14a90 61 6c 6c 79 20 6d 65 61 6e 20 74 6f 20 70 6c 61  ally mean to pla
14aa0 79 0a 09 20 20 20 20 20 20 23 20 73 75 63 68 20  y..      # such 
14ab0 75 6e 70 6f 72 74 61 62 6c 65 20 6c 69 6e 6b 69  unportable linki
14ac0 6e 67 20 74 72 69 63 6b 73 20 74 6f 20 6c 69 6e  ng tricks to lin
14ad0 6b 20 74 68 65 20 6c 69 62 72 61 72 79 0a 09 20  k the library.. 
14ae0 20 20 20 20 20 23 20 75 73 69 6e 67 20 2d 57 6c       # using -Wl
14af0 2c 2d 6c 6e 61 6d 65 2c 20 73 6f 20 74 68 61 74  ,-lname, so that
14b00 20 6c 69 62 74 6f 6f 6c 20 64 6f 65 73 20 6e 6f   libtool does no
14b10 74 20 63 6f 6e 73 69 64 65 72 20 69 74 0a 09 20  t consider it.. 
14b20 20 20 20 20 20 23 20 66 6f 72 20 64 75 70 6c 69       # for dupli
14b30 63 61 74 65 20 72 65 6d 6f 76 61 6c 2e 0a 09 20  cate removal... 
14b40 20 20 20 20 20 63 61 73 65 20 22 20 24 73 70 65       case " $spe
14b50 63 69 61 6c 64 65 70 6c 69 62 73 20 22 20 69 6e  cialdeplibs " in
14b60 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c  ..      *" $depl
14b70 69 62 20 22 2a 29 20 6e 65 77 5f 6c 69 62 73 3d  ib "*) new_libs=
14b80 22 24 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69  "$deplib $new_li
14b90 62 73 22 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29  bs" ;;..      *)
14ba0 0a 09 09 63 61 73 65 20 22 20 24 6e 65 77 5f 6c  ...case " $new_l
14bb0 69 62 73 20 22 20 69 6e 0a 09 09 2a 22 20 24 64  ibs " in...*" $d
14bc0 65 70 6c 69 62 20 22 2a 29 20 3b 3b 0a 09 09 2a  eplib "*) ;;...*
14bd0 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24 64 65 70  ) new_libs="$dep
14be0 6c 69 62 20 24 6e 65 77 5f 6c 69 62 73 22 20 3b  lib $new_libs" ;
14bf0 3b 0a 09 09 65 73 61 63 0a 09 09 3b 3b 0a 09 20  ;...esac...;;.. 
14c00 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 20       esac..     
14c10 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20   ;;..    esac.. 
14c20 20 64 6f 6e 65 0a 09 20 20 74 6d 70 5f 6c 69 62   done..  tmp_lib
14c30 73 3d 0a 09 20 20 66 6f 72 20 64 65 70 6c 69 62  s=..  for deplib
14c40 20 69 6e 20 24 6e 65 77 5f 6c 69 62 73 3b 20 64   in $new_libs; d
14c50 6f 0a 09 20 20 20 20 63 61 73 65 20 24 64 65 70  o..    case $dep
14c60 6c 69 62 20 69 6e 0a 09 20 20 20 20 2d 4c 2a 29  lib in..    -L*)
14c70 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 20 24  ..      case " $
14c80 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20  tmp_libs " in.. 
14c90 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62 20       *" $deplib 
14ca0 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29  "*) ;;..      *)
14cb0 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70 5f   tmp_libs="$tmp_
14cc0 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b  libs $deplib" ;;
14cd0 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
14ce0 20 20 20 20 3b 3b 0a 09 20 20 20 20 2a 29 20 74      ;;..    *) t
14cf0 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70 5f 6c 69  mp_libs="$tmp_li
14d00 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09  bs $deplib" ;;..
14d10 20 20 20 20 65 73 61 63 0a 09 20 20 64 6f 6e 65      esac..  done
14d20 0a 09 20 20 65 76 61 6c 20 24 76 61 72 3d 5c 22  ..  eval $var=\"
14d30 24 74 6d 70 5f 6c 69 62 73 5c 22 0a 09 64 6f 6e  $tmp_libs\"..don
14d40 65 20 23 20 66 6f 72 20 76 61 72 0a 20 20 20 20  e # for var.    
14d50 20 20 66 69 0a 20 20 20 20 20 20 23 20 4c 61 73    fi.      # Las
14d60 74 20 73 74 65 70 3a 20 72 65 6d 6f 76 65 20 72  t step: remove r
14d70 75 6e 74 69 6d 65 20 6c 69 62 73 20 66 72 6f 6d  untime libs from
14d80 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73   dependency_libs
14d90 0a 20 20 20 20 20 20 23 20 28 74 68 65 79 20 73  .      # (they s
14da0 74 61 79 20 69 6e 20 64 65 70 6c 69 62 73 29 0a  tay in deplibs).
14db0 20 20 20 20 20 20 74 6d 70 5f 6c 69 62 73 3d 0a        tmp_libs=.
14dc0 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24        for i in $
14dd0 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 20  dependency_libs 
14de0 3b 20 64 6f 0a 09 63 61 73 65 20 22 20 24 70 72  ; do..case " $pr
14df0 65 64 65 70 73 20 24 70 6f 73 74 64 65 70 73 20  edeps $postdeps 
14e00 24 63 6f 6d 70 69 6c 65 72 5f 6c 69 62 5f 73 65  $compiler_lib_se
14e10 61 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a 09  arch_path " in..
14e20 2a 22 20 24 69 20 22 2a 29 0a 09 20 20 69 3d 22  *" $i "*)..  i="
14e30 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 69  "..  ;;..esac..i
14e40 66 20 74 65 73 74 20 2d 6e 20 22 24 69 22 20 3b  f test -n "$i" ;
14e50 20 74 68 65 6e 0a 09 20 20 74 6d 70 5f 6c 69 62   then..  tmp_lib
14e60 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20 24 69 22  s="$tmp_libs $i"
14e70 0a 09 66 69 0a 20 20 20 20 20 20 64 6f 6e 65 0a  ..fi.      done.
14e80 20 20 20 20 20 20 64 65 70 65 6e 64 65 6e 63 79        dependency
14e90 5f 6c 69 62 73 3d 24 74 6d 70 5f 6c 69 62 73 0a  _libs=$tmp_libs.
14ea0 20 20 20 20 64 6f 6e 65 20 23 20 66 6f 72 20 70      done # for p
14eb0 61 73 73 0a 20 20 20 20 69 66 20 74 65 73 74 20  ass.    if test 
14ec0 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70 72  "$linkmode" = pr
14ed0 6f 67 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 64  og; then.      d
14ee0 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69  lfiles="$newdlfi
14ef0 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 70 72 65  les".      dlpre
14f00 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65  files="$newdlpre
14f10 66 69 6c 65 73 22 0a 20 20 20 20 66 69 0a 0a 20  files".    fi.. 
14f20 20 20 20 63 61 73 65 20 24 6c 69 6e 6b 6d 6f 64     case $linkmod
14f30 65 20 69 6e 0a 20 20 20 20 6f 6c 64 6c 69 62 29  e in.    oldlib)
14f40 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
14f50 6e 20 22 24 64 65 70 6c 69 62 73 22 3b 20 74 68  n "$deplibs"; th
14f60 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
14f70 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c  name: warning: \
14f80 60 2d 6c 27 20 61 6e 64 20 5c 60 2d 4c 27 20 61  `-l' and \`-L' a
14f90 72 65 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61  re ignored for a
14fa0 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20  rchives" 1>&2.  
14fb0 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
14fc0 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 66 69 6c   test -n "$dlfil
14fd0 65 73 24 64 6c 70 72 65 66 69 6c 65 73 22 20 7c  es$dlprefiles" |
14fe0 7c 20 74 65 73 74 20 22 24 64 6c 73 65 6c 66 22  | test "$dlself"
14ff0 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 24 65   != no; then..$e
15000 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
15010 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 64 6c 6f 70  warning: \`-dlop
15020 65 6e 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66  en' is ignored f
15030 6f 72 20 61 72 63 68 69 76 65 73 22 20 31 3e 26  or archives" 1>&
15040 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  2.      fi..    
15050 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72    if test -n "$r
15060 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 24 65 63  path"; then..$ec
15070 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77  ho "$modename: w
15080 61 72 6e 69 6e 67 3a 20 5c 60 2d 72 70 61 74 68  arning: \`-rpath
15090 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
150a0 20 61 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a   archives" 1>&2.
150b0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
150c0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 78 72 70  if test -n "$xrp
150d0 61 74 68 22 3b 20 74 68 65 6e 0a 09 24 65 63 68  ath"; then..$ech
150e0 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
150f0 72 6e 69 6e 67 3a 20 5c 60 2d 52 27 20 69 73 20  rning: \`-R' is 
15100 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68  ignored for arch
15110 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ives" 1>&2.     
15120 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
15130 73 74 20 2d 6e 20 22 24 76 69 6e 66 6f 22 3b 20  st -n "$vinfo"; 
15140 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f  then..$echo "$mo
15150 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
15160 20 5c 60 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f   \`-version-info
15170 2f 2d 76 65 72 73 69 6f 6e 2d 6e 75 6d 62 65 72  /-version-number
15180 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
15190 20 61 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a   archives" 1>&2.
151a0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
151b0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c  if test -n "$rel
151c0 65 61 73 65 22 3b 20 74 68 65 6e 0a 09 24 65 63  ease"; then..$ec
151d0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77  ho "$modename: w
151e0 61 72 6e 69 6e 67 3a 20 5c 60 2d 72 65 6c 65 61  arning: \`-relea
151f0 73 65 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66  se' is ignored f
15200 6f 72 20 61 72 63 68 69 76 65 73 22 20 31 3e 26  or archives" 1>&
15210 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  2.      fi..    
15220 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65    if test -n "$e
15230 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 7c  xport_symbols" |
15240 7c 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f  | test -n "$expo
15250 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
15260 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
15270 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
15280 6e 67 3a 20 5c 60 2d 65 78 70 6f 72 74 2d 73 79  ng: \`-export-sy
15290 6d 62 6f 6c 73 27 20 69 73 20 69 67 6e 6f 72 65  mbols' is ignore
152a0 64 20 66 6f 72 20 61 72 63 68 69 76 65 73 22 20  d for archives" 
152b0 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20  1>&2.      fi.. 
152c0 20 20 20 20 20 23 20 4e 6f 77 20 73 65 74 20 74       # Now set t
152d0 68 65 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72  he variables for
152e0 20 62 75 69 6c 64 69 6e 67 20 6f 6c 64 20 6c 69   building old li
152f0 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 62  braries..      b
15300 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
15310 73 3d 6e 6f 0a 20 20 20 20 20 20 6f 6c 64 6c 69  s=no.      oldli
15320 62 73 3d 22 24 6f 75 74 70 75 74 22 0a 20 20 20  bs="$output".   
15330 20 20 20 6f 62 6a 73 3d 22 24 6f 62 6a 73 24 6f     objs="$objs$o
15340 6c 64 5f 64 65 70 6c 69 62 73 22 0a 20 20 20 20  ld_deplibs".    
15350 20 20 3b 3b 0a 0a 20 20 20 20 6c 69 62 29 0a 20    ;;..    lib). 
15360 20 20 20 20 20 23 20 4d 61 6b 65 20 73 75 72 65       # Make sure
15370 20 77 65 20 6f 6e 6c 79 20 67 65 6e 65 72 61 74   we only generat
15380 65 20 6c 69 62 72 61 72 69 65 73 20 6f 66 20 74  e libraries of t
15390 68 65 20 66 6f 72 6d 20 60 6c 69 62 4e 41 4d 45  he form `libNAME
153a0 2e 6c 61 27 2e 0a 20 20 20 20 20 20 63 61 73 65  .la'..      case
153b0 20 24 6f 75 74 70 75 74 6e 61 6d 65 20 69 6e 0a   $outputname in.
153c0 20 20 20 20 20 20 6c 69 62 2a 29 0a 09 6e 61 6d        lib*)..nam
153d0 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 75 74 70  e=`$echo "X$outp
153e0 75 74 6e 61 6d 65 22 20 7c 20 24 58 73 65 64 20  utname" | $Xsed 
153f0 2d 65 20 27 73 2f 5c 2e 6c 61 24 2f 2f 27 20 2d  -e 's/\.la$//' -
15400 65 20 27 73 2f 5e 6c 69 62 2f 2f 27 60 0a 09 65  e 's/^lib//'`..e
15410 76 61 6c 20 73 68 61 72 65 64 5f 65 78 74 3d 5c  val shared_ext=\
15420 22 24 73 68 72 65 78 74 5f 63 6d 64 73 5c 22 0a  "$shrext_cmds\".
15430 09 65 76 61 6c 20 6c 69 62 6e 61 6d 65 3d 5c 22  .eval libname=\"
15440 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 0a  $libname_spec\".
15450 09 3b 3b 0a 20 20 20 20 20 20 2a 29 0a 09 69 66  .;;.      *)..if
15460 20 74 65 73 74 20 22 24 6d 6f 64 75 6c 65 22 20   test "$module" 
15470 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 24 65  = no; then..  $e
15480 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
15490 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 20  libtool library 
154a0 5c 60 24 6f 75 74 70 75 74 27 20 6d 75 73 74 20  \`$output' must 
154b0 62 65 67 69 6e 20 77 69 74 68 20 5c 60 6c 69 62  begin with \`lib
154c0 27 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f  '" 1>&2..  $echo
154d0 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20   "$help" 1>&2.. 
154e0 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c   exit $EXIT_FAIL
154f0 55 52 45 0a 09 66 69 0a 09 69 66 20 74 65 73 74  URE..fi..if test
15500 20 22 24 6e 65 65 64 5f 6c 69 62 5f 70 72 65 66   "$need_lib_pref
15510 69 78 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a  ix" != no; then.
15520 09 20 20 23 20 41 64 64 20 74 68 65 20 22 6c 69  .  # Add the "li
15530 62 22 20 70 72 65 66 69 78 20 66 6f 72 20 6d 6f  b" prefix for mo
15540 64 75 6c 65 73 20 69 66 20 72 65 71 75 69 72 65  dules if require
15550 64 0a 09 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f  d..  name=`$echo
15560 20 22 58 24 6f 75 74 70 75 74 6e 61 6d 65 22 20   "X$outputname" 
15570 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5c 2e  | $Xsed -e 's/\.
15580 6c 61 24 2f 2f 27 60 0a 09 20 20 65 76 61 6c 20  la$//'`..  eval 
15590 73 68 61 72 65 64 5f 65 78 74 3d 5c 22 24 73 68  shared_ext=\"$sh
155a0 72 65 78 74 5f 63 6d 64 73 5c 22 0a 09 20 20 65  rext_cmds\"..  e
155b0 76 61 6c 20 6c 69 62 6e 61 6d 65 3d 5c 22 24 6c  val libname=\"$l
155c0 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 0a 09 65  ibname_spec\"..e
155d0 6c 73 65 0a 09 20 20 6c 69 62 6e 61 6d 65 3d 60  lse..  libname=`
155e0 24 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 6e  $echo "X$outputn
155f0 61 6d 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20  ame" | $Xsed -e 
15600 27 73 2f 5c 2e 6c 61 24 2f 2f 27 60 0a 09 66 69  's/\.la$//'`..fi
15610 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
15620 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
15630 6e 20 22 24 6f 62 6a 73 22 3b 20 74 68 65 6e 0a  n "$objs"; then.
15640 09 69 66 20 74 65 73 74 20 22 24 64 65 70 6c 69  .if test "$depli
15650 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64 22  bs_check_method"
15660 20 21 3d 20 70 61 73 73 5f 61 6c 6c 3b 20 74 68   != pass_all; th
15670 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  en..  $echo "$mo
15680 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 62  dename: cannot b
15690 75 69 6c 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62  uild libtool lib
156a0 72 61 72 79 20 5c 60 24 6f 75 74 70 75 74 27 20  rary \`$output' 
156b0 66 72 6f 6d 20 6e 6f 6e 2d 6c 69 62 74 6f 6f 6c  from non-libtool
156c0 20 6f 62 6a 65 63 74 73 20 6f 6e 20 74 68 69 73   objects on this
156d0 20 68 6f 73 74 3a 24 6f 62 6a 73 22 20 32 3e 26   host:$objs" 2>&
156e0 31 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f  1..  exit $EXIT_
156f0 46 41 49 4c 55 52 45 0a 09 65 6c 73 65 0a 09 20  FAILURE..else.. 
15700 20 24 65 63 68 6f 0a 09 20 20 24 65 63 68 6f 20   $echo..  $echo 
15710 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 4c 69  "*** Warning: Li
15720 6e 6b 69 6e 67 20 74 68 65 20 73 68 61 72 65 64  nking the shared
15730 20 6c 69 62 72 61 72 79 20 24 6f 75 74 70 75 74   library $output
15740 20 61 67 61 69 6e 73 74 20 74 68 65 20 6e 6f 6e   against the non
15750 2d 6c 69 62 74 6f 6f 6c 22 0a 09 20 20 24 65 63  -libtool"..  $ec
15760 68 6f 20 22 2a 2a 2a 20 6f 62 6a 65 63 74 73 20  ho "*** objects 
15770 24 6f 62 6a 73 20 69 73 20 6e 6f 74 20 70 6f 72  $objs is not por
15780 74 61 62 6c 65 21 22 0a 09 20 20 6c 69 62 6f 62  table!"..  libob
15790 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 6f 62  js="$libobjs $ob
157a0 6a 73 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69  js"..fi.      fi
157b0 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
157c0 22 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e 6f 3b  "$dlself" != no;
157d0 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
157e0 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
157f0 3a 20 5c 60 2d 64 6c 6f 70 65 6e 20 73 65 6c 66  : \`-dlopen self
15800 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
15810 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
15820 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  es" 1>&2.      f
15830 69 0a 0a 20 20 20 20 20 20 73 65 74 20 64 75 6d  i..      set dum
15840 6d 79 20 24 72 70 61 74 68 0a 20 20 20 20 20 20  my $rpath.      
15850 69 66 20 74 65 73 74 20 22 24 23 22 20 2d 67 74  if test "$#" -gt
15860 20 32 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20   2; then..$echo 
15870 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
15880 69 6e 67 3a 20 69 67 6e 6f 72 69 6e 67 20 6d 75  ing: ignoring mu
15890 6c 74 69 70 6c 65 20 5c 60 2d 72 70 61 74 68 27  ltiple \`-rpath'
158a0 73 20 66 6f 72 20 61 20 6c 69 62 74 6f 6f 6c 20  s for a libtool 
158b0 6c 69 62 72 61 72 79 22 20 31 3e 26 32 0a 20 20  library" 1>&2.  
158c0 20 20 20 20 66 69 0a 20 20 20 20 20 20 69 6e 73      fi.      ins
158d0 74 61 6c 6c 5f 6c 69 62 64 69 72 3d 22 24 32 22  tall_libdir="$2"
158e0 0a 0a 20 20 20 20 20 20 6f 6c 64 6c 69 62 73 3d  ..      oldlibs=
158f0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
15900 7a 20 22 24 72 70 61 74 68 22 3b 20 74 68 65 6e  z "$rpath"; then
15910 0a 09 69 66 20 74 65 73 74 20 22 24 62 75 69 6c  ..if test "$buil
15920 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20  d_libtool_libs" 
15930 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23  = yes; then..  #
15940 20 42 75 69 6c 64 69 6e 67 20 61 20 6c 69 62 74   Building a libt
15950 6f 6f 6c 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  ool convenience 
15960 6c 69 62 72 61 72 79 2e 0a 09 20 20 23 20 53 6f  library...  # So
15970 6d 65 20 63 6f 6d 70 69 6c 65 72 73 20 68 61 76  me compilers hav
15980 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20  e problems with 
15990 61 20 60 2e 61 6c 27 20 65 78 74 65 6e 73 69 6f  a `.al' extensio
159a0 6e 20 73 6f 0a 09 20 20 23 20 63 6f 6e 76 65 6e  n so..  # conven
159b0 69 65 6e 63 65 20 6c 69 62 72 61 72 69 65 73 20  ience libraries 
159c0 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20  should have the 
159d0 73 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 20 61  same extension a
159e0 6e 0a 09 20 20 23 20 61 72 63 68 69 76 65 20 6e  n..  # archive n
159f0 6f 72 6d 61 6c 6c 79 20 77 6f 75 6c 64 2e 0a 09  ormally would...
15a00 20 20 6f 6c 64 6c 69 62 73 3d 22 24 6f 75 74 70    oldlibs="$outp
15a10 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61  ut_objdir/$libna
15a20 6d 65 2e 24 6c 69 62 65 78 74 20 24 6f 6c 64 6c  me.$libext $oldl
15a30 69 62 73 22 0a 09 20 20 62 75 69 6c 64 5f 6c 69  ibs"..  build_li
15a40 62 74 6f 6f 6c 5f 6c 69 62 73 3d 63 6f 6e 76 65  btool_libs=conve
15a50 6e 69 65 6e 63 65 0a 09 20 20 62 75 69 6c 64 5f  nience..  build_
15a60 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 66 69  old_libs=yes..fi
15a70 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24  ...if test -n "$
15a80 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a 09 20 20  vinfo"; then..  
15a90 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
15aa0 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65  : warning: \`-ve
15ab0 72 73 69 6f 6e 2d 69 6e 66 6f 2f 2d 76 65 72 73  rsion-info/-vers
15ac0 69 6f 6e 2d 6e 75 6d 62 65 72 27 20 69 73 20 69  ion-number' is i
15ad0 67 6e 6f 72 65 64 20 66 6f 72 20 63 6f 6e 76 65  gnored for conve
15ae0 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 69 65 73  nience libraries
15af0 22 20 31 3e 26 32 0a 09 66 69 0a 0a 09 69 66 20  " 1>&2..fi...if 
15b00 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73  test -n "$releas
15b10 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68  e"; then..  $ech
15b20 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
15b30 72 6e 69 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73  rning: \`-releas
15b40 65 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  e' is ignored fo
15b50 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69  r convenience li
15b60 62 72 61 72 69 65 73 22 20 31 3e 26 32 0a 09 66  braries" 1>&2..f
15b70 69 0a 20 20 20 20 20 20 65 6c 73 65 0a 0a 09 23  i.      else...#
15b80 20 50 61 72 73 65 20 74 68 65 20 76 65 72 73 69   Parse the versi
15b90 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61  on information a
15ba0 72 67 75 6d 65 6e 74 2e 0a 09 73 61 76 65 5f 69  rgument...save_i
15bb0 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
15bc0 3a 27 0a 09 73 65 74 20 64 75 6d 6d 79 20 24 76  :'..set dummy $v
15bd0 69 6e 66 6f 20 30 20 30 20 30 0a 09 49 46 53 3d  info 0 0 0..IFS=
15be0 22 24 73 61 76 65 5f 69 66 73 22 0a 0a 09 69 66  "$save_ifs"...if
15bf0 20 74 65 73 74 20 2d 6e 20 22 24 38 22 3b 20 74   test -n "$8"; t
15c00 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  hen..  $echo "$m
15c10 6f 64 65 6e 61 6d 65 3a 20 74 6f 6f 20 6d 61 6e  odename: too man
15c20 79 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20  y parameters to 
15c30 5c 60 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27  \`-version-info'
15c40 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20  " 1>&2..  $echo 
15c50 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20 20  "$help" 1>&2..  
15c60 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
15c70 52 45 0a 09 66 69 0a 0a 09 23 20 63 6f 6e 76 65  RE..fi...# conve
15c80 72 74 20 61 62 73 6f 6c 75 74 65 20 76 65 72 73  rt absolute vers
15c90 69 6f 6e 20 6e 75 6d 62 65 72 73 20 74 6f 20 6c  ion numbers to l
15ca0 69 62 74 6f 6f 6c 20 61 67 65 73 0a 09 23 20 74  ibtool ages..# t
15cb0 68 69 73 20 72 65 74 61 69 6e 73 20 63 6f 6d 70  his retains comp
15cc0 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 2e  atibility with .
15cd0 6c 61 20 66 69 6c 65 73 20 61 6e 64 20 61 74 74  la files and att
15ce0 65 6d 70 74 73 0a 09 23 20 74 6f 20 6d 61 6b 65  empts..# to make
15cf0 20 74 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20   the code below 
15d00 61 20 62 69 74 20 6d 6f 72 65 20 63 6f 6d 70 72  a bit more compr
15d10 65 68 65 6e 73 69 62 6c 65 0a 0a 09 63 61 73 65  ehensible...case
15d20 20 24 76 69 6e 66 6f 5f 6e 75 6d 62 65 72 20 69   $vinfo_number i
15d30 6e 0a 09 79 65 73 29 0a 09 20 20 6e 75 6d 62 65  n..yes)..  numbe
15d40 72 5f 6d 61 6a 6f 72 3d 22 24 32 22 0a 09 20 20  r_major="$2"..  
15d50 6e 75 6d 62 65 72 5f 6d 69 6e 6f 72 3d 22 24 33  number_minor="$3
15d60 22 0a 09 20 20 6e 75 6d 62 65 72 5f 72 65 76 69  "..  number_revi
15d70 73 69 6f 6e 3d 22 24 34 22 0a 09 20 20 23 0a 09  sion="$4"..  #..
15d80 20 20 23 20 54 68 65 72 65 20 61 72 65 20 72 65    # There are re
15d90 61 6c 6c 79 20 6f 6e 6c 79 20 74 77 6f 20 6b 69  ally only two ki
15da0 6e 64 73 20 2d 2d 20 74 68 6f 73 65 20 74 68 61  nds -- those tha
15db0 74 0a 09 20 20 23 20 75 73 65 20 74 68 65 20 63  t..  # use the c
15dc0 75 72 72 65 6e 74 20 72 65 76 69 73 69 6f 6e 20  urrent revision 
15dd0 61 73 20 74 68 65 20 6d 61 6a 6f 72 20 76 65 72  as the major ver
15de0 73 69 6f 6e 0a 09 20 20 23 20 61 6e 64 20 74 68  sion..  # and th
15df0 6f 73 65 20 74 68 61 74 20 73 75 62 74 72 61 63  ose that subtrac
15e00 74 20 61 67 65 20 61 6e 64 20 75 73 65 20 61 67  t age and use ag
15e10 65 20 61 73 0a 09 20 20 23 20 61 20 6d 69 6e 6f  e as..  # a mino
15e20 72 20 76 65 72 73 69 6f 6e 2e 20 20 42 75 74 2c  r version.  But,
15e30 20 74 68 65 6e 20 74 68 65 72 65 20 69 73 20 69   then there is i
15e40 72 69 78 0a 09 20 20 23 20 77 68 69 63 68 20 68  rix..  # which h
15e50 61 73 20 61 6e 20 65 78 74 72 61 20 31 20 61 64  as an extra 1 ad
15e60 64 65 64 20 6a 75 73 74 20 66 6f 72 20 66 75 6e  ded just for fun
15e70 0a 09 20 20 23 0a 09 20 20 63 61 73 65 20 24 76  ..  #..  case $v
15e80 65 72 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a 09  ersion_type in..
15e90 20 20 64 61 72 77 69 6e 7c 6c 69 6e 75 78 7c 6f    darwin|linux|o
15ea0 73 66 7c 77 69 6e 64 6f 77 73 29 0a 09 20 20 20  sf|windows)..   
15eb0 20 63 75 72 72 65 6e 74 3d 60 65 78 70 72 20 24   current=`expr $
15ec0 6e 75 6d 62 65 72 5f 6d 61 6a 6f 72 20 2b 20 24  number_major + $
15ed0 6e 75 6d 62 65 72 5f 6d 69 6e 6f 72 60 0a 09 20  number_minor`.. 
15ee0 20 20 20 61 67 65 3d 22 24 6e 75 6d 62 65 72 5f     age="$number_
15ef0 6d 69 6e 6f 72 22 0a 09 20 20 20 20 72 65 76 69  minor"..    revi
15f00 73 69 6f 6e 3d 22 24 6e 75 6d 62 65 72 5f 72 65  sion="$number_re
15f10 76 69 73 69 6f 6e 22 0a 09 20 20 20 20 3b 3b 0a  vision"..    ;;.
15f20 09 20 20 66 72 65 65 62 73 64 2d 61 6f 75 74 7c  .  freebsd-aout|
15f30 66 72 65 65 62 73 64 2d 65 6c 66 7c 73 75 6e 6f  freebsd-elf|suno
15f40 73 29 0a 09 20 20 20 20 63 75 72 72 65 6e 74 3d  s)..    current=
15f50 22 24 6e 75 6d 62 65 72 5f 6d 61 6a 6f 72 22 0a  "$number_major".
15f60 09 20 20 20 20 72 65 76 69 73 69 6f 6e 3d 22 24  .    revision="$
15f70 6e 75 6d 62 65 72 5f 6d 69 6e 6f 72 22 0a 09 20  number_minor".. 
15f80 20 20 20 61 67 65 3d 22 30 22 0a 09 20 20 20 20     age="0"..    
15f90 3b 3b 0a 09 20 20 69 72 69 78 7c 6e 6f 6e 73 74  ;;..  irix|nonst
15fa0 6f 70 75 78 29 0a 09 20 20 20 20 63 75 72 72 65  opux)..    curre
15fb0 6e 74 3d 60 65 78 70 72 20 24 6e 75 6d 62 65 72  nt=`expr $number
15fc0 5f 6d 61 6a 6f 72 20 2b 20 24 6e 75 6d 62 65 72  _major + $number
15fd0 5f 6d 69 6e 6f 72 20 2d 20 31 60 0a 09 20 20 20  _minor - 1`..   
15fe0 20 61 67 65 3d 22 24 6e 75 6d 62 65 72 5f 6d 69   age="$number_mi
15ff0 6e 6f 72 22 0a 09 20 20 20 20 72 65 76 69 73 69  nor"..    revisi
16000 6f 6e 3d 22 24 6e 75 6d 62 65 72 5f 6d 69 6e 6f  on="$number_mino
16010 72 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  r"..    ;;..  es
16020 61 63 0a 09 20 20 3b 3b 0a 09 6e 6f 29 0a 09 20  ac..  ;;..no).. 
16030 20 63 75 72 72 65 6e 74 3d 22 24 32 22 0a 09 20   current="$2".. 
16040 20 72 65 76 69 73 69 6f 6e 3d 22 24 33 22 0a 09   revision="$3"..
16050 20 20 61 67 65 3d 22 24 34 22 0a 09 20 20 3b 3b    age="$4"..  ;;
16060 0a 09 65 73 61 63 0a 0a 09 23 20 43 68 65 63 6b  ..esac...# Check
16070 20 74 68 61 74 20 65 61 63 68 20 6f 66 20 74 68   that each of th
16080 65 20 74 68 69 6e 67 73 20 61 72 65 20 76 61 6c  e things are val
16090 69 64 20 6e 75 6d 62 65 72 73 2e 0a 09 63 61 73  id numbers...cas
160a0 65 20 24 63 75 72 72 65 6e 74 20 69 6e 0a 09 30  e $current in..0
160b0 7c 5b 31 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39  |[1-9]|[1-9][0-9
160c0 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39  ]|[1-9][0-9][0-9
160d0 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39  ]|[1-9][0-9][0-9
160e0 5d 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39  ][0-9]|[1-9][0-9
160f0 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d  ][0-9][0-9][0-9]
16100 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68  ) ;;..*)..  $ech
16110 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 43 55  o "$modename: CU
16120 52 52 45 4e 54 20 5c 60 24 63 75 72 72 65 6e 74  RRENT \`$current
16130 27 20 6d 75 73 74 20 62 65 20 61 20 6e 6f 6e 6e  ' must be a nonn
16140 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 22  egative integer"
16150 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22   1>&2..  $echo "
16160 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69  $modename: \`$vi
16170 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c 69  nfo' is not vali
16180 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d  d version inform
16190 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65  ation" 1>&2..  e
161a0 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
161b0 45 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09  E..  ;;..esac...
161c0 63 61 73 65 20 24 72 65 76 69 73 69 6f 6e 20 69  case $revision i
161d0 6e 0a 09 30 7c 5b 31 2d 39 5d 7c 5b 31 2d 39 5d  n..0|[1-9]|[1-9]
161e0 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d  [0-9]|[1-9][0-9]
161f0 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d  [0-9]|[1-9][0-9]
16200 5b 30 2d 39 5d 5b 30 2d 39 5d 7c 5b 31 2d 39 5d  [0-9][0-9]|[1-9]
16210 5b 30 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 5b  [0-9][0-9][0-9][
16220 30 2d 39 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20 20  0-9]) ;;..*)..  
16230 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
16240 3a 20 52 45 56 49 53 49 4f 4e 20 5c 60 24 72 65  : REVISION \`$re
16250 76 69 73 69 6f 6e 27 20 6d 75 73 74 20 62 65 20  vision' must be 
16260 61 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e  a nonnegative in
16270 74 65 67 65 72 22 20 31 3e 26 32 0a 09 20 20 24  teger" 1>&2..  $
16280 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
16290 20 5c 60 24 76 69 6e 66 6f 27 20 69 73 20 6e 6f   \`$vinfo' is no
162a0 74 20 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20  t valid version 
162b0 69 6e 66 6f 72 6d 61 74 69 6f 6e 22 20 31 3e 26  information" 1>&
162c0 32 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f  2..  exit $EXIT_
162d0 46 41 49 4c 55 52 45 0a 09 20 20 3b 3b 0a 09 65  FAILURE..  ;;..e
162e0 73 61 63 0a 0a 09 63 61 73 65 20 24 61 67 65 20  sac...case $age 
162f0 69 6e 0a 09 30 7c 5b 31 2d 39 5d 7c 5b 31 2d 39  in..0|[1-9]|[1-9
16300 5d 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39  ][0-9]|[1-9][0-9
16310 5d 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39  ][0-9]|[1-9][0-9
16320 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 7c 5b 31 2d 39  ][0-9][0-9]|[1-9
16330 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d  ][0-9][0-9][0-9]
16340 5b 30 2d 39 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20  [0-9]) ;;..*).. 
16350 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
16360 65 3a 20 41 47 45 20 5c 60 24 61 67 65 27 20 6d  e: AGE \`$age' m
16370 75 73 74 20 62 65 20 61 20 6e 6f 6e 6e 65 67 61  ust be a nonnega
16380 74 69 76 65 20 69 6e 74 65 67 65 72 22 20 31 3e  tive integer" 1>
16390 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  &2..  $echo "$mo
163a0 64 65 6e 61 6d 65 3a 20 5c 60 24 76 69 6e 66 6f  dename: \`$vinfo
163b0 27 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 76  ' is not valid v
163c0 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69  ersion informati
163d0 6f 6e 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74  on" 1>&2..  exit
163e0 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09   $EXIT_FAILURE..
163f0 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 69 66 20    ;;..esac...if 
16400 74 65 73 74 20 22 24 61 67 65 22 20 2d 67 74 20  test "$age" -gt 
16410 22 24 63 75 72 72 65 6e 74 22 3b 20 74 68 65 6e  "$current"; then
16420 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
16430 6e 61 6d 65 3a 20 41 47 45 20 5c 60 24 61 67 65  name: AGE \`$age
16440 27 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61  ' is greater tha
16450 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e  n the current in
16460 74 65 72 66 61 63 65 20 6e 75 6d 62 65 72 20 5c  terface number \
16470 60 24 63 75 72 72 65 6e 74 27 22 20 31 3e 26 32  `$current'" 1>&2
16480 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
16490 6e 61 6d 65 3a 20 5c 60 24 76 69 6e 66 6f 27 20  name: \`$vinfo' 
164a0 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 76 65 72  is not valid ver
164b0 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e  sion information
164c0 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 24  " 1>&2..  exit $
164d0 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 66 69  EXIT_FAILURE..fi
164e0 0a 0a 09 23 20 43 61 6c 63 75 6c 61 74 65 20 74  ...# Calculate t
164f0 68 65 20 76 65 72 73 69 6f 6e 20 76 61 72 69 61  he version varia
16500 62 6c 65 73 2e 0a 09 6d 61 6a 6f 72 3d 0a 09 76  bles...major=..v
16510 65 72 73 75 66 66 69 78 3d 0a 09 76 65 72 73 74  ersuffix=..verst
16520 72 69 6e 67 3d 0a 09 63 61 73 65 20 24 76 65 72  ring=..case $ver
16530 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a 09 6e 6f  sion_type in..no
16540 6e 65 29 20 3b 3b 0a 0a 09 64 61 72 77 69 6e 29  ne) ;;...darwin)
16550 0a 09 20 20 23 20 4c 69 6b 65 20 4c 69 6e 75 78  ..  # Like Linux
16560 2c 20 62 75 74 20 77 69 74 68 20 74 68 65 20 63  , but with the c
16570 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 61  urrent version a
16580 76 61 69 6c 61 62 6c 65 20 69 6e 0a 09 20 20 23  vailable in..  #
16590 20 76 65 72 73 74 72 69 6e 67 20 66 6f 72 20 63   verstring for c
165a0 6f 64 69 6e 67 20 69 74 20 69 6e 74 6f 20 74 68  oding it into th
165b0 65 20 6c 69 62 72 61 72 79 20 68 65 61 64 65 72  e library header
165c0 0a 09 20 20 6d 61 6a 6f 72 3d 2e 60 65 78 70 72  ..  major=.`expr
165d0 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61 67 65   $current - $age
165e0 60 0a 09 20 20 76 65 72 73 75 66 66 69 78 3d 22  `..  versuffix="
165f0 24 6d 61 6a 6f 72 2e 24 61 67 65 2e 24 72 65 76  $major.$age.$rev
16600 69 73 69 6f 6e 22 0a 09 20 20 23 20 44 61 72 77  ision"..  # Darw
16610 69 6e 20 6c 64 20 64 6f 65 73 6e 27 74 20 6c 69  in ld doesn't li
16620 6b 65 20 30 20 66 6f 72 20 74 68 65 73 65 20 6f  ke 0 for these o
16630 70 74 69 6f 6e 73 2e 2e 2e 0a 09 20 20 6d 69 6e  ptions.....  min
16640 6f 72 5f 63 75 72 72 65 6e 74 3d 60 65 78 70 72  or_current=`expr
16650 20 24 63 75 72 72 65 6e 74 20 2b 20 31 60 0a 09   $current + 1`..
16660 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 7b 77    verstring="${w
16670 6c 7d 2d 63 6f 6d 70 61 74 69 62 69 6c 69 74 79  l}-compatibility
16680 5f 76 65 72 73 69 6f 6e 20 24 7b 77 6c 7d 24 6d  _version ${wl}$m
16690 69 6e 6f 72 5f 63 75 72 72 65 6e 74 20 24 7b 77  inor_current ${w
166a0 6c 7d 2d 63 75 72 72 65 6e 74 5f 76 65 72 73 69  l}-current_versi
166b0 6f 6e 20 24 7b 77 6c 7d 24 6d 69 6e 6f 72 5f 63  on ${wl}$minor_c
166c0 75 72 72 65 6e 74 2e 24 72 65 76 69 73 69 6f 6e  urrent.$revision
166d0 22 0a 09 20 20 3b 3b 0a 0a 09 66 72 65 65 62 73  "..  ;;...freebs
166e0 64 2d 61 6f 75 74 29 0a 09 20 20 6d 61 6a 6f 72  d-aout)..  major
166f0 3d 22 2e 24 63 75 72 72 65 6e 74 22 0a 09 20 20  =".$current"..  
16700 76 65 72 73 75 66 66 69 78 3d 22 2e 24 63 75 72  versuffix=".$cur
16710 72 65 6e 74 2e 24 72 65 76 69 73 69 6f 6e 22 3b  rent.$revision";
16720 0a 09 20 20 3b 3b 0a 0a 09 66 72 65 65 62 73 64  ..  ;;...freebsd
16730 2d 65 6c 66 29 0a 09 20 20 6d 61 6a 6f 72 3d 22  -elf)..  major="
16740 2e 24 63 75 72 72 65 6e 74 22 0a 09 20 20 76 65  .$current"..  ve
16750 72 73 75 66 66 69 78 3d 22 2e 24 63 75 72 72 65  rsuffix=".$curre
16760 6e 74 22 3b 0a 09 20 20 3b 3b 0a 0a 09 69 72 69  nt";..  ;;...iri
16770 78 20 7c 20 6e 6f 6e 73 74 6f 70 75 78 29 0a 09  x | nonstopux)..
16780 20 20 6d 61 6a 6f 72 3d 60 65 78 70 72 20 24 63    major=`expr $c
16790 75 72 72 65 6e 74 20 2d 20 24 61 67 65 20 2b 20  urrent - $age + 
167a0 31 60 0a 0a 09 20 20 63 61 73 65 20 24 76 65 72  1`...  case $ver
167b0 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a 09 20 20  sion_type in..  
167c0 20 20 6e 6f 6e 73 74 6f 70 75 78 29 20 76 65 72    nonstopux) ver
167d0 73 74 72 69 6e 67 5f 70 72 65 66 69 78 3d 6e 6f  string_prefix=no
167e0 6e 73 74 6f 70 75 78 20 3b 3b 0a 09 20 20 20 20  nstopux ;;..    
167f0 2a 29 20 20 20 20 20 20 20 20 20 76 65 72 73 74  *)         verst
16800 72 69 6e 67 5f 70 72 65 66 69 78 3d 73 67 69 20  ring_prefix=sgi 
16810 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 76 65  ;;..  esac..  ve
16820 72 73 74 72 69 6e 67 3d 22 24 76 65 72 73 74 72  rstring="$verstr
16830 69 6e 67 5f 70 72 65 66 69 78 24 6d 61 6a 6f 72  ing_prefix$major
16840 2e 24 72 65 76 69 73 69 6f 6e 22 0a 0a 09 20 20  .$revision"...  
16850 23 20 41 64 64 20 69 6e 20 61 6c 6c 20 74 68 65  # Add in all the
16860 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74   interfaces that
16870 20 77 65 20 61 72 65 20 63 6f 6d 70 61 74 69 62   we are compatib
16880 6c 65 20 77 69 74 68 2e 0a 09 20 20 6c 6f 6f 70  le with...  loop
16890 3d 24 72 65 76 69 73 69 6f 6e 0a 09 20 20 77 68  =$revision..  wh
168a0 69 6c 65 20 74 65 73 74 20 22 24 6c 6f 6f 70 22  ile test "$loop"
168b0 20 2d 6e 65 20 30 3b 20 64 6f 0a 09 20 20 20 20   -ne 0; do..    
168c0 69 66 61 63 65 3d 60 65 78 70 72 20 24 72 65 76  iface=`expr $rev
168d0 69 73 69 6f 6e 20 2d 20 24 6c 6f 6f 70 60 0a 09  ision - $loop`..
168e0 20 20 20 20 6c 6f 6f 70 3d 60 65 78 70 72 20 24      loop=`expr $
168f0 6c 6f 6f 70 20 2d 20 31 60 0a 09 20 20 20 20 76  loop - 1`..    v
16900 65 72 73 74 72 69 6e 67 3d 22 24 76 65 72 73 74  erstring="$verst
16910 72 69 6e 67 5f 70 72 65 66 69 78 24 6d 61 6a 6f  ring_prefix$majo
16920 72 2e 24 69 66 61 63 65 3a 24 76 65 72 73 74 72  r.$iface:$verstr
16930 69 6e 67 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20  ing"..  done... 
16940 20 23 20 42 65 66 6f 72 65 20 74 68 69 73 20 70   # Before this p
16950 6f 69 6e 74 2c 20 24 6d 61 6a 6f 72 20 6d 75 73  oint, $major mus
16960 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 60 2e  t not contain `.
16970 27 2e 0a 09 20 20 6d 61 6a 6f 72 3d 2e 24 6d 61  '...  major=.$ma
16980 6a 6f 72 0a 09 20 20 76 65 72 73 75 66 66 69 78  jor..  versuffix
16990 3d 22 24 6d 61 6a 6f 72 2e 24 72 65 76 69 73 69  ="$major.$revisi
169a0 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09 6c 69 6e 75  on"..  ;;...linu
169b0 78 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e 60 65 78  x)..  major=.`ex
169c0 70 72 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61  pr $current - $a
169d0 67 65 60 0a 09 20 20 76 65 72 73 75 66 66 69 78  ge`..  versuffix
169e0 3d 22 24 6d 61 6a 6f 72 2e 24 61 67 65 2e 24 72  ="$major.$age.$r
169f0 65 76 69 73 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a  evision"..  ;;..
16a00 09 6f 73 66 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e  .osf)..  major=.
16a10 60 65 78 70 72 20 24 63 75 72 72 65 6e 74 20 2d  `expr $current -
16a20 20 24 61 67 65 60 0a 09 20 20 76 65 72 73 75 66   $age`..  versuf
16a30 66 69 78 3d 22 2e 24 63 75 72 72 65 6e 74 2e 24  fix=".$current.$
16a40 61 67 65 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09  age.$revision"..
16a50 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 63 75    verstring="$cu
16a60 72 72 65 6e 74 2e 24 61 67 65 2e 24 72 65 76 69  rrent.$age.$revi
16a70 73 69 6f 6e 22 0a 0a 09 20 20 23 20 41 64 64 20  sion"...  # Add 
16a80 69 6e 20 61 6c 6c 20 74 68 65 20 69 6e 74 65 72  in all the inter
16a90 66 61 63 65 73 20 74 68 61 74 20 77 65 20 61 72  faces that we ar
16aa0 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  e compatible wit
16ab0 68 2e 0a 09 20 20 6c 6f 6f 70 3d 24 61 67 65 0a  h...  loop=$age.
16ac0 09 20 20 77 68 69 6c 65 20 74 65 73 74 20 22 24  .  while test "$
16ad0 6c 6f 6f 70 22 20 2d 6e 65 20 30 3b 20 64 6f 0a  loop" -ne 0; do.
16ae0 09 20 20 20 20 69 66 61 63 65 3d 60 65 78 70 72  .    iface=`expr
16af0 20 24 63 75 72 72 65 6e 74 20 2d 20 24 6c 6f 6f   $current - $loo
16b00 70 60 0a 09 20 20 20 20 6c 6f 6f 70 3d 60 65 78  p`..    loop=`ex
16b10 70 72 20 24 6c 6f 6f 70 20 2d 20 31 60 0a 09 20  pr $loop - 1`.. 
16b20 20 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76     verstring="$v
16b30 65 72 73 74 72 69 6e 67 3a 24 7b 69 66 61 63 65  erstring:${iface
16b40 7d 2e 30 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20  }.0"..  done... 
16b50 20 23 20 4d 61 6b 65 20 65 78 65 63 75 74 61 62   # Make executab
16b60 6c 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 6f 75  les depend on ou
16b70 72 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f  r current versio
16b80 6e 2e 0a 09 20 20 76 65 72 73 74 72 69 6e 67 3d  n...  verstring=
16b90 22 24 76 65 72 73 74 72 69 6e 67 3a 24 7b 63 75  "$verstring:${cu
16ba0 72 72 65 6e 74 7d 2e 30 22 0a 09 20 20 3b 3b 0a  rrent}.0"..  ;;.
16bb0 0a 09 73 75 6e 6f 73 29 0a 09 20 20 6d 61 6a 6f  ..sunos)..  majo
16bc0 72 3d 22 2e 24 63 75 72 72 65 6e 74 22 0a 09 20  r=".$current".. 
16bd0 20 76 65 72 73 75 66 66 69 78 3d 22 2e 24 63 75   versuffix=".$cu
16be0 72 72 65 6e 74 2e 24 72 65 76 69 73 69 6f 6e 22  rrent.$revision"
16bf0 0a 09 20 20 3b 3b 0a 0a 09 77 69 6e 64 6f 77 73  ..  ;;...windows
16c00 29 0a 09 20 20 23 20 55 73 65 20 27 2d 27 20 72  )..  # Use '-' r
16c10 61 74 68 65 72 20 74 68 61 6e 20 27 2e 27 2c 20  ather than '.', 
16c20 73 69 6e 63 65 20 77 65 20 6f 6e 6c 79 20 77 61  since we only wa
16c30 6e 74 20 6f 6e 65 0a 09 20 20 23 20 65 78 74 65  nt one..  # exte
16c40 6e 73 69 6f 6e 20 6f 6e 20 44 4f 53 20 38 2e 33  nsion on DOS 8.3
16c50 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a 09 20   filesystems... 
16c60 20 6d 61 6a 6f 72 3d 60 65 78 70 72 20 24 63 75   major=`expr $cu
16c70 72 72 65 6e 74 20 2d 20 24 61 67 65 60 0a 09 20  rrent - $age`.. 
16c80 20 76 65 72 73 75 66 66 69 78 3d 22 2d 24 6d 61   versuffix="-$ma
16c90 6a 6f 72 22 0a 09 20 20 3b 3b 0a 0a 09 2a 29 0a  jor"..  ;;...*).
16ca0 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
16cb0 61 6d 65 3a 20 75 6e 6b 6e 6f 77 6e 20 6c 69 62  ame: unknown lib
16cc0 72 61 72 79 20 76 65 72 73 69 6f 6e 20 74 79 70  rary version typ
16cd0 65 20 5c 60 24 76 65 72 73 69 6f 6e 5f 74 79 70  e \`$version_typ
16ce0 65 27 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68  e'" 1>&2..  $ech
16cf0 6f 20 22 46 61 74 61 6c 20 63 6f 6e 66 69 67 75  o "Fatal configu
16d00 72 61 74 69 6f 6e 20 65 72 72 6f 72 2e 20 20 53  ration error.  S
16d10 65 65 20 74 68 65 20 24 50 41 43 4b 41 47 45 20  ee the $PACKAGE 
16d20 64 6f 63 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e  docs for more in
16d30 66 6f 72 6d 61 74 69 6f 6e 2e 22 20 31 3e 26 32  formation." 1>&2
16d40 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f 46  ..  exit $EXIT_F
16d50 41 49 4c 55 52 45 0a 09 20 20 3b 3b 0a 09 65 73  AILURE..  ;;..es
16d60 61 63 0a 0a 09 23 20 43 6c 65 61 72 20 74 68 65  ac...# Clear the
16d70 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 69 66   version info if
16d80 20 77 65 20 64 65 66 61 75 6c 74 65 64 2c 20 61   we defaulted, a
16d90 6e 64 20 74 68 65 79 20 73 70 65 63 69 66 69 65  nd they specifie
16da0 64 20 61 20 72 65 6c 65 61 73 65 2e 0a 09 69 66  d a release...if
16db0 20 74 65 73 74 20 2d 7a 20 22 24 76 69 6e 66 6f   test -z "$vinfo
16dc0 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 72  " && test -n "$r
16dd0 65 6c 65 61 73 65 22 3b 20 74 68 65 6e 0a 09 20  elease"; then.. 
16de0 20 6d 61 6a 6f 72 3d 0a 09 20 20 63 61 73 65 20   major=..  case 
16df0 24 76 65 72 73 69 6f 6e 5f 74 79 70 65 20 69 6e  $version_type in
16e00 0a 09 20 20 64 61 72 77 69 6e 29 0a 09 20 20 20  ..  darwin)..   
16e10 20 23 20 77 65 20 63 61 6e 27 74 20 63 68 65 63   # we can't chec
16e20 6b 20 66 6f 72 20 22 30 2e 30 22 20 69 6e 20 61  k for "0.0" in a
16e30 72 63 68 69 76 65 5f 63 6d 64 73 20 64 75 65 20  rchive_cmds due 
16e40 74 6f 20 71 75 6f 74 69 6e 67 0a 09 20 20 20 20  to quoting..    
16e50 23 20 70 72 6f 62 6c 65 6d 73 2c 20 73 6f 20 77  # problems, so w
16e60 65 20 72 65 73 65 74 20 69 74 20 63 6f 6d 70 6c  e reset it compl
16e70 65 74 65 6c 79 0a 09 20 20 20 20 76 65 72 73 74  etely..    verst
16e80 72 69 6e 67 3d 0a 09 20 20 20 20 3b 3b 0a 09 20  ring=..    ;;.. 
16e90 20 2a 29 0a 09 20 20 20 20 76 65 72 73 74 72 69   *)..    verstri
16ea0 6e 67 3d 22 30 2e 30 22 0a 09 20 20 20 20 3b 3b  ng="0.0"..    ;;
16eb0 0a 09 20 20 65 73 61 63 0a 09 20 20 69 66 20 74  ..  esac..  if t
16ec0 65 73 74 20 22 24 6e 65 65 64 5f 76 65 72 73 69  est "$need_versi
16ed0 6f 6e 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  on" = no; then..
16ee0 20 20 20 20 76 65 72 73 75 66 66 69 78 3d 0a 09      versuffix=..
16ef0 20 20 65 6c 73 65 0a 09 20 20 20 20 76 65 72 73    else..    vers
16f00 75 66 66 69 78 3d 22 2e 30 2e 30 22 0a 09 20 20  uffix=".0.0"..  
16f10 66 69 0a 09 66 69 0a 0a 09 23 20 52 65 6d 6f 76  fi..fi...# Remov
16f20 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 66  e version info f
16f30 72 6f 6d 20 6e 61 6d 65 20 69 66 20 76 65 72 73  rom name if vers
16f40 69 6f 6e 69 6e 67 20 73 68 6f 75 6c 64 20 62 65  ioning should be
16f50 20 61 76 6f 69 64 65 64 0a 09 69 66 20 74 65 73   avoided..if tes
16f60 74 20 22 24 61 76 6f 69 64 5f 76 65 72 73 69 6f  t "$avoid_versio
16f70 6e 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  n" = yes && test
16f80 20 22 24 6e 65 65 64 5f 76 65 72 73 69 6f 6e 22   "$need_version"
16f90 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 6d   = no; then..  m
16fa0 61 6a 6f 72 3d 0a 09 20 20 76 65 72 73 75 66 66  ajor=..  versuff
16fb0 69 78 3d 0a 09 20 20 76 65 72 73 74 72 69 6e 67  ix=..  verstring
16fc0 3d 22 22 0a 09 66 69 0a 0a 09 23 20 43 68 65 63  =""..fi...# Chec
16fd0 6b 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 20  k to see if the 
16fe0 61 72 63 68 69 76 65 20 77 69 6c 6c 20 68 61 76  archive will hav
16ff0 65 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62  e undefined symb
17000 6f 6c 73 2e 0a 09 69 66 20 74 65 73 74 20 22 24  ols...if test "$
17010 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 22  allow_undefined"
17020 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
17030 69 66 20 74 65 73 74 20 22 24 61 6c 6c 6f 77 5f  if test "$allow_
17040 75 6e 64 65 66 69 6e 65 64 5f 66 6c 61 67 22 20  undefined_flag" 
17050 3d 20 75 6e 73 75 70 70 6f 72 74 65 64 3b 20 74  = unsupported; t
17060 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22  hen..    $echo "
17070 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
17080 6e 67 3a 20 75 6e 64 65 66 69 6e 65 64 20 73 79  ng: undefined sy
17090 6d 62 6f 6c 73 20 6e 6f 74 20 61 6c 6c 6f 77 65  mbols not allowe
170a0 64 20 69 6e 20 24 68 6f 73 74 20 73 68 61 72 65  d in $host share
170b0 64 20 6c 69 62 72 61 72 69 65 73 22 20 31 3e 26  d libraries" 1>&
170c0 32 0a 09 20 20 20 20 62 75 69 6c 64 5f 6c 69 62  2..    build_lib
170d0 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20  tool_libs=no..  
170e0 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73    build_old_libs
170f0 3d 79 65 73 0a 09 20 20 66 69 0a 09 65 6c 73 65  =yes..  fi..else
17100 0a 09 20 20 23 20 44 6f 6e 27 74 20 61 6c 6c 6f  ..  # Don't allo
17110 77 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62  w undefined symb
17120 6f 6c 73 2e 0a 09 20 20 61 6c 6c 6f 77 5f 75 6e  ols...  allow_un
17130 64 65 66 69 6e 65 64 5f 66 6c 61 67 3d 22 24 6e  defined_flag="$n
17140 6f 5f 75 6e 64 65 66 69 6e 65 64 5f 66 6c 61 67  o_undefined_flag
17150 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a  "..fi.      fi..
17160 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
17170 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69 6e 6b 3b  mode" != relink;
17180 20 74 68 65 6e 0a 09 23 20 52 65 6d 6f 76 65 20   then..# Remove 
17190 6f 75 72 20 6f 75 74 70 75 74 73 2c 20 62 75 74  our outputs, but
171a0 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 6f 62   don't remove ob
171b0 6a 65 63 74 20 66 69 6c 65 73 20 73 69 6e 63 65  ject files since
171c0 20 74 68 65 79 0a 09 23 20 6d 61 79 20 68 61 76   they..# may hav
171d0 65 20 62 65 65 6e 20 63 72 65 61 74 65 64 20 77  e been created w
171e0 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 50 49  hen compiling PI
171f0 43 20 6f 62 6a 65 63 74 73 2e 0a 09 72 65 6d 6f  C objects...remo
17200 76 65 6c 69 73 74 3d 0a 09 74 65 6d 70 72 65 6d  velist=..temprem
17210 6f 76 65 6c 69 73 74 3d 60 24 65 63 68 6f 20 22  ovelist=`$echo "
17220 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 2a  $output_objdir/*
17230 22 60 0a 09 66 6f 72 20 70 20 69 6e 20 24 74 65  "`..for p in $te
17240 6d 70 72 65 6d 6f 76 65 6c 69 73 74 3b 20 64 6f  mpremovelist; do
17250 0a 09 20 20 63 61 73 65 20 24 70 20 69 6e 0a 09  ..  case $p in..
17260 20 20 20 20 2a 2e 24 6f 62 6a 65 78 74 29 0a 09      *.$objext)..
17270 20 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 24         ;;..    $
17280 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f  output_objdir/$o
17290 75 74 70 75 74 6e 61 6d 65 20 7c 20 24 6f 75 74  utputname | $out
172a0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e  put_objdir/$libn
172b0 61 6d 65 2e 2a 20 7c 20 24 6f 75 74 70 75 74 5f  ame.* | $output_
172c0 6f 62 6a 64 69 72 2f 24 7b 6c 69 62 6e 61 6d 65  objdir/${libname
172d0 7d 24 7b 72 65 6c 65 61 73 65 7d 2e 2a 29 0a 09  }${release}.*)..
172e0 20 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22         if test "
172f0 58 24 70 72 65 63 69 6f 75 73 5f 66 69 6c 65 73  X$precious_files
17300 5f 72 65 67 65 78 22 20 21 3d 20 22 58 22 3b 20  _regex" != "X"; 
17310 74 68 65 6e 0a 09 20 20 20 20 20 20 20 20 20 69  then..         i
17320 66 20 65 63 68 6f 20 24 70 20 7c 20 24 45 47 52  f echo $p | $EGR
17330 45 50 20 2d 65 20 22 24 70 72 65 63 69 6f 75 73  EP -e "$precious
17340 5f 66 69 6c 65 73 5f 72 65 67 65 78 22 20 3e 2f  _files_regex" >/
17350 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 09 20  dev/null 2>&1.. 
17360 20 20 20 20 20 20 20 20 74 68 65 6e 0a 09 09 20          then... 
17370 20 20 63 6f 6e 74 69 6e 75 65 0a 09 09 20 66 69    continue... fi
17380 0a 09 20 20 20 20 20 20 20 66 69 0a 09 20 20 20  ..       fi..   
17390 20 20 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d 22      removelist="
173a0 24 72 65 6d 6f 76 65 6c 69 73 74 20 24 70 22 0a  $removelist $p".
173b0 09 20 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20  .       ;;..    
173c0 2a 29 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 64  *) ;;..  esac..d
173d0 6f 6e 65 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  one..if test -n 
173e0 22 24 72 65 6d 6f 76 65 6c 69 73 74 22 3b 20 74  "$removelist"; t
173f0 68 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 7b  hen..  $show "${
17400 72 6d 7d 72 20 24 72 65 6d 6f 76 65 6c 69 73 74  rm}r $removelist
17410 22 0a 09 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72  "..  $run ${rm}r
17420 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 66 69   $removelist..fi
17430 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
17440 20 23 20 4e 6f 77 20 73 65 74 20 74 68 65 20 76   # Now set the v
17450 61 72 69 61 62 6c 65 73 20 66 6f 72 20 62 75 69  ariables for bui
17460 6c 64 69 6e 67 20 6f 6c 64 20 6c 69 62 72 61 72  lding old librar
17470 69 65 73 2e 0a 20 20 20 20 20 20 69 66 20 74 65  ies..      if te
17480 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c  st "$build_old_l
17490 69 62 73 22 20 3d 20 79 65 73 20 26 26 20 74 65  ibs" = yes && te
174a0 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
174b0 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 63 6f 6e 76  ol_libs" != conv
174c0 65 6e 69 65 6e 63 65 20 3b 20 74 68 65 6e 0a 09  enience ; then..
174d0 6f 6c 64 6c 69 62 73 3d 22 24 6f 6c 64 6c 69 62  oldlibs="$oldlib
174e0 73 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  s $output_objdir
174f0 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78  /$libname.$libex
17500 74 22 0a 0a 09 23 20 54 72 61 6e 73 66 6f 72 6d  t"...# Transform
17510 20 2e 6c 6f 20 66 69 6c 65 73 20 74 6f 20 2e 6f   .lo files to .o
17520 20 66 69 6c 65 73 2e 0a 09 6f 6c 64 6f 62 6a 73   files...oldobjs
17530 3d 22 24 6f 62 6a 73 20 22 60 24 65 63 68 6f 20  ="$objs "`$echo 
17540 22 58 24 6c 69 62 6f 62 6a 73 22 20 7c 20 24 53  "X$libobjs" | $S
17550 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d 65 20  P2NL | $Xsed -e 
17560 27 2f 5c 2e 27 24 7b 6c 69 62 65 78 74 7d 27 24  '/\.'${libext}'$
17570 2f 64 27 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c  /d' -e "$lo2o" |
17580 20 24 4e 4c 32 53 50 60 0a 20 20 20 20 20 20 66   $NL2SP`.      f
17590 69 0a 0a 20 20 20 20 20 20 23 20 45 6c 69 6d 69  i..      # Elimi
175a0 6e 61 74 65 20 61 6c 6c 20 74 65 6d 70 6f 72 61  nate all tempora
175b0 72 79 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a  ry directories..
175c0 20 20 20 20 20 20 66 6f 72 20 70 61 74 68 20 69        for path i
175d0 6e 20 24 6e 6f 74 69 6e 73 74 5f 70 61 74 68 3b  n $notinst_path;
175e0 20 64 6f 0a 09 6c 69 62 5f 73 65 61 72 63 68 5f   do..lib_search_
175f0 70 61 74 68 3d 60 24 65 63 68 6f 20 22 24 6c 69  path=`$echo "$li
17600 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20 22 20  b_search_path " 
17610 7c 20 24 7b 53 45 44 7d 20 2d 65 20 22 73 25 20  | ${SED} -e "s% 
17620 24 70 61 74 68 20 25 20 25 67 22 60 0a 09 64 65  $path % %g"`..de
17630 70 6c 69 62 73 3d 60 24 65 63 68 6f 20 22 24 64  plibs=`$echo "$d
17640 65 70 6c 69 62 73 20 22 20 7c 20 24 7b 53 45 44  eplibs " | ${SED
17650 7d 20 2d 65 20 22 73 25 20 2d 4c 24 70 61 74 68  } -e "s% -L$path
17660 20 25 20 25 67 22 60 0a 09 64 65 70 65 6e 64 65   % %g"`..depende
17670 6e 63 79 5f 6c 69 62 73 3d 60 24 65 63 68 6f 20  ncy_libs=`$echo 
17680 22 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  "$dependency_lib
17690 73 20 22 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20  s " | ${SED} -e 
176a0 22 73 25 20 2d 4c 24 70 61 74 68 20 25 20 25 67  "s% -L$path % %g
176b0 22 60 0a 20 20 20 20 20 20 64 6f 6e 65 0a 0a 20  "`.      done.. 
176c0 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
176d0 22 24 78 72 70 61 74 68 22 3b 20 74 68 65 6e 0a  "$xrpath"; then.
176e0 09 23 20 49 66 20 74 68 65 20 75 73 65 72 20 73  .# If the user s
176f0 70 65 63 69 66 69 65 64 20 61 6e 79 20 72 70 61  pecified any rpa
17700 74 68 20 66 6c 61 67 73 2c 20 74 68 65 6e 20 61  th flags, then a
17710 64 64 20 74 68 65 6d 2e 0a 09 74 65 6d 70 5f 78  dd them...temp_x
17720 72 70 61 74 68 3d 0a 09 66 6f 72 20 6c 69 62 64  rpath=..for libd
17730 69 72 20 69 6e 20 24 78 72 70 61 74 68 3b 20 64  ir in $xrpath; d
17740 6f 0a 09 20 20 74 65 6d 70 5f 78 72 70 61 74 68  o..  temp_xrpath
17750 3d 22 24 74 65 6d 70 5f 78 72 70 61 74 68 20 2d  ="$temp_xrpath -
17760 52 24 6c 69 62 64 69 72 22 0a 09 20 20 63 61 73  R$libdir"..  cas
17770 65 20 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61  e "$finalize_rpa
17780 74 68 20 22 20 69 6e 0a 09 20 20 2a 22 20 24 6c  th " in..  *" $l
17790 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20  ibdir "*) ;;..  
177a0 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74  *) finalize_rpat
177b0 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61  h="$finalize_rpa
177c0 74 68 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09  th $libdir" ;;..
177d0 20 20 65 73 61 63 0a 09 64 6f 6e 65 0a 09 69 66    esac..done..if
177e0 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65   test "$hardcode
177f0 5f 69 6e 74 6f 5f 6c 69 62 73 22 20 21 3d 20 79  _into_libs" != y
17800 65 73 20 7c 7c 20 74 65 73 74 20 22 24 62 75 69  es || test "$bui
17810 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79  ld_old_libs" = y
17820 65 73 3b 20 74 68 65 6e 0a 09 20 20 64 65 70 65  es; then..  depe
17830 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 74 65  ndency_libs="$te
17840 6d 70 5f 78 72 70 61 74 68 20 24 64 65 70 65 6e  mp_xrpath $depen
17850 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 66 69 0a  dency_libs"..fi.
17860 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
17870 23 20 4d 61 6b 65 20 73 75 72 65 20 64 6c 66 69  # Make sure dlfi
17880 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c  les contains onl
17890 79 20 75 6e 69 71 75 65 20 66 69 6c 65 73 20 74  y unique files t
178a0 68 61 74 20 77 6f 6e 27 74 20 62 65 20 64 6c 70  hat won't be dlp
178b0 72 65 6f 70 65 6e 65 64 0a 20 20 20 20 20 20 6f  reopened.      o
178c0 6c 64 5f 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66  ld_dlfiles="$dlf
178d0 69 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 66 69  iles".      dlfi
178e0 6c 65 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c  les=.      for l
178f0 69 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 66 69 6c  ib in $old_dlfil
17900 65 73 3b 20 64 6f 0a 09 63 61 73 65 20 22 20 24  es; do..case " $
17910 64 6c 70 72 65 66 69 6c 65 73 20 24 64 6c 66 69  dlprefiles $dlfi
17920 6c 65 73 20 22 20 69 6e 0a 09 2a 22 20 24 6c 69  les " in..*" $li
17930 62 20 22 2a 29 20 3b 3b 0a 09 2a 29 20 64 6c 66  b "*) ;;..*) dlf
17940 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73 20 24  iles="$dlfiles $
17950 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20  lib" ;;..esac.  
17960 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20      done..      
17970 23 20 4d 61 6b 65 20 73 75 72 65 20 64 6c 70 72  # Make sure dlpr
17980 65 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20  efiles contains 
17990 6f 6e 6c 79 20 75 6e 69 71 75 65 20 66 69 6c 65  only unique file
179a0 73 0a 20 20 20 20 20 20 6f 6c 64 5f 64 6c 70 72  s.      old_dlpr
179b0 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69  efiles="$dlprefi
179c0 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 70 72 65  les".      dlpre
179d0 66 69 6c 65 73 3d 0a 20 20 20 20 20 20 66 6f 72  files=.      for
179e0 20 6c 69 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 70   lib in $old_dlp
179f0 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 63 61 73  refiles; do..cas
17a00 65 20 22 24 64 6c 70 72 65 66 69 6c 65 73 20 22  e "$dlprefiles "
17a10 20 69 6e 0a 09 2a 22 20 24 6c 69 62 20 22 2a 29   in..*" $lib "*)
17a20 20 3b 3b 0a 09 2a 29 20 64 6c 70 72 65 66 69 6c   ;;..*) dlprefil
17a30 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73 20  es="$dlprefiles 
17a40 24 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20  $lib" ;;..esac. 
17a50 20 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20       done..     
17a60 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64   if test "$build
17a70 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
17a80 20 79 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74   yes; then..if t
17a90 65 73 74 20 2d 6e 20 22 24 72 70 61 74 68 22 3b  est -n "$rpath";
17aa0 20 74 68 65 6e 0a 09 20 20 63 61 73 65 20 24 68   then..  case $h
17ab0 6f 73 74 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79  ost in..  *-*-cy
17ac0 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67  gwin* | *-*-ming
17ad0 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c  w* | *-*-pw32* |
17ae0 20 2a 2d 2a 2d 6f 73 32 2a 20 7c 20 2a 2d 2a 2d   *-*-os2* | *-*-
17af0 62 65 6f 73 2a 29 0a 09 20 20 20 20 23 20 74 68  beos*)..    # th
17b00 65 73 65 20 73 79 73 74 65 6d 73 20 64 6f 6e 27  ese systems don'
17b10 74 20 61 63 74 75 61 6c 6c 79 20 68 61 76 65 20  t actually have 
17b20 61 20 63 20 6c 69 62 72 61 72 79 20 28 61 73 20  a c library (as 
17b30 73 75 63 68 29 21 0a 09 20 20 20 20 3b 3b 0a 09  such)!..    ;;..
17b40 20 20 2a 2d 2a 2d 72 68 61 70 73 6f 64 79 2a 20    *-*-rhapsody* 
17b50 7c 20 2a 2d 2a 2d 64 61 72 77 69 6e 31 2e 5b 30  | *-*-darwin1.[0
17b60 31 32 5d 29 0a 09 20 20 20 20 23 20 52 68 61 70  12])..    # Rhap
17b70 73 6f 64 79 20 43 20 6c 69 62 72 61 72 79 20 69  sody C library i
17b80 73 20 69 6e 20 74 68 65 20 53 79 73 74 65 6d 20  s in the System 
17b90 66 72 61 6d 65 77 6f 72 6b 0a 09 20 20 20 20 64  framework..    d
17ba0 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
17bb0 20 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74   -framework Syst
17bc0 65 6d 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a  em"..    ;;..  *
17bd0 2d 2a 2d 6e 65 74 62 73 64 2a 29 0a 09 20 20 20  -*-netbsd*)..   
17be0 20 23 20 44 6f 6e 27 74 20 6c 69 6e 6b 20 77 69   # Don't link wi
17bf0 74 68 20 6c 69 62 63 20 75 6e 74 69 6c 20 74 68  th libc until th
17c00 65 20 61 2e 6f 75 74 20 6c 64 2e 73 6f 20 69 73  e a.out ld.so is
17c10 20 66 69 78 65 64 2e 0a 09 20 20 20 20 3b 3b 0a   fixed...    ;;.
17c20 09 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20  .  *-*-openbsd* 
17c30 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64 2a 20 7c  | *-*-freebsd* |
17c40 20 2a 2d 2a 2d 64 72 61 67 6f 6e 66 6c 79 2a 29   *-*-dragonfly*)
17c50 0a 09 20 20 20 20 23 20 44 6f 20 6e 6f 74 20 69  ..    # Do not i
17c60 6e 63 6c 75 64 65 20 6c 69 62 63 20 64 75 65 20  nclude libc due 
17c70 74 6f 20 75 73 20 68 61 76 69 6e 67 20 6c 69 62  to us having lib
17c80 63 2f 6c 69 62 63 5f 72 2e 0a 09 20 20 20 20 3b  c/libc_r...    ;
17c90 3b 0a 09 20 20 2a 2d 2a 2d 73 63 6f 33 2e 32 76  ;..  *-*-sco3.2v
17ca0 35 2a 20 7c 20 2a 2d 2a 2d 73 63 6f 35 76 36 2a  5* | *-*-sco5v6*
17cb0 29 0a 09 20 20 20 20 23 20 43 61 75 73 65 73 20  )..    # Causes 
17cc0 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 5f 5f  problems with __
17cd0 63 74 79 70 65 0a 09 20 20 20 20 3b 3b 0a 09 20  ctype..    ;;.. 
17ce0 20 2a 2d 2a 2d 73 79 73 76 34 2e 32 75 77 32 2a   *-*-sysv4.2uw2*
17cf0 20 7c 20 2a 2d 2a 2d 73 79 73 76 35 2a 20 7c 20   | *-*-sysv5* | 
17d00 2a 2d 2a 2d 75 6e 69 78 77 61 72 65 2a 20 7c 20  *-*-unixware* | 
17d10 2a 2d 2a 2d 4f 70 65 6e 55 4e 49 58 2a 29 0a 09  *-*-OpenUNIX*)..
17d20 20 20 20 20 23 20 43 6f 6d 70 69 6c 65 72 20 69      # Compiler i
17d30 6e 73 65 72 74 73 20 6c 69 62 63 20 69 6e 20 74  nserts libc in t
17d40 68 65 20 63 6f 72 72 65 63 74 20 70 6c 61 63 65  he correct place
17d50 20 66 6f 72 20 74 68 72 65 61 64 73 20 74 6f 20   for threads to 
17d60 77 6f 72 6b 0a 09 20 20 20 20 3b 3b 0a 20 09 20  work..    ;;. . 
17d70 20 2a 29 0a 09 20 20 20 20 23 20 41 64 64 20 6c   *)..    # Add l
17d80 69 62 63 20 74 6f 20 64 65 70 6c 69 62 73 20 6f  ibc to deplibs o
17d90 6e 20 61 6c 6c 20 6f 74 68 65 72 20 73 79 73 74  n all other syst
17da0 65 6d 73 20 69 66 20 6e 65 63 65 73 73 61 72 79  ems if necessary
17db0 2e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  ...    if test "
17dc0 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6e  $build_libtool_n
17dd0 65 65 64 5f 6c 63 22 20 3d 20 22 79 65 73 22 3b  eed_lc" = "yes";
17de0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 64 65 70   then..      dep
17df0 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 2d  libs="$deplibs -
17e00 6c 63 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20  lc"..    fi..   
17e10 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66 69 0a   ;;..  esac..fi.
17e20 0a 09 23 20 54 72 61 6e 73 66 6f 72 6d 20 64 65  ..# Transform de
17e30 70 6c 69 62 73 20 69 6e 74 6f 20 6f 6e 6c 79 20  plibs into only 
17e40 64 65 70 6c 69 62 73 20 74 68 61 74 20 63 61 6e  deplibs that can
17e50 20 62 65 20 6c 69 6e 6b 65 64 20 69 6e 20 73 68   be linked in sh
17e60 61 72 65 64 2e 0a 09 6e 61 6d 65 5f 73 61 76 65  ared...name_save
17e70 3d 24 6e 61 6d 65 0a 09 6c 69 62 6e 61 6d 65 5f  =$name..libname_
17e80 73 61 76 65 3d 24 6c 69 62 6e 61 6d 65 0a 09 72  save=$libname..r
17e90 65 6c 65 61 73 65 5f 73 61 76 65 3d 24 72 65 6c  elease_save=$rel
17ea0 65 61 73 65 0a 09 76 65 72 73 75 66 66 69 78 5f  ease..versuffix_
17eb0 73 61 76 65 3d 24 76 65 72 73 75 66 66 69 78 0a  save=$versuffix.
17ec0 09 6d 61 6a 6f 72 5f 73 61 76 65 3d 24 6d 61 6a  .major_save=$maj
17ed0 6f 72 0a 09 23 20 49 27 6d 20 6e 6f 74 20 73 75  or..# I'm not su
17ee0 72 65 20 69 66 20 49 27 6d 20 74 72 65 61 74 69  re if I'm treati
17ef0 6e 67 20 74 68 65 20 72 65 6c 65 61 73 65 20 63  ng the release c
17f00 6f 72 72 65 63 74 6c 79 2e 20 20 49 20 74 68 69  orrectly.  I thi
17f10 6e 6b 0a 09 23 20 72 65 6c 65 61 73 65 20 73 68  nk..# release sh
17f20 6f 75 6c 64 20 73 68 6f 77 20 75 70 20 69 6e 20  ould show up in 
17f30 74 68 65 20 2d 6c 20 28 69 65 20 2d 6c 67 6d 70  the -l (ie -lgmp
17f40 35 29 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 77  5) so we don't w
17f50 61 6e 74 20 74 6f 0a 09 23 20 61 64 64 20 69 74  ant to..# add it
17f60 20 69 6e 20 74 77 69 63 65 2e 20 20 49 73 20 74   in twice.  Is t
17f70 68 61 74 20 63 6f 72 72 65 63 74 3f 0a 09 72 65  hat correct?..re
17f80 6c 65 61 73 65 3d 22 22 0a 09 76 65 72 73 75 66  lease=""..versuf
17f90 66 69 78 3d 22 22 0a 09 6d 61 6a 6f 72 3d 22 22  fix=""..major=""
17fa0 0a 09 6e 65 77 64 65 70 6c 69 62 73 3d 0a 09 64  ..newdeplibs=..d
17fb0 72 6f 70 70 65 64 64 65 70 73 3d 6e 6f 0a 09 63  roppeddeps=no..c
17fc0 61 73 65 20 24 64 65 70 6c 69 62 73 5f 63 68 65  ase $deplibs_che
17fd0 63 6b 5f 6d 65 74 68 6f 64 20 69 6e 0a 09 70 61  ck_method in..pa
17fe0 73 73 5f 61 6c 6c 29 0a 09 20 20 23 20 44 6f 6e  ss_all)..  # Don
17ff0 27 74 20 63 68 65 63 6b 20 66 6f 72 20 73 68 61  't check for sha
18000 72 65 64 2f 73 74 61 74 69 63 2e 20 20 45 76 65  red/static.  Eve
18010 72 79 74 68 69 6e 67 20 77 6f 72 6b 73 2e 0a 09  rything works...
18020 20 20 23 20 54 68 69 73 20 6d 69 67 68 74 20 62    # This might b
18030 65 20 61 20 6c 69 74 74 6c 65 20 6e 61 69 76 65  e a little naive
18040 2e 20 20 57 65 20 6d 69 67 68 74 20 77 61 6e 74  .  We might want
18050 20 74 6f 20 63 68 65 63 6b 0a 09 20 20 23 20 77   to check..  # w
18060 68 65 74 68 65 72 20 74 68 65 20 6c 69 62 72 61  hether the libra
18070 72 79 20 65 78 69 73 74 73 20 6f 72 20 6e 6f 74  ry exists or not
18080 2e 20 20 42 75 74 20 74 68 69 73 20 69 73 20 6f  .  But this is o
18090 6e 0a 09 20 20 23 20 6f 73 66 33 20 26 20 6f 73  n..  # osf3 & os
180a0 66 34 20 61 6e 64 20 49 27 6d 20 6e 6f 74 20 72  f4 and I'm not r
180b0 65 61 6c 6c 79 20 73 75 72 65 2e 2e 2e 20 4a 75  eally sure... Ju
180c0 73 74 0a 09 20 20 23 20 69 6d 70 6c 65 6d 65 6e  st..  # implemen
180d0 74 69 6e 67 20 77 68 61 74 20 77 61 73 20 61 6c  ting what was al
180e0 72 65 61 64 79 20 74 68 65 20 62 65 68 61 76 69  ready the behavi
180f0 6f 72 2e 0a 09 20 20 6e 65 77 64 65 70 6c 69 62  or...  newdeplib
18100 73 3d 24 64 65 70 6c 69 62 73 0a 09 20 20 3b 3b  s=$deplibs..  ;;
18110 0a 09 74 65 73 74 5f 63 6f 6d 70 69 6c 65 29 0a  ..test_compile).
18120 09 20 20 23 20 54 68 69 73 20 63 6f 64 65 20 73  .  # This code s
18130 74 72 65 73 73 65 73 20 74 68 65 20 22 6c 69 62  tresses the "lib
18140 72 61 72 69 65 73 20 61 72 65 20 70 72 6f 67 72  raries are progr
18150 61 6d 73 22 20 70 61 72 61 64 69 67 6d 20 74 6f  ams" paradigm to
18160 20 69 74 73 0a 09 20 20 23 20 6c 69 6d 69 74 73   its..  # limits
18170 2e 20 4d 61 79 62 65 20 65 76 65 6e 20 62 72 65  . Maybe even bre
18180 61 6b 73 20 69 74 2e 20 20 57 65 20 63 6f 6d 70  aks it.  We comp
18190 69 6c 65 20 61 20 70 72 6f 67 72 61 6d 2c 20 6c  ile a program, l
181a0 69 6e 6b 69 6e 67 20 69 74 0a 09 20 20 23 20 61  inking it..  # a
181b0 67 61 69 6e 73 74 20 74 68 65 20 64 65 70 6c 69  gainst the depli
181c0 62 73 20 61 73 20 61 20 70 72 6f 78 79 20 66 6f  bs as a proxy fo
181d0 72 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20  r the library.  
181e0 54 68 65 6e 20 77 65 20 63 61 6e 20 63 68 65 63  Then we can chec
181f0 6b 0a 09 20 20 23 20 77 68 65 74 68 65 72 20 74  k..  # whether t
18200 68 65 79 20 6c 69 6e 6b 65 64 20 69 6e 20 73 74  hey linked in st
18210 61 74 69 63 61 6c 6c 79 20 6f 72 20 64 79 6e 61  atically or dyna
18220 6d 69 63 61 6c 6c 79 20 77 69 74 68 20 6c 64 64  mically with ldd
18230 2e 0a 09 20 20 24 72 6d 20 63 6f 6e 66 74 65 73  ...  $rm conftes
18240 74 2e 63 0a 09 20 20 63 61 74 20 3e 20 63 6f 6e  t.c..  cat > con
18250 66 74 65 73 74 2e 63 20 3c 3c 45 4f 46 0a 09 20  ftest.c <<EOF.. 
18260 20 69 6e 74 20 6d 61 69 6e 28 29 20 7b 20 72 65   int main() { re
18270 74 75 72 6e 20 30 3b 20 7d 0a 45 4f 46 0a 09 20  turn 0; }.EOF.. 
18280 20 24 72 6d 20 63 6f 6e 66 74 65 73 74 0a 09 20   $rm conftest.. 
18290 20 24 4c 54 43 43 20 24 4c 54 43 46 4c 41 47 53   $LTCC $LTCFLAGS
182a0 20 2d 6f 20 63 6f 6e 66 74 65 73 74 20 63 6f 6e   -o conftest con
182b0 66 74 65 73 74 2e 63 20 24 64 65 70 6c 69 62 73  ftest.c $deplibs
182c0 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 3f 22  ..  if test "$?"
182d0 20 2d 65 71 20 30 20 3b 20 74 68 65 6e 0a 09 20   -eq 0 ; then.. 
182e0 20 20 20 6c 64 64 5f 6f 75 74 70 75 74 3d 60 6c     ldd_output=`l
182f0 64 64 20 63 6f 6e 66 74 65 73 74 60 0a 09 20 20  dd conftest`..  
18300 20 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70 6c    for i in $depl
18310 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 6e  ibs; do..      n
18320 61 6d 65 3d 60 65 78 70 72 20 24 69 20 3a 20 27  ame=`expr $i : '
18330 2d 6c 5c 28 2e 2a 5c 29 27 60 0a 09 20 20 20 20  -l\(.*\)'`..    
18340 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73 20    # If $name is 
18350 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70 65  empty we are ope
18360 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20 61  rating on a -L a
18370 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20  rgument..       
18380 20 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22         if test "
18390 24 6e 61 6d 65 22 20 21 3d 20 22 22 20 26 26 20  $name" != "" && 
183a0 74 65 73 74 20 22 24 6e 61 6d 65 22 20 2d 6e 65  test "$name" -ne
183b0 20 22 30 22 3b 20 74 68 65 6e 0a 09 09 69 66 20   "0"; then...if 
183c0 74 65 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c 69  test "X$allow_li
183d0 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68 5f  btool_libs_with_
183e0 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73 22  static_runtimes"
183f0 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e   = "Xyes" ; then
18400 0a 09 09 20 20 63 61 73 65 20 22 20 24 70 72 65  ...  case " $pre
18410 64 65 70 73 20 24 70 6f 73 74 64 65 70 73 20 22  deps $postdeps "
18420 20 69 6e 0a 09 09 20 20 2a 22 20 24 69 20 22 2a   in...  *" $i "*
18430 29 0a 09 09 20 20 20 20 6e 65 77 64 65 70 6c 69  )...    newdepli
18440 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
18450 24 69 22 0a 09 09 20 20 20 20 69 3d 22 22 0a 09  $i"...    i=""..
18460 09 20 20 20 20 3b 3b 0a 09 09 20 20 65 73 61 63  .    ;;...  esac
18470 0a 09 20 20 20 20 20 20 20 20 66 69 0a 09 09 69  ..        fi...i
18480 66 20 74 65 73 74 20 2d 6e 20 22 24 69 22 20 3b  f test -n "$i" ;
18490 20 74 68 65 6e 0a 09 09 20 20 6c 69 62 6e 61 6d   then...  libnam
184a0 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20  e=`eval \\$echo 
184b0 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c  \"$libname_spec\
184c0 22 60 0a 09 09 20 20 64 65 70 6c 69 62 5f 6d 61  "`...  deplib_ma
184d0 74 63 68 65 73 3d 60 65 76 61 6c 20 5c 5c 24 65  tches=`eval \\$e
184e0 63 68 6f 20 5c 22 24 6c 69 62 72 61 72 79 5f 6e  cho \"$library_n
184f0 61 6d 65 73 5f 73 70 65 63 5c 22 60 0a 09 09 20  ames_spec\"`... 
18500 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70 6c   set dummy $depl
18510 69 62 5f 6d 61 74 63 68 65 73 0a 09 09 20 20 64  ib_matches...  d
18520 65 70 6c 69 62 5f 6d 61 74 63 68 3d 24 32 0a 09  eplib_match=$2..
18530 09 20 20 69 66 20 74 65 73 74 20 60 65 78 70 72  .  if test `expr
18540 20 22 24 6c 64 64 5f 6f 75 74 70 75 74 22 20 3a   "$ldd_output" :
18550 20 22 2e 2a 24 64 65 70 6c 69 62 5f 6d 61 74 63   ".*$deplib_matc
18560 68 22 60 20 2d 6e 65 20 30 20 3b 20 74 68 65 6e  h"` -ne 0 ; then
18570 0a 09 09 20 20 20 20 6e 65 77 64 65 70 6c 69 62  ...    newdeplib
18580 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24  s="$newdeplibs $
18590 69 22 0a 09 09 20 20 65 6c 73 65 0a 09 09 20 20  i"...  else...  
185a0 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d 79 65    droppeddeps=ye
185b0 73 0a 09 09 20 20 20 20 24 65 63 68 6f 0a 09 09  s...    $echo...
185c0 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57      $echo "*** W
185d0 61 72 6e 69 6e 67 3a 20 64 79 6e 61 6d 69 63 20  arning: dynamic 
185e0 6c 69 6e 6b 65 72 20 64 6f 65 73 20 6e 6f 74 20  linker does not 
185f0 61 63 63 65 70 74 20 6e 65 65 64 65 64 20 6c 69  accept needed li
18600 62 72 61 72 79 20 24 69 2e 22 0a 09 09 20 20 20  brary $i."...   
18610 20 24 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68 61   $echo "*** I ha
18620 76 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74  ve the capabilit
18630 79 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c  y to make that l
18640 69 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69 63  ibrary automatic
18650 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68 65  ally link in whe
18660 6e 22 0a 09 09 20 20 20 20 24 65 63 68 6f 20 22  n"...    $echo "
18670 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f 20  *** you link to 
18680 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20 42  this library.  B
18690 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64 6f  ut I can only do
186a0 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61 76   this if you hav
186b0 65 20 61 22 0a 09 09 20 20 20 20 24 65 63 68 6f  e a"...    $echo
186c0 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72   "*** shared ver
186d0 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72  sion of the libr
186e0 61 72 79 2c 20 77 68 69 63 68 20 49 20 62 65 6c  ary, which I bel
186f0 69 65 76 65 20 79 6f 75 20 64 6f 20 6e 6f 74 20  ieve you do not 
18700 68 61 76 65 22 0a 09 09 20 20 20 20 24 65 63 68  have"...    $ech
18710 6f 20 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 61  o "*** because a
18720 20 74 65 73 74 5f 63 6f 6d 70 69 6c 65 20 64 69   test_compile di
18730 64 20 72 65 76 65 61 6c 20 74 68 61 74 20 74 68  d reveal that th
18740 65 20 6c 69 6e 6b 65 72 20 64 69 64 20 6e 6f 74  e linker did not
18750 20 75 73 65 20 69 74 20 66 6f 72 22 0a 09 09 20   use it for"... 
18760 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 69 74     $echo "*** it
18770 73 20 64 79 6e 61 6d 69 63 20 64 65 70 65 6e 64  s dynamic depend
18780 65 6e 63 79 20 6c 69 73 74 20 74 68 61 74 20 70  ency list that p
18790 72 6f 67 72 61 6d 73 20 67 65 74 20 72 65 73 6f  rograms get reso
187a0 6c 76 65 64 20 77 69 74 68 20 61 74 20 72 75 6e  lved with at run
187b0 74 69 6d 65 2e 22 0a 09 09 20 20 66 69 0a 09 09  time."...  fi...
187c0 66 69 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09  fi..      else..
187d0 09 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65  .newdeplibs="$ne
187e0 77 64 65 70 6c 69 62 73 20 24 69 22 0a 09 20 20  wdeplibs $i"..  
187f0 20 20 20 20 66 69 0a 09 20 20 20 20 64 6f 6e 65      fi..    done
18800 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 23 20  ..  else..    # 
18810 45 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 69  Error occurred i
18820 6e 20 74 68 65 20 66 69 72 73 74 20 63 6f 6d 70  n the first comp
18830 69 6c 65 2e 20 20 4c 65 74 27 73 20 74 72 79 20  ile.  Let's try 
18840 74 6f 20 73 61 6c 76 61 67 65 0a 09 20 20 20 20  to salvage..    
18850 23 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 3a  # the situation:
18860 20 43 6f 6d 70 69 6c 65 20 61 20 73 65 70 61 72   Compile a separ
18870 61 74 65 20 70 72 6f 67 72 61 6d 20 66 6f 72 20  ate program for 
18880 65 61 63 68 20 6c 69 62 72 61 72 79 2e 0a 09 20  each library... 
18890 20 20 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70     for i in $dep
188a0 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20  libs; do..      
188b0 6e 61 6d 65 3d 60 65 78 70 72 20 24 69 20 3a 20  name=`expr $i : 
188c0 27 2d 6c 5c 28 2e 2a 5c 29 27 60 0a 09 20 20 20  '-l\(.*\)'`..   
188d0 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73     # If $name is
188e0 20 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70   empty we are op
188f0 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20  erating on a -L 
18900 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20  argument..      
18910 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 20          if test 
18920 22 24 6e 61 6d 65 22 20 21 3d 20 22 22 20 26 26  "$name" != "" &&
18930 20 74 65 73 74 20 22 24 6e 61 6d 65 22 20 21 3d   test "$name" !=
18940 20 22 30 22 3b 20 74 68 65 6e 0a 09 09 24 72 6d   "0"; then...$rm
18950 20 63 6f 6e 66 74 65 73 74 0a 09 09 24 4c 54 43   conftest...$LTC
18960 43 20 24 4c 54 43 46 4c 41 47 53 20 2d 6f 20 63  C $LTCFLAGS -o c
18970 6f 6e 66 74 65 73 74 20 63 6f 6e 66 74 65 73 74  onftest conftest
18980 2e 63 20 24 69 0a 09 09 23 20 44 69 64 20 69 74  .c $i...# Did it
18990 20 77 6f 72 6b 3f 0a 09 09 69 66 20 74 65 73 74   work?...if test
189a0 20 22 24 3f 22 20 2d 65 71 20 30 20 3b 20 74 68   "$?" -eq 0 ; th
189b0 65 6e 0a 09 09 20 20 6c 64 64 5f 6f 75 74 70 75  en...  ldd_outpu
189c0 74 3d 60 6c 64 64 20 63 6f 6e 66 74 65 73 74 60  t=`ldd conftest`
189d0 0a 09 09 20 20 69 66 20 74 65 73 74 20 22 58 24  ...  if test "X$
189e0 61 6c 6c 6f 77 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  allow_libtool_li
189f0 62 73 5f 77 69 74 68 5f 73 74 61 74 69 63 5f 72  bs_with_static_r
18a00 75 6e 74 69 6d 65 73 22 20 3d 20 22 58 79 65 73  untimes" = "Xyes
18a10 22 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 63  " ; then...    c
18a20 61 73 65 20 22 20 24 70 72 65 64 65 70 73 20 24  ase " $predeps $
18a30 70 6f 73 74 64 65 70 73 20 22 20 69 6e 0a 09 09  postdeps " in...
18a40 20 20 20 20 2a 22 20 24 69 20 22 2a 29 0a 09 09      *" $i "*)...
18a50 20 20 20 20 20 20 6e 65 77 64 65 70 6c 69 62 73        newdeplibs
18a60 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 69  ="$newdeplibs $i
18a70 22 0a 09 09 20 20 20 20 20 20 69 3d 22 22 0a 09  "...      i=""..
18a80 09 20 20 20 20 20 20 3b 3b 0a 09 09 20 20 20 20  .      ;;...    
18a90 65 73 61 63 0a 09 09 20 20 66 69 0a 09 09 20 20  esac...  fi...  
18aa0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69 22 20  if test -n "$i" 
18ab0 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 6c 69 62  ; then...    lib
18ac0 6e 61 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63  name=`eval \\$ec
18ad0 68 6f 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70  ho \"$libname_sp
18ae0 65 63 5c 22 60 0a 09 09 20 20 20 20 64 65 70 6c  ec\"`...    depl
18af0 69 62 5f 6d 61 74 63 68 65 73 3d 60 65 76 61 6c  ib_matches=`eval
18b00 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 72   \\$echo \"$libr
18b10 61 72 79 5f 6e 61 6d 65 73 5f 73 70 65 63 5c 22  ary_names_spec\"
18b20 60 0a 09 09 20 20 20 20 73 65 74 20 64 75 6d 6d  `...    set dumm
18b30 79 20 24 64 65 70 6c 69 62 5f 6d 61 74 63 68 65  y $deplib_matche
18b40 73 0a 09 09 20 20 20 20 64 65 70 6c 69 62 5f 6d  s...    deplib_m
18b50 61 74 63 68 3d 24 32 0a 09 09 20 20 20 20 69 66  atch=$2...    if
18b60 20 74 65 73 74 20 60 65 78 70 72 20 22 24 6c 64   test `expr "$ld
18b70 64 5f 6f 75 74 70 75 74 22 20 3a 20 22 2e 2a 24  d_output" : ".*$
18b80 64 65 70 6c 69 62 5f 6d 61 74 63 68 22 60 20 2d  deplib_match"` -
18b90 6e 65 20 30 20 3b 20 74 68 65 6e 0a 09 09 20 20  ne 0 ; then...  
18ba0 20 20 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 22      newdeplibs="
18bb0 24 6e 65 77 64 65 70 6c 69 62 73 20 24 69 22 0a  $newdeplibs $i".
18bc0 09 09 20 20 20 20 65 6c 73 65 0a 09 09 20 20 20  ..    else...   
18bd0 20 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d 79     droppeddeps=y
18be0 65 73 0a 09 09 20 20 20 20 20 20 24 65 63 68 6f  es...      $echo
18bf0 0a 09 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  ...      $echo "
18c00 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 64 79 6e  *** Warning: dyn
18c10 61 6d 69 63 20 6c 69 6e 6b 65 72 20 64 6f 65 73  amic linker does
18c20 20 6e 6f 74 20 61 63 63 65 70 74 20 6e 65 65 64   not accept need
18c30 65 64 20 6c 69 62 72 61 72 79 20 24 69 2e 22 0a  ed library $i.".
18c40 09 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a  ..      $echo "*
18c50 2a 2a 20 49 20 68 61 76 65 20 74 68 65 20 63 61  ** I have the ca
18c60 70 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65  pability to make
18c70 20 74 68 61 74 20 6c 69 62 72 61 72 79 20 61 75   that library au
18c80 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b  tomatically link
18c90 20 69 6e 20 77 68 65 6e 22 0a 09 09 20 20 20 20   in when"...    
18ca0 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75    $echo "*** you
18cb0 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69   link to this li
18cc0 62 72 61 72 79 2e 20 20 42 75 74 20 49 20 63 61  brary.  But I ca
18cd0 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69  n only do this i
18ce0 66 20 79 6f 75 20 68 61 76 65 20 61 22 0a 09 09  f you have a"...
18cf0 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a        $echo "***
18d00 20 73 68 61 72 65 64 20 76 65 72 73 69 6f 6e 20   shared version 
18d10 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2c 20  of the library, 
18d20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74  which you do not
18d30 20 61 70 70 65 61 72 20 74 6f 20 68 61 76 65 22   appear to have"
18d40 0a 09 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  ...      $echo "
18d50 2a 2a 2a 20 62 65 63 61 75 73 65 20 61 20 74 65  *** because a te
18d60 73 74 5f 63 6f 6d 70 69 6c 65 20 64 69 64 20 72  st_compile did r
18d70 65 76 65 61 6c 20 74 68 61 74 20 74 68 65 20 6c  eveal that the l
18d80 69 6e 6b 65 72 20 64 69 64 20 6e 6f 74 20 75 73  inker did not us
18d90 65 20 74 68 69 73 20 6f 6e 65 22 0a 09 09 20 20  e this one"...  
18da0 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 61      $echo "*** a
18db0 73 20 61 20 64 79 6e 61 6d 69 63 20 64 65 70 65  s a dynamic depe
18dc0 6e 64 65 6e 63 79 20 74 68 61 74 20 70 72 6f 67  ndency that prog
18dd0 72 61 6d 73 20 63 61 6e 20 67 65 74 20 72 65 73  rams can get res
18de0 6f 6c 76 65 64 20 77 69 74 68 20 61 74 20 72 75  olved with at ru
18df0 6e 74 69 6d 65 2e 22 0a 09 09 20 20 20 20 66 69  ntime."...    fi
18e00 0a 09 09 20 20 66 69 0a 09 09 65 6c 73 65 0a 09  ...  fi...else..
18e10 09 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d 79  .  droppeddeps=y
18e20 65 73 0a 09 09 20 20 24 65 63 68 6f 0a 09 09 20  es...  $echo... 
18e30 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e   $echo "*** Warn
18e40 69 6e 67 21 20 20 4c 69 62 72 61 72 79 20 24 69  ing!  Library $i
18e50 20 69 73 20 6e 65 65 64 65 64 20 62 79 20 74 68   is needed by th
18e60 69 73 20 6c 69 62 72 61 72 79 20 62 75 74 20 49  is library but I
18e70 20 77 61 73 20 6e 6f 74 20 61 62 6c 65 20 74 6f   was not able to
18e80 22 0a 09 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a  "...  $echo "***
18e90 20 20 6d 61 6b 65 20 69 74 20 6c 69 6e 6b 20 69    make it link i
18ea0 6e 21 20 20 59 6f 75 20 77 69 6c 6c 20 70 72 6f  n!  You will pro
18eb0 62 61 62 6c 79 20 6e 65 65 64 20 74 6f 20 69 6e  bably need to in
18ec0 73 74 61 6c 6c 20 69 74 20 6f 72 20 73 6f 6d 65  stall it or some
18ed0 22 0a 09 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a  "...  $echo "***
18ee0 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 69 74   library that it
18ef0 20 64 65 70 65 6e 64 73 20 6f 6e 20 62 65 66 6f   depends on befo
18f00 72 65 20 74 68 69 73 20 6c 69 62 72 61 72 79 20  re this library 
18f10 77 69 6c 6c 20 62 65 20 66 75 6c 6c 79 22 0a 09  will be fully"..
18f20 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 66 75  .  $echo "*** fu
18f30 6e 63 74 69 6f 6e 61 6c 2e 20 20 49 6e 73 74 61  nctional.  Insta
18f40 6c 6c 69 6e 67 20 69 74 20 62 65 66 6f 72 65 20  lling it before 
18f50 63 6f 6e 74 69 6e 75 69 6e 67 20 77 6f 75 6c 64  continuing would
18f60 20 62 65 20 65 76 65 6e 20 62 65 74 74 65 72 2e   be even better.
18f70 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65 6c  "...fi..      el
18f80 73 65 0a 09 09 6e 65 77 64 65 70 6c 69 62 73 3d  se...newdeplibs=
18f90 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 69 22  "$newdeplibs $i"
18fa0 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
18fb0 64 6f 6e 65 0a 09 20 20 66 69 0a 09 20 20 3b 3b  done..  fi..  ;;
18fc0 0a 09 66 69 6c 65 5f 6d 61 67 69 63 2a 29 0a 09  ..file_magic*)..
18fd0 20 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70    set dummy $dep
18fe0 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f  libs_check_metho
18ff0 64 0a 09 20 20 66 69 6c 65 5f 6d 61 67 69 63 5f  d..  file_magic_
19000 72 65 67 65 78 3d 60 65 78 70 72 20 22 24 64 65  regex=`expr "$de
19010 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
19020 6f 64 22 20 3a 20 22 24 32 20 5c 28 2e 2a 5c 29  od" : "$2 \(.*\)
19030 22 60 0a 09 20 20 66 6f 72 20 61 5f 64 65 70 6c  "`..  for a_depl
19040 69 62 20 69 6e 20 24 64 65 70 6c 69 62 73 3b 20  ib in $deplibs; 
19050 64 6f 0a 09 20 20 20 20 6e 61 6d 65 3d 60 65 78  do..    name=`ex
19060 70 72 20 24 61 5f 64 65 70 6c 69 62 20 3a 20 27  pr $a_deplib : '
19070 2d 6c 5c 28 2e 2a 5c 29 27 60 0a 09 20 20 20 20  -l\(.*\)'`..    
19080 23 20 49 66 20 24 6e 61 6d 65 20 69 73 20 65 6d  # If $name is em
19090 70 74 79 20 77 65 20 61 72 65 20 6f 70 65 72 61  pty we are opera
190a0 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20 61 72 67  ting on a -L arg
190b0 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20  ument..         
190c0 20 20 20 69 66 20 74 65 73 74 20 22 24 6e 61 6d     if test "$nam
190d0 65 22 20 21 3d 20 22 22 20 26 26 20 74 65 73 74  e" != "" && test
190e0 20 20 22 24 6e 61 6d 65 22 20 21 3d 20 22 30 22    "$name" != "0"
190f0 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 69 66  ; then..      if
19100 20 74 65 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c   test "X$allow_l
19110 69 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68  ibtool_libs_with
19120 5f 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73  _static_runtimes
19130 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
19140 6e 0a 09 09 63 61 73 65 20 22 20 24 70 72 65 64  n...case " $pred
19150 65 70 73 20 24 70 6f 73 74 64 65 70 73 20 22 20  eps $postdeps " 
19160 69 6e 0a 09 09 2a 22 20 24 61 5f 64 65 70 6c 69  in...*" $a_depli
19170 62 20 22 2a 29 0a 09 09 20 20 6e 65 77 64 65 70  b "*)...  newdep
19180 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62  libs="$newdeplib
19190 73 20 24 61 5f 64 65 70 6c 69 62 22 0a 09 09 20  s $a_deplib"... 
191a0 20 61 5f 64 65 70 6c 69 62 3d 22 22 0a 09 09 20   a_deplib=""... 
191b0 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20 20   ;;...esac..    
191c0 20 20 66 69 0a 09 20 20 20 20 20 20 69 66 20 74    fi..      if t
191d0 65 73 74 20 2d 6e 20 22 24 61 5f 64 65 70 6c 69  est -n "$a_depli
191e0 62 22 20 3b 20 74 68 65 6e 0a 09 09 6c 69 62 6e  b" ; then...libn
191f0 61 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68  ame=`eval \\$ech
19200 6f 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65  o \"$libname_spe
19210 63 5c 22 60 0a 09 09 66 6f 72 20 69 20 69 6e 20  c\"`...for i in 
19220 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
19230 20 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68   $sys_lib_search
19240 5f 70 61 74 68 20 24 73 68 6c 69 62 5f 73 65 61  _path $shlib_sea
19250 72 63 68 5f 70 61 74 68 3b 20 64 6f 0a 09 09 20  rch_path; do... 
19260 20 70 6f 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3d   potential_libs=
19270 60 6c 73 20 24 69 2f 24 6c 69 62 6e 61 6d 65 5b  `ls $i/$libname[
19280 2e 2d 5d 2a 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  .-]* 2>/dev/null
19290 60 0a 09 09 20 20 66 6f 72 20 70 6f 74 65 6e 74  `...  for potent
192a0 5f 6c 69 62 20 69 6e 20 24 70 6f 74 65 6e 74 69  _lib in $potenti
192b0 61 6c 5f 6c 69 62 73 3b 20 64 6f 0a 09 09 20 20  al_libs; do...  
192c0 20 20 20 20 23 20 46 6f 6c 6c 6f 77 20 73 6f 66      # Follow sof
192d0 74 20 6c 69 6e 6b 73 2e 0a 09 09 20 20 20 20 20  t links....     
192e0 20 69 66 20 6c 73 20 2d 6c 4c 64 20 22 24 70 6f   if ls -lLd "$po
192f0 74 65 6e 74 5f 6c 69 62 22 20 32 3e 2f 64 65 76  tent_lib" 2>/dev
19300 2f 6e 75 6c 6c 20 5c 0a 09 09 09 20 7c 20 67 72  /null \.... | gr
19310 65 70 20 22 20 2d 3e 20 22 20 3e 2f 64 65 76 2f  ep " -> " >/dev/
19320 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09 63 6f  null; then....co
19330 6e 74 69 6e 75 65 0a 09 09 20 20 20 20 20 20 66  ntinue...      f
19340 69 0a 09 09 20 20 20 20 20 20 23 20 54 68 65 20  i...      # The 
19350 73 74 61 74 65 6d 65 6e 74 20 61 62 6f 76 65 20  statement above 
19360 74 72 69 65 73 20 74 6f 20 61 76 6f 69 64 20 65  tries to avoid e
19370 6e 74 65 72 69 6e 67 20 61 6e 0a 09 09 20 20 20  ntering an...   
19380 20 20 20 23 20 65 6e 64 6c 65 73 73 20 6c 6f 6f     # endless loo
19390 70 20 62 65 6c 6f 77 2c 20 69 6e 20 63 61 73 65  p below, in case
193a0 20 6f 66 20 63 79 63 6c 69 63 20 6c 69 6e 6b 73   of cyclic links
193b0 2e 0a 09 09 20 20 20 20 20 20 23 20 57 65 20 6d  ....      # We m
193c0 69 67 68 74 20 73 74 69 6c 6c 20 65 6e 74 65 72  ight still enter
193d0 20 61 6e 20 65 6e 64 6c 65 73 73 20 6c 6f 6f 70   an endless loop
193e0 2c 20 73 69 6e 63 65 20 61 20 6c 69 6e 6b 0a 09  , since a link..
193f0 09 20 20 20 20 20 20 23 20 6c 6f 6f 70 20 63 61  .      # loop ca
19400 6e 20 62 65 20 63 6c 6f 73 65 64 20 77 68 69 6c  n be closed whil
19410 65 20 77 65 20 66 6f 6c 6c 6f 77 20 6c 69 6e 6b  e we follow link
19420 73 2c 0a 09 09 20 20 20 20 20 20 23 20 62 75 74  s,...      # but
19430 20 73 6f 20 77 68 61 74 3f 0a 09 09 20 20 20 20   so what?...    
19440 20 20 70 6f 74 6c 69 62 3d 22 24 70 6f 74 65 6e    potlib="$poten
19450 74 5f 6c 69 62 22 0a 09 09 20 20 20 20 20 20 77  t_lib"...      w
19460 68 69 6c 65 20 74 65 73 74 20 2d 68 20 22 24 70  hile test -h "$p
19470 6f 74 6c 69 62 22 20 32 3e 2f 64 65 76 2f 6e 75  otlib" 2>/dev/nu
19480 6c 6c 3b 20 64 6f 0a 09 09 09 70 6f 74 6c 69 62  ll; do....potlib
19490 6c 69 6e 6b 3d 60 6c 73 20 2d 6c 64 20 24 70 6f  link=`ls -ld $po
194a0 74 6c 69 62 20 7c 20 24 7b 53 45 44 7d 20 27 73  tlib | ${SED} 's
194b0 2f 2e 2a 20 2d 3e 20 2f 2f 27 60 0a 09 09 09 63  /.* -> //'`....c
194c0 61 73 65 20 24 70 6f 74 6c 69 62 6c 69 6e 6b 20  ase $potliblink 
194d0 69 6e 0a 09 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b  in....[\\/]* | [
194e0 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20  A-Za-z]:[\\/]*) 
194f0 70 6f 74 6c 69 62 3d 22 24 70 6f 74 6c 69 62 6c  potlib="$potlibl
19500 69 6e 6b 22 3b 3b 0a 09 09 09 2a 29 20 70 6f 74  ink";;....*) pot
19510 6c 69 62 3d 60 24 65 63 68 6f 20 22 58 24 70 6f  lib=`$echo "X$po
19520 74 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  tlib" | $Xsed -e
19530 20 27 73 2c 5b 5e 2f 5d 2a 24 2c 2c 27 60 22 24   's,[^/]*$,,'`"$
19540 70 6f 74 6c 69 62 6c 69 6e 6b 22 3b 3b 0a 09 09  potliblink";;...
19550 09 65 73 61 63 0a 09 09 20 20 20 20 20 20 64 6f  .esac...      do
19560 6e 65 0a 09 09 20 20 20 20 20 20 23 20 49 74 20  ne...      # It 
19570 69 73 20 6f 6b 20 74 6f 20 6c 69 6e 6b 20 61 67  is ok to link ag
19580 61 69 6e 73 74 20 61 6e 20 61 72 63 68 69 76 65  ainst an archive
19590 20 77 68 65 6e 0a 09 09 20 20 20 20 20 20 23 20   when...      # 
195a0 62 75 69 6c 64 69 6e 67 20 61 20 73 68 61 72 65  building a share
195b0 64 20 6c 69 62 72 61 72 79 2e 0a 09 09 20 20 20  d library....   
195c0 20 20 20 69 66 20 24 41 52 20 2d 74 20 24 70 6f     if $AR -t $po
195d0 74 6c 69 62 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c  tlib > /dev/null
195e0 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09 09 20 20   2>&1; then...  
195f0 20 20 20 20 20 20 6e 65 77 64 65 70 6c 69 62 73        newdeplibs
19600 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 61  ="$newdeplibs $a
19610 5f 64 65 70 6c 69 62 22 0a 09 09 20 20 20 20 20  _deplib"...     
19620 20 20 20 61 5f 64 65 70 6c 69 62 3d 22 22 0a 09     a_deplib=""..
19630 09 20 20 20 20 20 20 20 20 62 72 65 61 6b 20 32  .        break 2
19640 0a 09 09 20 20 20 20 20 20 66 69 0a 09 09 20 20  ...      fi...  
19650 20 20 20 20 69 66 20 65 76 61 6c 20 24 66 69 6c      if eval $fil
19660 65 5f 6d 61 67 69 63 5f 63 6d 64 20 5c 22 5c 24  e_magic_cmd \"\$
19670 70 6f 74 6c 69 62 5c 22 20 32 3e 2f 64 65 76 2f  potlib\" 2>/dev/
19680 6e 75 6c 6c 20 5c 0a 09 09 09 20 7c 20 24 7b 53  null \.... | ${S
19690 45 44 7d 20 31 30 71 20 5c 0a 09 09 09 20 7c 20  ED} 10q \.... | 
196a0 24 45 47 52 45 50 20 22 24 66 69 6c 65 5f 6d 61  $EGREP "$file_ma
196b0 67 69 63 5f 72 65 67 65 78 22 20 3e 20 2f 64 65  gic_regex" > /de
196c0 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09  v/null; then....
196d0 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77  newdeplibs="$new
196e0 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70 6c 69  deplibs $a_depli
196f0 62 22 0a 09 09 09 61 5f 64 65 70 6c 69 62 3d 22  b"....a_deplib="
19700 22 0a 09 09 09 62 72 65 61 6b 20 32 0a 09 09 20  "....break 2... 
19710 20 20 20 20 20 66 69 0a 09 09 20 20 64 6f 6e 65       fi...  done
19720 0a 09 09 64 6f 6e 65 0a 09 20 20 20 20 20 20 66  ...done..      f
19730 69 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
19740 20 2d 6e 20 22 24 61 5f 64 65 70 6c 69 62 22 20   -n "$a_deplib" 
19750 3b 20 74 68 65 6e 0a 09 09 64 72 6f 70 70 65 64  ; then...dropped
19760 64 65 70 73 3d 79 65 73 0a 09 09 24 65 63 68 6f  deps=yes...$echo
19770 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61  ...$echo "*** Wa
19780 72 6e 69 6e 67 3a 20 6c 69 6e 6b 65 72 20 70 61  rning: linker pa
19790 74 68 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65  th does not have
197a0 20 72 65 61 6c 20 66 69 6c 65 20 66 6f 72 20 6c   real file for l
197b0 69 62 72 61 72 79 20 24 61 5f 64 65 70 6c 69 62  ibrary $a_deplib
197c0 2e 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20  ."...$echo "*** 
197d0 49 20 68 61 76 65 20 74 68 65 20 63 61 70 61 62  I have the capab
197e0 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20 74 68  ility to make th
197f0 61 74 20 6c 69 62 72 61 72 79 20 61 75 74 6f 6d  at library autom
19800 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e  atically link in
19810 20 77 68 65 6e 22 0a 09 09 24 65 63 68 6f 20 22   when"...$echo "
19820 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f 20  *** you link to 
19830 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20 42  this library.  B
19840 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64 6f  ut I can only do
19850 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61 76   this if you hav
19860 65 20 61 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a  e a"...$echo "**
19870 2a 20 73 68 61 72 65 64 20 76 65 72 73 69 6f 6e  * shared version
19880 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2c   of the library,
19890 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f   which you do no
198a0 74 20 61 70 70 65 61 72 20 74 6f 20 68 61 76 65  t appear to have
198b0 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20 62  "...$echo "*** b
198c0 65 63 61 75 73 65 20 49 20 64 69 64 20 63 68 65  ecause I did che
198d0 63 6b 20 74 68 65 20 6c 69 6e 6b 65 72 20 70 61  ck the linker pa
198e0 74 68 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61  th looking for a
198f0 20 66 69 6c 65 20 73 74 61 72 74 69 6e 67 22 0a   file starting".
19900 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 70  ..if test -z "$p
19910 6f 74 6c 69 62 22 20 3b 20 74 68 65 6e 0a 09 09  otlib" ; then...
19920 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 77 69 74    $echo "*** wit
19930 68 20 24 6c 69 62 6e 61 6d 65 20 62 75 74 20 6e  h $libname but n
19940 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77 65 72  o candidates wer
19950 65 20 66 6f 75 6e 64 2e 20 28 2e 2e 2e 66 6f 72  e found. (...for
19960 20 66 69 6c 65 20 6d 61 67 69 63 20 74 65 73 74   file magic test
19970 29 22 0a 09 09 65 6c 73 65 0a 09 09 20 20 24 65  )"...else...  $e
19980 63 68 6f 20 22 2a 2a 2a 20 77 69 74 68 20 24 6c  cho "*** with $l
19990 69 62 6e 61 6d 65 20 61 6e 64 20 6e 6f 6e 65 20  ibname and none 
199a0 6f 66 20 74 68 65 20 63 61 6e 64 69 64 61 74 65  of the candidate
199b0 73 20 70 61 73 73 65 64 20 61 20 66 69 6c 65 20  s passed a file 
199c0 66 6f 72 6d 61 74 20 74 65 73 74 22 0a 09 09 20  format test"... 
199d0 20 24 65 63 68 6f 20 22 2a 2a 2a 20 75 73 69 6e   $echo "*** usin
199e0 67 20 61 20 66 69 6c 65 20 6d 61 67 69 63 2e 20  g a file magic. 
199f0 4c 61 73 74 20 66 69 6c 65 20 63 68 65 63 6b 65  Last file checke
19a00 64 3a 20 24 70 6f 74 6c 69 62 22 0a 09 09 66 69  d: $potlib"...fi
19a10 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
19a20 65 6c 73 65 0a 09 20 20 20 20 20 20 23 20 41 64  else..      # Ad
19a30 64 20 61 20 2d 4c 20 61 72 67 75 6d 65 6e 74 2e  d a -L argument.
19a40 0a 09 20 20 20 20 20 20 6e 65 77 64 65 70 6c 69  ..      newdepli
19a50 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
19a60 24 61 5f 64 65 70 6c 69 62 22 0a 09 20 20 20 20  $a_deplib"..    
19a70 66 69 0a 09 20 20 64 6f 6e 65 20 23 20 47 6f 6e  fi..  done # Gon
19a80 65 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 64 65  e through all de
19a90 70 6c 69 62 73 2e 0a 09 20 20 3b 3b 0a 09 6d 61  plibs...  ;;..ma
19aa0 74 63 68 5f 70 61 74 74 65 72 6e 2a 29 0a 09 20  tch_pattern*).. 
19ab0 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70 6c   set dummy $depl
19ac0 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64  ibs_check_method
19ad0 0a 09 20 20 6d 61 74 63 68 5f 70 61 74 74 65 72  ..  match_patter
19ae0 6e 5f 72 65 67 65 78 3d 60 65 78 70 72 20 22 24  n_regex=`expr "$
19af0 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65  deplibs_check_me
19b00 74 68 6f 64 22 20 3a 20 22 24 32 20 5c 28 2e 2a  thod" : "$2 \(.*
19b10 5c 29 22 60 0a 09 20 20 66 6f 72 20 61 5f 64 65  \)"`..  for a_de
19b20 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62 73  plib in $deplibs
19b30 3b 20 64 6f 0a 09 20 20 20 20 6e 61 6d 65 3d 60  ; do..    name=`
19b40 65 78 70 72 20 24 61 5f 64 65 70 6c 69 62 20 3a  expr $a_deplib :
19b50 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 0a 09 20 20   '-l\(.*\)'`..  
19b60 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73 20    # If $name is 
19b70 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70 65  empty we are ope
19b80 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20 61  rating on a -L a
19b90 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 69 66  rgument...    if
19ba0 20 74 65 73 74 20 2d 6e 20 22 24 6e 61 6d 65 22   test -n "$name"
19bb0 20 26 26 20 74 65 73 74 20 22 24 6e 61 6d 65 22   && test "$name"
19bc0 20 21 3d 20 22 30 22 3b 20 74 68 65 6e 0a 09 20   != "0"; then.. 
19bd0 20 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24       if test "X$
19be0 61 6c 6c 6f 77 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  allow_libtool_li
19bf0 62 73 5f 77 69 74 68 5f 73 74 61 74 69 63 5f 72  bs_with_static_r
19c00 75 6e 74 69 6d 65 73 22 20 3d 20 22 58 79 65 73  untimes" = "Xyes
19c10 22 20 3b 20 74 68 65 6e 0a 09 09 63 61 73 65 20  " ; then...case 
19c20 22 20 24 70 72 65 64 65 70 73 20 24 70 6f 73 74  " $predeps $post
19c30 64 65 70 73 20 22 20 69 6e 0a 09 09 2a 22 20 24  deps " in...*" $
19c40 61 5f 64 65 70 6c 69 62 20 22 2a 29 0a 09 09 20  a_deplib "*)... 
19c50 20 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65   newdeplibs="$ne
19c60 77 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70 6c  wdeplibs $a_depl
19c70 69 62 22 0a 09 09 20 20 61 5f 64 65 70 6c 69 62  ib"...  a_deplib
19c80 3d 22 22 0a 09 09 20 20 3b 3b 0a 09 09 65 73 61  =""...  ;;...esa
19c90 63 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20  c..      fi..   
19ca0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
19cb0 61 5f 64 65 70 6c 69 62 22 20 3b 20 74 68 65 6e  a_deplib" ; then
19cc0 0a 09 09 6c 69 62 6e 61 6d 65 3d 60 65 76 61 6c  ...libname=`eval
19cd0 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 6e   \\$echo \"$libn
19ce0 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09 09 66 6f  ame_spec\"`...fo
19cf0 72 20 69 20 69 6e 20 24 6c 69 62 5f 73 65 61 72  r i in $lib_sear
19d00 63 68 5f 70 61 74 68 20 24 73 79 73 5f 6c 69 62  ch_path $sys_lib
19d10 5f 73 65 61 72 63 68 5f 70 61 74 68 20 24 73 68  _search_path $sh
19d20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3b  lib_search_path;
19d30 20 64 6f 0a 09 09 20 20 70 6f 74 65 6e 74 69 61   do...  potentia
19d40 6c 5f 6c 69 62 73 3d 60 6c 73 20 24 69 2f 24 6c  l_libs=`ls $i/$l
19d50 69 62 6e 61 6d 65 5b 2e 2d 5d 2a 20 32 3e 2f 64  ibname[.-]* 2>/d
19d60 65 76 2f 6e 75 6c 6c 60 0a 09 09 20 20 66 6f 72  ev/null`...  for
19d70 20 70 6f 74 65 6e 74 5f 6c 69 62 20 69 6e 20 24   potent_lib in $
19d80 70 6f 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3b 20  potential_libs; 
19d90 64 6f 0a 09 09 20 20 20 20 70 6f 74 6c 69 62 3d  do...    potlib=
19da0 22 24 70 6f 74 65 6e 74 5f 6c 69 62 22 20 23 20  "$potent_lib" # 
19db0 73 65 65 20 73 79 6d 6c 69 6e 6b 2d 63 68 65 63  see symlink-chec
19dc0 6b 20 61 62 6f 76 65 20 69 6e 20 66 69 6c 65 5f  k above in file_
19dd0 6d 61 67 69 63 20 74 65 73 74 0a 09 09 20 20 20  magic test...   
19de0 20 69 66 20 65 76 61 6c 20 24 65 63 68 6f 20 5c   if eval $echo \
19df0 22 24 70 6f 74 65 6e 74 5f 6c 69 62 5c 22 20 32  "$potent_lib\" 2
19e00 3e 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a 09 09 20  >/dev/null \... 
19e10 20 20 20 20 20 20 20 7c 20 24 7b 53 45 44 7d 20         | ${SED} 
19e20 31 30 71 20 5c 0a 09 09 20 20 20 20 20 20 20 20  10q \...        
19e30 7c 20 24 45 47 52 45 50 20 22 24 6d 61 74 63 68  | $EGREP "$match
19e40 5f 70 61 74 74 65 72 6e 5f 72 65 67 65 78 22 20  _pattern_regex" 
19e50 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65  > /dev/null; the
19e60 6e 0a 09 09 20 20 20 20 20 20 6e 65 77 64 65 70  n...      newdep
19e70 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62  libs="$newdeplib
19e80 73 20 24 61 5f 64 65 70 6c 69 62 22 0a 09 09 20  s $a_deplib"... 
19e90 20 20 20 20 20 61 5f 64 65 70 6c 69 62 3d 22 22       a_deplib=""
19ea0 0a 09 09 20 20 20 20 20 20 62 72 65 61 6b 20 32  ...      break 2
19eb0 0a 09 09 20 20 20 20 66 69 0a 09 09 20 20 64 6f  ...    fi...  do
19ec0 6e 65 0a 09 09 64 6f 6e 65 0a 09 20 20 20 20 20  ne...done..     
19ed0 20 66 69 0a 09 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
19ee0 73 74 20 2d 6e 20 22 24 61 5f 64 65 70 6c 69 62  st -n "$a_deplib
19ef0 22 20 3b 20 74 68 65 6e 0a 09 09 64 72 6f 70 70  " ; then...dropp
19f00 65 64 64 65 70 73 3d 79 65 73 0a 09 09 24 65 63  eddeps=yes...$ec
19f10 68 6f 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20  ho...$echo "*** 
19f20 57 61 72 6e 69 6e 67 3a 20 6c 69 6e 6b 65 72 20  Warning: linker 
19f30 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 68 61  path does not ha
19f40 76 65 20 72 65 61 6c 20 66 69 6c 65 20 66 6f 72  ve real file for
19f50 20 6c 69 62 72 61 72 79 20 24 61 5f 64 65 70 6c   library $a_depl
19f60 69 62 2e 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a  ib."...$echo "**
19f70 2a 20 49 20 68 61 76 65 20 74 68 65 20 63 61 70  * I have the cap
19f80 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20  ability to make 
19f90 74 68 61 74 20 6c 69 62 72 61 72 79 20 61 75 74  that library aut
19fa0 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  omatically link 
19fb0 69 6e 20 77 68 65 6e 22 0a 09 09 24 65 63 68 6f  in when"...$echo
19fc0 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74   "*** you link t
19fd0 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20  o this library. 
19fe0 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20   But I can only 
19ff0 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68  do this if you h
1a000 61 76 65 20 61 22 0a 09 09 24 65 63 68 6f 20 22  ave a"...$echo "
1a010 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73 69  *** shared versi
1a020 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72  on of the librar
1a030 79 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20  y, which you do 
1a040 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68 61  not appear to ha
1a050 76 65 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a  ve"...$echo "***
1a060 20 62 65 63 61 75 73 65 20 49 20 64 69 64 20 63   because I did c
1a070 68 65 63 6b 20 74 68 65 20 6c 69 6e 6b 65 72 20  heck the linker 
1a080 70 61 74 68 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72  path looking for
1a090 20 61 20 66 69 6c 65 20 73 74 61 72 74 69 6e 67   a file starting
1a0a0 22 0a 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22  "...if test -z "
1a0b0 24 70 6f 74 6c 69 62 22 20 3b 20 74 68 65 6e 0a  $potlib" ; then.
1a0c0 09 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 77  ..  $echo "*** w
1a0d0 69 74 68 20 24 6c 69 62 6e 61 6d 65 20 62 75 74  ith $libname but
1a0e0 20 6e 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77   no candidates w
1a0f0 65 72 65 20 66 6f 75 6e 64 2e 20 28 2e 2e 2e 66  ere found. (...f
1a100 6f 72 20 72 65 67 65 78 20 70 61 74 74 65 72 6e  or regex pattern
1a110 20 74 65 73 74 29 22 0a 09 09 65 6c 73 65 0a 09   test)"...else..
1a120 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 77 69  .  $echo "*** wi
1a130 74 68 20 24 6c 69 62 6e 61 6d 65 20 61 6e 64 20  th $libname and 
1a140 6e 6f 6e 65 20 6f 66 20 74 68 65 20 63 61 6e 64  none of the cand
1a150 69 64 61 74 65 73 20 70 61 73 73 65 64 20 61 20  idates passed a 
1a160 66 69 6c 65 20 66 6f 72 6d 61 74 20 74 65 73 74  file format test
1a170 22 0a 09 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a  "...  $echo "***
1a180 20 75 73 69 6e 67 20 61 20 72 65 67 65 78 20 70   using a regex p
1a190 61 74 74 65 72 6e 2e 20 4c 61 73 74 20 66 69 6c  attern. Last fil
1a1a0 65 20 63 68 65 63 6b 65 64 3a 20 24 70 6f 74 6c  e checked: $potl
1a1b0 69 62 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20  ib"...fi..      
1a1c0 66 69 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  fi..    else..  
1a1d0 20 20 20 20 23 20 41 64 64 20 61 20 2d 4c 20 61      # Add a -L a
1a1e0 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 20 20  rgument...      
1a1f0 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77  newdeplibs="$new
1a200 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70 6c 69  deplibs $a_depli
1a210 62 22 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f  b"..    fi..  do
1a220 6e 65 20 23 20 47 6f 6e 65 20 74 68 72 6f 75 67  ne # Gone throug
1a230 68 20 61 6c 6c 20 64 65 70 6c 69 62 73 2e 0a 09  h all deplibs...
1a240 20 20 3b 3b 0a 09 6e 6f 6e 65 20 7c 20 75 6e 6b    ;;..none | unk
1a250 6e 6f 77 6e 20 7c 20 2a 29 0a 09 20 20 6e 65 77  nown | *)..  new
1a260 64 65 70 6c 69 62 73 3d 22 22 0a 09 20 20 74 6d  deplibs=""..  tm
1a270 70 5f 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f  p_deplibs=`$echo
1a280 20 22 58 20 24 64 65 70 6c 69 62 73 22 20 7c 20   "X $deplibs" | 
1a290 24 58 73 65 64 20 2d 65 20 27 73 2f 20 2d 6c 63  $Xsed -e 's/ -lc
1a2a0 24 2f 2f 27 20 5c 0a 09 20 20 20 20 2d 65 20 27  $//' \..    -e '
1a2b0 73 2f 20 2d 5b 4c 52 5d 5b 5e 20 5d 2a 2f 2f 67  s/ -[LR][^ ]*//g
1a2c0 27 60 0a 09 20 20 69 66 20 74 65 73 74 20 22 58  '`..  if test "X
1a2d0 24 61 6c 6c 6f 77 5f 6c 69 62 74 6f 6f 6c 5f 6c  $allow_libtool_l
1a2e0 69 62 73 5f 77 69 74 68 5f 73 74 61 74 69 63 5f  ibs_with_static_
1a2f0 72 75 6e 74 69 6d 65 73 22 20 3d 20 22 58 79 65  runtimes" = "Xye
1a300 73 22 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 66  s" ; then..    f
1a310 6f 72 20 69 20 69 6e 20 24 70 72 65 64 65 70 73  or i in $predeps
1a320 20 24 70 6f 73 74 64 65 70 73 20 3b 20 64 6f 0a   $postdeps ; do.
1a330 09 20 20 20 20 20 20 23 20 63 61 6e 27 74 20 75  .      # can't u
1a340 73 65 20 58 73 65 64 20 62 65 6c 6f 77 2c 20 62  se Xsed below, b
1a350 65 63 61 75 73 65 20 24 69 20 6d 69 67 68 74 20  ecause $i might 
1a360 63 6f 6e 74 61 69 6e 20 27 2f 27 0a 09 20 20 20  contain '/'..   
1a370 20 20 20 74 6d 70 5f 64 65 70 6c 69 62 73 3d 60     tmp_deplibs=`
1a380 24 65 63 68 6f 20 22 58 20 24 74 6d 70 5f 64 65  $echo "X $tmp_de
1a390 70 6c 69 62 73 22 20 7c 20 24 7b 53 45 44 7d 20  plibs" | ${SED} 
1a3a0 2d 65 20 22 31 73 2c 5e 58 2c 2c 22 20 2d 65 20  -e "1s,^X,," -e 
1a3b0 22 73 2c 24 69 2c 2c 22 60 0a 09 20 20 20 20 64  "s,$i,,"`..    d
1a3c0 6f 6e 65 0a 09 20 20 66 69 0a 09 20 20 69 66 20  one..  fi..  if 
1a3d0 24 65 63 68 6f 20 22 58 20 24 74 6d 70 5f 64 65  $echo "X $tmp_de
1a3e0 70 6c 69 62 73 22 20 7c 20 24 58 73 65 64 20 2d  plibs" | $Xsed -
1a3f0 65 20 27 73 2f 5b 20 09 5d 2f 2f 67 27 20 5c 0a  e 's/[ .]//g' \.
1a400 09 20 20 20 20 7c 20 67 72 65 70 20 2e 20 3e 2f  .    | grep . >/
1a410 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09  dev/null; then..
1a420 20 20 20 20 24 65 63 68 6f 0a 09 20 20 20 20 69      $echo..    i
1a430 66 20 74 65 73 74 20 22 58 24 64 65 70 6c 69 62  f test "X$deplib
1a440 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20  s_check_method" 
1a450 3d 20 22 58 6e 6f 6e 65 22 3b 20 74 68 65 6e 0a  = "Xnone"; then.
1a460 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a  .      $echo "**
1a470 2a 20 57 61 72 6e 69 6e 67 3a 20 69 6e 74 65 72  * Warning: inter
1a480 2d 6c 69 62 72 61 72 79 20 64 65 70 65 6e 64 65  -library depende
1a490 6e 63 69 65 73 20 61 72 65 20 6e 6f 74 20 73 75  ncies are not su
1a4a0 70 70 6f 72 74 65 64 20 69 6e 20 74 68 69 73 20  pported in this 
1a4b0 70 6c 61 74 66 6f 72 6d 2e 22 0a 09 20 20 20 20  platform."..    
1a4c0 65 6c 73 65 0a 09 20 20 20 20 20 20 24 65 63 68  else..      $ech
1a4d0 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
1a4e0 69 6e 74 65 72 2d 6c 69 62 72 61 72 79 20 64 65  inter-library de
1a4f0 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6e  pendencies are n
1a500 6f 74 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 73  ot known to be s
1a510 75 70 70 6f 72 74 65 64 2e 22 0a 09 20 20 20 20  upported."..    
1a520 66 69 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a  fi..    $echo "*
1a530 2a 2a 20 41 6c 6c 20 64 65 63 6c 61 72 65 64 20  ** All declared 
1a540 69 6e 74 65 72 2d 6c 69 62 72 61 72 79 20 64 65  inter-library de
1a550 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 62  pendencies are b
1a560 65 69 6e 67 20 64 72 6f 70 70 65 64 2e 22 0a 09  eing dropped."..
1a570 20 20 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d      droppeddeps=
1a580 79 65 73 0a 09 20 20 66 69 0a 09 20 20 3b 3b 0a  yes..  fi..  ;;.
1a590 09 65 73 61 63 0a 09 76 65 72 73 75 66 66 69 78  .esac..versuffix
1a5a0 3d 24 76 65 72 73 75 66 66 69 78 5f 73 61 76 65  =$versuffix_save
1a5b0 0a 09 6d 61 6a 6f 72 3d 24 6d 61 6a 6f 72 5f 73  ..major=$major_s
1a5c0 61 76 65 0a 09 72 65 6c 65 61 73 65 3d 24 72 65  ave..release=$re
1a5d0 6c 65 61 73 65 5f 73 61 76 65 0a 09 6c 69 62 6e  lease_save..libn
1a5e0 61 6d 65 3d 24 6c 69 62 6e 61 6d 65 5f 73 61 76  ame=$libname_sav
1a5f0 65 0a 09 6e 61 6d 65 3d 24 6e 61 6d 65 5f 73 61  e..name=$name_sa
1a600 76 65 0a 0a 09 63 61 73 65 20 24 68 6f 73 74 20  ve...case $host 
1a610 69 6e 0a 09 2a 2d 2a 2d 72 68 61 70 73 6f 64 79  in..*-*-rhapsody
1a620 2a 20 7c 20 2a 2d 2a 2d 64 61 72 77 69 6e 31 2e  * | *-*-darwin1.
1a630 5b 30 31 32 5d 29 0a 09 20 20 23 20 4f 6e 20 52  [012])..  # On R
1a640 68 61 70 73 6f 64 79 20 72 65 70 6c 61 63 65 20  hapsody replace 
1a650 74 68 65 20 43 20 6c 69 62 72 61 72 79 20 69 73  the C library is
1a660 20 74 68 65 20 53 79 73 74 65 6d 20 66 72 61 6d   the System fram
1a670 65 77 6f 72 6b 0a 09 20 20 6e 65 77 64 65 70 6c  ework..  newdepl
1a680 69 62 73 3d 60 24 65 63 68 6f 20 22 58 20 24 6e  ibs=`$echo "X $n
1a690 65 77 64 65 70 6c 69 62 73 22 20 7c 20 24 58 73  ewdeplibs" | $Xs
1a6a0 65 64 20 2d 65 20 27 73 2f 20 2d 6c 63 20 2f 20  ed -e 's/ -lc / 
1a6b0 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65  -framework Syste
1a6c0 6d 20 2f 27 60 0a 09 20 20 3b 3b 0a 09 65 73 61  m /'`..  ;;..esa
1a6d0 63 0a 0a 09 69 66 20 74 65 73 74 20 22 24 64 72  c...if test "$dr
1a6e0 6f 70 70 65 64 64 65 70 73 22 20 3d 20 79 65 73  oppeddeps" = yes
1a6f0 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73  ; then..  if tes
1a700 74 20 22 24 6d 6f 64 75 6c 65 22 20 3d 20 79 65  t "$module" = ye
1a710 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63  s; then..    $ec
1a720 68 6f 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a  ho..    $echo "*
1a730 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 6c 69 62 74  ** Warning: libt
1a740 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f 74 20 73 61  ool could not sa
1a750 74 69 73 66 79 20 61 6c 6c 20 64 65 63 6c 61 72  tisfy all declar
1a760 65 64 20 69 6e 74 65 72 2d 6c 69 62 72 61 72 79  ed inter-library
1a770 22 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a 2a  "..    $echo "**
1a780 2a 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f  * dependencies o
1a790 66 20 6d 6f 64 75 6c 65 20 24 6c 69 62 6e 61 6d  f module $libnam
1a7a0 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 6c  e.  Therefore, l
1a7b0 69 62 74 6f 6f 6c 20 77 69 6c 6c 20 63 72 65 61  ibtool will crea
1a7c0 74 65 22 0a 09 20 20 20 20 24 65 63 68 6f 20 22  te"..    $echo "
1a7d0 2a 2a 2a 20 61 20 73 74 61 74 69 63 20 6d 6f 64  *** a static mod
1a7e0 75 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64  ule, that should
1a7f0 20 77 6f 72 6b 20 61 73 20 6c 6f 6e 67 20 61 73   work as long as
1a800 20 74 68 65 20 64 6c 6f 70 65 6e 69 6e 67 22 0a   the dlopening".
1a810 09 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20  .    $echo "*** 
1a820 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 6c  application is l
1a830 69 6e 6b 65 64 20 77 69 74 68 20 74 68 65 20 2d  inked with the -
1a840 64 6c 6f 70 65 6e 20 66 6c 61 67 2e 22 0a 09 20  dlopen flag.".. 
1a850 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
1a860 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69  global_symbol_pi
1a870 70 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  pe"; then..     
1a880 20 24 65 63 68 6f 0a 09 20 20 20 20 20 20 24 65   $echo..      $e
1a890 63 68 6f 20 22 2a 2a 2a 20 48 6f 77 65 76 65 72  cho "*** However
1a8a0 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 6f 6e 6c  , this would onl
1a8b0 79 20 77 6f 72 6b 20 69 66 20 6c 69 62 74 6f 6f  y work if libtoo
1a8c0 6c 20 77 61 73 20 61 62 6c 65 20 74 6f 20 65 78  l was able to ex
1a8d0 74 72 61 63 74 20 73 79 6d 62 6f 6c 22 0a 09 20  tract symbol".. 
1a8e0 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20       $echo "*** 
1a8f0 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 70 72 6f  lists from a pro
1a900 67 72 61 6d 2c 20 75 73 69 6e 67 20 5c 60 6e 6d  gram, using \`nm
1a910 27 20 6f 72 20 65 71 75 69 76 61 6c 65 6e 74 2c  ' or equivalent,
1a920 20 62 75 74 20 6c 69 62 74 6f 6f 6c 20 63 6f 75   but libtool cou
1a930 6c 64 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f  ld"..      $echo
1a940 20 22 2a 2a 2a 20 6e 6f 74 20 66 69 6e 64 20 73   "*** not find s
1a950 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2e 20 20  uch a program.  
1a960 53 6f 2c 20 74 68 69 73 20 6d 6f 64 75 6c 65 20  So, this module 
1a970 69 73 20 70 72 6f 62 61 62 6c 79 20 75 73 65 6c  is probably usel
1a980 65 73 73 2e 22 0a 09 20 20 20 20 20 20 24 65 63  ess."..      $ec
1a990 68 6f 20 22 2a 2a 2a 20 5c 60 6e 6d 27 20 66 72  ho "*** \`nm' fr
1a9a0 6f 6d 20 47 4e 55 20 62 69 6e 75 74 69 6c 73 20  om GNU binutils 
1a9b0 61 6e 64 20 61 20 66 75 6c 6c 20 72 65 62 75 69  and a full rebui
1a9c0 6c 64 20 6d 61 79 20 68 65 6c 70 2e 22 0a 09 20  ld may help.".. 
1a9d0 20 20 20 66 69 0a 09 20 20 20 20 69 66 20 74 65     fi..    if te
1a9e0 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c  st "$build_old_l
1a9f0 69 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a  ibs" = no; then.
1aa00 09 20 20 20 20 20 20 6f 6c 64 6c 69 62 73 3d 22  .      oldlibs="
1aa10 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
1aa20 6c 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78 74 22  libname.$libext"
1aa30 0a 09 20 20 20 20 20 20 62 75 69 6c 64 5f 6c 69  ..      build_li
1aa40 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c  btool_libs=modul
1aa50 65 0a 09 20 20 20 20 20 20 62 75 69 6c 64 5f 6f  e..      build_o
1aa60 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 20  ld_libs=yes..   
1aa70 20 65 6c 73 65 0a 09 20 20 20 20 20 20 62 75 69   else..      bui
1aa80 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d  ld_libtool_libs=
1aa90 6e 6f 0a 09 20 20 20 20 66 69 0a 09 20 20 65 6c  no..    fi..  el
1aaa0 73 65 0a 09 20 20 20 20 24 65 63 68 6f 20 22 2a  se..    $echo "*
1aab0 2a 2a 20 54 68 65 20 69 6e 74 65 72 2d 6c 69 62  ** The inter-lib
1aac0 72 61 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65  rary dependencie
1aad0 73 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e  s that have been
1aae0 20 64 72 6f 70 70 65 64 20 68 65 72 65 20 77 69   dropped here wi
1aaf0 6c 6c 20 62 65 22 0a 09 20 20 20 20 24 65 63 68  ll be"..    $ech
1ab00 6f 20 22 2a 2a 2a 20 61 75 74 6f 6d 61 74 69 63  o "*** automatic
1ab10 61 6c 6c 79 20 61 64 64 65 64 20 77 68 65 6e 65  ally added whene
1ab20 76 65 72 20 61 20 70 72 6f 67 72 61 6d 20 69 73  ver a program is
1ab30 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74 68 69   linked with thi
1ab40 73 20 6c 69 62 72 61 72 79 22 0a 09 20 20 20 20  s library"..    
1ab50 24 65 63 68 6f 20 22 2a 2a 2a 20 6f 72 20 69 73  $echo "*** or is
1ab60 20 64 65 63 6c 61 72 65 64 20 74 6f 20 2d 64 6c   declared to -dl
1ab70 6f 70 65 6e 20 69 74 2e 22 0a 0a 09 20 20 20 20  open it."...    
1ab80 69 66 20 74 65 73 74 20 22 24 61 6c 6c 6f 77 5f  if test "$allow_
1ab90 75 6e 64 65 66 69 6e 65 64 22 20 3d 20 6e 6f 3b  undefined" = no;
1aba0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65 63   then..      $ec
1abb0 68 6f 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20  ho..      $echo 
1abc0 22 2a 2a 2a 20 53 69 6e 63 65 20 74 68 69 73 20  "*** Since this 
1abd0 6c 69 62 72 61 72 79 20 6d 75 73 74 20 6e 6f 74  library must not
1abe0 20 63 6f 6e 74 61 69 6e 20 75 6e 64 65 66 69 6e   contain undefin
1abf0 65 64 20 73 79 6d 62 6f 6c 73 2c 22 0a 09 20 20  ed symbols,"..  
1ac00 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 62      $echo "*** b
1ac10 65 63 61 75 73 65 20 65 69 74 68 65 72 20 74 68  ecause either th
1ac20 65 20 70 6c 61 74 66 6f 72 6d 20 64 6f 65 73 20  e platform does 
1ac30 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 65 6d  not support them
1ac40 20 6f 72 22 0a 09 20 20 20 20 20 20 24 65 63 68   or"..      $ech
1ac50 6f 20 22 2a 2a 2a 20 69 74 20 77 61 73 20 65 78  o "*** it was ex
1ac60 70 6c 69 63 69 74 6c 79 20 72 65 71 75 65 73 74  plicitly request
1ac70 65 64 20 77 69 74 68 20 2d 6e 6f 2d 75 6e 64 65  ed with -no-unde
1ac80 66 69 6e 65 64 2c 22 0a 09 20 20 20 20 20 20 24  fined,"..      $
1ac90 65 63 68 6f 20 22 2a 2a 2a 20 6c 69 62 74 6f 6f  echo "*** libtoo
1aca0 6c 20 77 69 6c 6c 20 6f 6e 6c 79 20 63 72 65 61  l will only crea
1acb0 74 65 20 61 20 73 74 61 74 69 63 20 76 65 72 73  te a static vers
1acc0 69 6f 6e 20 6f 66 20 69 74 2e 22 0a 09 20 20 20  ion of it."..   
1acd0 20 20 20 69 66 20 74 65 73 74 20 22 24 62 75 69     if test "$bui
1ace0 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 6e  ld_old_libs" = n
1acf0 6f 3b 20 74 68 65 6e 0a 09 09 6f 6c 64 6c 69 62  o; then...oldlib
1ad00 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  s="$output_objdi
1ad10 72 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62 65  r/$libname.$libe
1ad20 78 74 22 0a 09 09 62 75 69 6c 64 5f 6c 69 62 74  xt"...build_libt
1ad30 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c 65 0a  ool_libs=module.
1ad40 09 09 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73  ..build_old_libs
1ad50 3d 79 65 73 0a 09 20 20 20 20 20 20 65 6c 73 65  =yes..      else
1ad60 0a 09 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c  ...build_libtool
1ad70 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20 20 20 20 20  _libs=no..      
1ad80 66 69 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69  fi..    fi..  fi
1ad90 0a 09 66 69 0a 09 23 20 44 6f 6e 65 20 63 68 65  ..fi..# Done che
1ada0 63 6b 69 6e 67 20 64 65 70 6c 69 62 73 21 0a 09  cking deplibs!..
1adb0 64 65 70 6c 69 62 73 3d 24 6e 65 77 64 65 70 6c  deplibs=$newdepl
1adc0 69 62 73 0a 20 20 20 20 20 20 66 69 0a 0a 0a 20  ibs.      fi... 
1add0 20 20 20 20 20 23 20 6d 6f 76 65 20 6c 69 62 72       # move libr
1ade0 61 72 79 20 73 65 61 72 63 68 20 70 61 74 68 73  ary search paths
1adf0 20 74 68 61 74 20 63 6f 69 6e 63 69 64 65 20 77   that coincide w
1ae00 69 74 68 20 70 61 74 68 73 20 74 6f 20 6e 6f 74  ith paths to not
1ae10 20 79 65 74 0a 20 20 20 20 20 20 23 20 69 6e 73   yet.      # ins
1ae20 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 69 65 73  talled libraries
1ae30 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e   to the beginnin
1ae40 67 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79  g of the library
1ae50 20 73 65 61 72 63 68 20 6c 69 73 74 0a 20 20 20   search list.   
1ae60 20 20 20 6e 65 77 5f 6c 69 62 73 3d 0a 20 20 20     new_libs=.   
1ae70 20 20 20 66 6f 72 20 70 61 74 68 20 69 6e 20 24     for path in $
1ae80 6e 6f 74 69 6e 73 74 5f 70 61 74 68 3b 20 64 6f  notinst_path; do
1ae90 0a 09 63 61 73 65 20 22 20 24 6e 65 77 5f 6c 69  ..case " $new_li
1aea0 62 73 20 22 20 69 6e 0a 09 2a 22 20 2d 4c 24 70  bs " in..*" -L$p
1aeb0 61 74 68 2f 24 6f 62 6a 64 69 72 20 22 2a 29 20  ath/$objdir "*) 
1aec0 3b 3b 0a 09 2a 29 0a 09 20 20 63 61 73 65 20 22  ;;..*)..  case "
1aed0 20 24 64 65 70 6c 69 62 73 20 22 20 69 6e 0a 09   $deplibs " in..
1aee0 20 20 2a 22 20 2d 4c 24 70 61 74 68 2f 24 6f 62    *" -L$path/$ob
1aef0 6a 64 69 72 20 22 2a 29 0a 09 20 20 20 20 6e 65  jdir "*)..    ne
1af00 77 5f 6c 69 62 73 3d 22 24 6e 65 77 5f 6c 69 62  w_libs="$new_lib
1af10 73 20 2d 4c 24 70 61 74 68 2f 24 6f 62 6a 64 69  s -L$path/$objdi
1af20 72 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20  r" ;;..  esac.. 
1af30 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20   ;;..esac.      
1af40 64 6f 6e 65 0a 20 20 20 20 20 20 66 6f 72 20 64  done.      for d
1af50 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62  eplib in $deplib
1af60 73 3b 20 64 6f 0a 09 63 61 73 65 20 24 64 65 70  s; do..case $dep
1af70 6c 69 62 20 69 6e 0a 09 2d 4c 2a 29 0a 09 20 20  lib in..-L*)..  
1af80 63 61 73 65 20 22 20 24 6e 65 77 5f 6c 69 62 73  case " $new_libs
1af90 20 22 20 69 6e 0a 09 20 20 2a 22 20 24 64 65 70   " in..  *" $dep
1afa0 6c 69 62 20 22 2a 29 20 3b 3b 0a 09 20 20 2a 29  lib "*) ;;..  *)
1afb0 20 6e 65 77 5f 6c 69 62 73 3d 22 24 6e 65 77 5f   new_libs="$new_
1afc0 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b  libs $deplib" ;;
1afd0 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09  ..  esac..  ;;..
1afe0 2a 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24 6e 65  *) new_libs="$ne
1aff0 77 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20  w_libs $deplib" 
1b000 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64  ;;..esac.      d
1b010 6f 6e 65 0a 20 20 20 20 20 20 64 65 70 6c 69 62  one.      deplib
1b020 73 3d 22 24 6e 65 77 5f 6c 69 62 73 22 0a 0a 0a  s="$new_libs"...
1b030 20 20 20 20 20 20 23 20 41 6c 6c 20 74 68 65 20        # All the 
1b040 6c 69 62 72 61 72 79 2d 73 70 65 63 69 66 69 63  library-specific
1b050 20 76 61 72 69 61 62 6c 65 73 20 28 69 6e 73 74   variables (inst
1b060 61 6c 6c 5f 6c 69 62 64 69 72 20 69 73 20 73 65  all_libdir is se
1b070 74 20 61 62 6f 76 65 29 2e 0a 20 20 20 20 20 20  t above)..      
1b080 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d 0a 20  library_names=. 
1b090 20 20 20 20 20 6f 6c 64 5f 6c 69 62 72 61 72 79       old_library
1b0a0 3d 0a 20 20 20 20 20 20 64 6c 6e 61 6d 65 3d 0a  =.      dlname=.
1b0b0 0a 20 20 20 20 20 20 23 20 54 65 73 74 20 61 67  .      # Test ag
1b0c0 61 69 6e 2c 20 77 65 20 6d 61 79 20 68 61 76 65  ain, we may have
1b0d0 20 64 65 63 69 64 65 64 20 6e 6f 74 20 74 6f 20   decided not to 
1b0e0 62 75 69 6c 64 20 69 74 20 61 6e 79 20 6d 6f 72  build it any mor
1b0f0 65 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  e.      if test 
1b100 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
1b110 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65  libs" = yes; the
1b120 6e 0a 09 69 66 20 74 65 73 74 20 22 24 68 61 72  n..if test "$har
1b130 64 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 22  dcode_into_libs"
1b140 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
1b150 23 20 48 61 72 64 63 6f 64 65 20 74 68 65 20 6c  # Hardcode the l
1b160 69 62 72 61 72 79 20 70 61 74 68 73 0a 09 20 20  ibrary paths..  
1b170 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73  hardcode_libdirs
1b180 3d 0a 09 20 20 64 65 70 5f 72 70 61 74 68 3d 0a  =..  dep_rpath=.
1b190 09 20 20 72 70 61 74 68 3d 22 24 66 69 6e 61 6c  .  rpath="$final
1b1a0 69 7a 65 5f 72 70 61 74 68 22 0a 09 20 20 74 65  ize_rpath"..  te
1b1b0 73 74 20 22 24 6d 6f 64 65 22 20 21 3d 20 72 65  st "$mode" != re
1b1c0 6c 69 6e 6b 20 26 26 20 72 70 61 74 68 3d 22 24  link && rpath="$
1b1d0 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 24 72 70  compile_rpath$rp
1b1e0 61 74 68 22 0a 09 20 20 66 6f 72 20 6c 69 62 64  ath"..  for libd
1b1f0 69 72 20 69 6e 20 24 72 70 61 74 68 3b 20 64 6f  ir in $rpath; do
1b200 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
1b210 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
1b220 69 72 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74  ir_flag_spec"; t
1b230 68 65 6e 0a 09 20 20 20 20 20 20 69 66 20 74 65  hen..      if te
1b240 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65  st -n "$hardcode
1b250 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
1b260 72 22 3b 20 74 68 65 6e 0a 09 09 69 66 20 74 65  r"; then...if te
1b270 73 74 20 2d 7a 20 22 24 68 61 72 64 63 6f 64 65  st -z "$hardcode
1b280 5f 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a  _libdirs"; then.
1b290 09 09 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62  ..  hardcode_lib
1b2a0 64 69 72 73 3d 22 24 6c 69 62 64 69 72 22 0a 09  dirs="$libdir"..
1b2b0 09 65 6c 73 65 0a 09 09 20 20 23 20 4a 75 73 74  .else...  # Just
1b2c0 20 61 63 63 75 6d 75 6c 61 74 65 20 74 68 65 20   accumulate the 
1b2d0 75 6e 69 71 75 65 20 6c 69 62 64 69 72 73 2e 0a  unique libdirs..
1b2e0 09 09 20 20 63 61 73 65 20 24 68 61 72 64 63 6f  ..  case $hardco
1b2f0 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
1b300 74 6f 72 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  tor$hardcode_lib
1b310 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f 6c 69  dirs$hardcode_li
1b320 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 20 69  bdir_separator i
1b330 6e 0a 09 09 20 20 2a 22 24 68 61 72 64 63 6f 64  n...  *"$hardcod
1b340 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
1b350 6f 72 24 6c 69 62 64 69 72 24 68 61 72 64 63 6f  or$libdir$hardco
1b360 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
1b370 74 6f 72 22 2a 29 0a 09 09 20 20 20 20 3b 3b 0a  tor"*)...    ;;.
1b380 09 09 20 20 2a 29 0a 09 09 20 20 20 20 68 61 72  ..  *)...    har
1b390 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22 24  dcode_libdirs="$
1b3a0 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73  hardcode_libdirs
1b3b0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1b3c0 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62 64 69  _separator$libdi
1b3d0 72 22 0a 09 09 20 20 20 20 3b 3b 0a 09 09 20 20  r"...    ;;...  
1b3e0 65 73 61 63 0a 09 09 66 69 0a 09 20 20 20 20 20  esac...fi..     
1b3f0 20 65 6c 73 65 0a 09 09 65 76 61 6c 20 66 6c 61   else...eval fla
1b400 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  g=\"$hardcode_li
1b410 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22  bdir_flag_spec\"
1b420 0a 09 09 64 65 70 5f 72 70 61 74 68 3d 22 24 64  ...dep_rpath="$d
1b430 65 70 5f 72 70 61 74 68 20 24 66 6c 61 67 22 0a  ep_rpath $flag".
1b440 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 65  .      fi..    e
1b450 6c 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72 75  lif test -n "$ru
1b460 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e  npath_var"; then
1b470 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24 70  ..      case "$p
1b480 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a 09  erm_rpath " in..
1b490 20 20 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72        *" $libdir
1b4a0 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a   "*) ;;..      *
1b4b0 29 20 70 65 72 6d 5f 72 70 61 74 68 3d 22 24 70  ) perm_rpath="$p
1b4c0 65 72 6d 5f 72 70 61 74 68 20 24 6c 69 62 64 69  erm_rpath $libdi
1b4d0 72 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61  r" ;;..      esa
1b4e0 63 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e  c..    fi..  don
1b4f0 65 0a 09 20 20 23 20 53 75 62 73 74 69 74 75 74  e..  # Substitut
1b500 65 20 74 68 65 20 68 61 72 64 63 6f 64 65 64 20  e the hardcoded 
1b510 6c 69 62 64 69 72 73 20 69 6e 74 6f 20 74 68 65  libdirs into the
1b520 20 72 70 61 74 68 2e 0a 09 20 20 69 66 20 74 65   rpath...  if te
1b530 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65  st -n "$hardcode
1b540 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
1b550 72 22 20 26 26 0a 09 20 20 20 20 20 74 65 73 74  r" &&..     test
1b560 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -n "$hardcode_l
1b570 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 20  ibdirs"; then.. 
1b580 20 20 20 6c 69 62 64 69 72 3d 22 24 68 61 72 64     libdir="$hard
1b590 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 0a 09 20  code_libdirs".. 
1b5a0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
1b5b0 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
1b5c0 66 6c 61 67 5f 73 70 65 63 5f 6c 64 22 3b 20 74  flag_spec_ld"; t
1b5d0 68 65 6e 0a 09 20 20 20 20 20 20 65 76 61 6c 20  hen..      eval 
1b5e0 64 65 70 5f 72 70 61 74 68 3d 5c 22 24 68 61 72  dep_rpath=\"$har
1b5f0 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61  dcode_libdir_fla
1b600 67 5f 73 70 65 63 5f 6c 64 5c 22 0a 09 20 20 20  g_spec_ld\"..   
1b610 20 65 6c 73 65 0a 09 20 20 20 20 20 20 65 76 61   else..      eva
1b620 6c 20 64 65 70 5f 72 70 61 74 68 3d 5c 22 24 68  l dep_rpath=\"$h
1b630 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
1b640 6c 61 67 5f 73 70 65 63 5c 22 0a 09 20 20 20 20  lag_spec\"..    
1b650 66 69 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74  fi..  fi..  if t
1b660 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68  est -n "$runpath
1b670 5f 76 61 72 22 20 26 26 20 74 65 73 74 20 2d 6e  _var" && test -n
1b680 20 22 24 70 65 72 6d 5f 72 70 61 74 68 22 3b 20   "$perm_rpath"; 
1b690 74 68 65 6e 0a 09 20 20 20 20 23 20 57 65 20 73  then..    # We s
1b6a0 68 6f 75 6c 64 20 73 65 74 20 74 68 65 20 72 75  hould set the ru
1b6b0 6e 70 61 74 68 5f 76 61 72 2e 0a 09 20 20 20 20  npath_var...    
1b6c0 72 70 61 74 68 3d 0a 09 20 20 20 20 66 6f 72 20  rpath=..    for 
1b6d0 64 69 72 20 69 6e 20 24 70 65 72 6d 5f 72 70 61  dir in $perm_rpa
1b6e0 74 68 3b 20 64 6f 0a 09 20 20 20 20 20 20 72 70  th; do..      rp
1b6f0 61 74 68 3d 22 24 72 70 61 74 68 24 64 69 72 3a  ath="$rpath$dir:
1b700 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20  "..    done..   
1b710 20 65 76 61 6c 20 22 24 72 75 6e 70 61 74 68 5f   eval "$runpath_
1b720 76 61 72 3d 27 24 72 70 61 74 68 5c 24 24 72 75  var='$rpath\$$ru
1b730 6e 70 61 74 68 5f 76 61 72 27 3b 20 65 78 70 6f  npath_var'; expo
1b740 72 74 20 24 72 75 6e 70 61 74 68 5f 76 61 72 22  rt $runpath_var"
1b750 0a 09 20 20 66 69 0a 09 20 20 74 65 73 74 20 2d  ..  fi..  test -
1b760 6e 20 22 24 64 65 70 5f 72 70 61 74 68 22 20 26  n "$dep_rpath" &
1b770 26 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 5f  & deplibs="$dep_
1b780 72 70 61 74 68 20 24 64 65 70 6c 69 62 73 22 0a  rpath $deplibs".
1b790 09 66 69 0a 0a 09 73 68 6c 69 62 70 61 74 68 3d  .fi...shlibpath=
1b7a0 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62  "$finalize_shlib
1b7b0 70 61 74 68 22 0a 09 74 65 73 74 20 22 24 6d 6f  path"..test "$mo
1b7c0 64 65 22 20 21 3d 20 72 65 6c 69 6e 6b 20 26 26  de" != relink &&
1b7d0 20 73 68 6c 69 62 70 61 74 68 3d 22 24 63 6f 6d   shlibpath="$com
1b7e0 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 24 73  pile_shlibpath$s
1b7f0 68 6c 69 62 70 61 74 68 22 0a 09 69 66 20 74 65  hlibpath"..if te
1b800 73 74 20 2d 6e 20 22 24 73 68 6c 69 62 70 61 74  st -n "$shlibpat
1b810 68 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c  h"; then..  eval
1b820 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
1b830 3d 27 24 73 68 6c 69 62 70 61 74 68 5c 24 24 73  ='$shlibpath\$$s
1b840 68 6c 69 62 70 61 74 68 5f 76 61 72 27 3b 20 65  hlibpath_var'; e
1b850 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61 74 68  xport $shlibpath
1b860 5f 76 61 72 22 0a 09 66 69 0a 0a 09 23 20 47 65  _var"..fi...# Ge
1b870 74 20 74 68 65 20 72 65 61 6c 20 61 6e 64 20 6c  t the real and l
1b880 69 6e 6b 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  ink names of the
1b890 20 6c 69 62 72 61 72 79 2e 0a 09 65 76 61 6c 20   library...eval 
1b8a0 73 68 61 72 65 64 5f 65 78 74 3d 5c 22 24 73 68  shared_ext=\"$sh
1b8b0 72 65 78 74 5f 63 6d 64 73 5c 22 0a 09 65 76 61  rext_cmds\"..eva
1b8c0 6c 20 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d  l library_names=
1b8d0 5c 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  \"$library_names
1b8e0 5f 73 70 65 63 5c 22 0a 09 73 65 74 20 64 75 6d  _spec\"..set dum
1b8f0 6d 79 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  my $library_name
1b900 73 0a 09 72 65 61 6c 6e 61 6d 65 3d 22 24 32 22  s..realname="$2"
1b910 0a 09 73 68 69 66 74 3b 20 73 68 69 66 74 0a 0a  ..shift; shift..
1b920 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 6f  .if test -n "$so
1b930 6e 61 6d 65 5f 73 70 65 63 22 3b 20 74 68 65 6e  name_spec"; then
1b940 0a 09 20 20 65 76 61 6c 20 73 6f 6e 61 6d 65 3d  ..  eval soname=
1b950 5c 22 24 73 6f 6e 61 6d 65 5f 73 70 65 63 5c 22  \"$soname_spec\"
1b960 0a 09 65 6c 73 65 0a 09 20 20 73 6f 6e 61 6d 65  ..else..  soname
1b970 3d 22 24 72 65 61 6c 6e 61 6d 65 22 0a 09 66 69  ="$realname"..fi
1b980 0a 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 64  ..if test -z "$d
1b990 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20  lname"; then..  
1b9a0 64 6c 6e 61 6d 65 3d 24 73 6f 6e 61 6d 65 0a 09  dlname=$soname..
1b9b0 66 69 0a 0a 09 6c 69 62 3d 22 24 6f 75 74 70 75  fi...lib="$outpu
1b9c0 74 5f 6f 62 6a 64 69 72 2f 24 72 65 61 6c 6e 61  t_objdir/$realna
1b9d0 6d 65 22 0a 09 6c 69 6e 6b 6e 61 6d 65 73 3d 0a  me"..linknames=.
1b9e0 09 66 6f 72 20 6c 69 6e 6b 0a 09 64 6f 0a 09 20  .for link..do.. 
1b9f0 20 6c 69 6e 6b 6e 61 6d 65 73 3d 22 24 6c 69 6e   linknames="$lin
1ba00 6b 6e 61 6d 65 73 20 24 6c 69 6e 6b 22 0a 09 64  knames $link"..d
1ba10 6f 6e 65 0a 0a 09 23 20 55 73 65 20 73 74 61 6e  one...# Use stan
1ba20 64 61 72 64 20 6f 62 6a 65 63 74 73 20 69 66 20  dard objects if 
1ba30 74 68 65 79 20 61 72 65 20 70 69 63 0a 09 74 65  they are pic..te
1ba40 73 74 20 2d 7a 20 22 24 70 69 63 5f 66 6c 61 67  st -z "$pic_flag
1ba50 22 20 26 26 20 6c 69 62 6f 62 6a 73 3d 60 24 65  " && libobjs=`$e
1ba60 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22 20  cho "X$libobjs" 
1ba70 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64  | $SP2NL | $Xsed
1ba80 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e   -e "$lo2o" | $N
1ba90 4c 32 53 50 60 0a 0a 09 23 20 50 72 65 70 61 72  L2SP`...# Prepar
1baa0 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 65 78  e the list of ex
1bab0 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 0a 09  ported symbols..
1bac0 69 66 20 74 65 73 74 20 2d 7a 20 22 24 65 78 70  if test -z "$exp
1bad0 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 3b 20 74 68  ort_symbols"; th
1bae0 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22 24  en..  if test "$
1baf0 61 6c 77 61 79 73 5f 65 78 70 6f 72 74 5f 73 79  always_export_sy
1bb00 6d 62 6f 6c 73 22 20 3d 20 79 65 73 20 7c 7c 20  mbols" = yes || 
1bb10 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74  test -n "$export
1bb20 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b  _symbols_regex";
1bb30 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77   then..    $show
1bb40 20 22 67 65 6e 65 72 61 74 69 6e 67 20 73 79 6d   "generating sym
1bb50 62 6f 6c 20 6c 69 73 74 20 66 6f 72 20 5c 60 24  bol list for \`$
1bb60 6c 69 62 6e 61 6d 65 2e 6c 61 27 22 0a 09 20 20  libname.la'"..  
1bb70 20 20 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73    export_symbols
1bb80 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  ="$output_objdir
1bb90 2f 24 6c 69 62 6e 61 6d 65 2e 65 78 70 22 0a 09  /$libname.exp"..
1bba0 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24 65 78      $run $rm $ex
1bbb0 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09 20 20  port_symbols..  
1bbc0 20 20 63 6d 64 73 3d 24 65 78 70 6f 72 74 5f 73    cmds=$export_s
1bbd0 79 6d 62 6f 6c 73 5f 63 6d 64 73 0a 09 20 20 20  ymbols_cmds..   
1bbe0 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22   save_ifs="$IFS"
1bbf0 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 66  ; IFS='~'..    f
1bc00 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b  or cmd in $cmds;
1bc10 20 64 6f 0a 09 20 20 20 20 20 20 49 46 53 3d 22   do..      IFS="
1bc20 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20  $save_ifs"..    
1bc30 20 20 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d    eval cmd=\"$cm
1bc40 64 5c 22 0a 09 20 20 20 20 20 20 69 66 20 6c 65  d\"..      if le
1bc50 6e 3d 60 65 78 70 72 20 22 58 24 63 6d 64 22 20  n=`expr "X$cmd" 
1bc60 3a 20 22 2e 2a 22 60 20 26 26 0a 09 20 20 20 20  : ".*"` &&..    
1bc70 20 20 20 74 65 73 74 20 22 24 6c 65 6e 22 20 2d     test "$len" -
1bc80 6c 65 20 22 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e  le "$max_cmd_len
1bc90 22 20 7c 7c 20 74 65 73 74 20 22 24 6d 61 78 5f  " || test "$max_
1bca0 63 6d 64 5f 6c 65 6e 22 20 2d 6c 65 20 2d 31 3b  cmd_len" -le -1;
1bcb0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 20 20 24   then..        $
1bcc0 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20 20 20  show "$cmd"..   
1bcd0 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22       $run eval "
1bce0 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f  $cmd" || exit $?
1bcf0 0a 09 20 20 20 20 20 20 20 20 73 6b 69 70 70 65  ..        skippe
1bd00 64 5f 65 78 70 6f 72 74 3d 66 61 6c 73 65 0a 09  d_export=false..
1bd10 20 20 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20        else..    
1bd20 20 20 20 20 23 20 54 68 65 20 63 6f 6d 6d 61 6e      # The comman
1bd30 64 20 6c 69 6e 65 20 69 73 20 74 6f 6f 20 6c 6f  d line is too lo
1bd40 6e 67 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e  ng to execute in
1bd50 20 6f 6e 65 20 73 74 65 70 2e 0a 09 20 20 20 20   one step...    
1bd60 20 20 20 20 24 73 68 6f 77 20 22 75 73 69 6e 67      $show "using
1bd70 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62 6a 65   reloadable obje
1bd80 63 74 20 66 69 6c 65 20 66 6f 72 20 65 78 70 6f  ct file for expo
1bd90 72 74 20 6c 69 73 74 2e 2e 2e 22 0a 09 20 20 20  rt list..."..   
1bda0 20 20 20 20 20 73 6b 69 70 70 65 64 5f 65 78 70       skipped_exp
1bdb0 6f 72 74 3d 3a 0a 09 09 23 20 42 72 65 61 6b 20  ort=:...# Break 
1bdc0 6f 75 74 20 65 61 72 6c 79 2c 20 6f 74 68 65 72  out early, other
1bdd0 77 69 73 65 20 73 6b 69 70 70 65 64 5f 65 78 70  wise skipped_exp
1bde0 6f 72 74 20 6d 61 79 20 62 65 0a 09 09 23 20 73  ort may be...# s
1bdf0 65 74 20 74 6f 20 66 61 6c 73 65 20 62 79 20 61  et to false by a
1be00 20 6c 61 74 65 72 20 62 75 74 20 73 68 6f 72 74   later but short
1be10 65 72 20 63 6d 64 2e 0a 09 09 62 72 65 61 6b 0a  er cmd....break.
1be20 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 64  .      fi..    d
1be30 6f 6e 65 0a 09 20 20 20 20 49 46 53 3d 22 24 73  one..    IFS="$s
1be40 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 69 66  ave_ifs"..    if
1be50 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72   test -n "$expor
1be60 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22  t_symbols_regex"
1be70 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 73  ; then..      $s
1be80 68 6f 77 20 22 24 45 47 52 45 50 20 2d 65 20 5c  how "$EGREP -e \
1be90 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
1bea0 5f 72 65 67 65 78 5c 22 20 5c 22 24 65 78 70 6f  _regex\" \"$expo
1beb0 72 74 5f 73 79 6d 62 6f 6c 73 5c 22 20 3e 20 5c  rt_symbols\" > \
1bec0 22 24 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c  "${export_symbol
1bed0 73 7d 54 5c 22 22 0a 09 20 20 20 20 20 20 24 72  s}T\""..      $r
1bee0 75 6e 20 65 76 61 6c 20 27 24 45 47 52 45 50 20  un eval '$EGREP 
1bef0 2d 65 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  -e "$export_symb
1bf00 6f 6c 73 5f 72 65 67 65 78 22 20 22 24 65 78 70  ols_regex" "$exp
1bf10 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 3e 20 22  ort_symbols" > "
1bf20 24 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  ${export_symbols
1bf30 7d 54 22 27 0a 09 20 20 20 20 20 20 24 73 68 6f  }T"'..      $sho
1bf40 77 20 22 24 6d 76 20 5c 22 24 7b 65 78 70 6f 72  w "$mv \"${expor
1bf50 74 5f 73 79 6d 62 6f 6c 73 7d 54 5c 22 20 5c 22  t_symbols}T\" \"
1bf60 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5c  $export_symbols\
1bf70 22 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65  ""..      $run e
1bf80 76 61 6c 20 27 24 6d 76 20 22 24 7b 65 78 70 6f  val '$mv "${expo
1bf90 72 74 5f 73 79 6d 62 6f 6c 73 7d 54 22 20 22 24  rt_symbols}T" "$
1bfa0 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 27  export_symbols"'
1bfb0 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 09  ..    fi..  fi..
1bfc0 66 69 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  fi...if test -n 
1bfd0 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
1bfe0 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 69  " && test -n "$i
1bff0 6e 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 22 3b  nclude_expsyms";
1c000 20 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65 76   then..  $run ev
1c010 61 6c 20 27 24 65 63 68 6f 20 22 58 24 69 6e 63  al '$echo "X$inc
1c020 6c 75 64 65 5f 65 78 70 73 79 6d 73 22 20 7c 20  lude_expsyms" | 
1c030 24 53 50 32 4e 4c 20 3e 3e 20 22 24 65 78 70 6f  $SP2NL >> "$expo
1c040 72 74 5f 73 79 6d 62 6f 6c 73 22 27 0a 09 66 69  rt_symbols"'..fi
1c050 0a 0a 09 74 6d 70 5f 64 65 70 6c 69 62 73 3d 0a  ...tmp_deplibs=.
1c060 09 66 6f 72 20 74 65 73 74 5f 64 65 70 6c 69 62  .for test_deplib
1c070 20 69 6e 20 24 64 65 70 6c 69 62 73 3b 20 64 6f   in $deplibs; do
1c080 0a 09 09 63 61 73 65 20 22 20 24 63 6f 6e 76 65  ...case " $conve
1c090 6e 69 65 6e 63 65 20 22 20 69 6e 0a 09 09 2a 22  nience " in...*"
1c0a0 20 24 74 65 73 74 5f 64 65 70 6c 69 62 20 22 2a   $test_deplib "*
1c0b0 29 20 3b 3b 0a 09 09 2a 29 0a 09 09 09 74 6d 70  ) ;;...*)....tmp
1c0c0 5f 64 65 70 6c 69 62 73 3d 22 24 74 6d 70 5f 64  _deplibs="$tmp_d
1c0d0 65 70 6c 69 62 73 20 24 74 65 73 74 5f 64 65 70  eplibs $test_dep
1c0e0 6c 69 62 22 0a 09 09 09 3b 3b 0a 09 09 65 73 61  lib"....;;...esa
1c0f0 63 0a 09 64 6f 6e 65 0a 09 64 65 70 6c 69 62 73  c..done..deplibs
1c100 3d 22 24 74 6d 70 5f 64 65 70 6c 69 62 73 22 0a  ="$tmp_deplibs".
1c110 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 63  ..if test -n "$c
1c120 6f 6e 76 65 6e 69 65 6e 63 65 22 3b 20 74 68 65  onvenience"; the
1c130 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20  n..  if test -n 
1c140 22 24 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f  "$whole_archive_
1c150 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e  flag_spec"; then
1c160 0a 09 20 20 20 20 73 61 76 65 5f 6c 69 62 6f 62  ..    save_libob
1c170 6a 73 3d 24 6c 69 62 6f 62 6a 73 0a 09 20 20 20  js=$libobjs..   
1c180 20 65 76 61 6c 20 6c 69 62 6f 62 6a 73 3d 5c 22   eval libobjs=\"
1c190 5c 24 6c 69 62 6f 62 6a 73 20 24 77 68 6f 6c 65  \$libobjs $whole
1c1a0 5f 61 72 63 68 69 76 65 5f 66 6c 61 67 5f 73 70  _archive_flag_sp
1c1b0 65 63 5c 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ec\"..  else..  
1c1c0 20 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75    gentop="$outpu
1c1d0 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75  t_objdir/${outpu
1c1e0 74 6e 61 6d 65 7d 78 22 0a 09 20 20 20 20 67 65  tname}x"..    ge
1c1f0 6e 65 72 61 74 65 64 3d 22 24 67 65 6e 65 72 61  nerated="$genera
1c200 74 65 64 20 24 67 65 6e 74 6f 70 22 0a 0a 09 20  ted $gentop"... 
1c210 20 20 20 66 75 6e 63 5f 65 78 74 72 61 63 74 5f     func_extract_
1c220 61 72 63 68 69 76 65 73 20 24 67 65 6e 74 6f 70  archives $gentop
1c230 20 24 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 09 20   $convenience.. 
1c240 20 20 20 6c 69 62 6f 62 6a 73 3d 22 24 6c 69 62     libobjs="$lib
1c250 6f 62 6a 73 20 24 66 75 6e 63 5f 65 78 74 72 61  objs $func_extra
1c260 63 74 5f 61 72 63 68 69 76 65 73 5f 72 65 73 75  ct_archives_resu
1c270 6c 74 22 0a 09 20 20 66 69 0a 09 66 69 0a 09 0a  lt"..  fi..fi...
1c280 09 69 66 20 74 65 73 74 20 22 24 74 68 72 65 61  .if test "$threa
1c290 64 5f 73 61 66 65 22 20 3d 20 79 65 73 20 26 26  d_safe" = yes &&
1c2a0 20 74 65 73 74 20 2d 6e 20 22 24 74 68 72 65 61   test -n "$threa
1c2b0 64 5f 73 61 66 65 5f 66 6c 61 67 5f 73 70 65 63  d_safe_flag_spec
1c2c0 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c 20  "; then..  eval 
1c2d0 66 6c 61 67 3d 5c 22 24 74 68 72 65 61 64 5f 73  flag=\"$thread_s
1c2e0 61 66 65 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a  afe_flag_spec\".
1c2f0 09 20 20 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 3d  .  linker_flags=
1c300 22 24 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 20 24  "$linker_flags $
1c310 66 6c 61 67 22 0a 09 66 69 0a 0a 09 23 20 4d 61  flag"..fi...# Ma
1c320 6b 65 20 61 20 62 61 63 6b 75 70 20 6f 66 20 74  ke a backup of t
1c330 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c  he uninstalled l
1c340 69 62 72 61 72 79 20 77 68 65 6e 20 72 65 6c 69  ibrary when reli
1c350 6e 6b 69 6e 67 0a 09 69 66 20 74 65 73 74 20 22  nking..if test "
1c360 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b  $mode" = relink;
1c370 20 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65 76   then..  $run ev
1c380 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74 5f  al '(cd $output_
1c390 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24 7b  objdir && $rm ${
1c3a0 72 65 61 6c 6e 61 6d 65 7d 55 20 26 26 20 24 6d  realname}U && $m
1c3b0 76 20 24 72 65 61 6c 6e 61 6d 65 20 24 7b 72 65  v $realname ${re
1c3c0 61 6c 6e 61 6d 65 7d 55 29 27 20 7c 7c 20 65 78  alname}U)' || ex
1c3d0 69 74 20 24 3f 0a 09 66 69 0a 0a 09 23 20 44 6f  it $?..fi...# Do
1c3e0 20 65 61 63 68 20 6f 66 20 74 68 65 20 61 72 63   each of the arc
1c3f0 68 69 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 09  hive commands...
1c400 69 66 20 74 65 73 74 20 22 24 6d 6f 64 75 6c 65  if test "$module
1c410 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74 20  " = yes && test 
1c420 2d 6e 20 22 24 6d 6f 64 75 6c 65 5f 63 6d 64 73  -n "$module_cmds
1c430 22 20 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74  " ; then..  if t
1c440 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f  est -n "$export_
1c450 73 79 6d 62 6f 6c 73 22 20 26 26 20 74 65 73 74  symbols" && test
1c460 20 2d 6e 20 22 24 6d 6f 64 75 6c 65 5f 65 78 70   -n "$module_exp
1c470 73 79 6d 5f 63 6d 64 73 22 3b 20 74 68 65 6e 0a  sym_cmds"; then.
1c480 09 20 20 20 20 65 76 61 6c 20 74 65 73 74 5f 63  .    eval test_c
1c490 6d 64 73 3d 5c 22 24 6d 6f 64 75 6c 65 5f 65 78  mds=\"$module_ex
1c4a0 70 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 20 20 20  psym_cmds\"..   
1c4b0 20 63 6d 64 73 3d 24 6d 6f 64 75 6c 65 5f 65 78   cmds=$module_ex
1c4c0 70 73 79 6d 5f 63 6d 64 73 0a 09 20 20 65 6c 73  psym_cmds..  els
1c4d0 65 0a 09 20 20 20 20 65 76 61 6c 20 74 65 73 74  e..    eval test
1c4e0 5f 63 6d 64 73 3d 5c 22 24 6d 6f 64 75 6c 65 5f  _cmds=\"$module_
1c4f0 63 6d 64 73 5c 22 0a 09 20 20 20 20 63 6d 64 73  cmds\"..    cmds
1c500 3d 24 6d 6f 64 75 6c 65 5f 63 6d 64 73 0a 09 20  =$module_cmds.. 
1c510 20 66 69 0a 09 65 6c 73 65 0a 09 69 66 20 74 65   fi..else..if te
1c520 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73  st -n "$export_s
1c530 79 6d 62 6f 6c 73 22 20 26 26 20 74 65 73 74 20  ymbols" && test 
1c540 2d 6e 20 22 24 61 72 63 68 69 76 65 5f 65 78 70  -n "$archive_exp
1c550 73 79 6d 5f 63 6d 64 73 22 3b 20 74 68 65 6e 0a  sym_cmds"; then.
1c560 09 20 20 65 76 61 6c 20 74 65 73 74 5f 63 6d 64  .  eval test_cmd
1c570 73 3d 5c 22 24 61 72 63 68 69 76 65 5f 65 78 70  s=\"$archive_exp
1c580 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 20 20 63 6d  sym_cmds\"..  cm
1c590 64 73 3d 24 61 72 63 68 69 76 65 5f 65 78 70 73  ds=$archive_exps
1c5a0 79 6d 5f 63 6d 64 73 0a 09 65 6c 73 65 0a 09 20  ym_cmds..else.. 
1c5b0 20 65 76 61 6c 20 74 65 73 74 5f 63 6d 64 73 3d   eval test_cmds=
1c5c0 5c 22 24 61 72 63 68 69 76 65 5f 63 6d 64 73 5c  \"$archive_cmds\
1c5d0 22 0a 09 20 20 63 6d 64 73 3d 24 61 72 63 68 69  "..  cmds=$archi
1c5e0 76 65 5f 63 6d 64 73 0a 09 20 20 66 69 0a 09 66  ve_cmds..  fi..f
1c5f0 69 0a 0a 09 69 66 20 74 65 73 74 20 22 58 24 73  i...if test "X$s
1c600 6b 69 70 70 65 64 5f 65 78 70 6f 72 74 22 20 21  kipped_export" !
1c610 3d 20 22 58 3a 22 20 26 26 0a 09 20 20 20 6c 65  = "X:" &&..   le
1c620 6e 3d 60 65 78 70 72 20 22 58 24 74 65 73 74 5f  n=`expr "X$test_
1c630 63 6d 64 73 22 20 3a 20 22 2e 2a 22 20 32 3e 2f  cmds" : ".*" 2>/
1c640 64 65 76 2f 6e 75 6c 6c 60 20 26 26 0a 09 20 20  dev/null` &&..  
1c650 20 74 65 73 74 20 22 24 6c 65 6e 22 20 2d 6c 65   test "$len" -le
1c660 20 22 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22 20   "$max_cmd_len" 
1c670 7c 7c 20 74 65 73 74 20 22 24 6d 61 78 5f 63 6d  || test "$max_cm
1c680 64 5f 6c 65 6e 22 20 2d 6c 65 20 2d 31 3b 20 74  d_len" -le -1; t
1c690 68 65 6e 0a 09 20 20 3a 0a 09 65 6c 73 65 0a 09  hen..  :..else..
1c6a0 20 20 23 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20    # The command 
1c6b0 6c 69 6e 65 20 69 73 20 74 6f 6f 20 6c 6f 6e 67  line is too long
1c6c0 20 74 6f 20 6c 69 6e 6b 20 69 6e 20 6f 6e 65 20   to link in one 
1c6d0 73 74 65 70 2c 20 6c 69 6e 6b 20 70 69 65 63 65  step, link piece
1c6e0 77 69 73 65 2e 0a 09 20 20 24 65 63 68 6f 20 22  wise...  $echo "
1c6f0 63 72 65 61 74 69 6e 67 20 72 65 6c 6f 61 64 61  creating reloada
1c700 62 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  ble object files
1c710 2e 2e 2e 22 0a 0a 09 20 20 23 20 53 61 76 65 20  ..."...  # Save 
1c720 74 68 65 20 76 61 6c 75 65 20 6f 66 20 24 6f 75  the value of $ou
1c730 74 70 75 74 20 61 6e 64 20 24 6c 69 62 6f 62 6a  tput and $libobj
1c740 73 20 62 65 63 61 75 73 65 20 77 65 20 77 61 6e  s because we wan
1c750 74 20 74 6f 0a 09 20 20 23 20 75 73 65 20 74 68  t to..  # use th
1c760 65 6d 20 6c 61 74 65 72 2e 20 20 49 66 20 77 65  em later.  If we
1c770 20 68 61 76 65 20 77 68 6f 6c 65 5f 61 72 63 68   have whole_arch
1c780 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 2c 20 77  ive_flag_spec, w
1c790 65 0a 09 20 20 23 20 77 61 6e 74 20 74 6f 20 75  e..  # want to u
1c7a0 73 65 20 73 61 76 65 5f 6c 69 62 6f 62 6a 73 20  se save_libobjs 
1c7b0 61 73 20 69 74 20 77 61 73 20 62 65 66 6f 72 65  as it was before
1c7c0 0a 09 20 20 23 20 77 68 6f 6c 65 5f 61 72 63 68  ..  # whole_arch
1c7d0 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 20 77 61  ive_flag_spec wa
1c7e0 73 20 65 78 70 61 6e 64 65 64 2c 20 62 65 63 61  s expanded, beca
1c7f0 75 73 65 20 77 65 20 63 61 6e 27 74 0a 09 20 20  use we can't..  
1c800 23 20 61 73 73 75 6d 65 20 74 68 65 20 6c 69 6e  # assume the lin
1c810 6b 65 72 20 75 6e 64 65 72 73 74 61 6e 64 73 20  ker understands 
1c820 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c  whole_archive_fl
1c830 61 67 5f 73 70 65 63 2e 0a 09 20 20 23 20 54 68  ag_spec...  # Th
1c840 69 73 20 6d 61 79 20 68 61 76 65 20 74 6f 20 62  is may have to b
1c850 65 20 72 65 76 69 73 69 74 65 64 2c 20 69 6e 20  e revisited, in 
1c860 63 61 73 65 20 74 6f 6f 20 6d 61 6e 79 0a 09 20  case too many.. 
1c870 20 23 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c   # convenience l
1c880 69 62 72 61 72 69 65 73 20 67 65 74 20 6c 69 6e  ibraries get lin
1c890 6b 65 64 20 69 6e 20 61 6e 64 20 65 6e 64 20 75  ked in and end u
1c8a0 70 20 65 78 63 65 65 64 69 6e 67 0a 09 20 20 23  p exceeding..  #
1c8b0 20 74 68 65 20 73 70 65 63 2e 0a 09 20 20 69 66   the spec...  if
1c8c0 20 74 65 73 74 20 2d 7a 20 22 24 63 6f 6e 76 65   test -z "$conve
1c8d0 6e 69 65 6e 63 65 22 20 7c 7c 20 74 65 73 74 20  nience" || test 
1c8e0 2d 7a 20 22 24 77 68 6f 6c 65 5f 61 72 63 68 69  -z "$whole_archi
1c8f0 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74  ve_flag_spec"; t
1c900 68 65 6e 0a 09 20 20 20 20 73 61 76 65 5f 6c 69  hen..    save_li
1c910 62 6f 62 6a 73 3d 24 6c 69 62 6f 62 6a 73 0a 09  bobjs=$libobjs..
1c920 20 20 66 69 0a 09 20 20 73 61 76 65 5f 6f 75 74    fi..  save_out
1c930 70 75 74 3d 24 6f 75 74 70 75 74 0a 09 20 20 6f  put=$output..  o
1c940 75 74 70 75 74 5f 6c 61 3d 60 24 65 63 68 6f 20  utput_la=`$echo 
1c950 22 58 24 6f 75 74 70 75 74 22 20 7c 20 24 58 73  "X$output" | $Xs
1c960 65 64 20 2d 65 20 22 24 62 61 73 65 6e 61 6d 65  ed -e "$basename
1c970 22 60 0a 0a 09 20 20 23 20 43 6c 65 61 72 20 74  "`...  # Clear t
1c980 68 65 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62  he reloadable ob
1c990 6a 65 63 74 20 63 72 65 61 74 69 6f 6e 20 63 6f  ject creation co
1c9a0 6d 6d 61 6e 64 20 71 75 65 75 65 20 61 6e 64 0a  mmand queue and.
1c9b0 09 20 20 23 20 69 6e 69 74 69 61 6c 69 7a 65 20  .  # initialize 
1c9c0 6b 20 74 6f 20 6f 6e 65 2e 0a 09 20 20 74 65 73  k to one...  tes
1c9d0 74 5f 63 6d 64 73 3d 0a 09 20 20 63 6f 6e 63 61  t_cmds=..  conca
1c9e0 74 5f 63 6d 64 73 3d 0a 09 20 20 6f 62 6a 6c 69  t_cmds=..  objli
1c9f0 73 74 3d 0a 09 20 20 64 65 6c 66 69 6c 65 73 3d  st=..  delfiles=
1ca00 0a 09 20 20 6c 61 73 74 5f 72 6f 62 6a 3d 0a 09  ..  last_robj=..
1ca10 20 20 6b 3d 31 0a 09 20 20 6f 75 74 70 75 74 3d    k=1..  output=
1ca20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
1ca30 6f 75 74 70 75 74 5f 6c 61 2d 24 7b 6b 7d 2e 24  output_la-${k}.$
1ca40 6f 62 6a 65 78 74 0a 09 20 20 23 20 4c 6f 6f 70  objext..  # Loop
1ca50 20 6f 76 65 72 20 74 68 65 20 6c 69 73 74 20 6f   over the list o
1ca60 66 20 6f 62 6a 65 63 74 73 20 74 6f 20 62 65 20  f objects to be 
1ca70 6c 69 6e 6b 65 64 2e 0a 09 20 20 66 6f 72 20 6f  linked...  for o
1ca80 62 6a 20 69 6e 20 24 73 61 76 65 5f 6c 69 62 6f  bj in $save_libo
1ca90 62 6a 73 0a 09 20 20 64 6f 0a 09 20 20 20 20 65  bjs..  do..    e
1caa0 76 61 6c 20 74 65 73 74 5f 63 6d 64 73 3d 5c 22  val test_cmds=\"
1cab0 24 72 65 6c 6f 61 64 5f 63 6d 64 73 20 24 6f 62  $reload_cmds $ob
1cac0 6a 6c 69 73 74 20 24 6c 61 73 74 5f 72 6f 62 6a  jlist $last_robj
1cad0 5c 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  \"..    if test 
1cae0 22 58 24 6f 62 6a 6c 69 73 74 22 20 3d 20 58 20  "X$objlist" = X 
1caf0 7c 7c 0a 09 20 20 20 20 20 20 20 7b 20 6c 65 6e  ||..       { len
1cb00 3d 60 65 78 70 72 20 22 58 24 74 65 73 74 5f 63  =`expr "X$test_c
1cb10 6d 64 73 22 20 3a 20 22 2e 2a 22 20 32 3e 2f 64  mds" : ".*" 2>/d
1cb20 65 76 2f 6e 75 6c 6c 60 20 26 26 0a 09 09 20 74  ev/null` &&... t
1cb30 65 73 74 20 22 24 6c 65 6e 22 20 2d 6c 65 20 22  est "$len" -le "
1cb40 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22 3b 20 7d  $max_cmd_len"; }
1cb50 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 6f 62  ; then..      ob
1cb60 6a 6c 69 73 74 3d 22 24 6f 62 6a 6c 69 73 74 20  jlist="$objlist 
1cb70 24 6f 62 6a 22 0a 09 20 20 20 20 65 6c 73 65 0a  $obj"..    else.
1cb80 09 20 20 20 20 20 20 23 20 54 68 65 20 63 6f 6d  .      # The com
1cb90 6d 61 6e 64 20 24 74 65 73 74 5f 63 6d 64 73 20  mand $test_cmds 
1cba0 69 73 20 61 6c 6d 6f 73 74 20 74 6f 6f 20 6c 6f  is almost too lo
1cbb0 6e 67 2c 20 61 64 64 20 61 0a 09 20 20 20 20 20  ng, add a..     
1cbc0 20 23 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68   # command to th
1cbd0 65 20 71 75 65 75 65 2e 0a 09 20 20 20 20 20 20  e queue...      
1cbe0 69 66 20 74 65 73 74 20 22 24 6b 22 20 2d 65 71  if test "$k" -eq
1cbf0 20 31 20 3b 20 74 68 65 6e 0a 09 09 23 20 54 68   1 ; then...# Th
1cc00 65 20 66 69 72 73 74 20 66 69 6c 65 20 64 6f 65  e first file doe
1cc10 73 6e 27 74 20 68 61 76 65 20 61 20 70 72 65 76  sn't have a prev
1cc20 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  ious command to 
1cc30 61 64 64 2e 0a 09 09 65 76 61 6c 20 63 6f 6e 63  add....eval conc
1cc40 61 74 5f 63 6d 64 73 3d 5c 22 24 72 65 6c 6f 61  at_cmds=\"$reloa
1cc50 64 5f 63 6d 64 73 20 24 6f 62 6a 6c 69 73 74 20  d_cmds $objlist 
1cc60 24 6c 61 73 74 5f 72 6f 62 6a 5c 22 0a 09 20 20  $last_robj\"..  
1cc70 20 20 20 20 65 6c 73 65 0a 09 09 23 20 41 6c 6c      else...# All
1cc80 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 6c 6f   subsequent relo
1cc90 61 64 61 62 6c 65 20 6f 62 6a 65 63 74 20 66 69  adable object fi
1cca0 6c 65 73 20 77 69 6c 6c 20 6c 69 6e 6b 20 69 6e  les will link in
1ccb0 0a 09 09 23 20 74 68 65 20 6c 61 73 74 20 6f 6e  ...# the last on
1ccc0 65 20 63 72 65 61 74 65 64 2e 0a 09 09 65 76 61  e created....eva
1ccd0 6c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d 5c 22  l concat_cmds=\"
1cce0 5c 24 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 24 72  \$concat_cmds~$r
1ccf0 65 6c 6f 61 64 5f 63 6d 64 73 20 24 6f 62 6a 6c  eload_cmds $objl
1cd00 69 73 74 20 24 6c 61 73 74 5f 72 6f 62 6a 5c 22  ist $last_robj\"
1cd10 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
1cd20 20 20 6c 61 73 74 5f 72 6f 62 6a 3d 24 6f 75 74    last_robj=$out
1cd30 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70  put_objdir/$outp
1cd40 75 74 5f 6c 61 2d 24 7b 6b 7d 2e 24 6f 62 6a 65  ut_la-${k}.$obje
1cd50 78 74 0a 09 20 20 20 20 20 20 6b 3d 60 65 78 70  xt..      k=`exp
1cd60 72 20 24 6b 20 2b 20 31 60 0a 09 20 20 20 20 20  r $k + 1`..     
1cd70 20 6f 75 74 70 75 74 3d 24 6f 75 74 70 75 74 5f   output=$output_
1cd80 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 5f 6c  objdir/$output_l
1cd90 61 2d 24 7b 6b 7d 2e 24 6f 62 6a 65 78 74 0a 09  a-${k}.$objext..
1cda0 20 20 20 20 20 20 6f 62 6a 6c 69 73 74 3d 24 6f        objlist=$o
1cdb0 62 6a 0a 09 20 20 20 20 20 20 6c 65 6e 3d 31 0a  bj..      len=1.
1cdc0 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65 0a  .    fi..  done.
1cdd0 09 20 20 23 20 48 61 6e 64 6c 65 20 74 68 65 20  .  # Handle the 
1cde0 72 65 6d 61 69 6e 69 6e 67 20 6f 62 6a 65 63 74  remaining object
1cdf0 73 20 62 79 20 63 72 65 61 74 69 6e 67 20 6f 6e  s by creating on
1ce00 65 20 6c 61 73 74 0a 09 20 20 23 20 72 65 6c 6f  e last..  # relo
1ce10 61 64 61 62 6c 65 20 6f 62 6a 65 63 74 20 66 69  adable object fi
1ce20 6c 65 2e 20 20 41 6c 6c 20 73 75 62 73 65 71 75  le.  All subsequ
1ce30 65 6e 74 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f  ent reloadable o
1ce40 62 6a 65 63 74 0a 09 20 20 23 20 66 69 6c 65 73  bject..  # files
1ce50 20 77 69 6c 6c 20 6c 69 6e 6b 20 69 6e 20 74 68   will link in th
1ce60 65 20 6c 61 73 74 20 6f 6e 65 20 63 72 65 61 74  e last one creat
1ce70 65 64 2e 0a 09 20 20 74 65 73 74 20 2d 7a 20 22  ed...  test -z "
1ce80 24 63 6f 6e 63 61 74 5f 63 6d 64 73 22 20 7c 7c  $concat_cmds" ||
1ce90 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d 24 63 6f   concat_cmds=$co
1cea0 6e 63 61 74 5f 63 6d 64 73 7e 0a 09 20 20 65 76  ncat_cmds~..  ev
1ceb0 61 6c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d 5c  al concat_cmds=\
1cec0 22 5c 24 7b 63 6f 6e 63 61 74 5f 63 6d 64 73 7d  "\${concat_cmds}
1ced0 24 72 65 6c 6f 61 64 5f 63 6d 64 73 20 24 6f 62  $reload_cmds $ob
1cee0 6a 6c 69 73 74 20 24 6c 61 73 74 5f 72 6f 62 6a  jlist $last_robj
1cef0 5c 22 0a 0a 09 20 20 69 66 20 24 7b 73 6b 69 70  \"...  if ${skip
1cf00 70 65 64 5f 65 78 70 6f 72 74 2d 66 61 6c 73 65  ped_export-false
1cf10 7d 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68  }; then..    $sh
1cf20 6f 77 20 22 67 65 6e 65 72 61 74 69 6e 67 20 73  ow "generating s
1cf30 79 6d 62 6f 6c 20 6c 69 73 74 20 66 6f 72 20 5c  ymbol list for \
1cf40 60 24 6c 69 62 6e 61 6d 65 2e 6c 61 27 22 0a 09  `$libname.la'"..
1cf50 20 20 20 20 65 78 70 6f 72 74 5f 73 79 6d 62 6f      export_symbo
1cf60 6c 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64  ls="$output_objd
1cf70 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 65 78 70 22  ir/$libname.exp"
1cf80 0a 09 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24  ..    $run $rm $
1cf90 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09  export_symbols..
1cfa0 20 20 20 20 6c 69 62 6f 62 6a 73 3d 24 6f 75 74      libobjs=$out
1cfb0 70 75 74 0a 09 20 20 20 20 23 20 41 70 70 65 6e  put..    # Appen
1cfc0 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  d the command to
1cfd0 20 63 72 65 61 74 65 20 74 68 65 20 65 78 70 6f   create the expo
1cfe0 72 74 20 66 69 6c 65 2e 0a 09 20 20 20 20 65 76  rt file...    ev
1cff0 61 6c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d 5c  al concat_cmds=\
1d000 22 5c 24 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 24  "\$concat_cmds~$
1d010 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 63  export_symbols_c
1d020 6d 64 73 5c 22 0a 20 20 20 20 20 20 20 20 20 20  mds\".          
1d030 66 69 0a 0a 09 20 20 23 20 53 65 74 20 75 70 20  fi...  # Set up 
1d040 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 6d  a command to rem
1d050 6f 76 65 20 74 68 65 20 72 65 6c 6f 61 64 61 62  ove the reloadab
1d060 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 0a  le object files.
1d070 09 20 20 23 20 61 66 74 65 72 20 74 68 65 79 20  .  # after they 
1d080 61 72 65 20 75 73 65 64 2e 0a 09 20 20 69 3d 30  are used...  i=0
1d090 0a 09 20 20 77 68 69 6c 65 20 74 65 73 74 20 22  ..  while test "
1d0a0 24 69 22 20 2d 6c 74 20 22 24 6b 22 0a 09 20 20  $i" -lt "$k"..  
1d0b0 64 6f 0a 09 20 20 20 20 69 3d 60 65 78 70 72 20  do..    i=`expr 
1d0c0 24 69 20 2b 20 31 60 0a 09 20 20 20 20 64 65 6c  $i + 1`..    del
1d0d0 66 69 6c 65 73 3d 22 24 64 65 6c 66 69 6c 65 73  files="$delfiles
1d0e0 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f   $output_objdir/
1d0f0 24 6f 75 74 70 75 74 5f 6c 61 2d 24 7b 69 7d 2e  $output_la-${i}.
1d100 24 6f 62 6a 65 78 74 22 0a 09 20 20 64 6f 6e 65  $objext"..  done
1d110 0a 0a 09 20 20 24 65 63 68 6f 20 22 63 72 65 61  ...  $echo "crea
1d120 74 69 6e 67 20 61 20 74 65 6d 70 6f 72 61 72 79  ting a temporary
1d130 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62 6a 65   reloadable obje
1d140 63 74 20 66 69 6c 65 3a 20 24 6f 75 74 70 75 74  ct file: $output
1d150 22 0a 0a 09 20 20 23 20 4c 6f 6f 70 20 74 68 72  "...  # Loop thr
1d160 6f 75 67 68 20 74 68 65 20 63 6f 6d 6d 61 6e 64  ough the command
1d170 73 20 67 65 6e 65 72 61 74 65 64 20 61 62 6f 76  s generated abov
1d180 65 20 61 6e 64 20 65 78 65 63 75 74 65 20 74 68  e and execute th
1d190 65 6d 2e 0a 09 20 20 73 61 76 65 5f 69 66 73 3d  em...  save_ifs=
1d1a0 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a  "$IFS"; IFS='~'.
1d1b0 09 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63  .  for cmd in $c
1d1c0 6f 6e 63 61 74 5f 63 6d 64 73 3b 20 64 6f 0a 09  oncat_cmds; do..
1d1d0 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69      IFS="$save_i
1d1e0 66 73 22 0a 09 20 20 20 20 24 73 68 6f 77 20 22  fs"..    $show "
1d1f0 24 63 6d 64 22 0a 09 20 20 20 20 24 72 75 6e 20  $cmd"..    $run 
1d200 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65  eval "$cmd" || e
1d210 78 69 74 20 24 3f 0a 09 20 20 64 6f 6e 65 0a 09  xit $?..  done..
1d220 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73    IFS="$save_ifs
1d230 22 0a 0a 09 20 20 6c 69 62 6f 62 6a 73 3d 24 6f  "...  libobjs=$o
1d240 75 74 70 75 74 0a 09 20 20 23 20 52 65 73 74 6f  utput..  # Resto
1d250 72 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20  re the value of 
1d260 6f 75 74 70 75 74 2e 0a 09 20 20 6f 75 74 70 75  output...  outpu
1d270 74 3d 24 73 61 76 65 5f 6f 75 74 70 75 74 0a 0a  t=$save_output..
1d280 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
1d290 63 6f 6e 76 65 6e 69 65 6e 63 65 22 20 26 26 20  convenience" && 
1d2a0 74 65 73 74 20 2d 6e 20 22 24 77 68 6f 6c 65 5f  test -n "$whole_
1d2b0 61 72 63 68 69 76 65 5f 66 6c 61 67 5f 73 70 65  archive_flag_spe
1d2c0 63 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 65 76  c"; then..    ev
1d2d0 61 6c 20 6c 69 62 6f 62 6a 73 3d 5c 22 5c 24 6c  al libobjs=\"\$l
1d2e0 69 62 6f 62 6a 73 20 24 77 68 6f 6c 65 5f 61 72  ibobjs $whole_ar
1d2f0 63 68 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 5c  chive_flag_spec\
1d300 22 0a 09 20 20 66 69 0a 09 20 20 23 20 45 78 70  "..  fi..  # Exp
1d310 61 6e 64 20 74 68 65 20 6c 69 62 72 61 72 79 20  and the library 
1d320 6c 69 6e 6b 69 6e 67 20 63 6f 6d 6d 61 6e 64 73  linking commands
1d330 20 61 67 61 69 6e 20 74 6f 20 72 65 73 65 74 20   again to reset 
1d340 74 68 65 0a 09 20 20 23 20 76 61 6c 75 65 20 6f  the..  # value o
1d350 66 20 24 6c 69 62 6f 62 6a 73 20 66 6f 72 20 70  f $libobjs for p
1d360 69 65 63 65 77 69 73 65 20 6c 69 6e 6b 69 6e 67  iecewise linking
1d370 2e 0a 0a 09 20 20 23 20 44 6f 20 65 61 63 68 20  ....  # Do each 
1d380 6f 66 20 74 68 65 20 61 72 63 68 69 76 65 20 63  of the archive c
1d390 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20 69 66 20 74  ommands...  if t
1d3a0 65 73 74 20 22 24 6d 6f 64 75 6c 65 22 20 3d 20  est "$module" = 
1d3b0 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e 20 22  yes && test -n "
1d3c0 24 6d 6f 64 75 6c 65 5f 63 6d 64 73 22 20 3b 20  $module_cmds" ; 
1d3d0 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73  then..    if tes
1d3e0 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79  t -n "$export_sy
1d3f0 6d 62 6f 6c 73 22 20 26 26 20 74 65 73 74 20 2d  mbols" && test -
1d400 6e 20 22 24 6d 6f 64 75 6c 65 5f 65 78 70 73 79  n "$module_expsy
1d410 6d 5f 63 6d 64 73 22 3b 20 74 68 65 6e 0a 09 20  m_cmds"; then.. 
1d420 20 20 20 20 20 63 6d 64 73 3d 24 6d 6f 64 75 6c       cmds=$modul
1d430 65 5f 65 78 70 73 79 6d 5f 63 6d 64 73 0a 09 20  e_expsym_cmds.. 
1d440 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 63     else..      c
1d450 6d 64 73 3d 24 6d 6f 64 75 6c 65 5f 63 6d 64 73  mds=$module_cmds
1d460 0a 09 20 20 20 20 66 69 0a 09 20 20 65 6c 73 65  ..    fi..  else
1d470 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22  ..  if test -n "
1d480 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22  $export_symbols"
1d490 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 61 72   && test -n "$ar
1d4a0 63 68 69 76 65 5f 65 78 70 73 79 6d 5f 63 6d 64  chive_expsym_cmd
1d4b0 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 63 6d  s"; then..    cm
1d4c0 64 73 3d 24 61 72 63 68 69 76 65 5f 65 78 70 73  ds=$archive_exps
1d4d0 79 6d 5f 63 6d 64 73 0a 09 20 20 65 6c 73 65 0a  ym_cmds..  else.
1d4e0 09 20 20 20 20 63 6d 64 73 3d 24 61 72 63 68 69  .    cmds=$archi
1d4f0 76 65 5f 63 6d 64 73 0a 09 20 20 20 20 66 69 0a  ve_cmds..    fi.
1d500 09 20 20 66 69 0a 0a 09 20 20 23 20 41 70 70 65  .  fi...  # Appe
1d510 6e 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74  nd the command t
1d520 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 72 65 6c  o remove the rel
1d530 6f 61 64 61 62 6c 65 20 6f 62 6a 65 63 74 20 66  oadable object f
1d540 69 6c 65 73 0a 09 20 20 23 20 74 6f 20 74 68 65  iles..  # to the
1d550 20 6a 75 73 74 2d 72 65 73 65 74 20 24 63 6d 64   just-reset $cmd
1d560 73 2e 0a 09 20 20 65 76 61 6c 20 63 6d 64 73 3d  s...  eval cmds=
1d570 5c 22 5c 24 63 6d 64 73 7e 5c 24 72 6d 20 24 64  \"\$cmds~\$rm $d
1d580 65 6c 66 69 6c 65 73 5c 22 0a 09 66 69 0a 09 73  elfiles\"..fi..s
1d590 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20  ave_ifs="$IFS"; 
1d5a0 49 46 53 3d 27 7e 27 0a 09 66 6f 72 20 63 6d 64  IFS='~'..for cmd
1d5b0 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20   in $cmds; do.. 
1d5c0 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
1d5d0 0a 09 20 20 65 76 61 6c 20 63 6d 64 3d 5c 22 24  ..  eval cmd=\"$
1d5e0 63 6d 64 5c 22 0a 09 20 20 24 73 68 6f 77 20 22  cmd\"..  $show "
1d5f0 24 63 6d 64 22 0a 09 20 20 24 72 75 6e 20 65 76  $cmd"..  $run ev
1d600 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 7b 0a 09  al "$cmd" || {..
1d610 20 20 20 20 6c 74 5f 65 78 69 74 3d 24 3f 0a 0a      lt_exit=$?..
1d620 09 20 20 20 20 23 20 52 65 73 74 6f 72 65 20 74  .    # Restore t
1d630 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c  he uninstalled l
1d640 69 62 72 61 72 79 20 61 6e 64 20 65 78 69 74 0a  ibrary and exit.
1d650 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6d  .    if test "$m
1d660 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b 20 74  ode" = relink; t
1d670 68 65 6e 0a 09 20 20 20 20 20 20 24 72 75 6e 20  hen..      $run 
1d680 65 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75  eval '(cd $outpu
1d690 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20  t_objdir && $rm 
1d6a0 24 7b 72 65 61 6c 6e 61 6d 65 7d 54 20 26 26 20  ${realname}T && 
1d6b0 24 6d 76 20 24 7b 72 65 61 6c 6e 61 6d 65 7d 55  $mv ${realname}U
1d6c0 20 24 72 65 61 6c 6e 61 6d 65 29 27 0a 09 20 20   $realname)'..  
1d6d0 20 20 66 69 0a 0a 09 20 20 20 20 65 78 69 74 20    fi...    exit 
1d6e0 24 6c 74 5f 65 78 69 74 0a 09 20 20 7d 0a 09 64  $lt_exit..  }..d
1d6f0 6f 6e 65 0a 09 49 46 53 3d 22 24 73 61 76 65 5f  one..IFS="$save_
1d700 69 66 73 22 0a 0a 09 23 20 52 65 73 74 6f 72 65  ifs"...# Restore
1d710 20 74 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64   the uninstalled
1d720 20 6c 69 62 72 61 72 79 20 61 6e 64 20 65 78 69   library and exi
1d730 74 0a 09 69 66 20 74 65 73 74 20 22 24 6d 6f 64  t..if test "$mod
1d740 65 22 20 3d 20 72 65 6c 69 6e 6b 3b 20 74 68 65  e" = relink; the
1d750 6e 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 27  n..  $run eval '
1d760 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  (cd $output_objd
1d770 69 72 20 26 26 20 24 72 6d 20 24 7b 72 65 61 6c  ir && $rm ${real
1d780 6e 61 6d 65 7d 54 20 26 26 20 24 6d 76 20 24 72  name}T && $mv $r
1d790 65 61 6c 6e 61 6d 65 20 24 7b 72 65 61 6c 6e 61  ealname ${realna
1d7a0 6d 65 7d 54 20 26 26 20 24 6d 76 20 22 24 72 65  me}T && $mv "$re
1d7b0 61 6c 6e 61 6d 65 22 55 20 24 72 65 61 6c 6e 61  alname"U $realna
1d7c0 6d 65 29 27 20 7c 7c 20 65 78 69 74 20 24 3f 0a  me)' || exit $?.
1d7d0 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22  ..  if test -n "
1d7e0 24 63 6f 6e 76 65 6e 69 65 6e 63 65 22 3b 20 74  $convenience"; t
1d7f0 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74  hen..    if test
1d800 20 2d 7a 20 22 24 77 68 6f 6c 65 5f 61 72 63 68   -z "$whole_arch
1d810 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20  ive_flag_spec"; 
1d820 74 68 65 6e 0a 09 20 20 20 20 20 20 24 73 68 6f  then..      $sho
1d830 77 20 22 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f  w "${rm}r $gento
1d840 70 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20 24  p"..      $run $
1d850 7b 72 6d 7d 72 20 22 24 67 65 6e 74 6f 70 22 0a  {rm}r "$gentop".
1d860 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 0a 09  .    fi..  fi...
1d870 20 20 65 78 69 74 20 24 45 58 49 54 5f 53 55 43    exit $EXIT_SUC
1d880 43 45 53 53 0a 09 66 69 0a 0a 09 23 20 43 72 65  CESS..fi...# Cre
1d890 61 74 65 20 6c 69 6e 6b 73 20 74 6f 20 74 68 65  ate links to the
1d8a0 20 72 65 61 6c 20 6c 69 62 72 61 72 79 2e 0a 09   real library...
1d8b0 66 6f 72 20 6c 69 6e 6b 6e 61 6d 65 20 69 6e 20  for linkname in 
1d8c0 24 6c 69 6e 6b 6e 61 6d 65 73 3b 20 64 6f 0a 09  $linknames; do..
1d8d0 20 20 69 66 20 74 65 73 74 20 22 24 72 65 61 6c    if test "$real
1d8e0 6e 61 6d 65 22 20 21 3d 20 22 24 6c 69 6e 6b 6e  name" != "$linkn
1d8f0 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ame"; then..    
1d900 24 73 68 6f 77 20 22 28 63 64 20 24 6f 75 74 70  $show "(cd $outp
1d910 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d  ut_objdir && $rm
1d920 20 24 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c   $linkname && $L
1d930 4e 5f 53 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c  N_S $realname $l
1d940 69 6e 6b 6e 61 6d 65 29 22 0a 09 20 20 20 20 24  inkname)"..    $
1d950 72 75 6e 20 65 76 61 6c 20 27 28 63 64 20 24 6f  run eval '(cd $o
1d960 75 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20  utput_objdir && 
1d970 24 72 6d 20 24 6c 69 6e 6b 6e 61 6d 65 20 26 26  $rm $linkname &&
1d980 20 24 4c 4e 5f 53 20 24 72 65 61 6c 6e 61 6d 65   $LN_S $realname
1d990 20 24 6c 69 6e 6b 6e 61 6d 65 29 27 20 7c 7c 20   $linkname)' || 
1d9a0 65 78 69 74 20 24 3f 0a 09 20 20 66 69 0a 09 64  exit $?..  fi..d
1d9b0 6f 6e 65 0a 0a 09 23 20 49 66 20 2d 6d 6f 64 75  one...# If -modu
1d9c0 6c 65 20 6f 72 20 2d 65 78 70 6f 72 74 2d 64 79  le or -export-dy
1d9d0 6e 61 6d 69 63 20 77 61 73 20 73 70 65 63 69 66  namic was specif
1d9e0 69 65 64 2c 20 73 65 74 20 74 68 65 20 64 6c 6e  ied, set the dln
1d9f0 61 6d 65 2e 0a 09 69 66 20 74 65 73 74 20 22 24  ame...if test "$
1da00 6d 6f 64 75 6c 65 22 20 3d 20 79 65 73 20 7c 7c  module" = yes ||
1da10 20 74 65 73 74 20 22 24 65 78 70 6f 72 74 5f 64   test "$export_d
1da20 79 6e 61 6d 69 63 22 20 3d 20 79 65 73 3b 20 74  ynamic" = yes; t
1da30 68 65 6e 0a 09 20 20 23 20 4f 6e 20 61 6c 6c 20  hen..  # On all 
1da40 6b 6e 6f 77 6e 20 6f 70 65 72 61 74 69 6e 67 20  known operating 
1da50 73 79 73 74 65 6d 73 2c 20 74 68 65 73 65 20 61  systems, these a
1da60 72 65 20 69 64 65 6e 74 69 63 61 6c 2e 0a 09 20  re identical... 
1da70 20 64 6c 6e 61 6d 65 3d 22 24 73 6f 6e 61 6d 65   dlname="$soname
1da80 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 20  "..fi.      fi. 
1da90 20 20 20 20 20 3b 3b 0a 0a 20 20 20 20 6f 62 6a       ;;..    obj
1daa0 29 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ).      if test 
1dab0 2d 6e 20 22 24 64 65 70 6c 69 62 73 22 3b 20 74  -n "$deplibs"; t
1dac0 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  hen..$echo "$mod
1dad0 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
1dae0 5c 60 2d 6c 27 20 61 6e 64 20 5c 60 2d 4c 27 20  \`-l' and \`-L' 
1daf0 61 72 65 20 69 67 6e 6f 72 65 64 20 66 6f 72 20  are ignored for 
1db00 6f 62 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20  objects" 1>&2.  
1db10 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
1db20 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 66 69 6c   test -n "$dlfil
1db30 65 73 24 64 6c 70 72 65 66 69 6c 65 73 22 20 7c  es$dlprefiles" |
1db40 7c 20 74 65 73 74 20 22 24 64 6c 73 65 6c 66 22  | test "$dlself"
1db50 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 24 65   != no; then..$e
1db60 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
1db70 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 64 6c 6f 70  warning: \`-dlop
1db80 65 6e 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66  en' is ignored f
1db90 6f 72 20 6f 62 6a 65 63 74 73 22 20 31 3e 26 32  or objects" 1>&2
1dba0 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
1dbb0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72 70   if test -n "$rp
1dbc0 61 74 68 22 3b 20 74 68 65 6e 0a 09 24 65 63 68  ath"; then..$ech
1dbd0 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
1dbe0 72 6e 69 6e 67 3a 20 5c 60 2d 72 70 61 74 68 27  rning: \`-rpath'
1dbf0 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20   is ignored for 
1dc00 6f 62 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20  objects" 1>&2.  
1dc10 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
1dc20 20 74 65 73 74 20 2d 6e 20 22 24 78 72 70 61 74   test -n "$xrpat
1dc30 68 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20  h"; then..$echo 
1dc40 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
1dc50 69 6e 67 3a 20 5c 60 2d 52 27 20 69 73 20 69 67  ing: \`-R' is ig
1dc60 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74  nored for object
1dc70 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69  s" 1>&2.      fi
1dc80 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
1dc90 2d 6e 20 22 24 76 69 6e 66 6f 22 3b 20 74 68 65  -n "$vinfo"; the
1dca0 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  n..$echo "$moden
1dcb0 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60  ame: warning: \`
1dcc0 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 20 69  -version-info' i
1dcd0 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62  s ignored for ob
1dce0 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20  jects" 1>&2.    
1dcf0 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
1dd00 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65  est -n "$release
1dd10 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
1dd20 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
1dd30 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20  ng: \`-release' 
1dd40 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f  is ignored for o
1dd50 62 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20  bjects" 1>&2.   
1dd60 20 20 20 66 69 0a 0a 20 20 20 20 20 20 63 61 73     fi..      cas
1dd70 65 20 24 6f 75 74 70 75 74 20 69 6e 0a 20 20 20  e $output in.   
1dd80 20 20 20 2a 2e 6c 6f 29 0a 09 69 66 20 74 65 73     *.lo)..if tes
1dd90 74 20 2d 6e 20 22 24 6f 62 6a 73 24 6f 6c 64 5f  t -n "$objs$old_
1dda0 64 65 70 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09  deplibs"; then..
1ddb0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
1ddc0 6d 65 3a 20 63 61 6e 6e 6f 74 20 62 75 69 6c 64  me: cannot build
1ddd0 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20   library object 
1dde0 5c 60 24 6f 75 74 70 75 74 27 20 66 72 6f 6d 20  \`$output' from 
1ddf0 6e 6f 6e 2d 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65  non-libtool obje
1de00 63 74 73 22 20 31 3e 26 32 0a 09 20 20 65 78 69  cts" 1>&2..  exi
1de10 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a  t $EXIT_FAILURE.
1de20 09 66 69 0a 09 6c 69 62 6f 62 6a 3d 22 24 6f 75  .fi..libobj="$ou
1de30 74 70 75 74 22 0a 09 6f 62 6a 3d 60 24 65 63 68  tput"..obj=`$ech
1de40 6f 20 22 58 24 6f 75 74 70 75 74 22 20 7c 20 24  o "X$output" | $
1de50 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60  Xsed -e "$lo2o"`
1de60 0a 09 3b 3b 0a 20 20 20 20 20 20 2a 29 0a 09 6c  ..;;.      *)..l
1de70 69 62 6f 62 6a 3d 0a 09 6f 62 6a 3d 22 24 6f 75  ibobj=..obj="$ou
1de80 74 70 75 74 22 0a 09 3b 3b 0a 20 20 20 20 20 20  tput"..;;.      
1de90 65 73 61 63 0a 0a 20 20 20 20 20 20 23 20 44 65  esac..      # De
1dea0 6c 65 74 65 20 74 68 65 20 6f 6c 64 20 6f 62 6a  lete the old obj
1deb0 65 63 74 73 2e 0a 20 20 20 20 20 20 24 72 75 6e  ects..      $run
1dec0 20 24 72 6d 20 24 6f 62 6a 20 24 6c 69 62 6f 62   $rm $obj $libob
1ded0 6a 0a 0a 20 20 20 20 20 20 23 20 4f 62 6a 65 63  j..      # Objec
1dee0 74 73 20 66 72 6f 6d 20 63 6f 6e 76 65 6e 69 65  ts from convenie
1def0 6e 63 65 20 6c 69 62 72 61 72 69 65 73 2e 20 20  nce libraries.  
1df00 54 68 69 73 20 61 73 73 75 6d 65 73 0a 20 20 20  This assumes.   
1df10 20 20 20 23 20 73 69 6e 67 6c 65 2d 76 65 72 73     # single-vers
1df20 69 6f 6e 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  ion convenience 
1df30 6c 69 62 72 61 72 69 65 73 2e 20 20 57 68 65 6e  libraries.  When
1df40 65 76 65 72 20 77 65 20 63 72 65 61 74 65 0a 20  ever we create. 
1df50 20 20 20 20 20 23 20 64 69 66 66 65 72 65 6e 74       # different
1df60 20 6f 6e 65 73 20 66 6f 72 20 50 49 43 2f 6e 6f   ones for PIC/no
1df70 6e 2d 50 49 43 2c 20 74 68 69 73 20 77 65 27 6c  n-PIC, this we'l
1df80 6c 20 68 61 76 65 20 74 6f 20 64 75 70 6c 69 63  l have to duplic
1df90 61 74 65 0a 20 20 20 20 20 20 23 20 74 68 65 20  ate.      # the 
1dfa0 65 78 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20  extraction..    
1dfb0 20 20 72 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62    reload_conv_ob
1dfc0 6a 73 3d 0a 20 20 20 20 20 20 67 65 6e 74 6f 70  js=.      gentop
1dfd0 3d 0a 20 20 20 20 20 20 23 20 72 65 6c 6f 61 64  =.      # reload
1dfe0 5f 63 6d 64 73 20 72 75 6e 73 20 24 4c 44 20 64  _cmds runs $LD d
1dff0 69 72 65 63 74 6c 79 2c 20 73 6f 20 6c 65 74 20  irectly, so let 
1e000 75 73 20 67 65 74 20 72 69 64 20 6f 66 0a 20 20  us get rid of.  
1e010 20 20 20 20 23 20 2d 57 6c 20 66 72 6f 6d 20 77      # -Wl from w
1e020 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61  hole_archive_fla
1e030 67 5f 73 70 65 63 0a 20 20 20 20 20 20 77 6c 3d  g_spec.      wl=
1e040 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
1e050 2d 6e 20 22 24 63 6f 6e 76 65 6e 69 65 6e 63 65  -n "$convenience
1e060 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74  "; then..if test
1e070 20 2d 6e 20 22 24 77 68 6f 6c 65 5f 61 72 63 68   -n "$whole_arch
1e080 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20  ive_flag_spec"; 
1e090 74 68 65 6e 0a 09 20 20 65 76 61 6c 20 72 65 6c  then..  eval rel
1e0a0 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 3d 5c 22  oad_conv_objs=\"
1e0b0 5c 24 72 65 6c 6f 61 64 5f 6f 62 6a 73 20 24 77  \$reload_objs $w
1e0c0 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c 61  hole_archive_fla
1e0d0 67 5f 73 70 65 63 5c 22 0a 09 65 6c 73 65 0a 09  g_spec\"..else..
1e0e0 20 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75    gentop="$outpu
1e0f0 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 62 6a 7d 78  t_objdir/${obj}x
1e100 22 0a 09 20 20 67 65 6e 65 72 61 74 65 64 3d 22  "..  generated="
1e110 24 67 65 6e 65 72 61 74 65 64 20 24 67 65 6e 74  $generated $gent
1e120 6f 70 22 0a 0a 09 20 20 66 75 6e 63 5f 65 78 74  op"...  func_ext
1e130 72 61 63 74 5f 61 72 63 68 69 76 65 73 20 24 67  ract_archives $g
1e140 65 6e 74 6f 70 20 24 63 6f 6e 76 65 6e 69 65 6e  entop $convenien
1e150 63 65 0a 09 20 20 72 65 6c 6f 61 64 5f 63 6f 6e  ce..  reload_con
1e160 76 5f 6f 62 6a 73 3d 22 24 72 65 6c 6f 61 64 5f  v_objs="$reload_
1e170 6f 62 6a 73 20 24 66 75 6e 63 5f 65 78 74 72 61  objs $func_extra
1e180 63 74 5f 61 72 63 68 69 76 65 73 5f 72 65 73 75  ct_archives_resu
1e190 6c 74 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69  lt"..fi.      fi
1e1a0 0a 0a 20 20 20 20 20 20 23 20 43 72 65 61 74 65  ..      # Create
1e1b0 20 74 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20 6f   the old-style o
1e1c0 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 72 65 6c  bject..      rel
1e1d0 6f 61 64 5f 6f 62 6a 73 3d 22 24 6f 62 6a 73 24  oad_objs="$objs$
1e1e0 6f 6c 64 5f 64 65 70 6c 69 62 73 20 22 60 24 65  old_deplibs "`$e
1e1f0 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22 20  cho "X$libobjs" 
1e200 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64  | $SP2NL | $Xsed
1e210 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c 69 62 65 78   -e '/\.'${libex
1e220 74 7d 24 27 2f 64 27 20 2d 65 20 27 2f 5c 2e 6c  t}$'/d' -e '/\.l
1e230 69 62 24 2f 64 27 20 2d 65 20 22 24 6c 6f 32 6f  ib$/d' -e "$lo2o
1e240 22 20 7c 20 24 4e 4c 32 53 50 60 22 20 24 72 65  " | $NL2SP`" $re
1e250 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 22 20  load_conv_objs" 
1e260 23 23 23 20 74 65 73 74 73 75 69 74 65 3a 20 73  ### testsuite: s
1e270 6b 69 70 20 6e 65 73 74 65 64 20 71 75 6f 74 69  kip nested quoti
1e280 6e 67 20 74 65 73 74 0a 0a 20 20 20 20 20 20 6f  ng test..      o
1e290 75 74 70 75 74 3d 22 24 6f 62 6a 22 0a 20 20 20  utput="$obj".   
1e2a0 20 20 20 63 6d 64 73 3d 24 72 65 6c 6f 61 64 5f     cmds=$reload_
1e2b0 63 6d 64 73 0a 20 20 20 20 20 20 73 61 76 65 5f  cmds.      save_
1e2c0 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d  ifs="$IFS"; IFS=
1e2d0 27 7e 27 0a 20 20 20 20 20 20 66 6f 72 20 63 6d  '~'.      for cm
1e2e0 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09  d in $cmds; do..
1e2f0 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a  IFS="$save_ifs".
1e300 09 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d 64  .eval cmd=\"$cmd
1e310 5c 22 0a 09 24 73 68 6f 77 20 22 24 63 6d 64 22  \"..$show "$cmd"
1e320 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d  ..$run eval "$cm
1e330 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20  d" || exit $?.  
1e340 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 49      done.      I
1e350 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 0a  FS="$save_ifs"..
1e360 20 20 20 20 20 20 23 20 45 78 69 74 20 69 66 20        # Exit if 
1e370 77 65 20 61 72 65 6e 27 74 20 64 6f 69 6e 67 20  we aren't doing 
1e380 61 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74  a library object
1e390 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 69 66 20   file..      if 
1e3a0 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 6f 62 6a  test -z "$libobj
1e3b0 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74  "; then..if test
1e3c0 20 2d 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20 74   -n "$gentop"; t
1e3d0 68 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 7b  hen..  $show "${
1e3e0 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 20  rm}r $gentop".. 
1e3f0 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 24 67 65   $run ${rm}r $ge
1e400 6e 74 6f 70 0a 09 66 69 0a 0a 09 65 78 69 74 20  ntop..fi...exit 
1e410 24 45 58 49 54 5f 53 55 43 43 45 53 53 0a 20 20  $EXIT_SUCCESS.  
1e420 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
1e430 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
1e440 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79  btool_libs" != y
1e450 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73  es; then..if tes
1e460 74 20 2d 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20  t -n "$gentop"; 
1e470 74 68 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24  then..  $show "$
1e480 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09  {rm}r $gentop"..
1e490 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 24 67    $run ${rm}r $g
1e4a0 65 6e 74 6f 70 0a 09 66 69 0a 0a 09 23 20 43 72  entop..fi...# Cr
1e4b0 65 61 74 65 20 61 6e 20 69 6e 76 61 6c 69 64 20  eate an invalid 
1e4c0 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 69  libtool object i
1e4d0 66 20 6e 6f 20 50 49 43 2c 20 73 6f 20 74 68 61  f no PIC, so tha
1e4e0 74 20 77 65 20 64 6f 6e 27 74 0a 09 23 20 61 63  t we don't..# ac
1e4f0 63 69 64 65 6e 74 61 6c 6c 79 20 6c 69 6e 6b 20  cidentally link 
1e500 69 74 20 69 6e 74 6f 20 61 20 70 72 6f 67 72 61  it into a progra
1e510 6d 2e 0a 09 23 20 24 73 68 6f 77 20 22 65 63 68  m...# $show "ech
1e520 6f 20 74 69 6d 65 73 74 61 6d 70 20 3e 20 24 6c  o timestamp > $l
1e530 69 62 6f 62 6a 22 0a 09 23 20 24 72 75 6e 20 65  ibobj"..# $run e
1e540 76 61 6c 20 22 65 63 68 6f 20 74 69 6d 65 73 74  val "echo timest
1e550 61 6d 70 20 3e 20 24 6c 69 62 6f 62 6a 22 20 7c  amp > $libobj" |
1e560 7c 20 65 78 69 74 20 24 3f 0a 09 65 78 69 74 20  | exit $?..exit 
1e570 24 45 58 49 54 5f 53 55 43 43 45 53 53 0a 20 20  $EXIT_SUCCESS.  
1e580 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
1e590 20 74 65 73 74 20 2d 6e 20 22 24 70 69 63 5f 66   test -n "$pic_f
1e5a0 6c 61 67 22 20 7c 7c 20 74 65 73 74 20 22 24 70  lag" || test "$p
1e5b0 69 63 5f 6d 6f 64 65 22 20 21 3d 20 64 65 66 61  ic_mode" != defa
1e5c0 75 6c 74 3b 20 74 68 65 6e 0a 09 23 20 4f 6e 6c  ult; then..# Onl
1e5d0 79 20 64 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 66  y do commands if
1e5e0 20 77 65 20 72 65 61 6c 6c 79 20 68 61 76 65 20   we really have 
1e5f0 64 69 66 66 65 72 65 6e 74 20 50 49 43 20 6f 62  different PIC ob
1e600 6a 65 63 74 73 2e 0a 09 72 65 6c 6f 61 64 5f 6f  jects...reload_o
1e610 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 72  bjs="$libobjs $r
1e620 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 22  eload_conv_objs"
1e630 0a 09 6f 75 74 70 75 74 3d 22 24 6c 69 62 6f 62  ..output="$libob
1e640 6a 22 0a 09 63 6d 64 73 3d 24 72 65 6c 6f 61 64  j"..cmds=$reload
1e650 5f 63 6d 64 73 0a 09 73 61 76 65 5f 69 66 73 3d  _cmds..save_ifs=
1e660 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a  "$IFS"; IFS='~'.
1e670 09 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64  .for cmd in $cmd
1e680 73 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22 24 73  s; do..  IFS="$s
1e690 61 76 65 5f 69 66 73 22 0a 09 20 20 65 76 61 6c  ave_ifs"..  eval
1e6a0 20 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 20   cmd=\"$cmd\".. 
1e6b0 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20   $show "$cmd".. 
1e6c0 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64   $run eval "$cmd
1e6d0 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 64 6f  " || exit $?..do
1e6e0 6e 65 0a 09 49 46 53 3d 22 24 73 61 76 65 5f 69  ne..IFS="$save_i
1e6f0 66 73 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  fs".      fi..  
1e700 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1e710 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09  $gentop"; then..
1e720 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20 24 67  $show "${rm}r $g
1e730 65 6e 74 6f 70 22 0a 09 24 72 75 6e 20 24 7b 72  entop"..$run ${r
1e740 6d 7d 72 20 24 67 65 6e 74 6f 70 0a 20 20 20 20  m}r $gentop.    
1e750 20 20 66 69 0a 0a 20 20 20 20 20 20 65 78 69 74    fi..      exit
1e760 20 24 45 58 49 54 5f 53 55 43 43 45 53 53 0a 20   $EXIT_SUCCESS. 
1e770 20 20 20 20 20 3b 3b 0a 0a 20 20 20 20 70 72 6f       ;;..    pro
1e780 67 29 0a 20 20 20 20 20 20 63 61 73 65 20 24 68  g).      case $h
1e790 6f 73 74 20 69 6e 0a 09 2a 63 79 67 77 69 6e 2a  ost in..*cygwin*
1e7a0 29 20 6f 75 74 70 75 74 3d 60 24 65 63 68 6f 20  ) output=`$echo 
1e7b0 24 6f 75 74 70 75 74 20 7c 20 24 7b 53 45 44 7d  $output | ${SED}
1e7c0 20 2d 65 20 27 73 2c 2e 65 78 65 24 2c 2c 3b 73   -e 's,.exe$,,;s
1e7d0 2c 24 2c 2e 65 78 65 2c 27 60 20 3b 3b 0a 20 20  ,$,.exe,'` ;;.  
1e7e0 20 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 69      esac.      i
1e7f0 66 20 74 65 73 74 20 2d 6e 20 22 24 76 69 6e 66  f test -n "$vinf
1e800 6f 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20  o"; then..$echo 
1e810 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
1e820 69 6e 67 3a 20 5c 60 2d 76 65 72 73 69 6f 6e 2d  ing: \`-version-
1e830 69 6e 66 6f 27 20 69 73 20 69 67 6e 6f 72 65 64  info' is ignored
1e840 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 22 20 31   for programs" 1
1e850 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  >&2.      fi..  
1e860 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1e870 24 72 65 6c 65 61 73 65 22 3b 20 74 68 65 6e 0a  $release"; then.
1e880 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
1e890 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 72  e: warning: \`-r
1e8a0 65 6c 65 61 73 65 27 20 69 73 20 69 67 6e 6f 72  elease' is ignor
1e8b0 65 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 22  ed for programs"
1e8c0 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a   1>&2.      fi..
1e8d0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
1e8e0 70 72 65 6c 6f 61 64 22 20 3d 20 79 65 73 3b 20  preload" = yes; 
1e8f0 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 22 24  then..if test "$
1e900 64 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74 22 20  dlopen_support" 
1e910 3d 20 75 6e 6b 6e 6f 77 6e 20 26 26 20 74 65 73  = unknown && tes
1e920 74 20 22 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 22  t "$dlopen_self"
1e930 20 3d 20 75 6e 6b 6e 6f 77 6e 20 26 26 0a 09 20   = unknown &&.. 
1e940 20 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f    test "$dlopen_
1e950 73 65 6c 66 5f 73 74 61 74 69 63 22 20 3d 20 75  self_static" = u
1e960 6e 6b 6e 6f 77 6e 3b 20 74 68 65 6e 0a 09 20 20  nknown; then..  
1e970 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1e980 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 41 43 5f  : warning: \`AC_
1e990 4c 49 42 54 4f 4f 4c 5f 44 4c 4f 50 45 4e 27 20  LIBTOOL_DLOPEN' 
1e9a0 6e 6f 74 20 75 73 65 64 2e 20 41 73 73 75 6d 69  not used. Assumi
1e9b0 6e 67 20 6e 6f 20 64 6c 6f 70 65 6e 20 73 75 70  ng no dlopen sup
1e9c0 70 6f 72 74 2e 22 0a 09 66 69 0a 20 20 20 20 20  port."..fi.     
1e9d0 20 66 69 0a 0a 20 20 20 20 20 20 63 61 73 65 20   fi..      case 
1e9e0 24 68 6f 73 74 20 69 6e 0a 20 20 20 20 20 20 2a  $host in.      *
1e9f0 2d 2a 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20 2a  -*-rhapsody* | *
1ea00 2d 2a 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32 5d  -*-darwin1.[012]
1ea10 29 0a 09 23 20 4f 6e 20 52 68 61 70 73 6f 64 79  )..# On Rhapsody
1ea20 20 72 65 70 6c 61 63 65 20 74 68 65 20 43 20 6c   replace the C l
1ea30 69 62 72 61 72 79 20 69 73 20 74 68 65 20 53 79  ibrary is the Sy
1ea40 73 74 65 6d 20 66 72 61 6d 65 77 6f 72 6b 0a 09  stem framework..
1ea50 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d  compile_deplibs=
1ea60 60 24 65 63 68 6f 20 22 58 20 24 63 6f 6d 70 69  `$echo "X $compi
1ea70 6c 65 5f 64 65 70 6c 69 62 73 22 20 7c 20 24 58  le_deplibs" | $X
1ea80 73 65 64 20 2d 65 20 27 73 2f 20 2d 6c 63 20 2f  sed -e 's/ -lc /
1ea90 20 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74   -framework Syst
1eaa0 65 6d 20 2f 27 60 0a 09 66 69 6e 61 6c 69 7a 65  em /'`..finalize
1eab0 5f 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f 20  _deplibs=`$echo 
1eac0 22 58 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70  "X $finalize_dep
1ead0 6c 69 62 73 22 20 7c 20 24 58 73 65 64 20 2d 65  libs" | $Xsed -e
1eae0 20 27 73 2f 20 2d 6c 63 20 2f 20 2d 66 72 61 6d   's/ -lc / -fram
1eaf0 65 77 6f 72 6b 20 53 79 73 74 65 6d 20 2f 27 60  ework System /'`
1eb00 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
1eb10 0a 20 20 20 20 20 20 63 61 73 65 20 24 68 6f 73  .      case $hos
1eb20 74 20 69 6e 0a 20 20 20 20 20 20 2a 64 61 72 77  t in.      *darw
1eb30 69 6e 2a 29 0a 20 20 20 20 20 20 20 20 23 20 44  in*).        # D
1eb40 6f 6e 27 74 20 61 6c 6c 6f 77 20 6c 61 7a 79 20  on't allow lazy 
1eb50 6c 69 6e 6b 69 6e 67 2c 20 69 74 20 62 72 65 61  linking, it brea
1eb60 6b 73 20 43 2b 2b 20 67 6c 6f 62 61 6c 20 63 6f  ks C++ global co
1eb70 6e 73 74 72 75 63 74 6f 72 73 0a 20 20 20 20 20  nstructors.     
1eb80 20 20 20 69 66 20 74 65 73 74 20 22 24 74 61 67     if test "$tag
1eb90 6e 61 6d 65 22 20 3d 20 43 58 58 20 3b 20 74 68  name" = CXX ; th
1eba0 65 6e 0a 20 20 20 20 20 20 20 20 63 6f 6d 70 69  en.        compi
1ebb0 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d  le_command="$com
1ebc0 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 7b 77  pile_command ${w
1ebd0 6c 7d 2d 62 69 6e 64 5f 61 74 5f 6c 6f 61 64 22  l}-bind_at_load"
1ebe0 0a 20 20 20 20 20 20 20 20 66 69 6e 61 6c 69 7a  .        finaliz
1ebf0 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  e_command="$fina
1ec00 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 7b 77  lize_command ${w
1ec10 6c 7d 2d 62 69 6e 64 5f 61 74 5f 6c 6f 61 64 22  l}-bind_at_load"
1ec20 0a 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20  .        fi.    
1ec30 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 65 73 61      ;;.      esa
1ec40 63 0a 0a 0a 20 20 20 20 20 20 23 20 6d 6f 76 65  c...      # move
1ec50 20 6c 69 62 72 61 72 79 20 73 65 61 72 63 68 20   library search 
1ec60 70 61 74 68 73 20 74 68 61 74 20 63 6f 69 6e 63  paths that coinc
1ec70 69 64 65 20 77 69 74 68 20 70 61 74 68 73 20 74  ide with paths t
1ec80 6f 20 6e 6f 74 20 79 65 74 0a 20 20 20 20 20 20  o not yet.      
1ec90 23 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72  # installed libr
1eca0 61 72 69 65 73 20 74 6f 20 74 68 65 20 62 65 67  aries to the beg
1ecb0 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69  inning of the li
1ecc0 62 72 61 72 79 20 73 65 61 72 63 68 20 6c 69 73  brary search lis
1ecd0 74 0a 20 20 20 20 20 20 6e 65 77 5f 6c 69 62 73  t.      new_libs
1ece0 3d 0a 20 20 20 20 20 20 66 6f 72 20 70 61 74 68  =.      for path
1ecf0 20 69 6e 20 24 6e 6f 74 69 6e 73 74 5f 70 61 74   in $notinst_pat
1ed00 68 3b 20 64 6f 0a 09 63 61 73 65 20 22 20 24 6e  h; do..case " $n
1ed10 65 77 5f 6c 69 62 73 20 22 20 69 6e 0a 09 2a 22  ew_libs " in..*"
1ed20 20 2d 4c 24 70 61 74 68 2f 24 6f 62 6a 64 69 72   -L$path/$objdir
1ed30 20 22 2a 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 63   "*) ;;..*)..  c
1ed40 61 73 65 20 22 20 24 63 6f 6d 70 69 6c 65 5f 64  ase " $compile_d
1ed50 65 70 6c 69 62 73 20 22 20 69 6e 0a 09 20 20 2a  eplibs " in..  *
1ed60 22 20 2d 4c 24 70 61 74 68 2f 24 6f 62 6a 64 69  " -L$path/$objdi
1ed70 72 20 22 2a 29 0a 09 20 20 20 20 6e 65 77 5f 6c  r "*)..    new_l
1ed80 69 62 73 3d 22 24 6e 65 77 5f 6c 69 62 73 20 2d  ibs="$new_libs -
1ed90 4c 24 70 61 74 68 2f 24 6f 62 6a 64 69 72 22 20  L$path/$objdir" 
1eda0 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b  ;;..  esac..  ;;
1edb0 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64 6f 6e  ..esac.      don
1edc0 65 0a 20 20 20 20 20 20 66 6f 72 20 64 65 70 6c  e.      for depl
1edd0 69 62 20 69 6e 20 24 63 6f 6d 70 69 6c 65 5f 64  ib in $compile_d
1ede0 65 70 6c 69 62 73 3b 20 64 6f 0a 09 63 61 73 65  eplibs; do..case
1edf0 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 2d 4c 2a   $deplib in..-L*
1ee00 29 0a 09 20 20 63 61 73 65 20 22 20 24 6e 65 77  )..  case " $new
1ee10 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20 20 2a 22  _libs " in..  *"
1ee20 20 24 64 65 70 6c 69 62 20 22 2a 29 20 3b 3b 0a   $deplib "*) ;;.
1ee30 09 20 20 2a 29 20 6e 65 77 5f 6c 69 62 73 3d 22  .  *) new_libs="
1ee40 24 6e 65 77 5f 6c 69 62 73 20 24 64 65 70 6c 69  $new_libs $depli
1ee50 62 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20  b" ;;..  esac.. 
1ee60 20 3b 3b 0a 09 2a 29 20 6e 65 77 5f 6c 69 62 73   ;;..*) new_libs
1ee70 3d 22 24 6e 65 77 5f 6c 69 62 73 20 24 64 65 70  ="$new_libs $dep
1ee80 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20  lib" ;;..esac.  
1ee90 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 63      done.      c
1eea0 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22  ompile_deplibs="
1eeb0 24 6e 65 77 5f 6c 69 62 73 22 0a 0a 0a 20 20 20  $new_libs"...   
1eec0 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61     compile_comma
1eed0 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
1eee0 6d 61 6e 64 20 24 63 6f 6d 70 69 6c 65 5f 64 65  mand $compile_de
1eef0 70 6c 69 62 73 22 0a 20 20 20 20 20 20 66 69 6e  plibs".      fin
1ef00 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
1ef10 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
1ef20 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69   $finalize_depli
1ef30 62 73 22 0a 0a 20 20 20 20 20 20 69 66 20 74 65  bs"..      if te
1ef40 73 74 20 2d 6e 20 22 24 72 70 61 74 68 24 78 72  st -n "$rpath$xr
1ef50 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 23 20 49  path"; then..# I
1ef60 66 20 74 68 65 20 75 73 65 72 20 73 70 65 63 69  f the user speci
1ef70 66 69 65 64 20 61 6e 79 20 72 70 61 74 68 20 66  fied any rpath f
1ef80 6c 61 67 73 2c 20 74 68 65 6e 20 61 64 64 20 74  lags, then add t
1ef90 68 65 6d 2e 0a 09 66 6f 72 20 6c 69 62 64 69 72  hem...for libdir
1efa0 20 69 6e 20 24 72 70 61 74 68 20 24 78 72 70 61   in $rpath $xrpa
1efb0 74 68 3b 20 64 6f 0a 09 20 20 23 20 54 68 69 73  th; do..  # This
1efc0 20 69 73 20 74 68 65 20 6d 61 67 69 63 20 74 6f   is the magic to
1efd0 20 75 73 65 20 2d 72 70 61 74 68 2e 0a 09 20 20   use -rpath...  
1efe0 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a 65 5f  case "$finalize_
1eff0 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 2a 22  rpath " in..  *"
1f000 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a   $libdir "*) ;;.
1f010 09 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72  .  *) finalize_r
1f020 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  path="$finalize_
1f030 72 70 61 74 68 20 24 6c 69 62 64 69 72 22 20 3b  rpath $libdir" ;
1f040 3b 0a 09 20 20 65 73 61 63 0a 09 64 6f 6e 65 0a  ;..  esac..done.
1f050 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1f060 23 20 4e 6f 77 20 68 61 72 64 63 6f 64 65 20 74  # Now hardcode t
1f070 68 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73  he library paths
1f080 0a 20 20 20 20 20 20 72 70 61 74 68 3d 0a 20 20  .      rpath=.  
1f090 20 20 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62      hardcode_lib
1f0a0 64 69 72 73 3d 0a 20 20 20 20 20 20 66 6f 72 20  dirs=.      for 
1f0b0 6c 69 62 64 69 72 20 69 6e 20 24 63 6f 6d 70 69  libdir in $compi
1f0c0 6c 65 5f 72 70 61 74 68 20 24 66 69 6e 61 6c 69  le_rpath $finali
1f0d0 7a 65 5f 72 70 61 74 68 3b 20 64 6f 0a 09 69 66  ze_rpath; do..if
1f0e0 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
1f0f0 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
1f100 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 69  spec"; then..  i
1f110 66 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64  f test -n "$hard
1f120 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
1f130 72 61 74 6f 72 22 3b 20 74 68 65 6e 0a 09 20 20  rator"; then..  
1f140 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 68    if test -z "$h
1f150 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22  ardcode_libdirs"
1f160 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 68 61  ; then..      ha
1f170 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22  rdcode_libdirs="
1f180 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20 65 6c  $libdir"..    el
1f190 73 65 0a 09 20 20 20 20 20 20 23 20 4a 75 73 74  se..      # Just
1f1a0 20 61 63 63 75 6d 75 6c 61 74 65 20 74 68 65 20   accumulate the 
1f1b0 75 6e 69 71 75 65 20 6c 69 62 64 69 72 73 2e 0a  unique libdirs..
1f1c0 09 20 20 20 20 20 20 63 61 73 65 20 24 68 61 72  .      case $har
1f1d0 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70  dcode_libdir_sep
1f1e0 61 72 61 74 6f 72 24 68 61 72 64 63 6f 64 65 5f  arator$hardcode_
1f1f0 6c 69 62 64 69 72 73 24 68 61 72 64 63 6f 64 65  libdirs$hardcode
1f200 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
1f210 72 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 24 68  r in..      *"$h
1f220 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73  ardcode_libdir_s
1f230 65 70 61 72 61 74 6f 72 24 6c 69 62 64 69 72 24  eparator$libdir$
1f240 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
1f250 73 65 70 61 72 61 74 6f 72 22 2a 29 0a 09 09 3b  separator"*)...;
1f260 3b 0a 09 20 20 20 20 20 20 2a 29 0a 09 09 68 61  ;..      *)...ha
1f270 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22  rdcode_libdirs="
1f280 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1f290 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  s$hardcode_libdi
1f2a0 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62 64  r_separator$libd
1f2b0 69 72 22 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20  ir"...;;..      
1f2c0 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20  esac..    fi..  
1f2d0 65 6c 73 65 0a 09 20 20 20 20 65 76 61 6c 20 66  else..    eval f
1f2e0 6c 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f  lag=\"$hardcode_
1f2f0 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
1f300 5c 22 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24  \"..    rpath="$
1f310 72 70 61 74 68 20 24 66 6c 61 67 22 0a 09 20 20  rpath $flag"..  
1f320 66 69 0a 09 65 6c 69 66 20 74 65 73 74 20 2d 6e  fi..elif test -n
1f330 20 22 24 72 75 6e 70 61 74 68 5f 76 61 72 22 3b   "$runpath_var";
1f340 20 74 68 65 6e 0a 09 20 20 63 61 73 65 20 22 24   then..  case "$
1f350 70 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a  perm_rpath " in.
1f360 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a  .  *" $libdir "*
1f370 29 20 3b 3b 0a 09 20 20 2a 29 20 70 65 72 6d 5f  ) ;;..  *) perm_
1f380 72 70 61 74 68 3d 22 24 70 65 72 6d 5f 72 70 61  rpath="$perm_rpa
1f390 74 68 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09  th $libdir" ;;..
1f3a0 20 20 65 73 61 63 0a 09 66 69 0a 09 63 61 73 65    esac..fi..case
1f3b0 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 63   $host in..*-*-c
1f3c0 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e  ygwin* | *-*-min
1f3d0 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20  gw* | *-*-pw32* 
1f3e0 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 74  | *-*-os2*)..  t
1f3f0 65 73 74 62 69 6e 64 69 72 3d 60 24 65 63 68 6f  estbindir=`$echo
1f400 20 22 58 24 6c 69 62 64 69 72 22 20 7c 20 24 58   "X$libdir" | $X
1f410 73 65 64 20 2d 65 20 27 73 2a 2f 6c 69 62 24 2a  sed -e 's*/lib$*
1f420 2f 62 69 6e 2a 27 60 0a 09 20 20 63 61 73 65 20  /bin*'`..  case 
1f430 3a 24 64 6c 6c 73 65 61 72 63 68 70 61 74 68 3a  :$dllsearchpath:
1f440 20 69 6e 0a 09 20 20 2a 22 3a 24 6c 69 62 64 69   in..  *":$libdi
1f450 72 3a 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 64  r:"*) ;;..  *) d
1f460 6c 6c 73 65 61 72 63 68 70 61 74 68 3d 22 24 64  llsearchpath="$d
1f470 6c 6c 73 65 61 72 63 68 70 61 74 68 3a 24 6c 69  llsearchpath:$li
1f480 62 64 69 72 22 3b 3b 0a 09 20 20 65 73 61 63 0a  bdir";;..  esac.
1f490 09 20 20 63 61 73 65 20 3a 24 64 6c 6c 73 65 61  .  case :$dllsea
1f4a0 72 63 68 70 61 74 68 3a 20 69 6e 0a 09 20 20 2a  rchpath: in..  *
1f4b0 22 3a 24 74 65 73 74 62 69 6e 64 69 72 3a 22 2a  ":$testbindir:"*
1f4c0 29 20 3b 3b 0a 09 20 20 2a 29 20 64 6c 6c 73 65  ) ;;..  *) dllse
1f4d0 61 72 63 68 70 61 74 68 3d 22 24 64 6c 6c 73 65  archpath="$dllse
1f4e0 61 72 63 68 70 61 74 68 3a 24 74 65 73 74 62 69  archpath:$testbi
1f4f0 6e 64 69 72 22 3b 3b 0a 09 20 20 65 73 61 63 0a  ndir";;..  esac.
1f500 09 20 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20  .  ;;..esac.    
1f510 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 23 20 53    done.      # S
1f520 75 62 73 74 69 74 75 74 65 20 74 68 65 20 68 61  ubstitute the ha
1f530 72 64 63 6f 64 65 64 20 6c 69 62 64 69 72 73 20  rdcoded libdirs 
1f540 69 6e 74 6f 20 74 68 65 20 72 70 61 74 68 2e 0a  into the rpath..
1f550 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
1f560 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
1f570 69 72 5f 73 65 70 61 72 61 74 6f 72 22 20 26 26  ir_separator" &&
1f580 0a 09 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72  .. test -n "$har
1f590 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 3b 20  dcode_libdirs"; 
1f5a0 74 68 65 6e 0a 09 6c 69 62 64 69 72 3d 22 24 68  then..libdir="$h
1f5b0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22  ardcode_libdirs"
1f5c0 0a 09 65 76 61 6c 20 72 70 61 74 68 3d 5c 22 20  ..eval rpath=\" 
1f5d0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1f5e0 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 20 20 20  _flag_spec\".   
1f5f0 20 20 20 66 69 0a 20 20 20 20 20 20 63 6f 6d 70     fi.      comp
1f600 69 6c 65 5f 72 70 61 74 68 3d 22 24 72 70 61 74  ile_rpath="$rpat
1f610 68 22 0a 0a 20 20 20 20 20 20 72 70 61 74 68 3d  h"..      rpath=
1f620 0a 20 20 20 20 20 20 68 61 72 64 63 6f 64 65 5f  .      hardcode_
1f630 6c 69 62 64 69 72 73 3d 0a 20 20 20 20 20 20 66  libdirs=.      f
1f640 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24 66 69  or libdir in $fi
1f650 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3b 20 64 6f  nalize_rpath; do
1f660 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 68  ..if test -n "$h
1f670 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
1f680 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a  lag_spec"; then.
1f690 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
1f6a0 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
1f6b0 73 65 70 61 72 61 74 6f 72 22 3b 20 74 68 65 6e  separator"; then
1f6c0 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a  ..    if test -z
1f6d0 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
1f6e0 69 72 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  irs"; then..    
1f6f0 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69    hardcode_libdi
1f700 72 73 3d 22 24 6c 69 62 64 69 72 22 0a 09 20 20  rs="$libdir"..  
1f710 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23 20    else..      # 
1f720 4a 75 73 74 20 61 63 63 75 6d 75 6c 61 74 65 20  Just accumulate 
1f730 74 68 65 20 75 6e 69 71 75 65 20 6c 69 62 64 69  the unique libdi
1f740 72 73 2e 0a 09 20 20 20 20 20 20 63 61 73 65 20  rs...      case 
1f750 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1f760 5f 73 65 70 61 72 61 74 6f 72 24 68 61 72 64 63  _separator$hardc
1f770 6f 64 65 5f 6c 69 62 64 69 72 73 24 68 61 72 64  ode_libdirs$hard
1f780 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
1f790 72 61 74 6f 72 20 69 6e 0a 09 20 20 20 20 20 20  rator in..      
1f7a0 2a 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  *"$hardcode_libd
1f7b0 69 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62  ir_separator$lib
1f7c0 64 69 72 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  dir$hardcode_lib
1f7d0 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22 2a 29  dir_separator"*)
1f7e0 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20 2a 29 0a  ...;;..      *).
1f7f0 09 09 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  ..hardcode_libdi
1f800 72 73 3d 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  rs="$hardcode_li
1f810 62 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f 6c  bdirs$hardcode_l
1f820 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 24  ibdir_separator$
1f830 6c 69 62 64 69 72 22 0a 09 09 3b 3b 0a 09 20 20  libdir"...;;..  
1f840 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 66 69      esac..    fi
1f850 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 65 76  ..  else..    ev
1f860 61 6c 20 66 6c 61 67 3d 5c 22 24 68 61 72 64 63  al flag=\"$hardc
1f870 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
1f880 73 70 65 63 5c 22 0a 09 20 20 20 20 72 70 61 74  spec\"..    rpat
1f890 68 3d 22 24 72 70 61 74 68 20 24 66 6c 61 67 22  h="$rpath $flag"
1f8a0 0a 09 20 20 66 69 0a 09 65 6c 69 66 20 74 65 73  ..  fi..elif tes
1f8b0 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68 5f 76  t -n "$runpath_v
1f8c0 61 72 22 3b 20 74 68 65 6e 0a 09 20 20 63 61 73  ar"; then..  cas
1f8d0 65 20 22 24 66 69 6e 61 6c 69 7a 65 5f 70 65 72  e "$finalize_per
1f8e0 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20  m_rpath " in..  
1f8f0 2a 22 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b  *" $libdir "*) ;
1f900 3b 0a 09 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65  ;..  *) finalize
1f910 5f 70 65 72 6d 5f 72 70 61 74 68 3d 22 24 66 69  _perm_rpath="$fi
1f920 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61 74  nalize_perm_rpat
1f930 68 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09 20  h $libdir" ;;.. 
1f940 20 65 73 61 63 0a 09 66 69 0a 20 20 20 20 20 20   esac..fi.      
1f950 64 6f 6e 65 0a 20 20 20 20 20 20 23 20 53 75 62  done.      # Sub
1f960 73 74 69 74 75 74 65 20 74 68 65 20 68 61 72 64  stitute the hard
1f970 63 6f 64 65 64 20 6c 69 62 64 69 72 73 20 69 6e  coded libdirs in
1f980 74 6f 20 74 68 65 20 72 70 61 74 68 2e 0a 20 20  to the rpath..  
1f990 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1f9a0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1f9b0 5f 73 65 70 61 72 61 74 6f 72 22 20 26 26 0a 09  _separator" &&..
1f9c0 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
1f9d0 6f 64 65 5f 6c 69 62 64 69 72 73 22 3b 20 74 68  ode_libdirs"; th
1f9e0 65 6e 0a 09 6c 69 62 64 69 72 3d 22 24 68 61 72  en..libdir="$har
1f9f0 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 0a 09  dcode_libdirs"..
1fa00 65 76 61 6c 20 72 70 61 74 68 3d 5c 22 20 24 68  eval rpath=\" $h
1fa10 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
1fa20 6c 61 67 5f 73 70 65 63 5c 22 0a 20 20 20 20 20  lag_spec\".     
1fa30 20 66 69 0a 20 20 20 20 20 20 66 69 6e 61 6c 69   fi.      finali
1fa40 7a 65 5f 72 70 61 74 68 3d 22 24 72 70 61 74 68  ze_rpath="$rpath
1fa50 22 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  "..      if test
1fa60 20 2d 6e 20 22 24 6c 69 62 6f 62 6a 73 22 20 26   -n "$libobjs" &
1fa70 26 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f  & test "$build_o
1fa80 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ld_libs" = yes; 
1fa90 74 68 65 6e 0a 09 23 20 54 72 61 6e 73 66 6f 72  then..# Transfor
1faa0 6d 20 61 6c 6c 20 74 68 65 20 6c 69 62 72 61 72  m all the librar
1fab0 79 20 6f 62 6a 65 63 74 73 20 69 6e 74 6f 20 73  y objects into s
1fac0 74 61 6e 64 61 72 64 20 6f 62 6a 65 63 74 73 2e  tandard objects.
1fad0 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  ..compile_comman
1fae0 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70  d=`$echo "X$comp
1faf0 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ile_command" | $
1fb00 53 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d 65  SP2NL | $Xsed -e
1fb10 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53   "$lo2o" | $NL2S
1fb20 50 60 0a 09 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  P`..finalize_com
1fb30 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 66  mand=`$echo "X$f
1fb40 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 22  inalize_command"
1fb50 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65   | $SP2NL | $Xse
1fb60 64 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24  d -e "$lo2o" | $
1fb70 4e 4c 32 53 50 60 0a 20 20 20 20 20 20 66 69 0a  NL2SP`.      fi.
1fb80 0a 20 20 20 20 20 20 64 6c 73 79 6d 73 3d 0a 20  .      dlsyms=. 
1fb90 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
1fba0 22 24 64 6c 66 69 6c 65 73 24 64 6c 70 72 65 66  "$dlfiles$dlpref
1fbb0 69 6c 65 73 22 20 7c 7c 20 74 65 73 74 20 22 24  iles" || test "$
1fbc0 64 6c 73 65 6c 66 22 20 21 3d 20 6e 6f 3b 20 74  dlself" != no; t
1fbd0 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  hen..if test -n 
1fbe0 22 24 4e 4d 22 20 26 26 20 74 65 73 74 20 2d 6e  "$NM" && test -n
1fbf0 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c   "$global_symbol
1fc00 5f 70 69 70 65 22 3b 20 74 68 65 6e 0a 09 20 20  _pipe"; then..  
1fc10 64 6c 73 79 6d 73 3d 22 24 7b 6f 75 74 70 75 74  dlsyms="${output
1fc20 6e 61 6d 65 7d 53 2e 63 22 0a 09 65 6c 73 65 0a  name}S.c"..else.
1fc30 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
1fc40 61 6d 65 3a 20 6e 6f 74 20 63 6f 6e 66 69 67 75  ame: not configu
1fc50 72 65 64 20 74 6f 20 65 78 74 72 61 63 74 20 67  red to extract g
1fc60 6c 6f 62 61 6c 20 73 79 6d 62 6f 6c 73 20 66 72  lobal symbols fr
1fc70 6f 6d 20 64 6c 70 72 65 6f 70 65 6e 65 64 20 66  om dlpreopened f
1fc80 69 6c 65 73 22 20 31 3e 26 32 0a 09 66 69 0a 20  iles" 1>&2..fi. 
1fc90 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69       fi..      i
1fca0 66 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 73 79  f test -n "$dlsy
1fcb0 6d 73 22 3b 20 74 68 65 6e 0a 09 63 61 73 65 20  ms"; then..case 
1fcc0 24 64 6c 73 79 6d 73 20 69 6e 0a 09 22 22 29 20  $dlsyms in.."") 
1fcd0 3b 3b 0a 09 2a 2e 63 29 0a 09 20 20 23 20 44 69  ;;..*.c)..  # Di
1fce0 73 63 6f 76 65 72 20 74 68 65 20 6e 6c 69 73 74  scover the nlist
1fcf0 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20   of each of the 
1fd00 64 6c 66 69 6c 65 73 2e 0a 09 20 20 6e 6c 69 73  dlfiles...  nlis
1fd10 74 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  t="$output_objdi
1fd20 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 2e  r/${outputname}.
1fd30 6e 6d 22 0a 0a 09 20 20 24 73 68 6f 77 20 22 24  nm"...  $show "$
1fd40 72 6d 20 24 6e 6c 69 73 74 20 24 7b 6e 6c 69 73  rm $nlist ${nlis
1fd50 74 7d 53 20 24 7b 6e 6c 69 73 74 7d 54 22 0a 09  t}S ${nlist}T"..
1fd60 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6e 6c 69    $run $rm "$nli
1fd70 73 74 22 20 22 24 7b 6e 6c 69 73 74 7d 53 22 20  st" "${nlist}S" 
1fd80 22 24 7b 6e 6c 69 73 74 7d 54 22 0a 0a 09 20 20  "${nlist}T"...  
1fd90 23 20 50 61 72 73 65 20 74 68 65 20 6e 61 6d 65  # Parse the name
1fda0 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 73 6f 75   list into a sou
1fdb0 72 63 65 20 66 69 6c 65 2e 0a 09 20 20 24 73 68  rce file...  $sh
1fdc0 6f 77 20 22 63 72 65 61 74 69 6e 67 20 24 6f 75  ow "creating $ou
1fdd0 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c 73  tput_objdir/$dls
1fde0 79 6d 73 22 0a 0a 09 20 20 74 65 73 74 20 2d 7a  yms"...  test -z
1fdf0 20 22 24 72 75 6e 22 20 26 26 20 24 65 63 68 6f   "$run" && $echo
1fe00 20 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64   > "$output_objd
1fe10 69 72 2f 24 64 6c 73 79 6d 73 22 20 22 5c 0a 2f  ir/$dlsyms" "\./
1fe20 2a 20 24 64 6c 73 79 6d 73 20 2d 20 73 79 6d 62  * $dlsyms - symb
1fe30 6f 6c 20 72 65 73 6f 6c 75 74 69 6f 6e 20 74 61  ol resolution ta
1fe40 62 6c 65 20 66 6f 72 20 5c 60 24 6f 75 74 70 75  ble for \`$outpu
1fe50 74 6e 61 6d 65 27 20 64 6c 73 79 6d 20 65 6d 75  tname' dlsym emu
1fe60 6c 61 74 69 6f 6e 2e 20 2a 2f 0a 2f 2a 20 47 65  lation. */./* Ge
1fe70 6e 65 72 61 74 65 64 20 62 79 20 24 50 52 4f 47  nerated by $PROG
1fe80 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b 41  RAM - GNU $PACKA
1fe90 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d 45  GE $VERSION$TIME
1fea0 53 54 41 4d 50 20 2a 2f 0a 0a 23 69 66 64 65 66  STAMP */..#ifdef
1feb0 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0a 65 78 74   __cplusplus.ext
1fec0 65 72 6e 20 5c 22 43 5c 22 20 7b 0a 23 65 6e 64  ern \"C\" {.#end
1fed0 69 66 0a 0a 2f 2a 20 50 72 65 76 65 6e 74 20 74  if../* Prevent t
1fee0 68 65 20 6f 6e 6c 79 20 6b 69 6e 64 20 6f 66 20  he only kind of 
1fef0 64 65 63 6c 61 72 61 74 69 6f 6e 20 63 6f 6e 66  declaration conf
1ff00 6c 69 63 74 73 20 77 65 20 63 61 6e 20 6d 61 6b  licts we can mak
1ff10 65 2e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 6c 74  e. */.#define lt
1ff20 5f 70 72 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f  _preloaded_symbo
1ff30 6c 73 20 73 6f 6d 65 5f 6f 74 68 65 72 5f 73 79  ls some_other_sy
1ff40 6d 62 6f 6c 0a 0a 2f 2a 20 45 78 74 65 72 6e 61  mbol../* Externa
1ff50 6c 20 73 79 6d 62 6f 6c 20 64 65 63 6c 61 72 61  l symbol declara
1ff60 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 63 6f  tions for the co
1ff70 6d 70 69 6c 65 72 2e 20 2a 2f 5c 0a 22 0a 0a 09  mpiler. */\."...
1ff80 20 20 69 66 20 74 65 73 74 20 22 24 64 6c 73 65    if test "$dlse
1ff90 6c 66 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  lf" = yes; then.
1ffa0 09 20 20 20 20 24 73 68 6f 77 20 22 67 65 6e 65  .    $show "gene
1ffb0 72 61 74 69 6e 67 20 73 79 6d 62 6f 6c 20 6c 69  rating symbol li
1ffc0 73 74 20 66 6f 72 20 5c 60 24 6f 75 74 70 75 74  st for \`$output
1ffd0 27 22 0a 0a 09 20 20 20 20 74 65 73 74 20 2d 7a  '"...    test -z
1ffe0 20 22 24 72 75 6e 22 20 26 26 20 24 65 63 68 6f   "$run" && $echo
1fff0 20 27 3a 20 40 50 52 4f 47 52 41 4d 40 20 27 20   ': @PROGRAM@ ' 
20000 3e 20 22 24 6e 6c 69 73 74 22 0a 0a 09 20 20 20  > "$nlist"...   
20010 20 23 20 41 64 64 20 6f 75 72 20 6f 77 6e 20 70   # Add our own p
20020 72 6f 67 72 61 6d 20 6f 62 6a 65 63 74 73 20 74  rogram objects t
20030 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 6c 69 73  o the symbol lis
20040 74 2e 0a 09 20 20 20 20 70 72 6f 67 66 69 6c 65  t...    progfile
20050 73 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 73  s=`$echo "X$objs
20060 24 6f 6c 64 5f 64 65 70 6c 69 62 73 22 20 7c 20  $old_deplibs" | 
20070 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d  $SP2NL | $Xsed -
20080 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32  e "$lo2o" | $NL2
20090 53 50 60 0a 09 20 20 20 20 66 6f 72 20 61 72 67  SP`..    for arg
200a0 20 69 6e 20 24 70 72 6f 67 66 69 6c 65 73 3b 20   in $progfiles; 
200b0 64 6f 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20  do..      $show 
200c0 22 65 78 74 72 61 63 74 69 6e 67 20 67 6c 6f 62  "extracting glob
200d0 61 6c 20 43 20 73 79 6d 62 6f 6c 73 20 66 72 6f  al C symbols fro
200e0 6d 20 5c 60 24 61 72 67 27 22 0a 09 20 20 20 20  m \`$arg'"..    
200f0 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 4e 4d    $run eval "$NM
20100 20 24 61 72 67 20 7c 20 24 67 6c 6f 62 61 6c 5f   $arg | $global_
20110 73 79 6d 62 6f 6c 5f 70 69 70 65 20 3e 3e 20 27  symbol_pipe >> '
20120 24 6e 6c 69 73 74 27 22 0a 09 20 20 20 20 64 6f  $nlist'"..    do
20130 6e 65 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74  ne...    if test
20140 20 2d 6e 20 22 24 65 78 63 6c 75 64 65 5f 65 78   -n "$exclude_ex
20150 70 73 79 6d 73 22 3b 20 74 68 65 6e 0a 09 20 20  psyms"; then..  
20160 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27 24      $run eval '$
20170 45 47 52 45 50 20 2d 76 20 22 20 28 24 65 78 63  EGREP -v " ($exc
20180 6c 75 64 65 5f 65 78 70 73 79 6d 73 29 24 22 20  lude_expsyms)$" 
20190 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c 69  "$nlist" > "$nli
201a0 73 74 22 54 27 0a 09 20 20 20 20 20 20 24 72 75  st"T'..      $ru
201b0 6e 20 65 76 61 6c 20 27 24 6d 76 20 22 24 6e 6c  n eval '$mv "$nl
201c0 69 73 74 22 54 20 22 24 6e 6c 69 73 74 22 27 0a  ist"T "$nlist"'.
201d0 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 69 66  .    fi...    if
201e0 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72   test -n "$expor
201f0 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22  t_symbols_regex"
20200 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 72  ; then..      $r
20210 75 6e 20 65 76 61 6c 20 27 24 45 47 52 45 50 20  un eval '$EGREP 
20220 2d 65 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  -e "$export_symb
20230 6f 6c 73 5f 72 65 67 65 78 22 20 22 24 6e 6c 69  ols_regex" "$nli
20240 73 74 22 20 3e 20 22 24 6e 6c 69 73 74 22 54 27  st" > "$nlist"T'
20250 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76 61  ..      $run eva
20260 6c 20 27 24 6d 76 20 22 24 6e 6c 69 73 74 22 54  l '$mv "$nlist"T
20270 20 22 24 6e 6c 69 73 74 22 27 0a 09 20 20 20 20   "$nlist"'..    
20280 66 69 0a 0a 09 20 20 20 20 23 20 50 72 65 70 61  fi...    # Prepa
20290 72 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 65  re the list of e
202a0 78 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 0a  xported symbols.
202b0 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20  .    if test -z 
202c0 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
202d0 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 65  "; then..      e
202e0 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 3d 22 24  xport_symbols="$
202f0 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f  output_objdir/$o
20300 75 74 70 75 74 6e 61 6d 65 2e 65 78 70 22 0a 09  utputname.exp"..
20310 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24        $run $rm $
20320 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09  export_symbols..
20330 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
20340 22 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 2f  "${SED} -n -e '/
20350 5e 3a 20 40 50 52 4f 47 52 41 4d 40 20 24 2f 64  ^: @PROGRAM@ $/d
20360 27 20 2d 65 20 27 73 2f 5e 2e 2a 20 5c 28 2e 2a  ' -e 's/^.* \(.*
20370 5c 29 24 2f 5c 31 2f 70 27 20 22 27 3c 20 22 24  \)$/\1/p' "'< "$
20380 6e 6c 69 73 74 22 20 3e 20 22 24 65 78 70 6f 72  nlist" > "$expor
20390 74 5f 73 79 6d 62 6f 6c 73 22 27 0a 20 20 20 20  t_symbols"'.    
203a0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24            case $
203b0 68 6f 73 74 20 69 6e 0a 20 20 20 20 20 20 20 20  host in.        
203c0 20 20 20 20 20 20 2a 63 79 67 77 69 6e 2a 20 7c        *cygwin* |
203d0 20 2a 6d 69 6e 67 77 2a 20 29 0a 09 20 20 20 20   *mingw* )..    
203e0 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 65      $run eval "e
203f0 63 68 6f 20 45 58 50 4f 52 54 53 20 22 27 3e 20  cho EXPORTS "'> 
20400 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  "$output_objdir/
20410 24 6f 75 74 70 75 74 6e 61 6d 65 2e 64 65 66 22  $outputname.def"
20420 27 0a 09 09 24 72 75 6e 20 65 76 61 6c 20 27 63  '...$run eval 'c
20430 61 74 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  at "$export_symb
20440 6f 6c 73 22 20 3e 3e 20 22 24 6f 75 74 70 75 74  ols" >> "$output
20450 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 6e  _objdir/$outputn
20460 61 6d 65 2e 64 65 66 22 27 0a 20 20 20 20 20 20  ame.def"'.      
20470 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
20480 20 20 20 20 20 20 20 20 20 20 20 65 73 61 63 0a             esac.
20490 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
204a0 20 24 72 75 6e 20 65 76 61 6c 20 22 24 7b 53 45   $run eval "${SE
204b0 44 7d 20 2d 65 20 27 73 2f 5c 28 5b 5d 2e 5b 2a  D} -e 's/\([].[*
204c0 5e 24 5d 5c 29 2f 5c 5c 5c 5c 5c 31 2f 67 27 20  ^$]\)/\\\\\1/g' 
204d0 2d 65 20 27 73 2f 5e 2f 20 2f 27 20 2d 65 20 27  -e 's/^/ /' -e '
204e0 73 2f 24 2f 24 2f 27 22 27 20 3c 20 22 24 65 78  s/$/$/'"' < "$ex
204f0 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 3e 20  port_symbols" > 
20500 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  "$output_objdir/
20510 24 6f 75 74 70 75 74 6e 61 6d 65 2e 65 78 70 22  $outputname.exp"
20520 27 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76  '..      $run ev
20530 61 6c 20 27 67 72 65 70 20 2d 66 20 22 24 6f 75  al 'grep -f "$ou
20540 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74  tput_objdir/$out
20550 70 75 74 6e 61 6d 65 2e 65 78 70 22 20 3c 20 22  putname.exp" < "
20560 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c 69 73  $nlist" > "$nlis
20570 74 22 54 27 0a 09 20 20 20 20 20 20 24 72 75 6e  t"T'..      $run
20580 20 65 76 61 6c 20 27 6d 76 20 22 24 6e 6c 69 73   eval 'mv "$nlis
20590 74 22 54 20 22 24 6e 6c 69 73 74 22 27 0a 20 20  t"T "$nlist"'.  
205a0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
205b0 20 24 68 6f 73 74 20 69 6e 0a 20 20 20 20 20 20   $host in.      
205c0 20 20 20 20 20 20 20 20 2a 63 79 67 77 69 6e 2a          *cygwin*
205d0 20 7c 20 2a 6d 69 6e 67 77 2a 20 29 0a 09 20 20   | *mingw* )..  
205e0 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
205f0 22 65 63 68 6f 20 45 58 50 4f 52 54 53 20 22 27  "echo EXPORTS "'
20600 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  > "$output_objdi
20610 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 2e 64 65  r/$outputname.de
20620 66 22 27 0a 09 09 24 72 75 6e 20 65 76 61 6c 20  f"'...$run eval 
20630 27 63 61 74 20 22 24 6e 6c 69 73 74 22 20 3e 3e  'cat "$nlist" >>
20640 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
20650 2f 24 6f 75 74 70 75 74 6e 61 6d 65 2e 64 65 66  /$outputname.def
20660 22 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  "'.             
20670 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
20680 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 66 69      esac..    fi
20690 0a 09 20 20 66 69 0a 0a 09 20 20 66 6f 72 20 61  ..  fi...  for a
206a0 72 67 20 69 6e 20 24 64 6c 70 72 65 66 69 6c 65  rg in $dlprefile
206b0 73 3b 20 64 6f 0a 09 20 20 20 20 24 73 68 6f 77  s; do..    $show
206c0 20 22 65 78 74 72 61 63 74 69 6e 67 20 67 6c 6f   "extracting glo
206d0 62 61 6c 20 43 20 73 79 6d 62 6f 6c 73 20 66 72  bal C symbols fr
206e0 6f 6d 20 5c 60 24 61 72 67 27 22 0a 09 20 20 20  om \`$arg'"..   
206f0 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 24 61   name=`$echo "$a
20700 72 67 22 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20  rg" | ${SED} -e 
20710 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 20  's%^.*/%%'`..   
20720 20 24 72 75 6e 20 65 76 61 6c 20 27 24 65 63 68   $run eval '$ech
20730 6f 20 22 3a 20 24 6e 61 6d 65 20 22 20 3e 3e 20  o ": $name " >> 
20740 22 24 6e 6c 69 73 74 22 27 0a 09 20 20 20 20 24  "$nlist"'..    $
20750 72 75 6e 20 65 76 61 6c 20 22 24 4e 4d 20 24 61  run eval "$NM $a
20760 72 67 20 7c 20 24 67 6c 6f 62 61 6c 5f 73 79 6d  rg | $global_sym
20770 62 6f 6c 5f 70 69 70 65 20 3e 3e 20 27 24 6e 6c  bol_pipe >> '$nl
20780 69 73 74 27 22 0a 09 20 20 64 6f 6e 65 0a 0a 09  ist'"..  done...
20790 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72    if test -z "$r
207a0 75 6e 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 23  un"; then..    #
207b0 20 4d 61 6b 65 20 73 75 72 65 20 77 65 20 68 61   Make sure we ha
207c0 76 65 20 61 74 20 6c 65 61 73 74 20 61 6e 20 65  ve at least an e
207d0 6d 70 74 79 20 66 69 6c 65 2e 0a 09 20 20 20 20  mpty file...    
207e0 74 65 73 74 20 2d 66 20 22 24 6e 6c 69 73 74 22  test -f "$nlist"
207f0 20 7c 7c 20 3a 20 3e 20 22 24 6e 6c 69 73 74 22   || : > "$nlist"
20800 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  ...    if test -
20810 6e 20 22 24 65 78 63 6c 75 64 65 5f 65 78 70 73  n "$exclude_exps
20820 79 6d 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  yms"; then..    
20830 20 20 24 45 47 52 45 50 20 2d 76 20 22 20 28 24    $EGREP -v " ($
20840 65 78 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 29  exclude_expsyms)
20850 24 22 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24  $" "$nlist" > "$
20860 6e 6c 69 73 74 22 54 0a 09 20 20 20 20 20 20 24  nlist"T..      $
20870 6d 76 20 22 24 6e 6c 69 73 74 22 54 20 22 24 6e  mv "$nlist"T "$n
20880 6c 69 73 74 22 0a 09 20 20 20 20 66 69 0a 0a 09  list"..    fi...
20890 20 20 20 20 23 20 54 72 79 20 73 6f 72 74 69 6e      # Try sortin
208a0 67 20 61 6e 64 20 75 6e 69 71 75 69 66 79 69 6e  g and uniquifyin
208b0 67 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 09 20  g the output... 
208c0 20 20 20 69 66 20 67 72 65 70 20 2d 76 20 22 5e     if grep -v "^
208d0 3a 20 22 20 3c 20 22 24 6e 6c 69 73 74 22 20 7c  : " < "$nlist" |
208e0 0a 09 09 69 66 20 73 6f 72 74 20 2d 6b 20 33 20  ...if sort -k 3 
208f0 3c 2f 64 65 76 2f 6e 75 6c 6c 20 3e 2f 64 65 76  </dev/null >/dev
20900 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e  /null 2>&1; then
20910 0a 09 09 20 20 73 6f 72 74 20 2d 6b 20 33 0a 09  ...  sort -k 3..
20920 09 65 6c 73 65 0a 09 09 20 20 73 6f 72 74 20 2b  .else...  sort +
20930 32 0a 09 09 66 69 20 7c 0a 09 09 75 6e 69 71 20  2...fi |...uniq 
20940 3e 20 22 24 6e 6c 69 73 74 22 53 3b 20 74 68 65  > "$nlist"S; the
20950 6e 0a 09 20 20 20 20 20 20 3a 0a 09 20 20 20 20  n..      :..    
20960 65 6c 73 65 0a 09 20 20 20 20 20 20 67 72 65 70  else..      grep
20970 20 2d 76 20 22 5e 3a 20 22 20 3c 20 22 24 6e 6c   -v "^: " < "$nl
20980 69 73 74 22 20 3e 20 22 24 6e 6c 69 73 74 22 53  ist" > "$nlist"S
20990 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 69  ..    fi...    i
209a0 66 20 74 65 73 74 20 2d 66 20 22 24 6e 6c 69 73  f test -f "$nlis
209b0 74 22 53 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  t"S; then..     
209c0 20 65 76 61 6c 20 22 24 67 6c 6f 62 61 6c 5f 73   eval "$global_s
209d0 79 6d 62 6f 6c 5f 74 6f 5f 63 64 65 63 6c 22 27  ymbol_to_cdecl"'
209e0 20 3c 20 22 24 6e 6c 69 73 74 22 53 20 3e 3e 20   < "$nlist"S >> 
209f0 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  "$output_objdir/
20a00 24 64 6c 73 79 6d 73 22 27 0a 09 20 20 20 20 65  $dlsyms"'..    e
20a10 6c 73 65 0a 09 20 20 20 20 20 20 24 65 63 68 6f  lse..      $echo
20a20 20 27 2f 2a 20 4e 4f 4e 45 20 2a 2f 27 20 3e 3e   '/* NONE */' >>
20a30 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
20a40 2f 24 64 6c 73 79 6d 73 22 0a 09 20 20 20 20 66  /$dlsyms"..    f
20a50 69 0a 0a 09 20 20 20 20 24 65 63 68 6f 20 3e 3e  i...    $echo >>
20a60 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
20a70 2f 24 64 6c 73 79 6d 73 22 20 22 5c 0a 0a 23 75  /$dlsyms" "\..#u
20a80 6e 64 65 66 20 6c 74 5f 70 72 65 6c 6f 61 64 65  ndef lt_preloade
20a90 64 5f 73 79 6d 62 6f 6c 73 0a 0a 23 69 66 20 64  d_symbols..#if d
20aa0 65 66 69 6e 65 64 20 28 5f 5f 53 54 44 43 5f 5f  efined (__STDC__
20ab0 29 20 26 26 20 5f 5f 53 54 44 43 5f 5f 0a 23 20  ) && __STDC__.# 
20ac0 64 65 66 69 6e 65 20 6c 74 5f 70 74 72 20 76 6f  define lt_ptr vo
20ad0 69 64 20 2a 0a 23 65 6c 73 65 0a 23 20 64 65 66  id *.#else.# def
20ae0 69 6e 65 20 6c 74 5f 70 74 72 20 63 68 61 72 20  ine lt_ptr char 
20af0 2a 0a 23 20 64 65 66 69 6e 65 20 63 6f 6e 73 74  *.# define const
20b00 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20 54 68 65 20  .#endif../* The 
20b10 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65 6e 20  mapping between 
20b20 73 79 6d 62 6f 6c 20 6e 61 6d 65 73 20 61 6e 64  symbol names and
20b30 20 73 79 6d 62 6f 6c 73 2e 20 2a 2f 0a 22 0a 0a   symbols. */."..
20b40 09 20 20 20 20 63 61 73 65 20 24 68 6f 73 74 20  .    case $host 
20b50 69 6e 0a 09 20 20 20 20 2a 63 79 67 77 69 6e 2a  in..    *cygwin*
20b60 20 7c 20 2a 6d 69 6e 67 77 2a 20 29 0a 09 20 20   | *mingw* )..  
20b70 24 65 63 68 6f 20 3e 3e 20 22 24 6f 75 74 70 75  $echo >> "$outpu
20b80 74 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73  t_objdir/$dlsyms
20b90 22 20 22 5c 0a 2f 2a 20 44 41 54 41 20 69 6d 70  " "\./* DATA imp
20ba0 6f 72 74 73 20 66 72 6f 6d 20 44 4c 4c 73 20 6f  orts from DLLs o
20bb0 6e 20 57 49 4e 33 32 20 63 61 6e 27 74 20 62 65  n WIN32 can't be
20bc0 20 63 6f 6e 73 74 2c 20 62 65 63 61 75 73 65 0a   const, because.
20bd0 20 20 20 72 75 6e 74 69 6d 65 20 72 65 6c 6f 63     runtime reloc
20be0 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f  ations are perfo
20bf0 72 6d 65 64 20 2d 2d 20 73 65 65 20 6c 64 27 73  rmed -- see ld's
20c00 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20   documentation. 
20c10 20 20 6f 6e 20 70 73 65 75 64 6f 2d 72 65 6c 6f    on pseudo-relo
20c20 63 73 20 2a 2f 0a 73 74 72 75 63 74 20 7b 0a 22  cs */.struct {."
20c30 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20  ..      ;;..    
20c40 2a 20 29 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20  * )..  $echo >> 
20c50 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  "$output_objdir/
20c60 24 64 6c 73 79 6d 73 22 20 22 5c 0a 63 6f 6e 73  $dlsyms" "\.cons
20c70 74 20 73 74 72 75 63 74 20 7b 0a 22 0a 09 20 20  t struct {."..  
20c80 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73 61 63      ;;..    esac
20c90 0a 0a 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20 22  ....  $echo >> "
20ca0 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
20cb0 64 6c 73 79 6d 73 22 20 22 5c 0a 20 20 63 6f 6e  dlsyms" "\.  con
20cc0 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 3b 0a 20  st char *name;. 
20cd0 20 6c 74 5f 70 74 72 20 61 64 64 72 65 73 73 3b   lt_ptr address;
20ce0 0a 7d 0a 6c 74 5f 70 72 65 6c 6f 61 64 65 64 5f  .}.lt_preloaded_
20cf0 73 79 6d 62 6f 6c 73 5b 5d 20 3d 0a 7b 5c 0a 22  symbols[] =.{\."
20d00 0a 0a 09 20 20 20 20 65 76 61 6c 20 22 24 67 6c  ...    eval "$gl
20d10 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 74 6f 5f 63  obal_symbol_to_c
20d20 5f 6e 61 6d 65 5f 61 64 64 72 65 73 73 22 20 3c  _name_address" <
20d30 20 22 24 6e 6c 69 73 74 22 20 3e 3e 20 22 24 6f   "$nlist" >> "$o
20d40 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c  utput_objdir/$dl
20d50 73 79 6d 73 22 0a 0a 09 20 20 20 20 24 65 63 68  syms"...    $ech
20d60 6f 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62  o >> "$output_ob
20d70 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 20 22 5c  jdir/$dlsyms" "\
20d80 0a 20 20 7b 30 2c 20 28 6c 74 5f 70 74 72 29 20  .  {0, (lt_ptr) 
20d90 30 7d 0a 7d 3b 0a 0a 2f 2a 20 54 68 69 73 20 77  0}.};../* This w
20da0 6f 72 6b 73 20 61 72 6f 75 6e 64 20 61 20 70 72  orks around a pr
20db0 6f 62 6c 65 6d 20 69 6e 20 46 72 65 65 42 53 44  oblem in FreeBSD
20dc0 20 6c 69 6e 6b 65 72 20 2a 2f 0a 23 69 66 64 65   linker */.#ifde
20dd0 66 20 46 52 45 45 42 53 44 5f 57 4f 52 4b 41 52  f FREEBSD_WORKAR
20de0 4f 55 4e 44 0a 73 74 61 74 69 63 20 63 6f 6e 73  OUND.static cons
20df0 74 20 76 6f 69 64 20 2a 6c 74 5f 70 72 65 6c 6f  t void *lt_prelo
20e00 61 64 65 64 5f 73 65 74 75 70 28 29 20 7b 0a 20  aded_setup() {. 
20e10 20 72 65 74 75 72 6e 20 6c 74 5f 70 72 65 6c 6f   return lt_prelo
20e20 61 64 65 64 5f 73 79 6d 62 6f 6c 73 3b 0a 7d 0a  aded_symbols;.}.
20e30 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 5f  #endif..#ifdef _
20e40 5f 63 70 6c 75 73 70 6c 75 73 0a 7d 0a 23 65 6e  _cplusplus.}.#en
20e50 64 69 66 5c 0a 22 0a 09 20 20 66 69 0a 0a 09 20  dif\."..  fi... 
20e60 20 70 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79   pic_flag_for_sy
20e70 6d 74 61 62 6c 65 3d 0a 09 20 20 63 61 73 65 20  mtable=..  case 
20e80 24 68 6f 73 74 20 69 6e 0a 09 20 20 23 20 63 6f  $host in..  # co
20e90 6d 70 69 6c 69 6e 67 20 74 68 65 20 73 79 6d 62  mpiling the symb
20ea0 6f 6c 20 74 61 62 6c 65 20 66 69 6c 65 20 77 69  ol table file wi
20eb0 74 68 20 70 69 63 5f 66 6c 61 67 20 77 6f 72 6b  th pic_flag work
20ec0 73 20 61 72 6f 75 6e 64 0a 09 20 20 23 20 61 20  s around..  # a 
20ed0 46 72 65 65 42 53 44 20 62 75 67 20 74 68 61 74  FreeBSD bug that
20ee0 20 63 61 75 73 65 73 20 70 72 6f 67 72 61 6d 73   causes programs
20ef0 20 74 6f 20 63 72 61 73 68 20 77 68 65 6e 20 2d   to crash when -
20f00 6c 6d 20 69 73 0a 09 20 20 23 20 6c 69 6e 6b 65  lm is..  # linke
20f10 64 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68  d before any oth
20f20 65 72 20 50 49 43 20 6f 62 6a 65 63 74 2e 20 20  er PIC object.  
20f30 42 75 74 20 77 65 20 6d 75 73 74 20 6e 6f 74 20  But we must not 
20f40 75 73 65 0a 09 20 20 23 20 70 69 63 5f 66 6c 61  use..  # pic_fla
20f50 67 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77  g when linking w
20f60 69 74 68 20 2d 73 74 61 74 69 63 2e 20 20 54 68  ith -static.  Th
20f70 65 20 70 72 6f 62 6c 65 6d 20 65 78 69 73 74 73  e problem exists
20f80 20 69 6e 0a 09 20 20 23 20 46 72 65 65 42 53 44   in..  # FreeBSD
20f90 20 32 2e 32 2e 36 20 61 6e 64 20 69 73 20 66 69   2.2.6 and is fi
20fa0 78 65 64 20 69 6e 20 46 72 65 65 42 53 44 20 33  xed in FreeBSD 3
20fb0 2e 31 2e 0a 09 20 20 2a 2d 2a 2d 66 72 65 65 62  .1...  *-*-freeb
20fc0 73 64 32 2a 7c 2a 2d 2a 2d 66 72 65 65 62 73 64  sd2*|*-*-freebsd
20fd0 33 2e 30 2a 7c 2a 2d 2a 2d 66 72 65 65 62 73 64  3.0*|*-*-freebsd
20fe0 65 6c 66 33 2e 30 2a 29 0a 09 20 20 20 20 63 61  elf3.0*)..    ca
20ff0 73 65 20 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  se "$compile_com
21000 6d 61 6e 64 20 22 20 69 6e 0a 09 20 20 20 20 2a  mand " in..    *
21010 22 20 2d 73 74 61 74 69 63 20 22 2a 29 20 3b 3b  " -static "*) ;;
21020 0a 09 20 20 20 20 2a 29 20 70 69 63 5f 66 6c 61  ..    *) pic_fla
21030 67 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 3d 22  g_for_symtable="
21040 20 24 70 69 63 5f 66 6c 61 67 20 2d 44 46 52 45   $pic_flag -DFRE
21050 45 42 53 44 5f 57 4f 52 4b 41 52 4f 55 4e 44 22  EBSD_WORKAROUND"
21060 3b 3b 0a 09 20 20 20 20 65 73 61 63 3b 3b 0a 09  ;;..    esac;;..
21070 20 20 2a 2d 2a 2d 68 70 75 78 2a 29 0a 09 20 20    *-*-hpux*)..  
21080 20 20 63 61 73 65 20 22 24 63 6f 6d 70 69 6c 65    case "$compile
21090 5f 63 6f 6d 6d 61 6e 64 20 22 20 69 6e 0a 09 20  _command " in.. 
210a0 20 20 20 2a 22 20 2d 73 74 61 74 69 63 20 22 2a     *" -static "*
210b0 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 70 69 63  ) ;;..    *) pic
210c0 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d 74 61 62  _flag_for_symtab
210d0 6c 65 3d 22 20 24 70 69 63 5f 66 6c 61 67 22 3b  le=" $pic_flag";
210e0 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 65  ;..    esac..  e
210f0 73 61 63 0a 0a 09 20 20 23 20 4e 6f 77 20 63 6f  sac...  # Now co
21100 6d 70 69 6c 65 20 74 68 65 20 64 79 6e 61 6d 69  mpile the dynami
21110 63 20 73 79 6d 62 6f 6c 20 66 69 6c 65 2e 0a 09  c symbol file...
21120 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 6f 75    $show "(cd $ou
21130 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24  tput_objdir && $
21140 4c 54 43 43 20 20 24 4c 54 43 46 4c 41 47 53 20  LTCC  $LTCFLAGS 
21150 2d 63 24 6e 6f 5f 62 75 69 6c 74 69 6e 5f 66 6c  -c$no_builtin_fl
21160 61 67 24 70 69 63 5f 66 6c 61 67 5f 66 6f 72 5f  ag$pic_flag_for_
21170 73 79 6d 74 61 62 6c 65 20 5c 22 24 64 6c 73 79  symtable \"$dlsy
21180 6d 73 5c 22 29 22 0a 09 20 20 24 72 75 6e 20 65  ms\")"..  $run e
21190 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74  val '(cd $output
211a0 5f 6f 62 6a 64 69 72 20 26 26 20 24 4c 54 43 43  _objdir && $LTCC
211b0 20 20 24 4c 54 43 46 4c 41 47 53 20 2d 63 24 6e    $LTCFLAGS -c$n
211c0 6f 5f 62 75 69 6c 74 69 6e 5f 66 6c 61 67 24 70  o_builtin_flag$p
211d0 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d 74  ic_flag_for_symt
211e0 61 62 6c 65 20 22 24 64 6c 73 79 6d 73 22 29 27  able "$dlsyms")'
211f0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09 20 20   || exit $?...  
21200 23 20 43 6c 65 61 6e 20 75 70 20 74 68 65 20 67  # Clean up the g
21210 65 6e 65 72 61 74 65 64 20 66 69 6c 65 73 2e 0a  enerated files..
21220 09 20 20 24 73 68 6f 77 20 22 24 72 6d 20 24 6f  .  $show "$rm $o
21230 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c  utput_objdir/$dl
21240 73 79 6d 73 20 24 6e 6c 69 73 74 20 24 7b 6e 6c  syms $nlist ${nl
21250 69 73 74 7d 53 20 24 7b 6e 6c 69 73 74 7d 54 22  ist}S ${nlist}T"
21260 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 22 24 6f  ..  $run $rm "$o
21270 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c  utput_objdir/$dl
21280 73 79 6d 73 22 20 22 24 6e 6c 69 73 74 22 20 22  syms" "$nlist" "
21290 24 7b 6e 6c 69 73 74 7d 53 22 20 22 24 7b 6e 6c  ${nlist}S" "${nl
212a0 69 73 74 7d 54 22 0a 0a 09 20 20 23 20 54 72 61  ist}T"...  # Tra
212b0 6e 73 66 6f 72 6d 20 74 68 65 20 73 79 6d 62 6f  nsform the symbo
212c0 6c 20 66 69 6c 65 20 69 6e 74 6f 20 74 68 65 20  l file into the 
212d0 63 6f 72 72 65 63 74 20 6e 61 6d 65 2e 0a 20 20  correct name..  
212e0 20 20 20 20 20 20 20 20 63 61 73 65 20 24 68 6f          case $ho
212f0 73 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20  st in.          
21300 2a 63 79 67 77 69 6e 2a 20 7c 20 2a 6d 69 6e 67  *cygwin* | *ming
21310 77 2a 20 29 0a 20 20 20 20 20 20 20 20 20 20 20  w* ).           
21320 20 69 66 20 74 65 73 74 20 2d 66 20 22 24 6f 75   if test -f "$ou
21330 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75  tput_objdir/${ou
21340 74 70 75 74 6e 61 6d 65 7d 2e 64 65 66 22 20 3b  tputname}.def" ;
21350 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   then.          
21360 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d      compile_comm
21370 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f  and=`$echo "X$co
21380 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c  mpile_command" |
21390 20 24 58 73 65 64 20 2d 65 20 22 73 25 40 53 59   $Xsed -e "s%@SY
213a0 4d 46 49 4c 45 40 25 24 6f 75 74 70 75 74 5f 6f  MFILE@%$output_o
213b0 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61  bjdir/${outputna
213c0 6d 65 7d 2e 64 65 66 20 24 6f 75 74 70 75 74 5f  me}.def $output_
213d0 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e  objdir/${outputn
213e0 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 25  ame}S.${objext}%
213f0 22 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  "`.             
21400 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e   finalize_comman
21410 64 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6e 61  d=`$echo "X$fina
21420 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20  lize_command" | 
21430 24 58 73 65 64 20 2d 65 20 22 73 25 40 53 59 4d  $Xsed -e "s%@SYM
21440 46 49 4c 45 40 25 24 6f 75 74 70 75 74 5f 6f 62  FILE@%$output_ob
21450 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d  jdir/${outputnam
21460 65 7d 2e 64 65 66 20 24 6f 75 74 70 75 74 5f 6f  e}.def $output_o
21470 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61  bjdir/${outputna
21480 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 25 22  me}S.${objext}%"
21490 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c  `.            el
214a0 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  se.             
214b0 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
214c0 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70 69  =`$echo "X$compi
214d0 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58  le_command" | $X
214e0 73 65 64 20 2d 65 20 22 73 25 40 53 59 4d 46 49  sed -e "s%@SYMFI
214f0 4c 45 40 25 24 6f 75 74 70 75 74 5f 6f 62 6a 64  LE@%$output_objd
21500 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d  ir/${outputname}
21510 53 2e 24 7b 6f 62 6a 65 78 74 7d 25 22 60 0a 20  S.${objext}%"`. 
21520 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e               fin
21530 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24  alize_command=`$
21540 65 63 68 6f 20 22 58 24 66 69 6e 61 6c 69 7a 65  echo "X$finalize
21550 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65  _command" | $Xse
21560 64 20 2d 65 20 22 73 25 40 53 59 4d 46 49 4c 45  d -e "s%@SYMFILE
21570 40 25 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  @%$output_objdir
21580 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 53 2e  /${outputname}S.
21590 24 7b 6f 62 6a 65 78 74 7d 25 22 60 0a 20 20 20  ${objext}%"`.   
215a0 20 20 20 20 20 20 20 20 20 20 66 69 0a 20 20 20            fi.   
215b0 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
215c0 20 20 20 20 20 20 2a 20 29 0a 20 20 20 20 20 20        * ).      
215d0 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f        compile_co
215e0 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24  mmand=`$echo "X$
215f0 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22  compile_command"
21600 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 25 40   | $Xsed -e "s%@
21610 53 59 4d 46 49 4c 45 40 25 24 6f 75 74 70 75 74  SYMFILE@%$output
21620 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74  _objdir/${output
21630 6e 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d  name}S.${objext}
21640 25 22 60 0a 20 20 20 20 20 20 20 20 20 20 20 20  %"`.            
21650 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
21660 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6e 61 6c  =`$echo "X$final
21670 69 7a 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ize_command" | $
21680 58 73 65 64 20 2d 65 20 22 73 25 40 53 59 4d 46  Xsed -e "s%@SYMF
21690 49 4c 45 40 25 24 6f 75 74 70 75 74 5f 6f 62 6a  ILE@%$output_obj
216a0 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65  dir/${outputname
216b0 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 25 22 60 0a  }S.${objext}%"`.
216c0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
216d0 20 20 20 20 20 20 20 20 20 65 73 61 63 0a 09 20           esac.. 
216e0 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f   ;;..*)..  $echo
216f0 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 6e 6b   "$modename: unk
21700 6e 6f 77 6e 20 73 75 66 66 69 78 20 66 6f 72 20  nown suffix for 
21710 5c 60 24 64 6c 73 79 6d 73 27 22 20 31 3e 26 32  \`$dlsyms'" 1>&2
21720 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f 46  ..  exit $EXIT_F
21730 41 49 4c 55 52 45 0a 09 20 20 3b 3b 0a 09 65 73  AILURE..  ;;..es
21740 61 63 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 23  ac.      else..#
21750 20 57 65 20 6b 65 65 70 20 67 6f 69 6e 67 20 6a   We keep going j
21760 75 73 74 20 69 6e 20 63 61 73 65 20 74 68 65 20  ust in case the 
21770 75 73 65 72 20 64 69 64 6e 27 74 20 72 65 66 65  user didn't refe
21780 72 20 74 6f 0a 09 23 20 6c 74 5f 70 72 65 6c 6f  r to..# lt_prelo
21790 61 64 65 64 5f 73 79 6d 62 6f 6c 73 2e 20 20 54  aded_symbols.  T
217a0 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 66  he linker will f
217b0 61 69 6c 20 69 66 20 67 6c 6f 62 61 6c 5f 73 79  ail if global_sy
217c0 6d 62 6f 6c 5f 70 69 70 65 0a 09 23 20 72 65 61  mbol_pipe..# rea
217d0 6c 6c 79 20 77 61 73 20 72 65 71 75 69 72 65 64  lly was required
217e0 2e 0a 0a 09 23 20 4e 75 6c 6c 69 66 79 20 74 68  ....# Nullify th
217f0 65 20 73 79 6d 62 6f 6c 20 66 69 6c 65 2e 0a 09  e symbol file...
21800 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d  compile_command=
21810 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70 69 6c  `$echo "X$compil
21820 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73  e_command" | $Xs
21830 65 64 20 2d 65 20 22 73 25 20 40 53 59 4d 46 49  ed -e "s% @SYMFI
21840 4c 45 40 25 25 22 60 0a 09 66 69 6e 61 6c 69 7a  LE@%%"`..finaliz
21850 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f  e_command=`$echo
21860 20 22 58 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d   "X$finalize_com
21870 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65  mand" | $Xsed -e
21880 20 22 73 25 20 40 53 59 4d 46 49 4c 45 40 25 25   "s% @SYMFILE@%%
21890 22 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  "`.      fi..   
218a0 20 20 20 69 66 20 74 65 73 74 20 22 24 6e 65 65     if test "$nee
218b0 64 5f 72 65 6c 69 6e 6b 22 20 3d 20 6e 6f 20 7c  d_relink" = no |
218c0 7c 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c  | test "$build_l
218d0 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20  ibtool_libs" != 
218e0 79 65 73 3b 20 74 68 65 6e 0a 09 23 20 52 65 70  yes; then..# Rep
218f0 6c 61 63 65 20 74 68 65 20 6f 75 74 70 75 74 20  lace the output 
21900 66 69 6c 65 20 73 70 65 63 69 66 69 63 61 74 69  file specificati
21910 6f 6e 2e 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d  on...compile_com
21920 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 63  mand=`$echo "X$c
21930 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20  ompile_command" 
21940 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 40 4f  | $Xsed -e 's%@O
21950 55 54 50 55 54 40 25 27 22 24 6f 75 74 70 75 74  UTPUT@%'"$output
21960 22 27 25 67 27 60 0a 09 6c 69 6e 6b 5f 63 6f 6d  "'%g'`..link_com
21970 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63  mand="$compile_c
21980 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72  ommand$compile_r
21990 70 61 74 68 22 0a 0a 09 23 20 57 65 20 68 61 76  path"...# We hav
219a0 65 20 6e 6f 20 75 6e 69 6e 73 74 61 6c 6c 65 64  e no uninstalled
219b0 20 6c 69 62 72 61 72 79 20 64 65 70 65 6e 64 65   library depende
219c0 6e 63 69 65 73 2c 20 73 6f 20 66 69 6e 61 6c 69  ncies, so finali
219d0 7a 65 20 72 69 67 68 74 20 6e 6f 77 2e 0a 09 24  ze right now...$
219e0 73 68 6f 77 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d  show "$link_comm
219f0 61 6e 64 22 0a 09 24 72 75 6e 20 65 76 61 6c 20  and"..$run eval 
21a00 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a  "$link_command".
21a10 09 65 78 69 74 5f 73 74 61 74 75 73 3d 24 3f 0a  .exit_status=$?.
21a20 0a 09 23 20 44 65 6c 65 74 65 20 74 68 65 20 67  ..# Delete the g
21a30 65 6e 65 72 61 74 65 64 20 66 69 6c 65 73 2e 0a  enerated files..
21a40 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 6c  .if test -n "$dl
21a50 73 79 6d 73 22 3b 20 74 68 65 6e 0a 09 20 20 24  syms"; then..  $
21a60 73 68 6f 77 20 22 24 72 6d 20 24 6f 75 74 70 75  show "$rm $outpu
21a70 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75  t_objdir/${outpu
21a80 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74  tname}S.${objext
21a90 7d 22 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 22  }"..  $run $rm "
21aa0 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
21ab0 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 53 2e 24 7b  {outputname}S.${
21ac0 6f 62 6a 65 78 74 7d 22 0a 09 66 69 0a 0a 09 65  objext}"..fi...e
21ad0 78 69 74 20 24 65 78 69 74 5f 73 74 61 74 75 73  xit $exit_status
21ae0 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
21af0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68   if test -n "$sh
21b00 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68  libpath_var"; th
21b10 65 6e 0a 09 23 20 57 65 20 73 68 6f 75 6c 64 20  en..# We should 
21b20 73 65 74 20 74 68 65 20 73 68 6c 69 62 70 61 74  set the shlibpat
21b30 68 5f 76 61 72 0a 09 72 70 61 74 68 3d 0a 09 66  h_var..rpath=..f
21b40 6f 72 20 64 69 72 20 69 6e 20 24 74 65 6d 70 5f  or dir in $temp_
21b50 72 70 61 74 68 3b 20 64 6f 0a 09 20 20 63 61 73  rpath; do..  cas
21b60 65 20 24 64 69 72 20 69 6e 0a 09 20 20 5b 5c 5c  e $dir in..  [\\
21b70 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b  /]* | [A-Za-z]:[
21b80 5c 5c 2f 5d 2a 29 0a 09 20 20 20 20 23 20 41 62  \\/]*)..    # Ab
21b90 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 20 20  solute path...  
21ba0 20 20 72 70 61 74 68 3d 22 24 72 70 61 74 68 24    rpath="$rpath$
21bb0 64 69 72 3a 22 0a 09 20 20 20 20 3b 3b 0a 09 20  dir:"..    ;;.. 
21bc0 20 2a 29 0a 09 20 20 20 20 23 20 52 65 6c 61 74   *)..    # Relat
21bd0 69 76 65 20 70 61 74 68 3a 20 61 64 64 20 61 20  ive path: add a 
21be0 74 68 69 73 64 69 72 20 65 6e 74 72 79 2e 0a 09  thisdir entry...
21bf0 20 20 20 20 72 70 61 74 68 3d 22 24 72 70 61 74      rpath="$rpat
21c00 68 5c 24 74 68 69 73 64 69 72 2f 24 64 69 72 3a  h\$thisdir/$dir:
21c10 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61  "..    ;;..  esa
21c20 63 0a 09 64 6f 6e 65 0a 09 74 65 6d 70 5f 72 70  c..done..temp_rp
21c30 61 74 68 3d 22 24 72 70 61 74 68 22 0a 20 20 20  ath="$rpath".   
21c40 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20     fi..      if 
21c50 74 65 73 74 20 2d 6e 20 22 24 63 6f 6d 70 69 6c  test -n "$compil
21c60 65 5f 73 68 6c 69 62 70 61 74 68 24 66 69 6e 61  e_shlibpath$fina
21c70 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 22 3b  lize_shlibpath";
21c80 20 74 68 65 6e 0a 09 63 6f 6d 70 69 6c 65 5f 63   then..compile_c
21c90 6f 6d 6d 61 6e 64 3d 22 24 73 68 6c 69 62 70 61  ommand="$shlibpa
21ca0 74 68 5f 76 61 72 3d 5c 22 24 63 6f 6d 70 69 6c  th_var=\"$compil
21cb0 65 5f 73 68 6c 69 62 70 61 74 68 24 66 69 6e 61  e_shlibpath$fina
21cc0 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 5c 24  lize_shlibpath\$
21cd0 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22  $shlibpath_var\"
21ce0 20 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e   $compile_comman
21cf0 64 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  d".      fi.    
21d00 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 66    if test -n "$f
21d10 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74  inalize_shlibpat
21d20 68 22 3b 20 74 68 65 6e 0a 09 66 69 6e 61 6c 69  h"; then..finali
21d30 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 73 68 6c  ze_command="$shl
21d40 69 62 70 61 74 68 5f 76 61 72 3d 5c 22 24 66 69  ibpath_var=\"$fi
21d50 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68  nalize_shlibpath
21d60 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  \$$shlibpath_var
21d70 5c 22 20 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  \" $finalize_com
21d80 6d 61 6e 64 22 0a 20 20 20 20 20 20 66 69 0a 0a  mand".      fi..
21d90 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 76 61        compile_va
21da0 72 3d 0a 20 20 20 20 20 20 66 69 6e 61 6c 69 7a  r=.      finaliz
21db0 65 5f 76 61 72 3d 0a 20 20 20 20 20 20 69 66 20  e_var=.      if 
21dc0 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74  test -n "$runpat
21dd0 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 69 66  h_var"; then..if
21de0 20 74 65 73 74 20 2d 6e 20 22 24 70 65 72 6d 5f   test -n "$perm_
21df0 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20  rpath"; then..  
21e00 23 20 57 65 20 73 68 6f 75 6c 64 20 73 65 74 20  # We should set 
21e10 74 68 65 20 72 75 6e 70 61 74 68 5f 76 61 72 2e  the runpath_var.
21e20 0a 09 20 20 72 70 61 74 68 3d 0a 09 20 20 66 6f  ..  rpath=..  fo
21e30 72 20 64 69 72 20 69 6e 20 24 70 65 72 6d 5f 72  r dir in $perm_r
21e40 70 61 74 68 3b 20 64 6f 0a 09 20 20 20 20 72 70  path; do..    rp
21e50 61 74 68 3d 22 24 72 70 61 74 68 24 64 69 72 3a  ath="$rpath$dir:
21e60 22 0a 09 20 20 64 6f 6e 65 0a 09 20 20 63 6f 6d  "..  done..  com
21e70 70 69 6c 65 5f 76 61 72 3d 22 24 72 75 6e 70 61  pile_var="$runpa
21e80 74 68 5f 76 61 72 3d 5c 22 24 72 70 61 74 68 5c  th_var=\"$rpath\
21e90 24 24 72 75 6e 70 61 74 68 5f 76 61 72 5c 22 20  $$runpath_var\" 
21ea0 22 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20 2d  "..fi..if test -
21eb0 6e 20 22 24 66 69 6e 61 6c 69 7a 65 5f 70 65 72  n "$finalize_per
21ec0 6d 5f 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09  m_rpath"; then..
21ed0 20 20 23 20 57 65 20 73 68 6f 75 6c 64 20 73 65    # We should se
21ee0 74 20 74 68 65 20 72 75 6e 70 61 74 68 5f 76 61  t the runpath_va
21ef0 72 2e 0a 09 20 20 72 70 61 74 68 3d 0a 09 20 20  r...  rpath=..  
21f00 66 6f 72 20 64 69 72 20 69 6e 20 24 66 69 6e 61  for dir in $fina
21f10 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61 74 68 3b  lize_perm_rpath;
21f20 20 64 6f 0a 09 20 20 20 20 72 70 61 74 68 3d 22   do..    rpath="
21f30 24 72 70 61 74 68 24 64 69 72 3a 22 0a 09 20 20  $rpath$dir:"..  
21f40 64 6f 6e 65 0a 09 20 20 66 69 6e 61 6c 69 7a 65  done..  finalize
21f50 5f 76 61 72 3d 22 24 72 75 6e 70 61 74 68 5f 76  _var="$runpath_v
21f60 61 72 3d 5c 22 24 72 70 61 74 68 5c 24 24 72 75  ar=\"$rpath\$$ru
21f70 6e 70 61 74 68 5f 76 61 72 5c 22 20 22 0a 09 66  npath_var\" "..f
21f80 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  i.      fi..    
21f90 20 20 69 66 20 74 65 73 74 20 22 24 6e 6f 5f 69    if test "$no_i
21fa0 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73 3b 20 74  nstall" = yes; t
21fb0 68 65 6e 0a 09 23 20 57 65 20 64 6f 6e 27 74 20  hen..# We don't 
21fc0 6e 65 65 64 20 74 6f 20 63 72 65 61 74 65 20 61  need to create a
21fd0 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 2e   wrapper script.
21fe0 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22  ..link_command="
21ff0 24 63 6f 6d 70 69 6c 65 5f 76 61 72 24 63 6f 6d  $compile_var$com
22000 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63 6f 6d  pile_command$com
22010 70 69 6c 65 5f 72 70 61 74 68 22 0a 09 23 20 52  pile_rpath"..# R
22020 65 70 6c 61 63 65 20 74 68 65 20 6f 75 74 70 75  eplace the outpu
22030 74 20 66 69 6c 65 20 73 70 65 63 69 66 69 63 61  t file specifica
22040 74 69 6f 6e 2e 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d  tion...link_comm
22050 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 6c 69  and=`$echo "X$li
22060 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58  nk_command" | $X
22070 73 65 64 20 2d 65 20 27 73 25 40 4f 55 54 50 55  sed -e 's%@OUTPU
22080 54 40 25 27 22 24 6f 75 74 70 75 74 22 27 25 67  T@%'"$output"'%g
22090 27 60 0a 09 23 20 44 65 6c 65 74 65 20 74 68 65  '`..# Delete the
220a0 20 6f 6c 64 20 6f 75 74 70 75 74 20 66 69 6c 65   old output file
220b0 2e 0a 09 24 72 75 6e 20 24 72 6d 20 24 6f 75 74  ...$run $rm $out
220c0 70 75 74 0a 09 23 20 4c 69 6e 6b 20 74 68 65 20  put..# Link the 
220d0 65 78 65 63 75 74 61 62 6c 65 20 61 6e 64 20 65  executable and e
220e0 78 69 74 0a 09 24 73 68 6f 77 20 22 24 6c 69 6e  xit..$show "$lin
220f0 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 24 72 75 6e  k_command"..$run
22100 20 65 76 61 6c 20 22 24 6c 69 6e 6b 5f 63 6f 6d   eval "$link_com
22110 6d 61 6e 64 22 20 7c 7c 20 65 78 69 74 20 24 3f  mand" || exit $?
22120 0a 09 65 78 69 74 20 24 45 58 49 54 5f 53 55 43  ..exit $EXIT_SUC
22130 43 45 53 53 0a 20 20 20 20 20 20 66 69 0a 0a 20  CESS.      fi.. 
22140 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 68       if test "$h
22150 61 72 64 63 6f 64 65 5f 61 63 74 69 6f 6e 22 20  ardcode_action" 
22160 3d 20 72 65 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09  = relink; then..
22170 23 20 46 61 73 74 20 69 6e 73 74 61 6c 6c 61 74  # Fast installat
22180 69 6f 6e 20 69 73 20 6e 6f 74 20 73 75 70 70 6f  ion is not suppo
22190 72 74 65 64 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d 61  rted..link_comma
221a0 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 76 61 72  nd="$compile_var
221b0 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
221c0 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 22 0a  $compile_rpath".
221d0 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .relink_command=
221e0 22 24 66 69 6e 61 6c 69 7a 65 5f 76 61 72 24 66  "$finalize_var$f
221f0 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 24  inalize_command$
22200 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 22 0a  finalize_rpath".
22210 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
22220 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 74 68 69  me: warning: thi
22230 73 20 70 6c 61 74 66 6f 72 6d 20 64 6f 65 73 20  s platform does 
22240 6e 6f 74 20 6c 69 6b 65 20 75 6e 69 6e 73 74 61  not like uninsta
22250 6c 6c 65 64 20 73 68 61 72 65 64 20 6c 69 62 72  lled shared libr
22260 61 72 69 65 73 22 20 31 3e 26 32 0a 09 24 65 63  aries" 1>&2..$ec
22270 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
22280 60 24 6f 75 74 70 75 74 27 20 77 69 6c 6c 20 62  `$output' will b
22290 65 20 72 65 6c 69 6e 6b 65 64 20 64 75 72 69 6e  e relinked durin
222a0 67 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 22 20  g installation" 
222b0 31 3e 26 32 0a 20 20 20 20 20 20 65 6c 73 65 0a  1>&2.      else.
222c0 09 69 66 20 74 65 73 74 20 22 24 66 61 73 74 5f  .if test "$fast_
222d0 69 6e 73 74 61 6c 6c 22 20 21 3d 20 6e 6f 3b 20  install" != no; 
222e0 74 68 65 6e 0a 09 20 20 6c 69 6e 6b 5f 63 6f 6d  then..  link_com
222f0 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
22300 76 61 72 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  var$compile_comm
22310 61 6e 64 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61  and$finalize_rpa
22320 74 68 22 0a 09 20 20 69 66 20 74 65 73 74 20 22  th"..  if test "
22330 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c 22 20 3d  $fast_install" =
22340 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
22350 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60  relink_command=`
22360 24 65 63 68 6f 20 22 58 24 63 6f 6d 70 69 6c 65  $echo "X$compile
22370 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  _var$compile_com
22380 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72 70 61  mand$compile_rpa
22390 74 68 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  th" | $Xsed -e '
223a0 73 25 40 4f 55 54 50 55 54 40 25 5c 24 70 72 6f  s%@OUTPUT@%\$pro
223b0 67 64 69 72 2f 5c 24 66 69 6c 65 25 67 27 60 0a  gdir/\$file%g'`.
223c0 09 20 20 65 6c 73 65 0a 09 20 20 20 20 23 20 66  .  else..    # f
223d0 61 73 74 5f 69 6e 73 74 61 6c 6c 20 69 73 20 73  ast_install is s
223e0 65 74 20 74 6f 20 6e 65 65 64 6c 65 73 73 0a 09  et to needless..
223f0 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61      relink_comma
22400 6e 64 3d 0a 09 20 20 66 69 0a 09 65 6c 73 65 0a  nd=..  fi..else.
22410 09 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .  link_command=
22420 22 24 63 6f 6d 70 69 6c 65 5f 76 61 72 24 63 6f  "$compile_var$co
22430 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63 6f  mpile_command$co
22440 6d 70 69 6c 65 5f 72 70 61 74 68 22 0a 09 20 20  mpile_rpath"..  
22450 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22  relink_command="
22460 24 66 69 6e 61 6c 69 7a 65 5f 76 61 72 24 66 69  $finalize_var$fi
22470 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 24 66  nalize_command$f
22480 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 22 0a 09  inalize_rpath"..
22490 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  fi.      fi..   
224a0 20 20 20 23 20 52 65 70 6c 61 63 65 20 74 68 65     # Replace the
224b0 20 6f 75 74 70 75 74 20 66 69 6c 65 20 73 70 65   output file spe
224c0 63 69 66 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20  cification..    
224d0 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60    link_command=`
224e0 24 65 63 68 6f 20 22 58 24 6c 69 6e 6b 5f 63 6f  $echo "X$link_co
224f0 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d  mmand" | $Xsed -
22500 65 20 27 73 25 40 4f 55 54 50 55 54 40 25 27 22  e 's%@OUTPUT@%'"
22510 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
22520 6f 75 74 70 75 74 6e 61 6d 65 22 27 25 67 27 60  outputname"'%g'`
22530 0a 0a 20 20 20 20 20 20 23 20 44 65 6c 65 74 65  ..      # Delete
22540 20 74 68 65 20 6f 6c 64 20 6f 75 74 70 75 74 20   the old output 
22550 66 69 6c 65 73 2e 0a 20 20 20 20 20 20 24 72 75  files..      $ru
22560 6e 20 24 72 6d 20 24 6f 75 74 70 75 74 20 24 6f  n $rm $output $o
22570 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75  utput_objdir/$ou
22580 74 70 75 74 6e 61 6d 65 20 24 6f 75 74 70 75 74  tputname $output
22590 5f 6f 62 6a 64 69 72 2f 6c 74 2d 24 6f 75 74 70  _objdir/lt-$outp
225a0 75 74 6e 61 6d 65 0a 0a 20 20 20 20 20 20 24 73  utname..      $s
225b0 68 6f 77 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61  how "$link_comma
225c0 6e 64 22 0a 20 20 20 20 20 20 24 72 75 6e 20 65  nd".      $run e
225d0 76 61 6c 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61  val "$link_comma
225e0 6e 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a  nd" || exit $?..
225f0 20 20 20 20 20 20 23 20 4e 6f 77 20 63 72 65 61        # Now crea
22600 74 65 20 74 68 65 20 77 72 61 70 70 65 72 20 73  te the wrapper s
22610 63 72 69 70 74 2e 0a 20 20 20 20 20 20 24 73 68  cript..      $sh
22620 6f 77 20 22 63 72 65 61 74 69 6e 67 20 24 6f 75  ow "creating $ou
22630 74 70 75 74 22 0a 0a 20 20 20 20 20 20 23 20 51  tput"..      # Q
22640 75 6f 74 65 20 74 68 65 20 72 65 6c 69 6e 6b 20  uote the relink 
22650 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 73 68 69 70  command for ship
22660 70 69 6e 67 2e 0a 20 20 20 20 20 20 69 66 20 74  ping..      if t
22670 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b 5f  est -n "$relink_
22680 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 0a 09  command"; then..
22690 23 20 50 72 65 73 65 72 76 65 20 61 6e 79 20 76  # Preserve any v
226a0 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 6d 61  ariables that ma
226b0 79 20 61 66 66 65 63 74 20 63 6f 6d 70 69 6c 65  y affect compile
226c0 72 20 62 65 68 61 76 69 6f 72 0a 09 66 6f 72 20  r behavior..for 
226d0 76 61 72 20 69 6e 20 24 76 61 72 69 61 62 6c 65  var in $variable
226e0 73 5f 73 61 76 65 64 5f 66 6f 72 5f 72 65 6c 69  s_saved_for_reli
226f0 6e 6b 3b 20 64 6f 0a 09 20 20 69 66 20 65 76 61  nk; do..  if eva
22700 6c 20 74 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24  l test -z \"\${$
22710 76 61 72 2b 73 65 74 7d 5c 22 3b 20 74 68 65 6e  var+set}\"; then
22720 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d  ..    relink_com
22730 6d 61 6e 64 3d 22 7b 20 74 65 73 74 20 2d 7a 20  mand="{ test -z 
22740 5c 22 5c 24 7b 24 76 61 72 2b 73 65 74 7d 5c 22  \"\${$var+set}\"
22750 20 7c 7c 20 75 6e 73 65 74 20 24 76 61 72 20 7c   || unset $var |
22760 7c 20 7b 20 24 76 61 72 3d 3b 20 65 78 70 6f 72  | { $var=; expor
22770 74 20 24 76 61 72 3b 20 7d 3b 20 7d 3b 20 24 72  t $var; }; }; $r
22780 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09  elink_command"..
22790 20 20 65 6c 69 66 20 65 76 61 6c 20 76 61 72 5f    elif eval var_
227a0 76 61 6c 75 65 3d 5c 24 24 76 61 72 3b 20 74 65  value=\$$var; te
227b0 73 74 20 2d 7a 20 22 24 76 61 72 5f 76 61 6c 75  st -z "$var_valu
227c0 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 72 65  e"; then..    re
227d0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 76  link_command="$v
227e0 61 72 3d 3b 20 65 78 70 6f 72 74 20 24 76 61 72  ar=; export $var
227f0 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  ; $relink_comman
22800 64 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  d"..  else..    
22810 76 61 72 5f 76 61 6c 75 65 3d 60 24 65 63 68 6f  var_value=`$echo
22820 20 22 58 24 76 61 72 5f 76 61 6c 75 65 22 20 7c   "X$var_value" |
22830 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f   $Xsed -e "$sed_
22840 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 20  quote_subst"`.. 
22850 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e     relink_comman
22860 64 3d 22 24 76 61 72 3d 5c 22 24 76 61 72 5f 76  d="$var=\"$var_v
22870 61 6c 75 65 5c 22 3b 20 65 78 70 6f 72 74 20 24  alue\"; export $
22880 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  var; $relink_com
22890 6d 61 6e 64 22 0a 09 20 20 66 69 0a 09 64 6f 6e  mand"..  fi..don
228a0 65 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  e..relink_comman
228b0 64 3d 22 28 63 64 20 60 70 77 64 60 3b 20 24 72  d="(cd `pwd`; $r
228c0 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 29 22 0a  elink_command)".
228d0 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .relink_command=
228e0 60 24 65 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b  `$echo "X$relink
228f0 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65  _command" | $Xse
22900 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74 65  d -e "$sed_quote
22910 5f 73 75 62 73 74 22 60 0a 20 20 20 20 20 20 66  _subst"`.      f
22920 69 0a 0a 20 20 20 20 20 20 23 20 51 75 6f 74 65  i..      # Quote
22930 20 24 65 63 68 6f 20 66 6f 72 20 73 68 69 70 70   $echo for shipp
22940 69 6e 67 2e 0a 20 20 20 20 20 20 69 66 20 74 65  ing..      if te
22950 73 74 20 22 58 24 65 63 68 6f 22 20 3d 20 22 58  st "X$echo" = "X
22960 24 53 48 45 4c 4c 20 24 70 72 6f 67 70 61 74 68  $SHELL $progpath
22970 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f   --fallback-echo
22980 22 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 24 70  "; then..case $p
22990 72 6f 67 70 61 74 68 20 69 6e 0a 09 5b 5c 5c 2f  rogpath in..[\\/
229a0 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c  ]* | [A-Za-z]:[\
229b0 5c 2f 5d 2a 29 20 71 65 63 68 6f 3d 22 24 53 48  \/]*) qecho="$SH
229c0 45 4c 4c 20 24 70 72 6f 67 70 61 74 68 20 2d 2d  ELL $progpath --
229d0 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 22 3b 3b  fallback-echo";;
229e0 0a 09 2a 29 20 71 65 63 68 6f 3d 22 24 53 48 45  ..*) qecho="$SHE
229f0 4c 4c 20 60 70 77 64 60 2f 24 70 72 6f 67 70 61  LL `pwd`/$progpa
22a00 74 68 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63  th --fallback-ec
22a10 68 6f 22 3b 3b 0a 09 65 73 61 63 0a 09 71 65 63  ho";;..esac..qec
22a20 68 6f 3d 60 24 65 63 68 6f 20 22 58 24 71 65 63  ho=`$echo "X$qec
22a30 68 6f 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  ho" | $Xsed -e "
22a40 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74  $sed_quote_subst
22a50 22 60 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 71  "`.      else..q
22a60 65 63 68 6f 3d 60 24 65 63 68 6f 20 22 58 24 65  echo=`$echo "X$e
22a70 63 68 6f 22 20 7c 20 24 58 73 65 64 20 2d 65 20  cho" | $Xsed -e 
22a80 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73  "$sed_quote_subs
22a90 74 22 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  t"`.      fi..  
22aa0 20 20 20 20 23 20 4f 6e 6c 79 20 61 63 74 75 61      # Only actua
22ab0 6c 6c 79 20 64 6f 20 74 68 69 6e 67 73 20 69 66  lly do things if
22ac0 20 6f 75 72 20 72 75 6e 20 63 6f 6d 6d 61 6e 64   our run command
22ad0 20 69 73 20 6e 6f 6e 2d 6e 75 6c 6c 2e 0a 20 20   is non-null..  
22ae0 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
22af0 24 72 75 6e 22 3b 20 74 68 65 6e 0a 09 23 20 77  $run"; then..# w
22b00 69 6e 33 32 20 77 69 6c 6c 20 74 68 69 6e 6b 20  in32 will think 
22b10 74 68 65 20 73 63 72 69 70 74 20 69 73 20 61 20  the script is a 
22b20 62 69 6e 61 72 79 20 69 66 20 69 74 20 68 61 73  binary if it has
22b30 0a 09 23 20 61 20 2e 65 78 65 20 73 75 66 66 69  ..# a .exe suffi
22b40 78 2c 20 73 6f 20 77 65 20 73 74 72 69 70 20 69  x, so we strip i
22b50 74 20 6f 66 66 20 68 65 72 65 2e 0a 09 63 61 73  t off here...cas
22b60 65 20 24 6f 75 74 70 75 74 20 69 6e 0a 09 20 20  e $output in..  
22b70 2a 2e 65 78 65 29 20 6f 75 74 70 75 74 3d 60 24  *.exe) output=`$
22b80 65 63 68 6f 20 24 6f 75 74 70 75 74 7c 24 7b 53  echo $output|${S
22b90 45 44 7d 20 27 73 2c 2e 65 78 65 24 2c 2c 27 60  ED} 's,.exe$,,'`
22ba0 20 3b 3b 0a 09 65 73 61 63 0a 09 23 20 74 65 73   ;;..esac..# tes
22bb0 74 20 66 6f 72 20 63 79 67 77 69 6e 20 62 65 63  t for cygwin bec
22bc0 61 75 73 65 20 6d 76 20 66 61 69 6c 73 20 77 2f  ause mv fails w/
22bd0 6f 20 2e 65 78 65 20 65 78 74 65 6e 73 69 6f 6e  o .exe extension
22be0 73 0a 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e  s..case $host in
22bf0 0a 09 20 20 2a 63 79 67 77 69 6e 2a 29 0a 09 20  ..  *cygwin*).. 
22c00 20 20 20 65 78 65 65 78 74 3d 2e 65 78 65 0a 09     exeext=.exe..
22c10 20 20 20 20 6f 75 74 70 75 74 6e 61 6d 65 3d 60      outputname=`
22c20 24 65 63 68 6f 20 24 6f 75 74 70 75 74 6e 61 6d  $echo $outputnam
22c30 65 7c 24 7b 53 45 44 7d 20 27 73 2c 2e 65 78 65  e|${SED} 's,.exe
22c40 24 2c 2c 27 60 20 3b 3b 0a 09 20 20 2a 29 20 65  $,,'` ;;..  *) e
22c50 78 65 65 78 74 3d 20 3b 3b 0a 09 65 73 61 63 0a  xeext= ;;..esac.
22c60 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09  .case $host in..
22c70 20 20 2a 63 79 67 77 69 6e 2a 20 7c 20 2a 6d 69    *cygwin* | *mi
22c80 6e 67 77 2a 20 29 0a 20 20 20 20 20 20 20 20 20  ngw* ).         
22c90 20 20 20 6f 75 74 70 75 74 5f 6e 61 6d 65 3d 60     output_name=`
22ca0 62 61 73 65 6e 61 6d 65 20 24 6f 75 74 70 75 74  basename $output
22cb0 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  `.            ou
22cc0 74 70 75 74 5f 70 61 74 68 3d 60 64 69 72 6e 61  tput_path=`dirna
22cd0 6d 65 20 24 6f 75 74 70 75 74 60 0a 20 20 20 20  me $output`.    
22ce0 20 20 20 20 20 20 20 20 63 77 72 61 70 70 65 72          cwrapper
22cf0 73 6f 75 72 63 65 3d 22 24 6f 75 74 70 75 74 5f  source="$output_
22d00 70 61 74 68 2f 24 6f 62 6a 64 69 72 2f 6c 74 2d  path/$objdir/lt-
22d10 24 6f 75 74 70 75 74 5f 6e 61 6d 65 2e 63 22 0a  $output_name.c".
22d20 20 20 20 20 20 20 20 20 20 20 20 20 63 77 72 61              cwra
22d30 70 70 65 72 3d 22 24 6f 75 74 70 75 74 5f 70 61  pper="$output_pa
22d40 74 68 2f 24 6f 75 74 70 75 74 5f 6e 61 6d 65 2e  th/$output_name.
22d50 65 78 65 22 0a 20 20 20 20 20 20 20 20 20 20 20  exe".           
22d60 20 24 72 6d 20 24 63 77 72 61 70 70 65 72 73 6f   $rm $cwrapperso
22d70 75 72 63 65 20 24 63 77 72 61 70 70 65 72 0a 20  urce $cwrapper. 
22d80 20 20 20 20 20 20 20 20 20 20 20 74 72 61 70 20             trap 
22d90 22 24 72 6d 20 24 63 77 72 61 70 70 65 72 73 6f  "$rm $cwrapperso
22da0 75 72 63 65 20 24 63 77 72 61 70 70 65 72 3b 20  urce $cwrapper; 
22db0 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
22dc0 52 45 22 20 31 20 32 20 31 35 0a 0a 09 20 20 20  RE" 1 2 15...   
22dd0 20 63 61 74 20 3e 20 24 63 77 72 61 70 70 65 72   cat > $cwrapper
22de0 73 6f 75 72 63 65 20 3c 3c 45 4f 46 0a 0a 2f 2a  source <<EOF../*
22df0 20 24 63 77 72 61 70 70 65 72 73 6f 75 72 63 65   $cwrappersource
22e00 20 2d 20 74 65 6d 70 6f 72 61 72 79 20 77 72 61   - temporary wra
22e10 70 70 65 72 20 65 78 65 63 75 74 61 62 6c 65 20  pper executable 
22e20 66 6f 72 20 24 6f 62 6a 64 69 72 2f 24 6f 75 74  for $objdir/$out
22e30 70 75 74 6e 61 6d 65 0a 20 20 20 47 65 6e 65 72  putname.   Gener
22e40 61 74 65 64 20 62 79 20 24 50 52 4f 47 52 41 4d  ated by $PROGRAM
22e50 20 2d 20 47 4e 55 20 24 50 41 43 4b 41 47 45 20   - GNU $PACKAGE 
22e60 24 56 45 52 53 49 4f 4e 24 54 49 4d 45 53 54 41  $VERSION$TIMESTA
22e70 4d 50 0a 0a 20 20 20 54 68 65 20 24 6f 75 74 70  MP..   The $outp
22e80 75 74 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f  ut program canno
22e90 74 20 62 65 20 64 69 72 65 63 74 6c 79 20 65 78  t be directly ex
22ea0 65 63 75 74 65 64 20 75 6e 74 69 6c 20 61 6c 6c  ecuted until all
22eb0 20 74 68 65 20 6c 69 62 74 6f 6f 6c 0a 20 20 20   the libtool.   
22ec0 6c 69 62 72 61 72 69 65 73 20 74 68 61 74 20 69  libraries that i
22ed0 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 72 65  t depends on are
22ee0 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 20 20 20   installed...   
22ef0 54 68 69 73 20 77 72 61 70 70 65 72 20 65 78 65  This wrapper exe
22f00 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6e  cutable should n
22f10 65 76 65 72 20 62 65 20 6d 6f 76 65 64 20 6f 75  ever be moved ou
22f20 74 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20 64  t of the build d
22f30 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 49 66 20  irectory..   If 
22f40 69 74 20 69 73 2c 20 69 74 20 77 69 6c 6c 20 6e  it is, it will n
22f50 6f 74 20 6f 70 65 72 61 74 65 20 63 6f 72 72 65  ot operate corre
22f60 63 74 6c 79 2e 0a 0a 20 20 20 43 75 72 72 65 6e  ctly...   Curren
22f70 74 6c 79 2c 20 69 74 20 73 69 6d 70 6c 79 20 65  tly, it simply e
22f80 78 65 63 73 20 74 68 65 20 77 72 61 70 70 65 72  xecs the wrapper
22f90 20 2a 73 63 72 69 70 74 2a 20 22 2f 62 69 6e 2f   *script* "/bin/
22fa0 73 68 20 24 6f 75 74 70 75 74 22 2c 0a 20 20 20  sh $output",.   
22fb0 62 75 74 20 63 6f 75 6c 64 20 65 76 65 6e 74 75  but could eventu
22fc0 61 6c 6c 79 20 61 62 73 6f 72 62 20 61 6c 6c 20  ally absorb all 
22fd0 6f 66 20 74 68 65 20 73 63 72 69 70 74 73 20 66  of the scripts f
22fe0 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 6e 64  unctionality and
22ff0 0a 20 20 20 65 78 65 63 20 24 6f 62 6a 64 69 72  .   exec $objdir
23000 2f 24 6f 75 74 70 75 74 6e 61 6d 65 20 64 69 72  /$outputname dir
23010 65 63 74 6c 79 2e 0a 2a 2f 0a 45 4f 46 0a 09 20  ectly..*/.EOF.. 
23020 20 20 20 63 61 74 20 3e 3e 20 24 63 77 72 61 70     cat >> $cwrap
23030 70 65 72 73 6f 75 72 63 65 3c 3c 22 45 4f 46 22  persource<<"EOF"
23040 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f  .#include <stdio
23050 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74  .h>.#include <st
23060 64 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65  dlib.h>.#include
23070 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63   <unistd.h>.#inc
23080 6c 75 64 65 20 3c 6d 61 6c 6c 6f 63 2e 68 3e 0a  lude <malloc.h>.
23090 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 61 72 67  #include <stdarg
230a0 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 61 73  .h>.#include <as
230b0 73 65 72 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65  sert.h>.#include
230c0 20 3c 73 74 72 69 6e 67 2e 68 3e 0a 23 69 6e 63   <string.h>.#inc
230d0 6c 75 64 65 20 3c 63 74 79 70 65 2e 68 3e 0a 23  lude <ctype.h>.#
230e0 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 61  include <sys/sta
230f0 74 2e 68 3e 0a 0a 23 69 66 20 64 65 66 69 6e 65  t.h>..#if define
23100 64 28 50 41 54 48 5f 4d 41 58 29 0a 23 20 64 65  d(PATH_MAX).# de
23110 66 69 6e 65 20 4c 54 5f 50 41 54 48 4d 41 58 20  fine LT_PATHMAX 
23120 50 41 54 48 5f 4d 41 58 0a 23 65 6c 69 66 20 64  PATH_MAX.#elif d
23130 65 66 69 6e 65 64 28 4d 41 58 50 41 54 48 4c 45  efined(MAXPATHLE
23140 4e 29 0a 23 20 64 65 66 69 6e 65 20 4c 54 5f 50  N).# define LT_P
23150 41 54 48 4d 41 58 20 4d 41 58 50 41 54 48 4c 45  ATHMAX MAXPATHLE
23160 4e 0a 23 65 6c 73 65 0a 23 20 64 65 66 69 6e 65  N.#else.# define
23170 20 4c 54 5f 50 41 54 48 4d 41 58 20 31 30 32 34   LT_PATHMAX 1024
23180 0a 23 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66  .#endif..#ifndef
23190 20 44 49 52 5f 53 45 50 41 52 41 54 4f 52 0a 23   DIR_SEPARATOR.#
231a0 20 64 65 66 69 6e 65 20 44 49 52 5f 53 45 50 41   define DIR_SEPA
231b0 52 41 54 4f 52 20 27 2f 27 0a 23 20 64 65 66 69  RATOR '/'.# defi
231c0 6e 65 20 50 41 54 48 5f 53 45 50 41 52 41 54 4f  ne PATH_SEPARATO
231d0 52 20 27 3a 27 0a 23 65 6e 64 69 66 0a 0a 23 69  R ':'.#endif..#i
231e0 66 20 64 65 66 69 6e 65 64 20 28 5f 57 49 4e 33  f defined (_WIN3
231f0 32 29 20 7c 7c 20 64 65 66 69 6e 65 64 20 28 5f  2) || defined (_
23200 5f 4d 53 44 4f 53 5f 5f 29 20 7c 7c 20 64 65 66  _MSDOS__) || def
23210 69 6e 65 64 20 28 5f 5f 44 4a 47 50 50 5f 5f 29  ined (__DJGPP__)
23220 20 7c 7c 20 5c 0a 20 20 64 65 66 69 6e 65 64 20   || \.  defined 
23230 28 5f 5f 4f 53 32 5f 5f 29 0a 23 20 64 65 66 69  (__OS2__).# defi
23240 6e 65 20 48 41 56 45 5f 44 4f 53 5f 42 41 53 45  ne HAVE_DOS_BASE
23250 44 5f 46 49 4c 45 5f 53 59 53 54 45 4d 0a 23 20  D_FILE_SYSTEM.# 
23260 69 66 6e 64 65 66 20 44 49 52 5f 53 45 50 41 52  ifndef DIR_SEPAR
23270 41 54 4f 52 5f 32 0a 23 20 20 64 65 66 69 6e 65  ATOR_2.#  define
23280 20 44 49 52 5f 53 45 50 41 52 41 54 4f 52 5f 32   DIR_SEPARATOR_2
23290 20 27 5c 5c 27 0a 23 20 65 6e 64 69 66 0a 23 20   '\\'.# endif.# 
232a0 69 66 6e 64 65 66 20 50 41 54 48 5f 53 45 50 41  ifndef PATH_SEPA
232b0 52 41 54 4f 52 5f 32 0a 23 20 20 64 65 66 69 6e  RATOR_2.#  defin
232c0 65 20 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52  e PATH_SEPARATOR
232d0 5f 32 20 27 3b 27 0a 23 20 65 6e 64 69 66 0a 23  _2 ';'.# endif.#
232e0 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66 20 44  endif..#ifndef D
232f0 49 52 5f 53 45 50 41 52 41 54 4f 52 5f 32 0a 23  IR_SEPARATOR_2.#
23300 20 64 65 66 69 6e 65 20 49 53 5f 44 49 52 5f 53   define IS_DIR_S
23310 45 50 41 52 41 54 4f 52 28 63 68 29 20 28 28 63  EPARATOR(ch) ((c
23320 68 29 20 3d 3d 20 44 49 52 5f 53 45 50 41 52 41  h) == DIR_SEPARA
23330 54 4f 52 29 0a 23 65 6c 73 65 20 2f 2a 20 44 49  TOR).#else /* DI
23340 52 5f 53 45 50 41 52 41 54 4f 52 5f 32 20 2a 2f  R_SEPARATOR_2 */
23350 0a 23 20 64 65 66 69 6e 65 20 49 53 5f 44 49 52  .# define IS_DIR
23360 5f 53 45 50 41 52 41 54 4f 52 28 63 68 29 20 5c  _SEPARATOR(ch) \
23370 0a 20 20 20 20 20 20 20 20 28 28 28 63 68 29 20  .        (((ch) 
23380 3d 3d 20 44 49 52 5f 53 45 50 41 52 41 54 4f 52  == DIR_SEPARATOR
23390 29 20 7c 7c 20 28 28 63 68 29 20 3d 3d 20 44 49  ) || ((ch) == DI
233a0 52 5f 53 45 50 41 52 41 54 4f 52 5f 32 29 29 0a  R_SEPARATOR_2)).
233b0 23 65 6e 64 69 66 20 2f 2a 20 44 49 52 5f 53 45  #endif /* DIR_SE
233c0 50 41 52 41 54 4f 52 5f 32 20 2a 2f 0a 0a 23 69  PARATOR_2 */..#i
233d0 66 6e 64 65 66 20 50 41 54 48 5f 53 45 50 41 52  fndef PATH_SEPAR
233e0 41 54 4f 52 5f 32 0a 23 20 64 65 66 69 6e 65 20  ATOR_2.# define 
233f0 49 53 5f 50 41 54 48 5f 53 45 50 41 52 41 54 4f  IS_PATH_SEPARATO
23400 52 28 63 68 29 20 28 28 63 68 29 20 3d 3d 20 50  R(ch) ((ch) == P
23410 41 54 48 5f 53 45 50 41 52 41 54 4f 52 29 0a 23  ATH_SEPARATOR).#
23420 65 6c 73 65 20 2f 2a 20 50 41 54 48 5f 53 45 50  else /* PATH_SEP
23430 41 52 41 54 4f 52 5f 32 20 2a 2f 0a 23 20 64 65  ARATOR_2 */.# de
23440 66 69 6e 65 20 49 53 5f 50 41 54 48 5f 53 45 50  fine IS_PATH_SEP
23450 41 52 41 54 4f 52 28 63 68 29 20 28 28 63 68 29  ARATOR(ch) ((ch)
23460 20 3d 3d 20 50 41 54 48 5f 53 45 50 41 52 41 54   == PATH_SEPARAT
23470 4f 52 5f 32 29 0a 23 65 6e 64 69 66 20 2f 2a 20  OR_2).#endif /* 
23480 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 5f 32  PATH_SEPARATOR_2
23490 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 58 4d 41   */..#define XMA
234a0 4c 4c 4f 43 28 74 79 70 65 2c 20 6e 75 6d 29 20  LLOC(type, num) 
234b0 20 20 20 20 20 28 28 74 79 70 65 20 2a 29 20 78       ((type *) x
234c0 6d 61 6c 6c 6f 63 20 28 28 6e 75 6d 29 20 2a 20  malloc ((num) * 
234d0 73 69 7a 65 6f 66 28 74 79 70 65 29 29 29 0a 23  sizeof(type))).#
234e0 64 65 66 69 6e 65 20 58 46 52 45 45 28 73 74 61  define XFREE(sta
234f0 6c 65 29 20 64 6f 20 7b 20 5c 0a 20 20 69 66 20  le) do { \.  if 
23500 28 73 74 61 6c 65 29 20 7b 20 66 72 65 65 20 28  (stale) { free (
23510 28 76 6f 69 64 20 2a 29 20 73 74 61 6c 65 29 3b  (void *) stale);
23520 20 73 74 61 6c 65 20 3d 20 30 3b 20 7d 20 5c 0a   stale = 0; } \.
23530 7d 20 77 68 69 6c 65 20 28 30 29 0a 0a 2f 2a 20  } while (0)../* 
23540 2d 44 44 45 42 55 47 20 69 73 20 66 61 69 72 6c  -DDEBUG is fairl
23550 79 20 63 6f 6d 6d 6f 6e 20 69 6e 20 43 46 4c 41  y common in CFLA
23560 47 53 2e 20 20 2a 2f 0a 23 75 6e 64 65 66 20 44  GS.  */.#undef D
23570 45 42 55 47 0a 23 69 66 20 64 65 66 69 6e 65 64  EBUG.#if defined
23580 20 44 45 42 55 47 57 52 41 50 50 45 52 0a 23 20   DEBUGWRAPPER.# 
23590 64 65 66 69 6e 65 20 44 45 42 55 47 28 66 6f 72  define DEBUG(for
235a0 6d 61 74 2c 20 2e 2e 2e 29 20 66 70 72 69 6e 74  mat, ...) fprint
235b0 66 28 73 74 64 65 72 72 2c 20 66 6f 72 6d 61 74  f(stderr, format
235c0 2c 20 5f 5f 56 41 5f 41 52 47 53 5f 5f 29 0a 23  , __VA_ARGS__).#
235d0 65 6c 73 65 0a 23 20 64 65 66 69 6e 65 20 44 45  else.# define DE
235e0 42 55 47 28 66 6f 72 6d 61 74 2c 20 2e 2e 2e 29  BUG(format, ...)
235f0 0a 23 65 6e 64 69 66 0a 0a 63 6f 6e 73 74 20 63  .#endif..const c
23600 68 61 72 20 2a 70 72 6f 67 72 61 6d 5f 6e 61 6d  har *program_nam
23610 65 20 3d 20 4e 55 4c 4c 3b 0a 0a 76 6f 69 64 20  e = NULL;..void 
23620 2a 20 78 6d 61 6c 6c 6f 63 20 28 73 69 7a 65 5f  * xmalloc (size_
23630 74 20 6e 75 6d 29 3b 0a 63 68 61 72 20 2a 20 78  t num);.char * x
23640 73 74 72 64 75 70 20 28 63 6f 6e 73 74 20 63 68  strdup (const ch
23650 61 72 20 2a 73 74 72 69 6e 67 29 3b 0a 63 6f 6e  ar *string);.con
23660 73 74 20 63 68 61 72 20 2a 20 62 61 73 65 5f 6e  st char * base_n
23670 61 6d 65 20 28 63 6f 6e 73 74 20 63 68 61 72 20  ame (const char 
23680 2a 6e 61 6d 65 29 3b 0a 63 68 61 72 20 2a 20 66  *name);.char * f
23690 69 6e 64 5f 65 78 65 63 75 74 61 62 6c 65 28 63  ind_executable(c
236a0 6f 6e 73 74 20 63 68 61 72 20 2a 77 72 61 70 70  onst char *wrapp
236b0 65 72 29 3b 0a 69 6e 74 20 20 20 20 63 68 65 63  er);.int    chec
236c0 6b 5f 65 78 65 63 75 74 61 62 6c 65 28 63 6f 6e  k_executable(con
236d0 73 74 20 63 68 61 72 20 2a 70 61 74 68 29 3b 0a  st char *path);.
236e0 63 68 61 72 20 2a 20 73 74 72 65 6e 64 7a 61 70  char * strendzap
236f0 28 63 68 61 72 20 2a 73 74 72 2c 20 63 6f 6e 73  (char *str, cons
23700 74 20 63 68 61 72 20 2a 70 61 74 29 3b 0a 76 6f  t char *pat);.vo
23710 69 64 20 6c 74 5f 66 61 74 61 6c 20 28 63 6f 6e  id lt_fatal (con
23720 73 74 20 63 68 61 72 20 2a 6d 65 73 73 61 67 65  st char *message
23730 2c 20 2e 2e 2e 29 3b 0a 0a 69 6e 74 0a 6d 61 69  , ...);..int.mai
23740 6e 20 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61  n (int argc, cha
23750 72 20 2a 61 72 67 76 5b 5d 29 0a 7b 0a 20 20 63  r *argv[]).{.  c
23760 68 61 72 20 2a 2a 6e 65 77 61 72 67 7a 3b 0a 20  har **newargz;. 
23770 20 69 6e 74 20 69 3b 0a 0a 20 20 70 72 6f 67 72   int i;..  progr
23780 61 6d 5f 6e 61 6d 65 20 3d 20 28 63 68 61 72 20  am_name = (char 
23790 2a 29 20 78 73 74 72 64 75 70 20 28 62 61 73 65  *) xstrdup (base
237a0 5f 6e 61 6d 65 20 28 61 72 67 76 5b 30 5d 29 29  _name (argv[0]))
237b0 3b 0a 20 20 44 45 42 55 47 28 22 28 6d 61 69 6e  ;.  DEBUG("(main
237c0 29 20 61 72 67 76 5b 30 5d 20 20 20 20 20 20 3a  ) argv[0]      :
237d0 20 25 73 5c 6e 22 2c 61 72 67 76 5b 30 5d 29 3b   %s\n",argv[0]);
237e0 0a 20 20 44 45 42 55 47 28 22 28 6d 61 69 6e 29  .  DEBUG("(main)
237f0 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 20 3a 20   program_name : 
23800 25 73 5c 6e 22 2c 70 72 6f 67 72 61 6d 5f 6e 61  %s\n",program_na
23810 6d 65 29 3b 0a 20 20 6e 65 77 61 72 67 7a 20 3d  me);.  newargz =
23820 20 58 4d 41 4c 4c 4f 43 28 63 68 61 72 20 2a 2c   XMALLOC(char *,
23830 20 61 72 67 63 2b 32 29 3b 0a 45 4f 46 0a 0a 20   argc+2);.EOF.. 
23840 20 20 20 20 20 20 20 20 20 20 20 63 61 74 20 3e             cat >
23850 3e 20 24 63 77 72 61 70 70 65 72 73 6f 75 72 63  > $cwrappersourc
23860 65 20 3c 3c 45 4f 46 0a 20 20 6e 65 77 61 72 67  e <<EOF.  newarg
23870 7a 5b 30 5d 20 3d 20 28 63 68 61 72 20 2a 29 20  z[0] = (char *) 
23880 78 73 74 72 64 75 70 28 22 24 53 48 45 4c 4c 22  xstrdup("$SHELL"
23890 29 3b 0a 45 4f 46 0a 0a 20 20 20 20 20 20 20 20  );.EOF..        
238a0 20 20 20 20 63 61 74 20 3e 3e 20 24 63 77 72 61      cat >> $cwra
238b0 70 70 65 72 73 6f 75 72 63 65 20 3c 3c 22 45 4f  ppersource <<"EO
238c0 46 22 0a 20 20 6e 65 77 61 72 67 7a 5b 31 5d 20  F".  newargz[1] 
238d0 3d 20 66 69 6e 64 5f 65 78 65 63 75 74 61 62 6c  = find_executabl
238e0 65 28 61 72 67 76 5b 30 5d 29 3b 0a 20 20 69 66  e(argv[0]);.  if
238f0 20 28 6e 65 77 61 72 67 7a 5b 31 5d 20 3d 3d 20   (newargz[1] == 
23900 4e 55 4c 4c 29 0a 20 20 20 20 6c 74 5f 66 61 74  NULL).    lt_fat
23910 61 6c 28 22 43 6f 75 6c 64 6e 27 74 20 66 69 6e  al("Couldn't fin
23920 64 20 25 73 22 2c 20 61 72 67 76 5b 30 5d 29 3b  d %s", argv[0]);
23930 0a 20 20 44 45 42 55 47 28 22 28 6d 61 69 6e 29  .  DEBUG("(main)
23940 20 66 6f 75 6e 64 20 65 78 65 20 61 74 20 3a 20   found exe at : 
23950 25 73 5c 6e 22 2c 6e 65 77 61 72 67 7a 5b 31 5d  %s\n",newargz[1]
23960 29 3b 0a 20 20 2f 2a 20 77 65 20 6b 6e 6f 77 20  );.  /* we know 
23970 74 68 65 20 73 63 72 69 70 74 20 68 61 73 20 74  the script has t
23980 68 65 20 73 61 6d 65 20 6e 61 6d 65 2c 20 77 69  he same name, wi
23990 74 68 6f 75 74 20 74 68 65 20 2e 65 78 65 20 2a  thout the .exe *
239a0 2f 0a 20 20 2f 2a 20 73 6f 20 6d 61 6b 65 20 73  /.  /* so make s
239b0 75 72 65 20 6e 65 77 61 72 67 7a 5b 31 5d 20 64  ure newargz[1] d
239c0 6f 65 73 6e 27 74 20 65 6e 64 20 69 6e 20 2e 65  oesn't end in .e
239d0 78 65 20 2a 2f 0a 20 20 73 74 72 65 6e 64 7a 61  xe */.  strendza
239e0 70 28 6e 65 77 61 72 67 7a 5b 31 5d 2c 22 2e 65  p(newargz[1],".e
239f0 78 65 22 29 3b 0a 20 20 66 6f 72 20 28 69 20 3d  xe");.  for (i =
23a00 20 31 3b 20 69 20 3c 20 61 72 67 63 3b 20 69 2b   1; i < argc; i+
23a10 2b 29 0a 20 20 20 20 6e 65 77 61 72 67 7a 5b 69  +).    newargz[i
23a20 2b 31 5d 20 3d 20 78 73 74 72 64 75 70 28 61 72  +1] = xstrdup(ar
23a30 67 76 5b 69 5d 29 3b 0a 20 20 6e 65 77 61 72 67  gv[i]);.  newarg
23a40 7a 5b 61 72 67 63 2b 31 5d 20 3d 20 4e 55 4c 4c  z[argc+1] = NULL
23a50 3b 0a 0a 20 20 66 6f 72 20 28 69 3d 30 3b 20 69  ;..  for (i=0; i
23a60 3c 61 72 67 63 2b 31 3b 20 69 2b 2b 29 0a 20 20  <argc+1; i++).  
23a70 7b 0a 20 20 20 20 44 45 42 55 47 28 22 28 6d 61  {.    DEBUG("(ma
23a80 69 6e 29 20 6e 65 77 61 72 67 7a 5b 25 64 5d 20  in) newargz[%d] 
23a90 20 20 3a 20 25 73 5c 6e 22 2c 69 2c 6e 65 77 61    : %s\n",i,newa
23aa0 72 67 7a 5b 69 5d 29 3b 0a 20 20 20 20 3b 0a 20  rgz[i]);.    ;. 
23ab0 20 7d 0a 0a 45 4f 46 0a 0a 20 20 20 20 20 20 20   }..EOF..       
23ac0 20 20 20 20 20 63 61 73 65 20 24 68 6f 73 74 5f       case $host_
23ad0 6f 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20  os in.          
23ae0 20 20 20 20 6d 69 6e 67 77 2a 29 0a 20 20 20 20      mingw*).    
23af0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 20              cat 
23b00 3e 3e 20 24 63 77 72 61 70 70 65 72 73 6f 75 72  >> $cwrappersour
23b10 63 65 20 3c 3c 45 4f 46 0a 20 20 65 78 65 63 76  ce <<EOF.  execv
23b20 28 22 24 53 48 45 4c 4c 22 2c 28 63 68 61 72 20  ("$SHELL",(char 
23b30 63 6f 6e 73 74 20 2a 2a 29 6e 65 77 61 72 67 7a  const **)newargz
23b40 29 3b 0a 45 4f 46 0a 20 20 20 20 20 20 20 20 20  );.EOF.         
23b50 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
23b60 20 20 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20        *).       
23b70 20 20 20 20 20 20 20 20 20 63 61 74 20 3e 3e 20           cat >> 
23b80 24 63 77 72 61 70 70 65 72 73 6f 75 72 63 65 20  $cwrappersource 
23b90 3c 3c 45 4f 46 0a 20 20 65 78 65 63 76 28 22 24  <<EOF.  execv("$
23ba0 53 48 45 4c 4c 22 2c 6e 65 77 61 72 67 7a 29 3b  SHELL",newargz);
23bb0 0a 45 4f 46 0a 20 20 20 20 20 20 20 20 20 20 20  .EOF.           
23bc0 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
23bd0 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 20 20    esac..        
23be0 20 20 20 20 63 61 74 20 3e 3e 20 24 63 77 72 61      cat >> $cwra
23bf0 70 70 65 72 73 6f 75 72 63 65 20 3c 3c 22 45 4f  ppersource <<"EO
23c00 46 22 0a 20 20 72 65 74 75 72 6e 20 31 32 37 3b  F".  return 127;
23c10 0a 7d 0a 0a 76 6f 69 64 20 2a 0a 78 6d 61 6c 6c  .}..void *.xmall
23c20 6f 63 20 28 73 69 7a 65 5f 74 20 6e 75 6d 29 0a  oc (size_t num).
23c30 7b 0a 20 20 76 6f 69 64 20 2a 20 70 20 3d 20 28  {.  void * p = (
23c40 76 6f 69 64 20 2a 29 20 6d 61 6c 6c 6f 63 20 28  void *) malloc (
23c50 6e 75 6d 29 3b 0a 20 20 69 66 20 28 21 70 29 0a  num);.  if (!p).
23c60 20 20 20 20 6c 74 5f 66 61 74 61 6c 20 28 22 4d      lt_fatal ("M
23c70 65 6d 6f 72 79 20 65 78 68 61 75 73 74 65 64 22  emory exhausted"
23c80 29 3b 0a 0a 20 20 72 65 74 75 72 6e 20 70 3b 0a  );..  return p;.
23c90 7d 0a 0a 63 68 61 72 20 2a 0a 78 73 74 72 64 75  }..char *.xstrdu
23ca0 70 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73  p (const char *s
23cb0 74 72 69 6e 67 29 0a 7b 0a 20 20 72 65 74 75 72  tring).{.  retur
23cc0 6e 20 73 74 72 69 6e 67 20 3f 20 73 74 72 63 70  n string ? strcp
23cd0 79 20 28 28 63 68 61 72 20 2a 29 20 78 6d 61 6c  y ((char *) xmal
23ce0 6c 6f 63 20 28 73 74 72 6c 65 6e 20 28 73 74 72  loc (strlen (str
23cf0 69 6e 67 29 20 2b 20 31 29 2c 20 73 74 72 69 6e  ing) + 1), strin
23d00 67 29 20 3a 20 4e 55 4c 4c 0a 3b 0a 7d 0a 0a 63  g) : NULL.;.}..c
23d10 6f 6e 73 74 20 63 68 61 72 20 2a 0a 62 61 73 65  onst char *.base
23d20 5f 6e 61 6d 65 20 28 63 6f 6e 73 74 20 63 68 61  _name (const cha
23d30 72 20 2a 6e 61 6d 65 29 0a 7b 0a 20 20 63 6f 6e  r *name).{.  con
23d40 73 74 20 63 68 61 72 20 2a 62 61 73 65 3b 0a 0a  st char *base;..
23d50 23 69 66 20 64 65 66 69 6e 65 64 20 28 48 41 56  #if defined (HAV
23d60 45 5f 44 4f 53 5f 42 41 53 45 44 5f 46 49 4c 45  E_DOS_BASED_FILE
23d70 5f 53 59 53 54 45 4d 29 0a 20 20 2f 2a 20 53 6b  _SYSTEM).  /* Sk
23d80 69 70 20 6f 76 65 72 20 74 68 65 20 64 69 73 6b  ip over the disk
23d90 20 6e 61 6d 65 20 69 6e 20 4d 53 44 4f 53 20 70   name in MSDOS p
23da0 61 74 68 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 69  athnames. */.  i
23db0 66 20 28 69 73 61 6c 70 68 61 20 28 28 75 6e 73  f (isalpha ((uns
23dc0 69 67 6e 65 64 20 63 68 61 72 29 6e 61 6d 65 5b  igned char)name[
23dd0 30 5d 29 20 26 26 20 6e 61 6d 65 5b 31 5d 20 3d  0]) && name[1] =
23de0 3d 20 27 3a 27 29 0a 20 20 20 20 6e 61 6d 65 20  = ':').    name 
23df0 2b 3d 20 32 3b 0a 23 65 6e 64 69 66 0a 0a 20 20  += 2;.#endif..  
23e00 66 6f 72 20 28 62 61 73 65 20 3d 20 6e 61 6d 65  for (base = name
23e10 3b 20 2a 6e 61 6d 65 3b 20 6e 61 6d 65 2b 2b 29  ; *name; name++)
23e20 0a 20 20 20 20 69 66 20 28 49 53 5f 44 49 52 5f  .    if (IS_DIR_
23e30 53 45 50 41 52 41 54 4f 52 20 28 2a 6e 61 6d 65  SEPARATOR (*name
23e40 29 29 0a 20 20 20 20 20 20 62 61 73 65 20 3d 20  )).      base = 
23e50 6e 61 6d 65 20 2b 20 31 3b 0a 20 20 72 65 74 75  name + 1;.  retu
23e60 72 6e 20 62 61 73 65 3b 0a 7d 0a 0a 69 6e 74 0a  rn base;.}..int.
23e70 63 68 65 63 6b 5f 65 78 65 63 75 74 61 62 6c 65  check_executable
23e80 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 70 61  (const char * pa
23e90 74 68 29 0a 7b 0a 20 20 73 74 72 75 63 74 20 73  th).{.  struct s
23ea0 74 61 74 20 73 74 3b 0a 0a 20 20 44 45 42 55 47  tat st;..  DEBUG
23eb0 28 22 28 63 68 65 63 6b 5f 65 78 65 63 75 74 61  ("(check_executa
23ec0 62 6c 65 29 20 20 3a 20 25 73 5c 6e 22 2c 20 70  ble)  : %s\n", p
23ed0 61 74 68 20 3f 20 28 2a 70 61 74 68 20 3f 20 70  ath ? (*path ? p
23ee0 61 74 68 20 3a 20 22 45 4d 50 54 59 21 22 29 20  ath : "EMPTY!") 
23ef0 3a 20 22 4e 55 4c 4c 21 22 29 3b 0a 20 20 69 66  : "NULL!");.  if
23f00 20 28 28 21 70 61 74 68 29 20 7c 7c 20 28 21 2a   ((!path) || (!*
23f10 70 61 74 68 29 29 0a 20 20 20 20 72 65 74 75 72  path)).    retur
23f20 6e 20 30 3b 0a 0a 20 20 69 66 20 28 28 73 74 61  n 0;..  if ((sta
23f30 74 20 28 70 61 74 68 2c 20 26 73 74 29 20 3e 3d  t (path, &st) >=
23f40 20 30 29 20 26 26 0a 20 20 20 20 20 20 28 0a 20   0) &&.      (. 
23f50 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e 47 57 20         /* MinGW 
23f60 26 20 6e 61 74 69 76 65 20 57 49 4e 33 32 20 64  & native WIN32 d
23f70 6f 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 53 5f  o not support S_
23f80 49 58 4f 54 48 20 6f 72 20 53 5f 49 58 47 52 50  IXOTH or S_IXGRP
23f90 20 2a 2f 0a 23 69 66 20 64 65 66 69 6e 65 64 20   */.#if defined 
23fa0 28 53 5f 49 58 4f 54 48 29 0a 20 20 20 20 20 20  (S_IXOTH).      
23fb0 20 28 28 73 74 2e 73 74 5f 6d 6f 64 65 20 26 20   ((st.st_mode & 
23fc0 53 5f 49 58 4f 54 48 29 20 3d 3d 20 53 5f 49 58  S_IXOTH) == S_IX
23fd0 4f 54 48 29 20 7c 7c 0a 23 65 6e 64 69 66 0a 23  OTH) ||.#endif.#
23fe0 69 66 20 64 65 66 69 6e 65 64 20 28 53 5f 49 58  if defined (S_IX
23ff0 47 52 50 29 0a 20 20 20 20 20 20 20 28 28 73 74  GRP).       ((st
24000 2e 73 74 5f 6d 6f 64 65 20 26 20 53 5f 49 58 47  .st_mode & S_IXG
24010 52 50 29 20 3d 3d 20 53 5f 49 58 47 52 50 29 20  RP) == S_IXGRP) 
24020 7c 7c 0a 23 65 6e 64 69 66 0a 20 20 20 20 20 20  ||.#endif.      
24030 20 28 28 73 74 2e 73 74 5f 6d 6f 64 65 20 26 20   ((st.st_mode & 
24040 53 5f 49 58 55 53 52 29 20 3d 3d 20 53 5f 49 58  S_IXUSR) == S_IX
24050 55 53 52 29 29 0a 20 20 20 20 20 20 29 0a 20 20  USR)).      ).  
24060 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 65 6c    return 1;.  el
24070 73 65 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b  se.    return 0;
24080 0a 7d 0a 0a 2f 2a 20 53 65 61 72 63 68 65 73 20  .}../* Searches 
24090 66 6f 72 20 74 68 65 20 66 75 6c 6c 20 70 61 74  for the full pat
240a0 68 20 6f 66 20 74 68 65 20 77 72 61 70 70 65 72  h of the wrapper
240b0 2e 20 20 52 65 74 75 72 6e 73 0a 20 20 20 6e 65  .  Returns.   ne
240c0 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 66 75  wly allocated fu
240d0 6c 6c 20 70 61 74 68 20 6e 61 6d 65 20 69 66 20  ll path name if 
240e0 66 6f 75 6e 64 2c 20 4e 55 4c 4c 20 6f 74 68 65  found, NULL othe
240f0 72 77 69 73 65 20 2a 2f 0a 63 68 61 72 20 2a 0a  rwise */.char *.
24100 66 69 6e 64 5f 65 78 65 63 75 74 61 62 6c 65 20  find_executable 
24110 28 63 6f 6e 73 74 20 63 68 61 72 2a 20 77 72 61  (const char* wra
24120 70 70 65 72 29 0a 7b 0a 20 20 69 6e 74 20 68 61  pper).{.  int ha
24130 73 5f 73 6c 61 73 68 20 3d 20 30 3b 0a 20 20 63  s_slash = 0;.  c
24140 6f 6e 73 74 20 63 68 61 72 2a 20 70 3b 0a 20 20  onst char* p;.  
24150 63 6f 6e 73 74 20 63 68 61 72 2a 20 70 5f 6e 65  const char* p_ne
24160 78 74 3b 0a 20 20 2f 2a 20 73 74 61 74 69 63 20  xt;.  /* static 
24170 62 75 66 66 65 72 20 66 6f 72 20 67 65 74 63 77  buffer for getcw
24180 64 20 2a 2f 0a 20 20 63 68 61 72 20 74 6d 70 5b  d */.  char tmp[
24190 4c 54 5f 50 41 54 48 4d 41 58 20 2b 20 31 5d 3b  LT_PATHMAX + 1];
241a0 0a 20 20 69 6e 74 20 74 6d 70 5f 6c 65 6e 3b 0a  .  int tmp_len;.
241b0 20 20 63 68 61 72 2a 20 63 6f 6e 63 61 74 5f 6e    char* concat_n
241c0 61 6d 65 3b 0a 0a 20 20 44 45 42 55 47 28 22 28  ame;..  DEBUG("(
241d0 66 69 6e 64 5f 65 78 65 63 75 74 61 62 6c 65 29  find_executable)
241e0 20 20 3a 20 25 73 5c 6e 22 2c 20 77 72 61 70 70    : %s\n", wrapp
241f0 65 72 20 3f 20 28 2a 77 72 61 70 70 65 72 20 3f  er ? (*wrapper ?
24200 20 77 72 61 70 70 65 72 20 3a 20 22 45 4d 50 54   wrapper : "EMPT
24210 59 21 22 29 20 3a 20 22 4e 55 4c 4c 21 22 29 3b  Y!") : "NULL!");
24220 0a 0a 20 20 69 66 20 28 28 77 72 61 70 70 65 72  ..  if ((wrapper
24230 20 3d 3d 20 4e 55 4c 4c 29 20 7c 7c 20 28 2a 77   == NULL) || (*w
24240 72 61 70 70 65 72 20 3d 3d 20 27 5c 30 27 29 29  rapper == '\0'))
24250 0a 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c  .    return NULL
24260 3b 0a 0a 20 20 2f 2a 20 41 62 73 6f 6c 75 74 65  ;..  /* Absolute
24270 20 70 61 74 68 3f 20 2a 2f 0a 23 69 66 20 64 65   path? */.#if de
24280 66 69 6e 65 64 20 28 48 41 56 45 5f 44 4f 53 5f  fined (HAVE_DOS_
24290 42 41 53 45 44 5f 46 49 4c 45 5f 53 59 53 54 45  BASED_FILE_SYSTE
242a0 4d 29 0a 20 20 69 66 20 28 69 73 61 6c 70 68 61  M).  if (isalpha
242b0 20 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72   ((unsigned char
242c0 29 77 72 61 70 70 65 72 5b 30 5d 29 20 26 26 20  )wrapper[0]) && 
242d0 77 72 61 70 70 65 72 5b 31 5d 20 3d 3d 20 27 3a  wrapper[1] == ':
242e0 27 29 0a 20 20 7b 0a 20 20 20 20 63 6f 6e 63 61  ').  {.    conca
242f0 74 5f 6e 61 6d 65 20 3d 20 78 73 74 72 64 75 70  t_name = xstrdup
24300 20 28 77 72 61 70 70 65 72 29 3b 0a 20 20 20 20   (wrapper);.    
24310 69 66 20 28 63 68 65 63 6b 5f 65 78 65 63 75 74  if (check_execut
24320 61 62 6c 65 28 63 6f 6e 63 61 74 5f 6e 61 6d 65  able(concat_name
24330 29 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20  )).      return 
24340 63 6f 6e 63 61 74 5f 6e 61 6d 65 3b 0a 20 20 20  concat_name;.   
24350 20 58 46 52 45 45 28 63 6f 6e 63 61 74 5f 6e 61   XFREE(concat_na
24360 6d 65 29 3b 0a 20 20 7d 0a 20 20 65 6c 73 65 0a  me);.  }.  else.
24370 20 20 7b 0a 23 65 6e 64 69 66 0a 20 20 20 20 69    {.#endif.    i
24380 66 20 28 49 53 5f 44 49 52 5f 53 45 50 41 52 41  f (IS_DIR_SEPARA
24390 54 4f 52 20 28 77 72 61 70 70 65 72 5b 30 5d 29  TOR (wrapper[0])
243a0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f  ).    {.      co
243b0 6e 63 61 74 5f 6e 61 6d 65 20 3d 20 78 73 74 72  ncat_name = xstr
243c0 64 75 70 20 28 77 72 61 70 70 65 72 29 3b 0a 20  dup (wrapper);. 
243d0 20 20 20 20 20 69 66 20 28 63 68 65 63 6b 5f 65       if (check_e
243e0 78 65 63 75 74 61 62 6c 65 28 63 6f 6e 63 61 74  xecutable(concat
243f0 5f 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20  _name)).        
24400 72 65 74 75 72 6e 20 63 6f 6e 63 61 74 5f 6e 61  return concat_na
24410 6d 65 3b 0a 20 20 20 20 20 20 58 46 52 45 45 28  me;.      XFREE(
24420 63 6f 6e 63 61 74 5f 6e 61 6d 65 29 3b 0a 20 20  concat_name);.  
24430 20 20 7d 0a 23 69 66 20 64 65 66 69 6e 65 64 20    }.#if defined 
24440 28 48 41 56 45 5f 44 4f 53 5f 42 41 53 45 44 5f  (HAVE_DOS_BASED_
24450 46 49 4c 45 5f 53 59 53 54 45 4d 29 0a 20 20 7d  FILE_SYSTEM).  }
24460 0a 23 65 6e 64 69 66 0a 0a 20 20 66 6f 72 20 28  .#endif..  for (
24470 70 20 3d 20 77 72 61 70 70 65 72 3b 20 2a 70 3b  p = wrapper; *p;
24480 20 70 2b 2b 29 0a 20 20 20 20 69 66 20 28 2a 70   p++).    if (*p
24490 20 3d 3d 20 27 2f 27 29 0a 20 20 20 20 7b 0a 20   == '/').    {. 
244a0 20 20 20 20 20 68 61 73 5f 73 6c 61 73 68 20 3d       has_slash =
244b0 20 31 3b 0a 20 20 20 20 20 20 62 72 65 61 6b 3b   1;.      break;
244c0 0a 20 20 20 20 7d 0a 20 20 69 66 20 28 21 68 61  .    }.  if (!ha
244d0 73 5f 73 6c 61 73 68 29 0a 20 20 7b 0a 20 20 20  s_slash).  {.   
244e0 20 2f 2a 20 6e 6f 20 73 6c 61 73 68 65 73 3b 20   /* no slashes; 
244f0 73 65 61 72 63 68 20 50 41 54 48 20 2a 2f 0a 20  search PATH */. 
24500 20 20 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 70     const char* p
24510 61 74 68 20 3d 20 67 65 74 65 6e 76 20 28 22 50  ath = getenv ("P
24520 41 54 48 22 29 3b 0a 20 20 20 20 69 66 20 28 70  ATH");.    if (p
24530 61 74 68 20 21 3d 20 4e 55 4c 4c 29 0a 20 20 20  ath != NULL).   
24540 20 7b 0a 20 20 20 20 20 20 66 6f 72 20 28 70 20   {.      for (p 
24550 3d 20 70 61 74 68 3b 20 2a 70 3b 20 70 20 3d 20  = path; *p; p = 
24560 70 5f 6e 65 78 74 29 0a 20 20 20 20 20 20 7b 0a  p_next).      {.
24570 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68          const ch
24580 61 72 2a 20 71 3b 0a 20 20 20 20 20 20 20 20 73  ar* q;.        s
24590 69 7a 65 5f 74 20 70 5f 6c 65 6e 3b 0a 20 20 20  ize_t p_len;.   
245a0 20 20 20 20 20 66 6f 72 20 28 71 20 3d 20 70 3b       for (q = p;
245b0 20 2a 71 3b 20 71 2b 2b 29 0a 20 20 20 20 20 20   *q; q++).      
245c0 20 20 20 20 69 66 20 28 49 53 5f 50 41 54 48 5f      if (IS_PATH_
245d0 53 45 50 41 52 41 54 4f 52 28 2a 71 29 29 0a 20  SEPARATOR(*q)). 
245e0 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b             break
245f0 3b 0a 20 20 20 20 20 20 20 20 70 5f 6c 65 6e 20  ;.        p_len 
24600 3d 20 71 20 2d 20 70 3b 0a 20 20 20 20 20 20 20  = q - p;.       
24610 20 70 5f 6e 65 78 74 20 3d 20 28 2a 71 20 3d 3d   p_next = (*q ==
24620 20 27 5c 30 27 20 3f 20 71 20 3a 20 71 20 2b 20   '\0' ? q : q + 
24630 31 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28  1);.        if (
24640 70 5f 6c 65 6e 20 3d 3d 20 30 29 0a 20 20 20 20  p_len == 0).    
24650 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20      {.          
24660 2f 2a 20 65 6d 70 74 79 20 70 61 74 68 3a 20 63  /* empty path: c
24670 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79  urrent directory
24680 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 69 66   */.          if
24690 20 28 67 65 74 63 77 64 20 28 74 6d 70 2c 20 4c   (getcwd (tmp, L
246a0 54 5f 50 41 54 48 4d 41 58 29 20 3d 3d 20 4e 55  T_PATHMAX) == NU
246b0 4c 4c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  LL).            
246c0 6c 74 5f 66 61 74 61 6c 20 28 22 67 65 74 63 77  lt_fatal ("getcw
246d0 64 20 66 61 69 6c 65 64 22 29 3b 0a 20 20 20 20  d failed");.    
246e0 20 20 20 20 20 20 74 6d 70 5f 6c 65 6e 20 3d 20        tmp_len = 
246f0 73 74 72 6c 65 6e 28 74 6d 70 29 3b 0a 20 20 20  strlen(tmp);.   
24700 20 20 20 20 20 20 20 63 6f 6e 63 61 74 5f 6e 61         concat_na
24710 6d 65 20 3d 20 58 4d 41 4c 4c 4f 43 28 63 68 61  me = XMALLOC(cha
24720 72 2c 20 74 6d 70 5f 6c 65 6e 20 2b 20 31 20 2b  r, tmp_len + 1 +
24730 20 73 74 72 6c 65 6e 28 77 72 61 70 70 65 72 29   strlen(wrapper)
24740 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20   + 1);.         
24750 20 6d 65 6d 63 70 79 20 28 63 6f 6e 63 61 74 5f   memcpy (concat_
24760 6e 61 6d 65 2c 20 74 6d 70 2c 20 74 6d 70 5f 6c  name, tmp, tmp_l
24770 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 63  en);.          c
24780 6f 6e 63 61 74 5f 6e 61 6d 65 5b 74 6d 70 5f 6c  oncat_name[tmp_l
24790 65 6e 5d 20 3d 20 27 2f 27 3b 0a 20 20 20 20 20  en] = '/';.     
247a0 20 20 20 20 20 73 74 72 63 70 79 20 28 63 6f 6e       strcpy (con
247b0 63 61 74 5f 6e 61 6d 65 20 2b 20 74 6d 70 5f 6c  cat_name + tmp_l
247c0 65 6e 20 2b 20 31 2c 20 77 72 61 70 70 65 72 29  en + 1, wrapper)
247d0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
247e0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
247f0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e   {.          con
24800 63 61 74 5f 6e 61 6d 65 20 3d 20 58 4d 41 4c 4c  cat_name = XMALL
24810 4f 43 28 63 68 61 72 2c 20 70 5f 6c 65 6e 20 2b  OC(char, p_len +
24820 20 31 20 2b 20 73 74 72 6c 65 6e 28 77 72 61 70   1 + strlen(wrap
24830 70 65 72 29 20 2b 20 31 29 3b 0a 20 20 20 20 20  per) + 1);.     
24840 20 20 20 20 20 6d 65 6d 63 70 79 20 28 63 6f 6e       memcpy (con
24850 63 61 74 5f 6e 61 6d 65 2c 20 70 2c 20 70 5f 6c  cat_name, p, p_l
24860 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 63  en);.          c
24870 6f 6e 63 61 74 5f 6e 61 6d 65 5b 70 5f 6c 65 6e  oncat_name[p_len
24880 5d 20 3d 20 27 2f 27 3b 0a 20 20 20 20 20 20 20  ] = '/';.       
24890 20 20 20 73 74 72 63 70 79 20 28 63 6f 6e 63 61     strcpy (conca
248a0 74 5f 6e 61 6d 65 20 2b 20 70 5f 6c 65 6e 20 2b  t_name + p_len +
248b0 20 31 2c 20 77 72 61 70 70 65 72 29 3b 0a 20 20   1, wrapper);.  
248c0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
248d0 69 66 20 28 63 68 65 63 6b 5f 65 78 65 63 75 74  if (check_execut
248e0 61 62 6c 65 28 63 6f 6e 63 61 74 5f 6e 61 6d 65  able(concat_name
248f0 29 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 74  )).          ret
24900 75 72 6e 20 63 6f 6e 63 61 74 5f 6e 61 6d 65 3b  urn concat_name;
24910 0a 20 20 20 20 20 20 20 20 58 46 52 45 45 28 63  .        XFREE(c
24920 6f 6e 63 61 74 5f 6e 61 6d 65 29 3b 0a 20 20 20  oncat_name);.   
24930 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f     }.    }.    /
24940 2a 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 50  * not found in P
24950 41 54 48 3b 20 61 73 73 75 6d 65 20 63 75 72 64  ATH; assume curd
24960 69 72 20 2a 2f 0a 20 20 7d 0a 20 20 2f 2a 20 52  ir */.  }.  /* R
24970 65 6c 61 74 69 76 65 20 70 61 74 68 20 7c 20 6e  elative path | n
24980 6f 74 20 66 6f 75 6e 64 20 69 6e 20 70 61 74 68  ot found in path
24990 3a 20 70 72 65 70 65 6e 64 20 63 77 64 20 2a 2f  : prepend cwd */
249a0 0a 20 20 69 66 20 28 67 65 74 63 77 64 20 28 74  .  if (getcwd (t
249b0 6d 70 2c 20 4c 54 5f 50 41 54 48 4d 41 58 29 20  mp, LT_PATHMAX) 
249c0 3d 3d 20 4e 55 4c 4c 29 0a 20 20 20 20 6c 74 5f  == NULL).    lt_
249d0 66 61 74 61 6c 20 28 22 67 65 74 63 77 64 20 66  fatal ("getcwd f
249e0 61 69 6c 65 64 22 29 3b 0a 20 20 74 6d 70 5f 6c  ailed");.  tmp_l
249f0 65 6e 20 3d 20 73 74 72 6c 65 6e 28 74 6d 70 29  en = strlen(tmp)
24a00 3b 0a 20 20 63 6f 6e 63 61 74 5f 6e 61 6d 65 20  ;.  concat_name 
24a10 3d 20 58 4d 41 4c 4c 4f 43 28 63 68 61 72 2c 20  = XMALLOC(char, 
24a20 74 6d 70 5f 6c 65 6e 20 2b 20 31 20 2b 20 73 74  tmp_len + 1 + st
24a30 72 6c 65 6e 28 77 72 61 70 70 65 72 29 20 2b 20  rlen(wrapper) + 
24a40 31 29 3b 0a 20 20 6d 65 6d 63 70 79 20 28 63 6f  1);.  memcpy (co
24a50 6e 63 61 74 5f 6e 61 6d 65 2c 20 74 6d 70 2c 20  ncat_name, tmp, 
24a60 74 6d 70 5f 6c 65 6e 29 3b 0a 20 20 63 6f 6e 63  tmp_len);.  conc
24a70 61 74 5f 6e 61 6d 65 5b 74 6d 70 5f 6c 65 6e 5d  at_name[tmp_len]
24a80 20 3d 20 27 2f 27 3b 0a 20 20 73 74 72 63 70 79   = '/';.  strcpy
24a90 20 28 63 6f 6e 63 61 74 5f 6e 61 6d 65 20 2b 20   (concat_name + 
24aa0 74 6d 70 5f 6c 65 6e 20 2b 20 31 2c 20 77 72 61  tmp_len + 1, wra
24ab0 70 70 65 72 29 3b 0a 0a 20 20 69 66 20 28 63 68  pper);..  if (ch
24ac0 65 63 6b 5f 65 78 65 63 75 74 61 62 6c 65 28 63  eck_executable(c
24ad0 6f 6e 63 61 74 5f 6e 61 6d 65 29 29 0a 20 20 20  oncat_name)).   
24ae0 20 72 65 74 75 72 6e 20 63 6f 6e 63 61 74 5f 6e   return concat_n
24af0 61 6d 65 3b 0a 20 20 58 46 52 45 45 28 63 6f 6e  ame;.  XFREE(con
24b00 63 61 74 5f 6e 61 6d 65 29 3b 0a 20 20 72 65 74  cat_name);.  ret
24b10 75 72 6e 20 4e 55 4c 4c 3b 0a 7d 0a 0a 63 68 61  urn NULL;.}..cha
24b20 72 20 2a 0a 73 74 72 65 6e 64 7a 61 70 28 63 68  r *.strendzap(ch
24b30 61 72 20 2a 73 74 72 2c 20 63 6f 6e 73 74 20 63  ar *str, const c
24b40 68 61 72 20 2a 70 61 74 29 0a 7b 0a 20 20 73 69  har *pat).{.  si
24b50 7a 65 5f 74 20 6c 65 6e 2c 20 70 61 74 6c 65 6e  ze_t len, patlen
24b60 3b 0a 0a 20 20 61 73 73 65 72 74 28 73 74 72 20  ;..  assert(str 
24b70 21 3d 20 4e 55 4c 4c 29 3b 0a 20 20 61 73 73 65  != NULL);.  asse
24b80 72 74 28 70 61 74 20 21 3d 20 4e 55 4c 4c 29 3b  rt(pat != NULL);
24b90 0a 0a 20 20 6c 65 6e 20 3d 20 73 74 72 6c 65 6e  ..  len = strlen
24ba0 28 73 74 72 29 3b 0a 20 20 70 61 74 6c 65 6e 20  (str);.  patlen 
24bb0 3d 20 73 74 72 6c 65 6e 28 70 61 74 29 3b 0a 0a  = strlen(pat);..
24bc0 20 20 69 66 20 28 70 61 74 6c 65 6e 20 3c 3d 20    if (patlen <= 
24bd0 6c 65 6e 29 0a 20 20 7b 0a 20 20 20 20 73 74 72  len).  {.    str
24be0 20 2b 3d 20 6c 65 6e 20 2d 20 70 61 74 6c 65 6e   += len - patlen
24bf0 3b 0a 20 20 20 20 69 66 20 28 73 74 72 63 6d 70  ;.    if (strcmp
24c00 28 73 74 72 2c 20 70 61 74 29 20 3d 3d 20 30 29  (str, pat) == 0)
24c10 0a 20 20 20 20 20 20 2a 73 74 72 20 3d 20 27 5c  .      *str = '\
24c20 30 27 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e  0';.  }.  return
24c30 20 73 74 72 3b 0a 7d 0a 0a 73 74 61 74 69 63 20   str;.}..static 
24c40 76 6f 69 64 0a 6c 74 5f 65 72 72 6f 72 5f 63 6f  void.lt_error_co
24c50 72 65 20 28 69 6e 74 20 65 78 69 74 5f 73 74 61  re (int exit_sta
24c60 74 75 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20  tus, const char 
24c70 2a 20 6d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20  * mode,.        
24c80 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6d    const char * m
24c90 65 73 73 61 67 65 2c 20 76 61 5f 6c 69 73 74 20  essage, va_list 
24ca0 61 70 29 0a 7b 0a 20 20 66 70 72 69 6e 74 66 20  ap).{.  fprintf 
24cb0 28 73 74 64 65 72 72 2c 20 22 25 73 3a 20 25 73  (stderr, "%s: %s
24cc0 3a 20 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d  : ", program_nam
24cd0 65 2c 20 6d 6f 64 65 29 3b 0a 20 20 76 66 70 72  e, mode);.  vfpr
24ce0 69 6e 74 66 20 28 73 74 64 65 72 72 2c 20 6d 65  intf (stderr, me
24cf0 73 73 61 67 65 2c 20 61 70 29 3b 0a 20 20 66 70  ssage, ap);.  fp
24d00 72 69 6e 74 66 20 28 73 74 64 65 72 72 2c 20 22  rintf (stderr, "
24d10 2e 5c 6e 22 29 3b 0a 0a 20 20 69 66 20 28 65 78  .\n");..  if (ex
24d20 69 74 5f 73 74 61 74 75 73 20 3e 3d 20 30 29 0a  it_status >= 0).
24d30 20 20 20 20 65 78 69 74 20 28 65 78 69 74 5f 73      exit (exit_s
24d40 74 61 74 75 73 29 3b 0a 7d 0a 0a 76 6f 69 64 0a  tatus);.}..void.
24d50 6c 74 5f 66 61 74 61 6c 20 28 63 6f 6e 73 74 20  lt_fatal (const 
24d60 63 68 61 72 20 2a 6d 65 73 73 61 67 65 2c 20 2e  char *message, .
24d70 2e 2e 29 0a 7b 0a 20 20 76 61 5f 6c 69 73 74 20  ..).{.  va_list 
24d80 61 70 3b 0a 20 20 76 61 5f 73 74 61 72 74 20 28  ap;.  va_start (
24d90 61 70 2c 20 6d 65 73 73 61 67 65 29 3b 0a 20 20  ap, message);.  
24da0 6c 74 5f 65 72 72 6f 72 5f 63 6f 72 65 20 28 45  lt_error_core (E
24db0 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 46 41  XIT_FAILURE, "FA
24dc0 54 41 4c 22 2c 20 6d 65 73 73 61 67 65 2c 20 61  TAL", message, a
24dd0 70 29 3b 0a 20 20 76 61 5f 65 6e 64 20 28 61 70  p);.  va_end (ap
24de0 29 3b 0a 7d 0a 45 4f 46 0a 20 20 20 20 20 20 20  );.}.EOF.       
24df0 20 20 20 23 20 77 65 20 73 68 6f 75 6c 64 20 72     # we should r
24e00 65 61 6c 6c 79 20 75 73 65 20 61 20 62 75 69 6c  eally use a buil
24e10 64 2d 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69  d-platform speci
24e20 66 69 63 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20  fic compiler.   
24e30 20 20 20 20 20 20 20 23 20 68 65 72 65 2c 20 62         # here, b
24e40 75 74 20 4f 54 4f 48 2c 20 74 68 65 20 77 72 61  ut OTOH, the wra
24e50 70 70 65 72 73 20 28 73 68 65 6c 6c 20 73 63 72  ppers (shell scr
24e60 69 70 74 20 61 6e 64 20 74 68 69 73 20 43 20 6f  ipt and this C o
24e70 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 23 20  ne).          # 
24e80 61 72 65 20 6f 6e 6c 79 20 75 73 65 66 75 6c 20  are only useful 
24e90 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 65  if you want to e
24ea0 78 65 63 75 74 65 20 74 68 65 20 22 72 65 61 6c  xecute the "real
24eb0 22 20 62 69 6e 61 72 79 2e 0a 20 20 20 20 20 20  " binary..      
24ec0 20 20 20 20 23 20 53 69 6e 63 65 20 74 68 65 20      # Since the 
24ed0 22 72 65 61 6c 22 20 62 69 6e 61 72 79 20 69 73  "real" binary is
24ee0 20 62 75 69 6c 74 20 66 6f 72 20 24 68 6f 73 74   built for $host
24ef0 2c 20 74 68 65 6e 20 74 68 69 73 0a 20 20 20 20  , then this.    
24f00 20 20 20 20 20 20 23 20 77 72 61 70 70 65 72 20        # wrapper 
24f10 6d 69 67 68 74 20 61 73 20 77 65 6c 6c 20 62 65  might as well be
24f20 20 62 75 69 6c 74 20 66 6f 72 20 24 68 6f 73 74   built for $host
24f30 2c 20 74 6f 6f 2e 0a 20 20 20 20 20 20 20 20 20  , too..         
24f40 20 24 72 75 6e 20 24 4c 54 43 43 20 24 4c 54 43   $run $LTCC $LTC
24f50 46 4c 41 47 53 20 2d 73 20 2d 6f 20 24 63 77 72  FLAGS -s -o $cwr
24f60 61 70 70 65 72 20 24 63 77 72 61 70 70 65 72 73  apper $cwrappers
24f70 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20  ource.          
24f80 3b 3b 0a 20 20 20 20 20 20 20 20 65 73 61 63 0a  ;;.        esac.
24f90 20 20 20 20 20 20 20 20 24 72 6d 20 24 6f 75 74          $rm $out
24fa0 70 75 74 0a 20 20 20 20 20 20 20 20 74 72 61 70  put.        trap
24fb0 20 22 24 72 6d 20 24 6f 75 74 70 75 74 3b 20 65   "$rm $output; e
24fc0 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
24fd0 45 22 20 31 20 32 20 31 35 0a 0a 09 24 65 63 68  E" 1 2 15...$ech
24fe0 6f 20 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 23  o > $output "\.#
24ff0 21 20 24 53 48 45 4c 4c 0a 0a 23 20 24 6f 75 74  ! $SHELL..# $out
25000 70 75 74 20 2d 20 74 65 6d 70 6f 72 61 72 79 20  put - temporary 
25010 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 66  wrapper script f
25020 6f 72 20 24 6f 62 6a 64 69 72 2f 24 6f 75 74 70  or $objdir/$outp
25030 75 74 6e 61 6d 65 0a 23 20 47 65 6e 65 72 61 74  utname.# Generat
25040 65 64 20 62 79 20 24 50 52 4f 47 52 41 4d 20 2d  ed by $PROGRAM -
25050 20 47 4e 55 20 24 50 41 43 4b 41 47 45 20 24 56   GNU $PACKAGE $V
25060 45 52 53 49 4f 4e 24 54 49 4d 45 53 54 41 4d 50  ERSION$TIMESTAMP
25070 0a 23 0a 23 20 54 68 65 20 24 6f 75 74 70 75 74  .#.# The $output
25080 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f 74 20   program cannot 
25090 62 65 20 64 69 72 65 63 74 6c 79 20 65 78 65 63  be directly exec
250a0 75 74 65 64 20 75 6e 74 69 6c 20 61 6c 6c 20 74  uted until all t
250b0 68 65 20 6c 69 62 74 6f 6f 6c 0a 23 20 6c 69 62  he libtool.# lib
250c0 72 61 72 69 65 73 20 74 68 61 74 20 69 74 20 64  raries that it d
250d0 65 70 65 6e 64 73 20 6f 6e 20 61 72 65 20 69 6e  epends on are in
250e0 73 74 61 6c 6c 65 64 2e 0a 23 0a 23 20 54 68 69  stalled..#.# Thi
250f0 73 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74  s wrapper script
25100 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 62 65   should never be
25110 20 6d 6f 76 65 64 20 6f 75 74 20 6f 66 20 74 68   moved out of th
25120 65 20 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72  e build director
25130 79 2e 0a 23 20 49 66 20 69 74 20 69 73 2c 20 69  y..# If it is, i
25140 74 20 77 69 6c 6c 20 6e 6f 74 20 6f 70 65 72 61  t will not opera
25150 74 65 20 63 6f 72 72 65 63 74 6c 79 2e 0a 0a 23  te correctly...#
25160 20 53 65 64 20 73 75 62 73 74 69 74 75 74 69 6f   Sed substitutio
25170 6e 20 74 68 61 74 20 68 65 6c 70 73 20 75 73 20  n that helps us 
25180 64 6f 20 72 6f 62 75 73 74 20 71 75 6f 74 69 6e  do robust quotin
25190 67 2e 20 20 49 74 20 62 61 63 6b 73 6c 61 73 68  g.  It backslash
251a0 69 66 69 65 73 0a 23 20 6d 65 74 61 63 68 61 72  ifies.# metachar
251b0 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20  acters that are 
251c0 73 74 69 6c 6c 20 61 63 74 69 76 65 20 77 69 74  still active wit
251d0 68 69 6e 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65  hin double-quote
251e0 64 20 73 74 72 69 6e 67 73 2e 0a 58 73 65 64 3d  d strings..Xsed=
251f0 27 24 7b 53 45 44 7d 20 2d 65 20 31 73 2f 5e 58  '${SED} -e 1s/^X
25200 2f 2f 27 0a 73 65 64 5f 71 75 6f 74 65 5f 73 75  //'.sed_quote_su
25210 62 73 74 3d 27 24 73 65 64 5f 71 75 6f 74 65 5f  bst='$sed_quote_
25220 73 75 62 73 74 27 0a 0a 23 20 54 68 65 20 48 50  subst'..# The HP
25230 2d 55 58 20 6b 73 68 20 61 6e 64 20 50 4f 53 49  -UX ksh and POSI
25240 58 20 73 68 65 6c 6c 20 70 72 69 6e 74 20 74 68  X shell print th
25250 65 20 74 61 72 67 65 74 20 64 69 72 65 63 74 6f  e target directo
25260 72 79 20 74 6f 20 73 74 64 6f 75 74 0a 23 20 69  ry to stdout.# i
25270 66 20 43 44 50 41 54 48 20 69 73 20 73 65 74 2e  f CDPATH is set.
25280 0a 28 75 6e 73 65 74 20 43 44 50 41 54 48 29 20  .(unset CDPATH) 
25290 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20  >/dev/null 2>&1 
252a0 26 26 20 75 6e 73 65 74 20 43 44 50 41 54 48 0a  && unset CDPATH.
252b0 0a 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .relink_command=
252c0 5c 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  \"$relink_comman
252d0 64 5c 22 0a 0a 23 20 54 68 69 73 20 65 6e 76 69  d\"..# This envi
252e0 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
252f0 20 64 65 74 65 72 6d 69 6e 65 73 20 6f 75 72 20   determines our 
25300 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65 2e 0a  operation mode..
25310 69 66 20 74 65 73 74 20 5c 22 5c 24 6c 69 62 74  if test \"\$libt
25320 6f 6f 6c 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69  ool_install_magi
25330 63 5c 22 20 3d 20 5c 22 24 6d 61 67 69 63 5c 22  c\" = \"$magic\"
25340 3b 20 74 68 65 6e 0a 20 20 23 20 69 6e 73 74 61  ; then.  # insta
25350 6c 6c 20 6d 6f 64 65 20 6e 65 65 64 73 20 74 68  ll mode needs th
25360 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69  e following vari
25370 61 62 6c 65 3a 0a 20 20 6e 6f 74 69 6e 73 74 5f  able:.  notinst_
25380 64 65 70 6c 69 62 73 3d 27 24 6e 6f 74 69 6e 73  deplibs='$notins
25390 74 5f 64 65 70 6c 69 62 73 27 0a 65 6c 73 65 0a  t_deplibs'.else.
253a0 20 20 23 20 57 68 65 6e 20 77 65 20 61 72 65 20    # When we are 
253b0 73 6f 75 72 63 65 64 20 69 6e 20 65 78 65 63 75  sourced in execu
253c0 74 65 20 6d 6f 64 65 2c 20 5c 24 66 69 6c 65 20  te mode, \$file 
253d0 61 6e 64 20 5c 24 65 63 68 6f 20 61 72 65 20 61  and \$echo are a
253e0 6c 72 65 61 64 79 20 73 65 74 2e 0a 20 20 69 66  lready set..  if
253f0 20 74 65 73 74 20 5c 22 5c 24 6c 69 62 74 6f 6f   test \"\$libtoo
25400 6c 5f 65 78 65 63 75 74 65 5f 6d 61 67 69 63 5c  l_execute_magic\
25410 22 20 21 3d 20 5c 22 24 6d 61 67 69 63 5c 22 3b  " != \"$magic\";
25420 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f 3d 5c   then.    echo=\
25430 22 24 71 65 63 68 6f 5c 22 0a 20 20 20 20 66 69  "$qecho\".    fi
25440 6c 65 3d 5c 22 5c 24 30 5c 22 0a 20 20 20 20 23  le=\"\$0\".    #
25450 20 4d 61 6b 65 20 73 75 72 65 20 65 63 68 6f 20   Make sure echo 
25460 77 6f 72 6b 73 2e 0a 20 20 20 20 69 66 20 74 65  works..    if te
25470 73 74 20 5c 22 58 5c 24 31 5c 22 20 3d 20 58 2d  st \"X\$1\" = X-
25480 2d 6e 6f 2d 72 65 65 78 65 63 3b 20 74 68 65 6e  -no-reexec; then
25490 0a 20 20 20 20 20 20 23 20 44 69 73 63 61 72 64  .      # Discard
254a0 20 74 68 65 20 2d 2d 6e 6f 2d 72 65 65 78 65 63   the --no-reexec
254b0 20 66 6c 61 67 2c 20 61 6e 64 20 63 6f 6e 74 69   flag, and conti
254c0 6e 75 65 2e 0a 20 20 20 20 20 20 73 68 69 66 74  nue..      shift
254d0 0a 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 5c  .    elif test \
254e0 22 58 5c 60 28 5c 24 65 63 68 6f 20 27 5c 74 27  "X\`(\$echo '\t'
254f0 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 5c 60 5c  ) 2>/dev/null\`\
25500 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a  " = 'X\t'; then.
25510 20 20 20 20 20 20 23 20 59 69 70 70 65 65 2c 20        # Yippee, 
25520 5c 24 65 63 68 6f 20 77 6f 72 6b 73 21 0a 20 20  \$echo works!.  
25530 20 20 20 20 3a 0a 20 20 20 20 65 6c 73 65 0a 20      :.    else. 
25540 20 20 20 20 20 23 20 52 65 73 74 61 72 74 20 75       # Restart u
25550 6e 64 65 72 20 74 68 65 20 63 6f 72 72 65 63 74  nder the correct
25560 20 73 68 65 6c 6c 2c 20 61 6e 64 20 74 68 65 6e   shell, and then
25570 20 6d 61 79 62 65 20 5c 24 65 63 68 6f 20 77 69   maybe \$echo wi
25580 6c 6c 20 77 6f 72 6b 2e 0a 20 20 20 20 20 20 65  ll work..      e
25590 78 65 63 20 24 53 48 45 4c 4c 20 5c 22 5c 24 30  xec $SHELL \"\$0
255a0 5c 22 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 5c  \" --no-reexec \
255b0 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a 20 20 20  ${1+\"\$@\"}.   
255c0 20 66 69 0a 20 20 66 69 5c 0a 22 0a 09 24 65 63   fi.  fi\."..$ec
255d0 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c  ho >> $output "\
255e0 0a 0a 20 20 23 20 46 69 6e 64 20 74 68 65 20 64  ..  # Find the d
255f0 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 74 68  irectory that th
25600 69 73 20 73 63 72 69 70 74 20 6c 69 76 65 73 20  is script lives 
25610 69 6e 2e 0a 20 20 74 68 69 73 64 69 72 3d 5c 60  in..  thisdir=\`
25620 5c 24 65 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65  \$echo \"X\$file
25630 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27  \" | \$Xsed -e '
25640 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 5c 60 0a 20  s%/[^/]*$%%'\`. 
25650 20 74 65 73 74 20 5c 22 78 5c 24 74 68 69 73 64   test \"x\$thisd
25660 69 72 5c 22 20 3d 20 5c 22 78 5c 24 66 69 6c 65  ir\" = \"x\$file
25670 5c 22 20 26 26 20 74 68 69 73 64 69 72 3d 2e 0a  \" && thisdir=..
25680 0a 20 20 23 20 46 6f 6c 6c 6f 77 20 73 79 6d 62  .  # Follow symb
25690 6f 6c 69 63 20 6c 69 6e 6b 73 20 75 6e 74 69 6c  olic links until
256a0 20 77 65 20 67 65 74 20 74 6f 20 74 68 65 20 72   we get to the r
256b0 65 61 6c 20 74 68 69 73 64 69 72 2e 0a 20 20 66  eal thisdir..  f
256c0 69 6c 65 3d 5c 60 6c 73 20 2d 6c 64 20 5c 22 5c  ile=\`ls -ld \"\
256d0 24 66 69 6c 65 5c 22 20 7c 20 24 7b 53 45 44 7d  $file\" | ${SED}
256e0 20 2d 6e 20 27 73 2f 2e 2a 2d 3e 20 2f 2f 70 27   -n 's/.*-> //p'
256f0 5c 60 0a 20 20 77 68 69 6c 65 20 74 65 73 74 20  \`.  while test 
25700 2d 6e 20 5c 22 5c 24 66 69 6c 65 5c 22 3b 20 64  -n \"\$file\"; d
25710 6f 0a 20 20 20 20 64 65 73 74 64 69 72 3d 5c 60  o.    destdir=\`
25720 5c 24 65 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65  \$echo \"X\$file
25730 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27  \" | \$Xsed -e '
25740 73 25 2f 5b 5e 2f 5d 2a 5c 24 25 25 27 5c 60 0a  s%/[^/]*\$%%'\`.
25750 0a 20 20 20 20 23 20 49 66 20 74 68 65 72 65 20  .    # If there 
25760 77 61 73 20 61 20 64 69 72 65 63 74 6f 72 79 20  was a directory 
25770 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20  component, then 
25780 63 68 61 6e 67 65 20 74 68 69 73 64 69 72 2e 0a  change thisdir..
25790 20 20 20 20 69 66 20 74 65 73 74 20 5c 22 78 5c      if test \"x\
257a0 24 64 65 73 74 64 69 72 5c 22 20 21 3d 20 5c 22  $destdir\" != \"
257b0 78 5c 24 66 69 6c 65 5c 22 3b 20 74 68 65 6e 0a  x\$file\"; then.
257c0 20 20 20 20 20 20 63 61 73 65 20 5c 22 5c 24 64        case \"\$d
257d0 65 73 74 64 69 72 5c 22 20 69 6e 0a 20 20 20 20  estdir\" in.    
257e0 20 20 5b 5c 5c 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d    [\\\\/]* | [A-
257f0 5a 61 2d 7a 5d 3a 5b 5c 5c 5c 5c 2f 5d 2a 29 20  Za-z]:[\\\\/]*) 
25800 74 68 69 73 64 69 72 3d 5c 22 5c 24 64 65 73 74  thisdir=\"\$dest
25810 64 69 72 5c 22 20 3b 3b 0a 20 20 20 20 20 20 2a  dir\" ;;.      *
25820 29 20 74 68 69 73 64 69 72 3d 5c 22 5c 24 74 68  ) thisdir=\"\$th
25830 69 73 64 69 72 2f 5c 24 64 65 73 74 64 69 72 5c  isdir/\$destdir\
25840 22 20 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  " ;;.      esac.
25850 20 20 20 20 66 69 0a 0a 20 20 20 20 66 69 6c 65      fi..    file
25860 3d 5c 60 5c 24 65 63 68 6f 20 5c 22 58 5c 24 66  =\`\$echo \"X\$f
25870 69 6c 65 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d  ile\" | \$Xsed -
25880 65 20 27 73 25 5e 2e 2a 2f 25 25 27 5c 60 0a 20  e 's%^.*/%%'\`. 
25890 20 20 20 66 69 6c 65 3d 5c 60 6c 73 20 2d 6c 64     file=\`ls -ld
258a0 20 5c 22 5c 24 74 68 69 73 64 69 72 2f 5c 24 66   \"\$thisdir/\$f
258b0 69 6c 65 5c 22 20 7c 20 24 7b 53 45 44 7d 20 2d  ile\" | ${SED} -
258c0 6e 20 27 73 2f 2e 2a 2d 3e 20 2f 2f 70 27 5c 60  n 's/.*-> //p'\`
258d0 0a 20 20 64 6f 6e 65 0a 0a 20 20 23 20 54 72 79  .  done..  # Try
258e0 20 74 6f 20 67 65 74 20 74 68 65 20 61 62 73 6f   to get the abso
258f0 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79 20 6e  lute directory n
25900 61 6d 65 2e 0a 20 20 61 62 73 64 69 72 3d 5c 60  ame..  absdir=\`
25910 63 64 20 5c 22 5c 24 74 68 69 73 64 69 72 5c 22  cd \"\$thisdir\"
25920 20 26 26 20 70 77 64 5c 60 0a 20 20 74 65 73 74   && pwd\`.  test
25930 20 2d 6e 20 5c 22 5c 24 61 62 73 64 69 72 5c 22   -n \"\$absdir\"
25940 20 26 26 20 74 68 69 73 64 69 72 3d 5c 22 5c 24   && thisdir=\"\$
25950 61 62 73 64 69 72 5c 22 0a 22 0a 0a 09 69 66 20  absdir\"."...if 
25960 74 65 73 74 20 22 24 66 61 73 74 5f 69 6e 73 74  test "$fast_inst
25970 61 6c 6c 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  all" = yes; then
25980 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75  ..  $echo >> $ou
25990 74 70 75 74 20 22 5c 0a 20 20 70 72 6f 67 72 61  tput "\.  progra
259a0 6d 3d 6c 74 2d 27 24 6f 75 74 70 75 74 6e 61 6d  m=lt-'$outputnam
259b0 65 27 24 65 78 65 65 78 74 0a 20 20 70 72 6f 67  e'$exeext.  prog
259c0 64 69 72 3d 5c 22 5c 24 74 68 69 73 64 69 72 2f  dir=\"\$thisdir/
259d0 24 6f 62 6a 64 69 72 5c 22 0a 0a 20 20 69 66 20  $objdir\"..  if 
259e0 74 65 73 74 20 21 20 2d 66 20 5c 22 5c 24 70 72  test ! -f \"\$pr
259f0 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c  ogdir/\$program\
25a00 22 20 7c 7c 20 5c 5c 0a 20 20 20 20 20 7b 20 66  " || \\.     { f
25a10 69 6c 65 3d 5c 60 6c 73 20 2d 31 64 74 20 5c 22  ile=\`ls -1dt \"
25a20 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67  \$progdir/\$prog
25a30 72 61 6d 5c 22 20 5c 22 5c 24 70 72 6f 67 64 69  ram\" \"\$progdi
25a40 72 2f 2e 2e 2f 5c 24 70 72 6f 67 72 61 6d 5c 22  r/../\$program\"
25a50 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 24   2>/dev/null | $
25a60 7b 53 45 44 7d 20 31 71 5c 60 3b 20 5c 5c 0a 20  {SED} 1q\`; \\. 
25a70 20 20 20 20 20 20 74 65 73 74 20 5c 22 58 5c 24        test \"X\$
25a80 66 69 6c 65 5c 22 20 21 3d 20 5c 22 58 5c 24 70  file\" != \"X\$p
25a90 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d  rogdir/\$program
25aa0 5c 22 3b 20 7d 3b 20 74 68 65 6e 0a 0a 20 20 20  \"; }; then..   
25ab0 20 66 69 6c 65 3d 5c 22 5c 24 5c 24 2d 5c 24 70   file=\"\$\$-\$p
25ac0 72 6f 67 72 61 6d 5c 22 0a 0a 20 20 20 20 69 66  rogram\"..    if
25ad0 20 74 65 73 74 20 21 20 2d 64 20 5c 22 5c 24 70   test ! -d \"\$p
25ae0 72 6f 67 64 69 72 5c 22 3b 20 74 68 65 6e 0a 20  rogdir\"; then. 
25af0 20 20 20 20 20 24 6d 6b 64 69 72 20 5c 22 5c 24       $mkdir \"\$
25b00 70 72 6f 67 64 69 72 5c 22 0a 20 20 20 20 65 6c  progdir\".    el
25b10 73 65 0a 20 20 20 20 20 20 24 72 6d 20 5c 22 5c  se.      $rm \"\
25b20 24 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c 65 5c  $progdir/\$file\
25b30 22 0a 20 20 20 20 66 69 22 0a 0a 09 20 20 24 65  ".    fi"...  $e
25b40 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
25b50 5c 0a 0a 20 20 20 20 23 20 72 65 6c 69 6e 6b 20  \..    # relink 
25b60 65 78 65 63 75 74 61 62 6c 65 20 69 66 20 6e 65  executable if ne
25b70 63 65 73 73 61 72 79 0a 20 20 20 20 69 66 20 74  cessary.    if t
25b80 65 73 74 20 2d 6e 20 5c 22 5c 24 72 65 6c 69 6e  est -n \"\$relin
25b90 6b 5f 63 6f 6d 6d 61 6e 64 5c 22 3b 20 74 68 65  k_command\"; the
25ba0 6e 0a 20 20 20 20 20 20 69 66 20 72 65 6c 69 6e  n.      if relin
25bb0 6b 5f 63 6f 6d 6d 61 6e 64 5f 6f 75 74 70 75 74  k_command_output
25bc0 3d 5c 60 65 76 61 6c 20 5c 24 72 65 6c 69 6e 6b  =\`eval \$relink
25bd0 5f 63 6f 6d 6d 61 6e 64 20 32 3e 26 31 5c 60 3b  _command 2>&1\`;
25be0 20 74 68 65 6e 20 3a 0a 20 20 20 20 20 20 65 6c   then :.      el
25bf0 73 65 0a 09 24 65 63 68 6f 20 5c 22 5c 24 72 65  se..$echo \"\$re
25c00 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 5f 6f 75 74  link_command_out
25c10 70 75 74 5c 22 20 3e 26 32 0a 09 24 72 6d 20 5c  put\" >&2..$rm \
25c20 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c  "\$progdir/\$fil
25c30 65 5c 22 0a 09 65 78 69 74 20 24 45 58 49 54 5f  e\"..exit $EXIT_
25c40 46 41 49 4c 55 52 45 0a 20 20 20 20 20 20 66 69  FAILURE.      fi
25c50 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 24 6d 76  .    fi..    $mv
25c60 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66   \"\$progdir/\$f
25c70 69 6c 65 5c 22 20 5c 22 5c 24 70 72 6f 67 64 69  ile\" \"\$progdi
25c80 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 32 3e  r/\$program\" 2>
25c90 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 20 20 20  /dev/null ||.   
25ca0 20 7b 20 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64   { $rm \"\$progd
25cb0 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 0a  ir/\$program\";.
25cc0 20 20 20 20 20 20 24 6d 76 20 5c 22 5c 24 70 72        $mv \"\$pr
25cd0 6f 67 64 69 72 2f 5c 24 66 69 6c 65 5c 22 20 5c  ogdir/\$file\" \
25ce0 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f  "\$progdir/\$pro
25cf0 67 72 61 6d 5c 22 3b 20 7d 0a 20 20 20 20 24 72  gram\"; }.    $r
25d00 6d 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24  m \"\$progdir/\$
25d10 66 69 6c 65 5c 22 0a 20 20 66 69 22 0a 09 65 6c  file\".  fi"..el
25d20 73 65 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20 24  se..  $echo >> $
25d30 6f 75 74 70 75 74 20 22 5c 0a 20 20 70 72 6f 67  output "\.  prog
25d40 72 61 6d 3d 27 24 6f 75 74 70 75 74 6e 61 6d 65  ram='$outputname
25d50 27 0a 20 20 70 72 6f 67 64 69 72 3d 5c 22 5c 24  '.  progdir=\"\$
25d60 74 68 69 73 64 69 72 2f 24 6f 62 6a 64 69 72 5c  thisdir/$objdir\
25d70 22 0a 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f 20  "."..fi...$echo 
25d80 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20  >> $output "\.. 
25d90 20 69 66 20 74 65 73 74 20 2d 66 20 5c 22 5c 24   if test -f \"\$
25da0 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61  progdir/\$progra
25db0 6d 5c 22 3b 20 74 68 65 6e 22 0a 0a 09 23 20 45  m\"; then"...# E
25dc0 78 70 6f 72 74 20 6f 75 72 20 73 68 6c 69 62 70  xport our shlibp
25dd0 61 74 68 5f 76 61 72 20 69 66 20 77 65 20 68 61  ath_var if we ha
25de0 76 65 20 6f 6e 65 2e 0a 09 69 66 20 74 65 73 74  ve one...if test
25df0 20 22 24 73 68 6c 69 62 70 61 74 68 5f 6f 76 65   "$shlibpath_ove
25e00 72 72 69 64 65 73 5f 72 75 6e 70 61 74 68 22 20  rrides_runpath" 
25e10 3d 20 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e  = yes && test -n
25e20 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
25e30 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 74  " && test -n "$t
25e40 65 6d 70 5f 72 70 61 74 68 22 3b 20 74 68 65 6e  emp_rpath"; then
25e50 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75  ..  $echo >> $ou
25e60 74 70 75 74 20 22 5c 0a 20 20 20 20 23 20 41 64  tput "\.    # Ad
25e70 64 20 6f 75 72 20 6f 77 6e 20 6c 69 62 72 61 72  d our own librar
25e80 79 20 70 61 74 68 20 74 6f 20 24 73 68 6c 69 62  y path to $shlib
25e90 70 61 74 68 5f 76 61 72 0a 20 20 20 20 24 73 68  path_var.    $sh
25ea0 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 22 24 74  libpath_var=\"$t
25eb0 65 6d 70 5f 72 70 61 74 68 5c 24 24 73 68 6c 69  emp_rpath\$$shli
25ec0 62 70 61 74 68 5f 76 61 72 5c 22 0a 0a 20 20 20  bpath_var\"..   
25ed0 20 23 20 53 6f 6d 65 20 73 79 73 74 65 6d 73 20   # Some systems 
25ee0 63 61 6e 6e 6f 74 20 63 6f 70 65 20 77 69 74 68  cannot cope with
25ef0 20 63 6f 6c 6f 6e 2d 74 65 72 6d 69 6e 61 74 65   colon-terminate
25f00 64 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  d $shlibpath_var
25f10 0a 20 20 20 20 23 20 54 68 65 20 73 65 63 6f 6e  .    # The secon
25f20 64 20 63 6f 6c 6f 6e 20 69 73 20 61 20 77 6f 72  d colon is a wor
25f30 6b 61 72 6f 75 6e 64 20 66 6f 72 20 61 20 62 75  karound for a bu
25f40 67 20 69 6e 20 42 65 4f 53 20 52 34 20 73 65 64  g in BeOS R4 sed
25f50 0a 20 20 20 20 24 73 68 6c 69 62 70 61 74 68 5f  .    $shlibpath_
25f60 76 61 72 3d 5c 60 5c 24 65 63 68 6f 20 5c 22 58  var=\`\$echo \"X
25f70 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  \$$shlibpath_var
25f80 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27  \" | \$Xsed -e '
25f90 73 2f 3a 3a 2a 5c 24 2f 2f 27 5c 60 0a 0a 20 20  s/::*\$//'\`..  
25fa0 20 20 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70    export $shlibp
25fb0 61 74 68 5f 76 61 72 0a 22 0a 09 66 69 0a 0a 09  ath_var."..fi...
25fc0 23 20 66 69 78 75 70 20 74 68 65 20 64 6c 6c 20  # fixup the dll 
25fd0 73 65 61 72 63 68 70 61 74 68 20 69 66 20 77 65  searchpath if we
25fe0 20 6e 65 65 64 20 74 6f 2e 0a 09 69 66 20 74 65   need to...if te
25ff0 73 74 20 2d 6e 20 22 24 64 6c 6c 73 65 61 72 63  st -n "$dllsearc
26000 68 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20  hpath"; then..  
26010 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
26020 20 22 5c 0a 20 20 20 20 23 20 41 64 64 20 74 68   "\.    # Add th
26030 65 20 64 6c 6c 20 73 65 61 72 63 68 20 70 61 74  e dll search pat
26040 68 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20  h components to 
26050 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 50  the executable P
26060 41 54 48 0a 20 20 20 20 50 41 54 48 3d 24 64 6c  ATH.    PATH=$dl
26070 6c 73 65 61 72 63 68 70 61 74 68 3a 5c 24 50 41  lsearchpath:\$PA
26080 54 48 0a 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f  TH."..fi...$echo
26090 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 20   >> $output "\. 
260a0 20 20 20 69 66 20 74 65 73 74 20 5c 22 5c 24 6c     if test \"\$l
260b0 69 62 74 6f 6f 6c 5f 65 78 65 63 75 74 65 5f 6d  ibtool_execute_m
260c0 61 67 69 63 5c 22 20 21 3d 20 5c 22 24 6d 61 67  agic\" != \"$mag
260d0 69 63 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  ic\"; then.     
260e0 20 23 20 52 75 6e 20 74 68 65 20 61 63 74 75 61   # Run the actua
260f0 6c 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6f  l program with o
26100 75 72 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20  ur arguments... 
26110 20 20 20 20 20 23 20 4d 61 6b 65 20 73 75 72 65       # Make sure
26120 20 65 6e 76 20 4c 44 5f 4c 49 42 52 41 52 59 5f   env LD_LIBRARY_
26130 50 41 54 48 20 64 6f 65 73 20 6e 6f 74 20 6d 65  PATH does not me
26140 73 73 20 75 73 20 75 70 0a 20 20 20 20 20 20 69  ss us up.      i
26150 66 20 74 65 73 74 20 2d 6e 20 5c 22 5c 24 7b 4c  f test -n \"\${L
26160 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 2b 73  D_LIBRARY_PATH+s
26170 65 74 7d 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20  et}\"; then.    
26180 20 20 20 20 65 78 70 6f 72 74 20 4c 44 5f 4c 49      export LD_LI
26190 42 52 41 52 59 5f 50 41 54 48 3d 5c 24 70 72 6f  BRARY_PATH=\$pro
261a0 67 64 69 72 3a 5c 24 4c 44 5f 4c 49 42 52 41 52  gdir:\$LD_LIBRAR
261b0 59 5f 50 41 54 48 0a 20 20 20 20 20 20 66 69 0a  Y_PATH.      fi.
261c0 22 0a 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e  "..case $host in
261d0 0a 09 23 20 42 61 63 6b 73 6c 61 73 68 65 73 20  ..# Backslashes 
261e0 73 65 70 61 72 61 74 65 20 64 69 72 65 63 74 6f  separate directo
261f0 72 69 65 73 20 6f 6e 20 70 6c 61 69 6e 20 77 69  ries on plain wi
26200 6e 64 6f 77 73 0a 09 2a 2d 2a 2d 6d 69 6e 67 77  ndows..*-*-mingw
26210 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20   | *-*-os2*)..  
26220 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
26230 20 22 5c 0a 20 20 20 20 20 20 65 78 65 63 20 5c   "\.      exec \
26240 22 5c 24 70 72 6f 67 64 69 72 5c 5c 5c 5c 5c 24  "\$progdir\\\\\$
26250 70 72 6f 67 72 61 6d 5c 22 20 5c 24 7b 31 2b 5c  program\" \${1+\
26260 22 5c 24 40 5c 22 7d 0a 22 0a 09 20 20 3b 3b 0a  "\$@\"}."..  ;;.
26270 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f 20 3e 3e  ..*)..  $echo >>
26280 20 24 6f 75 74 70 75 74 20 22 5c 0a 20 20 20 20   $output "\.    
26290 20 20 65 78 65 63 20 5c 22 5c 24 70 72 6f 67 64    exec \"\$progd
262a0 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 5c  ir/\$program\" \
262b0 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a 22 0a 09  ${1+\"\$@\"}."..
262c0 20 20 3b 3b 0a 09 65 73 61 63 0a 09 24 65 63 68    ;;..esac..$ech
262d0 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a  o >> $output "\.
262e0 20 20 20 20 20 20 5c 24 65 63 68 6f 20 5c 22 5c        \$echo \"\
262f0 24 30 3a 20 63 61 6e 6e 6f 74 20 65 78 65 63 20  $0: cannot exec 
26300 5c 24 70 72 6f 67 72 61 6d 20 5c 24 7b 31 2b 5c  \$program \${1+\
26310 22 5c 24 40 5c 22 7d 5c 22 0a 20 20 20 20 20 20  "\$@\"}\".      
26320 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
26330 52 45 0a 20 20 20 20 66 69 0a 20 20 65 6c 73 65  RE.    fi.  else
26340 0a 20 20 20 20 23 20 54 68 65 20 70 72 6f 67 72  .    # The progr
26350 61 6d 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74  am doesn't exist
26360 2e 0a 20 20 20 20 5c 24 65 63 68 6f 20 5c 22 5c  ..    \$echo \"\
26370 24 30 3a 20 65 72 72 6f 72 3a 20 5c 5c 5c 60 5c  $0: error: \\\`\
26380 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72  $progdir/\$progr
26390 61 6d 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69  am' does not exi
263a0 73 74 5c 22 20 31 3e 26 32 0a 20 20 20 20 5c 24  st\" 1>&2.    \$
263b0 65 63 68 6f 20 5c 22 54 68 69 73 20 73 63 72 69  echo \"This scri
263c0 70 74 20 69 73 20 6a 75 73 74 20 61 20 77 72 61  pt is just a wra
263d0 70 70 65 72 20 66 6f 72 20 5c 24 70 72 6f 67 72  pper for \$progr
263e0 61 6d 2e 5c 22 20 31 3e 26 32 0a 20 20 20 20 24  am.\" 1>&2.    $
263f0 65 63 68 6f 20 5c 22 53 65 65 20 74 68 65 20 24  echo \"See the $
26400 50 41 43 4b 41 47 45 20 64 6f 63 75 6d 65 6e 74  PACKAGE document
26410 61 74 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20 69  ation for more i
26420 6e 66 6f 72 6d 61 74 69 6f 6e 2e 5c 22 20 31 3e  nformation.\" 1>
26430 26 32 0a 20 20 20 20 65 78 69 74 20 24 45 58 49  &2.    exit $EXI
26440 54 5f 46 41 49 4c 55 52 45 0a 20 20 66 69 0a 66  T_FAILURE.  fi.f
26450 69 5c 0a 22 0a 09 63 68 6d 6f 64 20 2b 78 20 24  i\."..chmod +x $
26460 6f 75 74 70 75 74 0a 20 20 20 20 20 20 66 69 0a  output.      fi.
26470 20 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54        exit $EXIT
26480 5f 53 55 43 43 45 53 53 0a 20 20 20 20 20 20 3b  _SUCCESS.      ;
26490 3b 0a 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20  ;.    esac..    
264a0 23 20 53 65 65 20 69 66 20 77 65 20 6e 65 65 64  # See if we need
264b0 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 6f 6c 64   to build an old
264c0 2d 66 61 73 68 69 6f 6e 65 64 20 61 72 63 68 69  -fashioned archi
264d0 76 65 2e 0a 20 20 20 20 66 6f 72 20 6f 6c 64 6c  ve..    for oldl
264e0 69 62 20 69 6e 20 24 6f 6c 64 6c 69 62 73 3b 20  ib in $oldlibs; 
264f0 64 6f 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  do..      if tes
26500 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  t "$build_libtoo
26510 6c 5f 6c 69 62 73 22 20 3d 20 63 6f 6e 76 65 6e  l_libs" = conven
26520 69 65 6e 63 65 3b 20 74 68 65 6e 0a 09 6f 6c 64  ience; then..old
26530 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 5f 73  objs="$libobjs_s
26540 61 76 65 22 0a 09 61 64 64 6c 69 62 73 3d 22 24  ave"..addlibs="$
26550 63 6f 6e 76 65 6e 69 65 6e 63 65 22 0a 09 62 75  convenience"..bu
26560 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73  ild_libtool_libs
26570 3d 6e 6f 0a 20 20 20 20 20 20 65 6c 73 65 0a 09  =no.      else..
26580 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
26590 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20  libtool_libs" = 
265a0 6d 6f 64 75 6c 65 3b 20 74 68 65 6e 0a 09 20 20  module; then..  
265b0 6f 6c 64 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a  oldobjs="$libobj
265c0 73 5f 73 61 76 65 22 0a 09 20 20 62 75 69 6c 64  s_save"..  build
265d0 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f  _libtool_libs=no
265e0 0a 09 65 6c 73 65 0a 09 20 20 6f 6c 64 6f 62 6a  ..else..  oldobj
265f0 73 3d 22 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20  s="$old_deplibs 
26600 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73  $non_pic_objects
26610 22 0a 09 66 69 0a 09 61 64 64 6c 69 62 73 3d 22  "..fi..addlibs="
26620 24 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65  $old_convenience
26630 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  ".      fi..    
26640 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61    if test -n "$a
26650 64 64 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 67  ddlibs"; then..g
26660 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75 74 5f 6f  entop="$output_o
26670 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61  bjdir/${outputna
26680 6d 65 7d 78 22 0a 09 67 65 6e 65 72 61 74 65 64  me}x"..generated
26690 3d 22 24 67 65 6e 65 72 61 74 65 64 20 24 67 65  ="$generated $ge
266a0 6e 74 6f 70 22 0a 0a 09 66 75 6e 63 5f 65 78 74  ntop"...func_ext
266b0 72 61 63 74 5f 61 72 63 68 69 76 65 73 20 24 67  ract_archives $g
266c0 65 6e 74 6f 70 20 24 61 64 64 6c 69 62 73 0a 09  entop $addlibs..
266d0 6f 6c 64 6f 62 6a 73 3d 22 24 6f 6c 64 6f 62 6a  oldobjs="$oldobj
266e0 73 20 24 66 75 6e 63 5f 65 78 74 72 61 63 74 5f  s $func_extract_
266f0 61 72 63 68 69 76 65 73 5f 72 65 73 75 6c 74 22  archives_result"
26700 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
26710 20 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61   # Do each comma
26720 6e 64 20 69 6e 20 74 68 65 20 61 72 63 68 69 76  nd in the archiv
26730 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20  e commands..    
26740 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6f    if test -n "$o
26750 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f  ld_archive_from_
26760 6e 65 77 5f 63 6d 64 73 22 20 26 26 20 74 65 73  new_cmds" && tes
26770 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  t "$build_libtoo
26780 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74  l_libs" = yes; t
26790 68 65 6e 0a 20 20 20 20 20 20 20 63 6d 64 73 3d  hen.       cmds=
267a0 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f  $old_archive_fro
267b0 6d 5f 6e 65 77 5f 63 6d 64 73 0a 20 20 20 20 20  m_new_cmds.     
267c0 20 65 6c 73 65 0a 09 23 20 50 4f 53 49 58 20 64   else..# POSIX d
267d0 65 6d 61 6e 64 73 20 6e 6f 20 70 61 74 68 73 20  emands no paths 
267e0 74 6f 20 62 65 20 65 6e 63 6f 64 65 64 20 69 6e  to be encoded in
267f0 20 61 72 63 68 69 76 65 73 2e 20 20 57 65 20 68   archives.  We h
26800 61 76 65 0a 09 23 20 74 6f 20 61 76 6f 69 64 20  ave..# to avoid 
26810 63 72 65 61 74 69 6e 67 20 61 72 63 68 69 76 65  creating archive
26820 73 20 77 69 74 68 20 64 75 70 6c 69 63 61 74 65  s with duplicate
26830 20 62 61 73 65 6e 61 6d 65 73 20 69 66 20 77 65   basenames if we
26840 0a 09 23 20 6d 69 67 68 74 20 68 61 76 65 20 74  ..# might have t
26850 6f 20 65 78 74 72 61 63 74 20 74 68 65 6d 20 61  o extract them a
26860 66 74 65 72 77 61 72 64 73 2c 20 65 2e 67 2e 2c  fterwards, e.g.,
26870 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20 61   when creating a
26880 0a 09 23 20 73 74 61 74 69 63 20 61 72 63 68 69  ..# static archi
26890 76 65 20 6f 75 74 20 6f 66 20 61 20 63 6f 6e 76  ve out of a conv
268a0 65 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 79 2c  enience library,
268b0 20 6f 72 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67   or when linking
268c0 0a 09 23 20 74 68 65 20 65 6e 74 69 72 65 74 79  ..# the entirety
268d0 20 6f 66 20 61 20 6c 69 62 74 6f 6f 6c 20 61 72   of a libtool ar
268e0 63 68 69 76 65 20 69 6e 74 6f 20 61 6e 6f 74 68  chive into anoth
268f0 65 72 20 28 63 75 72 72 65 6e 74 6c 79 0a 09 23  er (currently..#
26900 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62   not supported b
26910 79 20 6c 69 62 74 6f 6f 6c 29 2e 0a 09 69 66 20  y libtool)...if 
26920 28 66 6f 72 20 6f 62 6a 20 69 6e 20 24 6f 6c 64  (for obj in $old
26930 6f 62 6a 73 0a 09 20 20 20 20 64 6f 0a 09 20 20  objs..    do..  
26940 20 20 20 20 24 65 63 68 6f 20 22 58 24 6f 62 6a      $echo "X$obj
26950 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
26960 5e 2e 2a 2f 25 25 27 0a 09 20 20 20 20 64 6f 6e  ^.*/%%'..    don
26970 65 20 7c 20 73 6f 72 74 20 7c 20 73 6f 72 74 20  e | sort | sort 
26980 2d 75 63 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  -uc >/dev/null 2
26990 3e 26 31 29 3b 20 74 68 65 6e 0a 09 20 20 3a 0a  >&1); then..  :.
269a0 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22  .else..  $echo "
269b0 63 6f 70 79 69 6e 67 20 73 65 6c 65 63 74 65 64  copying selected
269c0 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 74 6f   object files to
269d0 20 61 76 6f 69 64 20 62 61 73 65 6e 61 6d 65 20   avoid basename 
269e0 63 6f 6e 66 6c 69 63 74 73 2e 2e 2e 22 0a 0a 09  conflicts..."...
269f0 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 67    if test -z "$g
26a00 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09 20 20  entop"; then..  
26a10 20 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75    gentop="$outpu
26a20 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75  t_objdir/${outpu
26a30 74 6e 61 6d 65 7d 78 22 0a 09 20 20 20 20 67 65  tname}x"..    ge
26a40 6e 65 72 61 74 65 64 3d 22 24 67 65 6e 65 72 61  nerated="$genera
26a50 74 65 64 20 24 67 65 6e 74 6f 70 22 0a 0a 09 20  ted $gentop"... 
26a60 20 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72     $show "${rm}r
26a70 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 20 20 24   $gentop"..    $
26a80 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24 67 65 6e  run ${rm}r "$gen
26a90 74 6f 70 22 0a 09 20 20 20 20 24 73 68 6f 77 20  top"..    $show 
26aa0 22 24 6d 6b 64 69 72 20 24 67 65 6e 74 6f 70 22  "$mkdir $gentop"
26ab0 0a 09 20 20 20 20 24 72 75 6e 20 24 6d 6b 64 69  ..    $run $mkdi
26ac0 72 20 22 24 67 65 6e 74 6f 70 22 0a 09 20 20 20  r "$gentop"..   
26ad0 20 65 78 69 74 5f 73 74 61 74 75 73 3d 24 3f 0a   exit_status=$?.
26ae0 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24 65  .    if test "$e
26af0 78 69 74 5f 73 74 61 74 75 73 22 20 2d 6e 65 20  xit_status" -ne 
26b00 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20 22  0 && test ! -d "
26b10 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09  $gentop"; then..
26b20 20 20 20 20 20 20 65 78 69 74 20 24 65 78 69 74        exit $exit
26b30 5f 73 74 61 74 75 73 0a 09 20 20 20 20 66 69 0a  _status..    fi.
26b40 09 20 20 66 69 0a 0a 09 20 20 73 61 76 65 5f 6f  .  fi...  save_o
26b50 6c 64 6f 62 6a 73 3d 24 6f 6c 64 6f 62 6a 73 0a  ldobjs=$oldobjs.
26b60 09 20 20 6f 6c 64 6f 62 6a 73 3d 0a 09 20 20 63  .  oldobjs=..  c
26b70 6f 75 6e 74 65 72 3d 31 0a 09 20 20 66 6f 72 20  ounter=1..  for 
26b80 6f 62 6a 20 69 6e 20 24 73 61 76 65 5f 6f 6c 64  obj in $save_old
26b90 6f 62 6a 73 0a 09 20 20 64 6f 0a 09 20 20 20 20  objs..  do..    
26ba0 6f 62 6a 62 61 73 65 3d 60 24 65 63 68 6f 20 22  objbase=`$echo "
26bb0 58 24 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d  X$obj" | $Xsed -
26bc0 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20  e 's%^.*/%%'`.. 
26bd0 20 20 20 63 61 73 65 20 22 20 24 6f 6c 64 6f 62     case " $oldob
26be0 6a 73 20 22 20 69 6e 0a 09 20 20 20 20 22 20 22  js " in..    " "
26bf0 29 20 6f 6c 64 6f 62 6a 73 3d 24 6f 62 6a 20 3b  ) oldobjs=$obj ;
26c00 3b 0a 09 20 20 20 20 2a 5b 5c 20 2f 5d 22 24 6f  ;..    *[\ /]"$o
26c10 62 6a 62 61 73 65 20 22 2a 29 0a 09 20 20 20 20  bjbase "*)..    
26c20 20 20 77 68 69 6c 65 20 3a 3b 20 64 6f 0a 09 09    while :; do...
26c30 23 20 4d 61 6b 65 20 73 75 72 65 20 77 65 20 64  # Make sure we d
26c40 6f 6e 27 74 20 70 69 63 6b 20 61 6e 20 61 6c 74  on't pick an alt
26c50 65 72 6e 61 74 65 20 6e 61 6d 65 20 74 68 61 74  ernate name that
26c60 20 61 6c 73 6f 0a 09 09 23 20 6f 76 65 72 6c 61   also...# overla
26c70 70 73 2e 0a 09 09 6e 65 77 6f 62 6a 3d 6c 74 24  ps....newobj=lt$
26c80 63 6f 75 6e 74 65 72 2d 24 6f 62 6a 62 61 73 65  counter-$objbase
26c90 0a 09 09 63 6f 75 6e 74 65 72 3d 60 65 78 70 72  ...counter=`expr
26ca0 20 24 63 6f 75 6e 74 65 72 20 2b 20 31 60 0a 09   $counter + 1`..
26cb0 09 63 61 73 65 20 22 20 24 6f 6c 64 6f 62 6a 73  .case " $oldobjs
26cc0 20 22 20 69 6e 0a 09 09 2a 5b 5c 20 2f 5d 22 24   " in...*[\ /]"$
26cd0 6e 65 77 6f 62 6a 20 22 2a 29 20 3b 3b 0a 09 09  newobj "*) ;;...
26ce0 2a 29 20 69 66 20 74 65 73 74 20 21 20 2d 66 20  *) if test ! -f 
26cf0 22 24 67 65 6e 74 6f 70 2f 24 6e 65 77 6f 62 6a  "$gentop/$newobj
26d00 22 3b 20 74 68 65 6e 20 62 72 65 61 6b 3b 20 66  "; then break; f
26d10 69 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20  i ;;...esac..   
26d20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 24     done..      $
26d30 73 68 6f 77 20 22 6c 6e 20 24 6f 62 6a 20 24 67  show "ln $obj $g
26d40 65 6e 74 6f 70 2f 24 6e 65 77 6f 62 6a 20 7c 7c  entop/$newobj ||
26d50 20 63 70 20 24 6f 62 6a 20 24 67 65 6e 74 6f 70   cp $obj $gentop
26d60 2f 24 6e 65 77 6f 62 6a 22 0a 09 20 20 20 20 20  /$newobj"..     
26d70 20 24 72 75 6e 20 6c 6e 20 22 24 6f 62 6a 22 20   $run ln "$obj" 
26d80 22 24 67 65 6e 74 6f 70 2f 24 6e 65 77 6f 62 6a  "$gentop/$newobj
26d90 22 20 7c 7c 0a 09 20 20 20 20 20 20 24 72 75 6e  " ||..      $run
26da0 20 63 70 20 22 24 6f 62 6a 22 20 22 24 67 65 6e   cp "$obj" "$gen
26db0 74 6f 70 2f 24 6e 65 77 6f 62 6a 22 0a 09 20 20  top/$newobj"..  
26dc0 20 20 20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f 6c      oldobjs="$ol
26dd0 64 6f 62 6a 73 20 24 67 65 6e 74 6f 70 2f 24 6e  dobjs $gentop/$n
26de0 65 77 6f 62 6a 22 0a 09 20 20 20 20 20 20 3b 3b  ewobj"..      ;;
26df0 0a 09 20 20 20 20 2a 29 20 6f 6c 64 6f 62 6a 73  ..    *) oldobjs
26e00 3d 22 24 6f 6c 64 6f 62 6a 73 20 24 6f 62 6a 22  ="$oldobjs $obj"
26e10 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20   ;;..    esac.. 
26e20 20 64 6f 6e 65 0a 09 66 69 0a 0a 09 65 76 61 6c   done..fi...eval
26e30 20 63 6d 64 73 3d 5c 22 24 6f 6c 64 5f 61 72 63   cmds=\"$old_arc
26e40 68 69 76 65 5f 63 6d 64 73 5c 22 0a 0a 09 69 66  hive_cmds\"...if
26e50 20 6c 65 6e 3d 60 65 78 70 72 20 22 58 24 63 6d   len=`expr "X$cm
26e60 64 73 22 20 3a 20 22 2e 2a 22 60 20 26 26 0a 09  ds" : ".*"` &&..
26e70 20 20 20 20 20 74 65 73 74 20 22 24 6c 65 6e 22       test "$len"
26e80 20 2d 6c 65 20 22 24 6d 61 78 5f 63 6d 64 5f 6c   -le "$max_cmd_l
26e90 65 6e 22 20 7c 7c 20 74 65 73 74 20 22 24 6d 61  en" || test "$ma
26ea0 78 5f 63 6d 64 5f 6c 65 6e 22 20 2d 6c 65 20 2d  x_cmd_len" -le -
26eb0 31 3b 20 74 68 65 6e 0a 09 20 20 63 6d 64 73 3d  1; then..  cmds=
26ec0 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 63 6d 64  $old_archive_cmd
26ed0 73 0a 09 65 6c 73 65 0a 09 20 20 23 20 74 68 65  s..else..  # the
26ee0 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 69 73   command line is
26ef0 20 74 6f 6f 20 6c 6f 6e 67 20 74 6f 20 6c 69 6e   too long to lin
26f00 6b 20 69 6e 20 6f 6e 65 20 73 74 65 70 2c 20 6c  k in one step, l
26f10 69 6e 6b 20 69 6e 20 70 61 72 74 73 0a 09 20 20  ink in parts..  
26f20 24 65 63 68 6f 20 22 75 73 69 6e 67 20 70 69 65  $echo "using pie
26f30 63 65 77 69 73 65 20 61 72 63 68 69 76 65 20 6c  cewise archive l
26f40 69 6e 6b 69 6e 67 2e 2e 2e 22 0a 09 20 20 73 61  inking..."..  sa
26f50 76 65 5f 52 41 4e 4c 49 42 3d 24 52 41 4e 4c 49  ve_RANLIB=$RANLI
26f60 42 0a 09 20 20 52 41 4e 4c 49 42 3d 3a 0a 09 20  B..  RANLIB=:.. 
26f70 20 6f 62 6a 6c 69 73 74 3d 0a 09 20 20 63 6f 6e   objlist=..  con
26f80 63 61 74 5f 63 6d 64 73 3d 0a 09 20 20 73 61 76  cat_cmds=..  sav
26f90 65 5f 6f 6c 64 6f 62 6a 73 3d 24 6f 6c 64 6f 62  e_oldobjs=$oldob
26fa0 6a 73 0a 0a 09 20 20 23 20 49 73 20 74 68 65 72  js...  # Is ther
26fb0 65 20 61 20 62 65 74 74 65 72 20 77 61 79 20 6f  e a better way o
26fc0 66 20 66 69 6e 64 69 6e 67 20 74 68 65 20 6c 61  f finding the la
26fd0 73 74 20 6f 62 6a 65 63 74 20 69 6e 20 74 68 65  st object in the
26fe0 20 6c 69 73 74 3f 0a 09 20 20 66 6f 72 20 6f 62   list?..  for ob
26ff0 6a 20 69 6e 20 24 73 61 76 65 5f 6f 6c 64 6f 62  j in $save_oldob
27000 6a 73 0a 09 20 20 64 6f 0a 09 20 20 20 20 6c 61  js..  do..    la
27010 73 74 5f 6f 6c 64 6f 62 6a 3d 24 6f 62 6a 0a 09  st_oldobj=$obj..
27020 20 20 64 6f 6e 65 0a 09 20 20 66 6f 72 20 6f 62    done..  for ob
27030 6a 20 69 6e 20 24 73 61 76 65 5f 6f 6c 64 6f 62  j in $save_oldob
27040 6a 73 0a 09 20 20 64 6f 0a 09 20 20 20 20 6f 6c  js..  do..    ol
27050 64 6f 62 6a 73 3d 22 24 6f 62 6a 6c 69 73 74 20  dobjs="$objlist 
27060 24 6f 62 6a 22 0a 09 20 20 20 20 6f 62 6a 6c 69  $obj"..    objli
27070 73 74 3d 22 24 6f 62 6a 6c 69 73 74 20 24 6f 62  st="$objlist $ob
27080 6a 22 0a 09 20 20 20 20 65 76 61 6c 20 74 65 73  j"..    eval tes
27090 74 5f 63 6d 64 73 3d 5c 22 24 6f 6c 64 5f 61 72  t_cmds=\"$old_ar
270a0 63 68 69 76 65 5f 63 6d 64 73 5c 22 0a 09 20 20  chive_cmds\"..  
270b0 20 20 69 66 20 6c 65 6e 3d 60 65 78 70 72 20 22    if len=`expr "
270c0 58 24 74 65 73 74 5f 63 6d 64 73 22 20 3a 20 22  X$test_cmds" : "
270d0 2e 2a 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60  .*" 2>/dev/null`
270e0 20 26 26 0a 09 20 20 20 20 20 20 20 74 65 73 74   &&..       test
270f0 20 22 24 6c 65 6e 22 20 2d 6c 65 20 22 24 6d 61   "$len" -le "$ma
27100 78 5f 63 6d 64 5f 6c 65 6e 22 3b 20 74 68 65 6e  x_cmd_len"; then
27110 0a 09 20 20 20 20 20 20 3a 0a 09 20 20 20 20 65  ..      :..    e
27120 6c 73 65 0a 09 20 20 20 20 20 20 23 20 74 68 65  lse..      # the
27130 20 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64 20 73   above command s
27140 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 62 65  hould be used be
27150 66 6f 72 65 20 69 74 20 67 65 74 73 20 74 6f 6f  fore it gets too
27160 20 6c 6f 6e 67 0a 09 20 20 20 20 20 20 6f 6c 64   long..      old
27170 6f 62 6a 73 3d 24 6f 62 6a 6c 69 73 74 0a 09 20  objs=$objlist.. 
27180 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6f       if test "$o
27190 62 6a 22 20 3d 20 22 24 6c 61 73 74 5f 6f 6c 64  bj" = "$last_old
271a0 6f 62 6a 22 20 3b 20 74 68 65 6e 0a 09 20 20 20  obj" ; then..   
271b0 20 20 20 20 20 52 41 4e 4c 49 42 3d 24 73 61 76       RANLIB=$sav
271c0 65 5f 52 41 4e 4c 49 42 0a 09 20 20 20 20 20 20  e_RANLIB..      
271d0 66 69 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d  fi..      test -
271e0 7a 20 22 24 63 6f 6e 63 61 74 5f 63 6d 64 73 22  z "$concat_cmds"
271f0 20 7c 7c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d   || concat_cmds=
27200 24 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 0a 09 20  $concat_cmds~.. 
27210 20 20 20 20 20 65 76 61 6c 20 63 6f 6e 63 61 74       eval concat
27220 5f 63 6d 64 73 3d 5c 22 5c 24 7b 63 6f 6e 63 61  _cmds=\"\${conca
27230 74 5f 63 6d 64 73 7d 24 6f 6c 64 5f 61 72 63 68  t_cmds}$old_arch
27240 69 76 65 5f 63 6d 64 73 5c 22 0a 09 20 20 20 20  ive_cmds\"..    
27250 20 20 6f 62 6a 6c 69 73 74 3d 0a 09 20 20 20 20    objlist=..    
27260 66 69 0a 09 20 20 64 6f 6e 65 0a 09 20 20 52 41  fi..  done..  RA
27270 4e 4c 49 42 3d 24 73 61 76 65 5f 52 41 4e 4c 49  NLIB=$save_RANLI
27280 42 0a 09 20 20 6f 6c 64 6f 62 6a 73 3d 24 6f 62  B..  oldobjs=$ob
27290 6a 6c 69 73 74 0a 09 20 20 69 66 20 74 65 73 74  jlist..  if test
272a0 20 22 58 24 6f 6c 64 6f 62 6a 73 22 20 3d 20 22   "X$oldobjs" = "
272b0 58 22 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 65  X" ; then..    e
272c0 76 61 6c 20 63 6d 64 73 3d 5c 22 5c 24 63 6f 6e  val cmds=\"\$con
272d0 63 61 74 5f 63 6d 64 73 5c 22 0a 09 20 20 65 6c  cat_cmds\"..  el
272e0 73 65 0a 09 20 20 20 20 65 76 61 6c 20 63 6d 64  se..    eval cmd
272f0 73 3d 5c 22 5c 24 63 6f 6e 63 61 74 5f 63 6d 64  s=\"\$concat_cmd
27300 73 7e 5c 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f  s~\$old_archive_
27310 63 6d 64 73 5c 22 0a 09 20 20 66 69 0a 09 66 69  cmds\"..  fi..fi
27320 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
27330 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b  save_ifs="$IFS";
27340 20 49 46 53 3d 27 7e 27 0a 20 20 20 20 20 20 66   IFS='~'.      f
27350 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b  or cmd in $cmds;
27360 20 64 6f 0a 20 20 20 20 20 20 20 20 65 76 61 6c   do.        eval
27370 20 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 49   cmd=\"$cmd\"..I
27380 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09  FS="$save_ifs"..
27390 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 24 72  $show "$cmd"..$r
273a0 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c  un eval "$cmd" |
273b0 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20  | exit $?.      
273c0 64 6f 6e 65 0a 20 20 20 20 20 20 49 46 53 3d 22  done.      IFS="
273d0 24 73 61 76 65 5f 69 66 73 22 0a 20 20 20 20 64  $save_ifs".    d
273e0 6f 6e 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74  one..    if test
273f0 20 2d 6e 20 22 24 67 65 6e 65 72 61 74 65 64 22   -n "$generated"
27400 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 73 68  ; then.      $sh
27410 6f 77 20 22 24 7b 72 6d 7d 72 24 67 65 6e 65 72  ow "${rm}r$gener
27420 61 74 65 64 22 0a 20 20 20 20 20 20 24 72 75 6e  ated".      $run
27430 20 24 7b 72 6d 7d 72 24 67 65 6e 65 72 61 74 65   ${rm}r$generate
27440 64 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20  d.    fi..    # 
27450 4e 6f 77 20 63 72 65 61 74 65 20 74 68 65 20 6c  Now create the l
27460 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 2e 0a  ibtool archive..
27470 20 20 20 20 63 61 73 65 20 24 6f 75 74 70 75 74      case $output
27480 20 69 6e 0a 20 20 20 20 2a 2e 6c 61 29 0a 20 20   in.    *.la).  
27490 20 20 20 20 6f 6c 64 5f 6c 69 62 72 61 72 79 3d      old_library=
274a0 0a 20 20 20 20 20 20 74 65 73 74 20 22 24 62 75  .      test "$bu
274b0 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20  ild_old_libs" = 
274c0 79 65 73 20 26 26 20 6f 6c 64 5f 6c 69 62 72 61  yes && old_libra
274d0 72 79 3d 22 24 6c 69 62 6e 61 6d 65 2e 24 6c 69  ry="$libname.$li
274e0 62 65 78 74 22 0a 20 20 20 20 20 20 24 73 68 6f  bext".      $sho
274f0 77 20 22 63 72 65 61 74 69 6e 67 20 24 6f 75 74  w "creating $out
27500 70 75 74 22 0a 0a 20 20 20 20 20 20 23 20 50 72  put"..      # Pr
27510 65 73 65 72 76 65 20 61 6e 79 20 76 61 72 69 61  eserve any varia
27520 62 6c 65 73 20 74 68 61 74 20 6d 61 79 20 61 66  bles that may af
27530 66 65 63 74 20 63 6f 6d 70 69 6c 65 72 20 62 65  fect compiler be
27540 68 61 76 69 6f 72 0a 20 20 20 20 20 20 66 6f 72  havior.      for
27550 20 76 61 72 20 69 6e 20 24 76 61 72 69 61 62 6c   var in $variabl
27560 65 73 5f 73 61 76 65 64 5f 66 6f 72 5f 72 65 6c  es_saved_for_rel
27570 69 6e 6b 3b 20 64 6f 0a 09 69 66 20 65 76 61 6c  ink; do..if eval
27580 20 74 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24 76   test -z \"\${$v
27590 61 72 2b 73 65 74 7d 5c 22 3b 20 74 68 65 6e 0a  ar+set}\"; then.
275a0 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  .  relink_comman
275b0 64 3d 22 7b 20 74 65 73 74 20 2d 7a 20 5c 22 5c  d="{ test -z \"\
275c0 24 7b 24 76 61 72 2b 73 65 74 7d 5c 22 20 7c 7c  ${$var+set}\" ||
275d0 20 75 6e 73 65 74 20 24 76 61 72 20 7c 7c 20 7b   unset $var || {
275e0 20 24 76 61 72 3d 3b 20 65 78 70 6f 72 74 20 24   $var=; export $
275f0 76 61 72 3b 20 7d 3b 20 7d 3b 20 24 72 65 6c 69  var; }; }; $reli
27600 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 65 6c 69  nk_command"..eli
27610 66 20 65 76 61 6c 20 76 61 72 5f 76 61 6c 75 65  f eval var_value
27620 3d 5c 24 24 76 61 72 3b 20 74 65 73 74 20 2d 7a  =\$$var; test -z
27630 20 22 24 76 61 72 5f 76 61 6c 75 65 22 3b 20 74   "$var_value"; t
27640 68 65 6e 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f  hen..  relink_co
27650 6d 6d 61 6e 64 3d 22 24 76 61 72 3d 3b 20 65 78  mmand="$var=; ex
27660 70 6f 72 74 20 24 76 61 72 3b 20 24 72 65 6c 69  port $var; $reli
27670 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 65 6c 73  nk_command"..els
27680 65 0a 09 20 20 76 61 72 5f 76 61 6c 75 65 3d 60  e..  var_value=`
27690 24 65 63 68 6f 20 22 58 24 76 61 72 5f 76 61 6c  $echo "X$var_val
276a0 75 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  ue" | $Xsed -e "
276b0 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74  $sed_quote_subst
276c0 22 60 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d  "`..  relink_com
276d0 6d 61 6e 64 3d 22 24 76 61 72 3d 5c 22 24 76 61  mand="$var=\"$va
276e0 72 5f 76 61 6c 75 65 5c 22 3b 20 65 78 70 6f 72  r_value\"; expor
276f0 74 20 24 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f  t $var; $relink_
27700 63 6f 6d 6d 61 6e 64 22 0a 09 66 69 0a 20 20 20  command"..fi.   
27710 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 23 20     done.      # 
27720 51 75 6f 74 65 20 74 68 65 20 6c 69 6e 6b 20 63  Quote the link c
27730 6f 6d 6d 61 6e 64 20 66 6f 72 20 73 68 69 70 70  ommand for shipp
27740 69 6e 67 2e 0a 20 20 20 20 20 20 72 65 6c 69 6e  ing..      relin
27750 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 28 63 64 20 60  k_command="(cd `
27760 70 77 64 60 3b 20 24 53 48 45 4c 4c 20 24 70 72  pwd`; $SHELL $pr
27770 6f 67 70 61 74 68 20 24 70 72 65 73 65 72 76 65  ogpath $preserve
27780 5f 61 72 67 73 20 2d 2d 6d 6f 64 65 3d 72 65 6c  _args --mode=rel
27790 69 6e 6b 20 24 6c 69 62 74 6f 6f 6c 5f 61 72 67  ink $libtool_arg
277a0 73 20 40 69 6e 73 74 5f 70 72 65 66 69 78 5f 64  s @inst_prefix_d
277b0 69 72 40 29 22 0a 20 20 20 20 20 20 72 65 6c 69  ir@)".      reli
277c0 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68  nk_command=`$ech
277d0 6f 20 22 58 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  o "X$relink_comm
277e0 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65 20  and" | $Xsed -e 
277f0 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73  "$sed_quote_subs
27800 74 22 60 0a 20 20 20 20 20 20 69 66 20 74 65 73  t"`.      if tes
27810 74 20 22 24 68 61 72 64 63 6f 64 65 5f 61 75 74  t "$hardcode_aut
27820 6f 6d 61 74 69 63 22 20 3d 20 79 65 73 20 3b 20  omatic" = yes ; 
27830 74 68 65 6e 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d  then..relink_com
27840 6d 61 6e 64 3d 0a 20 20 20 20 20 20 66 69 0a 0a  mand=.      fi..
27850 0a 20 20 20 20 20 20 23 20 4f 6e 6c 79 20 63 72  .      # Only cr
27860 65 61 74 65 20 74 68 65 20 6f 75 74 70 75 74 20  eate the output 
27870 69 66 20 6e 6f 74 20 61 20 64 72 79 20 72 75 6e  if not a dry run
27880 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
27890 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a  -z "$run"; then.
278a0 09 66 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 69  .for installed i
278b0 6e 20 6e 6f 20 79 65 73 3b 20 64 6f 0a 09 20 20  n no yes; do..  
278c0 69 66 20 74 65 73 74 20 22 24 69 6e 73 74 61 6c  if test "$instal
278d0 6c 65 64 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  led" = yes; then
278e0 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a  ..    if test -z
278f0 20 22 24 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69   "$install_libdi
27900 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  r"; then..      
27910 62 72 65 61 6b 0a 09 20 20 20 20 66 69 0a 09 20  break..    fi.. 
27920 20 20 20 6f 75 74 70 75 74 3d 22 24 6f 75 74 70     output="$outp
27930 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75  ut_objdir/$outpu
27940 74 6e 61 6d 65 22 69 0a 09 20 20 20 20 23 20 52  tname"i..    # R
27950 65 70 6c 61 63 65 20 61 6c 6c 20 75 6e 69 6e 73  eplace all unins
27960 74 61 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c  talled libtool l
27970 69 62 72 61 72 69 65 73 20 77 69 74 68 20 74 68  ibraries with th
27980 65 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 65 73  e installed ones
27990 0a 09 20 20 20 20 6e 65 77 64 65 70 65 6e 64 65  ..    newdepende
279a0 6e 63 79 5f 6c 69 62 73 3d 0a 09 20 20 20 20 66  ncy_libs=..    f
279b0 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 64 65  or deplib in $de
279c0 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b 20 64  pendency_libs; d
279d0 6f 0a 09 20 20 20 20 20 20 63 61 73 65 20 24 64  o..      case $d
279e0 65 70 6c 69 62 20 69 6e 0a 09 20 20 20 20 20 20  eplib in..      
279f0 2a 2e 6c 61 29 0a 09 09 6e 61 6d 65 3d 60 24 65  *.la)...name=`$e
27a00 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c  cho "X$deplib" |
27a10 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
27a20 2f 25 25 27 60 0a 09 09 65 76 61 6c 20 6c 69 62  /%%'`...eval lib
27a30 64 69 72 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d  dir=`${SED} -n -
27a40 65 20 27 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e  e 's/^libdir=\(.
27a50 2a 5c 29 24 2f 5c 31 2f 70 27 20 24 64 65 70 6c  *\)$/\1/p' $depl
27a60 69 62 60 0a 09 09 69 66 20 74 65 73 74 20 2d 7a  ib`...if test -z
27a70 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e   "$libdir"; then
27a80 0a 09 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  ...  $echo "$mod
27a90 65 6e 61 6d 65 3a 20 5c 60 24 64 65 70 6c 69 62  ename: \`$deplib
27aa0 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64  ' is not a valid
27ab0 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65   libtool archive
27ac0 22 20 31 3e 26 32 0a 09 09 20 20 65 78 69 74 20  " 1>&2...  exit 
27ad0 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 09  $EXIT_FAILURE...
27ae0 66 69 0a 09 09 69 66 20 74 65 73 74 20 22 58 24  fi...if test "X$
27af0 45 47 52 45 50 22 20 3d 20 58 20 3b 20 74 68 65  EGREP" = X ; the
27b00 6e 0a 09 09 09 45 47 52 45 50 3d 65 67 72 65 70  n....EGREP=egrep
27b10 0a 09 09 66 69 0a 09 09 23 20 57 65 20 64 6f 20  ...fi...# We do 
27b20 6e 6f 74 20 77 61 6e 74 20 70 6f 72 74 61 67 65  not want portage
27b30 27 73 20 69 6e 73 74 61 6c 6c 20 72 6f 6f 74 20  's install root 
27b40 28 24 44 29 20 70 72 65 73 65 6e 74 2e 20 20 43  ($D) present.  C
27b50 68 65 63 6b 20 6f 6e 6c 79 20 66 6f 72 0a 09 09  heck only for...
27b60 23 20 74 68 69 73 20 69 66 20 74 68 65 20 2e 6c  # this if the .l
27b70 61 20 69 73 20 62 65 69 6e 67 20 69 6e 73 74 61  a is being insta
27b80 6c 6c 65 64 2e 0a 09 09 69 66 20 74 65 73 74 20  lled....if test 
27b90 22 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d 20 79  "$installed" = y
27ba0 65 73 20 26 26 20 74 65 73 74 20 22 24 44 22 3b  es && test "$D";
27bb0 20 74 68 65 6e 0a 09 09 20 20 65 76 61 6c 20 6d   then...  eval m
27bc0 79 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c  ynewdependency_l
27bd0 69 62 3d 60 65 63 68 6f 20 22 24 6c 69 62 64 69  ib=`echo "$libdi
27be0 72 2f 24 6e 61 6d 65 22 20 7c 73 65 64 20 2d 65  r/$name" |sed -e
27bf0 20 22 73 3a 24 44 3a 2f 3a 67 22 20 2d 65 20 27   "s:$D:/:g" -e '
27c00 73 3a 2f 5c 2b 3a 2f 3a 67 27 60 0a 09 09 65 6c  s:/\+:/:g'`...el
27c10 73 65 0a 09 09 20 20 6d 79 6e 65 77 64 65 70 65  se...  mynewdepe
27c20 6e 64 65 6e 63 79 5f 6c 69 62 3d 22 24 6c 69 62  ndency_lib="$lib
27c30 64 69 72 2f 24 6e 61 6d 65 22 0a 09 09 66 69 0a  dir/$name"...fi.
27c40 09 09 23 20 44 6f 20 6e 6f 74 20 61 64 64 20 64  ..# Do not add d
27c50 75 70 6c 69 63 61 74 65 73 0a 09 09 69 66 20 74  uplicates...if t
27c60 65 73 74 20 22 24 6d 79 6e 65 77 64 65 70 65 6e  est "$mynewdepen
27c70 64 65 6e 63 79 5f 6c 69 62 22 3b 20 74 68 65 6e  dency_lib"; then
27c80 0a 09 09 20 20 6d 79 5f 6c 69 74 74 6c 65 5f 6e  ...  my_little_n
27c90 69 6e 6a 61 5f 66 6f 6f 5f 31 3d 60 65 63 68 6f  inja_foo_1=`echo
27ca0 20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f   $newdependency_
27cb0 6c 69 62 73 20 7c 24 45 47 52 45 50 20 2d 65 20  libs |$EGREP -e 
27cc0 22 24 6d 79 6e 65 77 64 65 70 65 6e 64 65 6e 63  "$mynewdependenc
27cd0 79 5f 6c 69 62 22 60 0a 09 09 20 20 69 66 20 74  y_lib"`...  if t
27ce0 65 73 74 20 2d 7a 20 22 24 6d 79 5f 6c 69 74 74  est -z "$my_litt
27cf0 6c 65 5f 6e 69 6e 6a 61 5f 66 6f 6f 5f 31 22 3b  le_ninja_foo_1";
27d00 20 74 68 65 6e 0a 09 09 20 20 20 20 6e 65 77 64   then...    newd
27d10 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
27d20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c  $newdependency_l
27d30 69 62 73 20 24 6d 79 6e 65 77 64 65 70 65 6e 64  ibs $mynewdepend
27d40 65 6e 63 79 5f 6c 69 62 22 0a 09 09 20 20 66 69  ency_lib"...  fi
27d50 0a 09 09 66 69 0a 09 09 3b 3b 0a 09 09 20 20 2a  ...fi...;;...  *
27d60 29 0a 09 09 69 66 20 74 65 73 74 20 22 24 69 6e  )...if test "$in
27d70 73 74 61 6c 6c 65 64 22 20 3d 20 79 65 73 3b 20  stalled" = yes; 
27d80 74 68 65 6e 0a 09 09 20 20 23 20 52 61 74 68 65  then...  # Rathe
27d90 72 20 75 73 65 20 53 3d 57 4f 52 4b 44 49 52 20  r use S=WORKDIR 
27da0 69 66 20 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f  if our version o
27db0 66 20 70 6f 72 74 61 67 65 20 73 75 70 70 6f 72  f portage suppor
27dc0 74 73 20 69 74 2e 0a 09 09 20 20 23 20 54 68 69  ts it....  # Thi
27dd0 73 20 69 73 20 62 65 63 61 75 73 65 20 73 6f 6d  s is because som
27de0 65 20 65 62 75 69 6c 64 20 28 67 63 63 29 20 64  e ebuild (gcc) d
27df0 6f 20 6e 6f 74 20 75 73 65 20 24 53 20 61 73 20  o not use $S as 
27e00 62 75 69 6c 64 72 6f 6f 74 2e 0a 09 09 20 20 69  buildroot....  i
27e10 66 20 74 65 73 74 20 22 24 50 57 4f 52 4b 44 49  f test "$PWORKDI
27e20 52 22 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 53  R"; then...    S
27e30 3d 22 24 50 57 4f 52 4b 44 49 52 22 0a 09 09 20  ="$PWORKDIR"... 
27e40 20 66 69 0a 09 09 20 20 23 20 57 65 20 64 6f 20   fi...  # We do 
27e50 6e 6f 74 20 77 61 6e 74 20 70 6f 72 74 61 67 65  not want portage
27e60 27 73 20 62 75 69 6c 64 20 72 6f 6f 74 20 28 24  's build root ($
27e70 53 29 20 70 72 65 73 65 6e 74 2e 0a 09 09 20 20  S) present....  
27e80 6d 79 5f 6c 69 74 74 6c 65 5f 6e 69 6e 6a 61 5f  my_little_ninja_
27e90 66 6f 6f 5f 32 3d 60 65 63 68 6f 20 24 64 65 70  foo_2=`echo $dep
27ea0 6c 69 62 20 7c 24 45 47 52 45 50 20 2d 65 20 22  lib |$EGREP -e "
27eb0 24 53 22 60 0a 09 09 20 20 23 20 57 65 20 64 6f  $S"`...  # We do
27ec0 20 6e 6f 74 20 77 61 6e 74 20 70 6f 72 74 61 67   not want portag
27ed0 65 27 73 20 69 6e 73 74 61 6c 6c 20 72 6f 6f 74  e's install root
27ee0 20 28 24 44 29 20 70 72 65 73 65 6e 74 2e 0a 09   ($D) present...
27ef0 09 20 20 6d 79 5f 6c 69 74 74 6c 65 5f 6e 69 6e  .  my_little_nin
27f00 6a 61 5f 66 6f 6f 5f 33 3d 60 65 63 68 6f 20 24  ja_foo_3=`echo $
27f10 64 65 70 6c 69 62 20 7c 24 45 47 52 45 50 20 2d  deplib |$EGREP -
27f20 65 20 22 24 44 22 60 0a 09 09 20 20 69 66 20 74  e "$D"`...  if t
27f30 65 73 74 20 2d 6e 20 22 24 6d 79 5f 6c 69 74 74  est -n "$my_litt
27f40 6c 65 5f 6e 69 6e 6a 61 5f 66 6f 6f 5f 32 22 20  le_ninja_foo_2" 
27f50 26 26 20 74 65 73 74 20 22 24 53 22 3b 20 74 68  && test "$S"; th
27f60 65 6e 0a 09 09 20 20 20 20 6d 79 6e 65 77 64 65  en...    mynewde
27f70 70 65 6e 64 65 6e 63 79 5f 6c 69 62 3d 22 22 0a  pendency_lib="".
27f80 09 09 20 20 65 6c 69 66 20 74 65 73 74 20 2d 6e  ..  elif test -n
27f90 20 22 24 6d 79 5f 6c 69 74 74 6c 65 5f 6e 69 6e   "$my_little_nin
27fa0 6a 61 5f 66 6f 6f 5f 33 22 20 26 26 20 74 65 73  ja_foo_3" && tes
27fb0 74 20 22 24 44 22 3b 20 74 68 65 6e 0a 09 09 20  t "$D"; then... 
27fc0 20 20 20 65 76 61 6c 20 6d 79 6e 65 77 64 65 70     eval mynewdep
27fd0 65 6e 64 65 6e 63 79 5f 6c 69 62 3d 60 65 63 68  endency_lib=`ech
27fe0 6f 20 22 24 64 65 70 6c 69 62 22 20 7c 73 65 64  o "$deplib" |sed
27ff0 20 2d 65 20 22 73 3a 24 44 3a 2f 3a 67 22 20 2d   -e "s:$D:/:g" -
28000 65 20 27 73 3a 2f 5c 2b 3a 2f 3a 67 27 60 0a 09  e 's:/\+:/:g'`..
28010 09 20 20 65 6c 73 65 0a 09 09 20 20 20 20 6d 79  .  else...    my
28020 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
28030 62 3d 22 24 64 65 70 6c 69 62 22 0a 09 09 20 20  b="$deplib"...  
28040 66 69 0a 09 09 65 6c 73 65 0a 09 09 20 20 6d 79  fi...else...  my
28050 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
28060 62 3d 22 24 64 65 70 6c 69 62 22 0a 09 09 66 69  b="$deplib"...fi
28070 0a 09 09 23 20 44 6f 20 6e 6f 74 20 61 64 64 20  ...# Do not add 
28080 64 75 70 6c 69 63 61 74 65 73 0a 09 09 69 66 20  duplicates...if 
28090 74 65 73 74 20 22 24 6d 79 6e 65 77 64 65 70 65  test "$mynewdepe
280a0 6e 64 65 6e 63 79 5f 6c 69 62 22 3b 20 74 68 65  ndency_lib"; the
280b0 6e 0a 09 09 20 20 6d 79 5f 6c 69 74 74 6c 65 5f  n...  my_little_
280c0 6e 69 6e 6a 61 5f 66 6f 6f 5f 34 3d 60 65 63 68  ninja_foo_4=`ech
280d0 6f 20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79  o $newdependency
280e0 5f 6c 69 62 73 20 7c 24 45 47 52 45 50 20 2d 65  _libs |$EGREP -e
280f0 20 22 24 6d 79 6e 65 77 64 65 70 65 6e 64 65 6e   "$mynewdependen
28100 63 79 5f 6c 69 62 22 60 0a 09 09 20 20 69 66 20  cy_lib"`...  if 
28110 74 65 73 74 20 2d 7a 20 22 24 6d 79 5f 6c 69 74  test -z "$my_lit
28120 74 6c 65 5f 6e 69 6e 6a 61 5f 66 6f 6f 5f 34 22  tle_ninja_foo_4"
28130 3b 20 74 68 65 6e 0a 09 09 09 6e 65 77 64 65 70  ; then....newdep
28140 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 6e  endency_libs="$n
28150 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  ewdependency_lib
28160 73 20 24 6d 79 6e 65 77 64 65 70 65 6e 64 65 6e  s $mynewdependen
28170 63 79 5f 6c 69 62 22 0a 09 09 20 20 66 69 0a 09  cy_lib"...  fi..
28180 09 66 69 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20  .fi...;;..      
28190 65 73 61 63 0a 09 20 20 20 20 64 6f 6e 65 0a 09  esac..    done..
281a0 20 20 20 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c      dependency_l
281b0 69 62 73 3d 22 24 6e 65 77 64 65 70 65 6e 64 65  ibs="$newdepende
281c0 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 20 20 6e  ncy_libs"..    n
281d0 65 77 64 6c 66 69 6c 65 73 3d 0a 09 20 20 20 20  ewdlfiles=..    
281e0 66 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c 66 69  for lib in $dlfi
281f0 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 6e  les; do..      n
28200 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6c 69  ame=`$echo "X$li
28210 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  b" | $Xsed -e 's
28220 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20 20  %^.*/%%'`..     
28230 20 65 76 61 6c 20 6c 69 62 64 69 72 3d 60 24 7b   eval libdir=`${
28240 53 45 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e 6c  SED} -n -e 's/^l
28250 69 62 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c 31  ibdir=\(.*\)$/\1
28260 2f 70 27 20 24 6c 69 62 60 0a 09 20 20 20 20 20  /p' $lib`..     
28270 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69   if test -z "$li
28280 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 24 65  bdir"; then...$e
28290 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
282a0 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f 74 20 61  \`$lib' is not a
282b0 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 61   valid libtool a
282c0 72 63 68 69 76 65 22 20 31 3e 26 32 0a 09 09 65  rchive" 1>&2...e
282d0 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
282e0 45 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20  E..      fi..   
282f0 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 22 24     newdlfiles="$
28300 6e 65 77 64 6c 66 69 6c 65 73 20 24 6c 69 62 64  newdlfiles $libd
28310 69 72 2f 24 6e 61 6d 65 22 0a 09 20 20 20 20 64  ir/$name"..    d
28320 6f 6e 65 0a 09 20 20 20 20 64 6c 66 69 6c 65 73  one..    dlfiles
28330 3d 22 24 6e 65 77 64 6c 66 69 6c 65 73 22 0a 09  ="$newdlfiles"..
28340 20 20 20 20 6e 65 77 64 6c 70 72 65 66 69 6c 65      newdlprefile
28350 73 3d 0a 09 20 20 20 20 66 6f 72 20 6c 69 62 20  s=..    for lib 
28360 69 6e 20 24 64 6c 70 72 65 66 69 6c 65 73 3b 20  in $dlprefiles; 
28370 64 6f 0a 09 20 20 20 20 20 20 6e 61 6d 65 3d 60  do..      name=`
28380 24 65 63 68 6f 20 22 58 24 6c 69 62 22 20 7c 20  $echo "X$lib" | 
28390 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f  $Xsed -e 's%^.*/
283a0 25 25 27 60 0a 09 20 20 20 20 20 20 65 76 61 6c  %%'`..      eval
283b0 20 6c 69 62 64 69 72 3d 60 24 7b 53 45 44 7d 20   libdir=`${SED} 
283c0 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62 64 69 72  -n -e 's/^libdir
283d0 3d 5c 28 2e 2a 5c 29 24 2f 5c 31 2f 70 27 20 24  =\(.*\)$/\1/p' $
283e0 6c 69 62 60 0a 09 20 20 20 20 20 20 69 66 20 74  lib`..      if t
283f0 65 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22  est -z "$libdir"
28400 3b 20 74 68 65 6e 0a 09 09 24 65 63 68 6f 20 22  ; then...$echo "
28410 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 6c 69  $modename: \`$li
28420 62 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69  b' is not a vali
28430 64 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76  d libtool archiv
28440 65 22 20 31 3e 26 32 0a 09 09 65 78 69 74 20 24  e" 1>&2...exit $
28450 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
28460 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 6e 65      fi..      ne
28470 77 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65  wdlprefiles="$ne
28480 77 64 6c 70 72 65 66 69 6c 65 73 20 24 6c 69 62  wdlprefiles $lib
28490 64 69 72 2f 24 6e 61 6d 65 22 0a 09 20 20 20 20  dir/$name"..    
284a0 64 6f 6e 65 0a 09 20 20 20 20 64 6c 70 72 65 66  done..    dlpref
284b0 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66  iles="$newdlpref
284c0 69 6c 65 73 22 0a 09 20 20 65 6c 73 65 0a 09 20  iles"..  else.. 
284d0 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 0a 09     newdlfiles=..
284e0 20 20 20 20 66 6f 72 20 6c 69 62 20 69 6e 20 24      for lib in $
284f0 64 6c 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20  dlfiles; do..   
28500 20 20 20 63 61 73 65 20 24 6c 69 62 20 69 6e 0a     case $lib in.
28510 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61  ..[\\/]* | [A-Za
28520 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 3d  -z]:[\\/]*) abs=
28530 22 24 6c 69 62 22 20 3b 3b 0a 09 09 2a 29 20 61  "$lib" ;;...*) a
28540 62 73 3d 60 70 77 64 60 22 2f 24 6c 69 62 22 20  bs=`pwd`"/$lib" 
28550 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
28560 20 20 20 20 20 20 6e 65 77 64 6c 66 69 6c 65 73        newdlfiles
28570 3d 22 24 6e 65 77 64 6c 66 69 6c 65 73 20 24 61  ="$newdlfiles $a
28580 62 73 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20  bs"..    done.. 
28590 20 20 20 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77     dlfiles="$new
285a0 64 6c 66 69 6c 65 73 22 0a 09 20 20 20 20 6e 65  dlfiles"..    ne
285b0 77 64 6c 70 72 65 66 69 6c 65 73 3d 0a 09 20 20  wdlprefiles=..  
285c0 20 20 66 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c    for lib in $dl
285d0 70 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20  prefiles; do..  
285e0 20 20 20 20 63 61 73 65 20 24 6c 69 62 20 69 6e      case $lib in
285f0 0a 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a  ...[\\/]* | [A-Z
28600 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73  a-z]:[\\/]*) abs
28610 3d 22 24 6c 69 62 22 20 3b 3b 0a 09 09 2a 29 20  ="$lib" ;;...*) 
28620 61 62 73 3d 60 70 77 64 60 22 2f 24 6c 69 62 22  abs=`pwd`"/$lib"
28630 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a   ;;..      esac.
28640 09 20 20 20 20 20 20 6e 65 77 64 6c 70 72 65 66  .      newdlpref
28650 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66  iles="$newdlpref
28660 69 6c 65 73 20 24 61 62 73 22 0a 09 20 20 20 20  iles $abs"..    
28670 64 6f 6e 65 0a 09 20 20 20 20 64 6c 70 72 65 66  done..    dlpref
28680 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66  iles="$newdlpref
28690 69 6c 65 73 22 0a 09 20 20 66 69 0a 09 20 20 24  iles"..  fi..  $
286a0 72 6d 20 24 6f 75 74 70 75 74 0a 09 20 20 23 20  rm $output..  # 
286b0 70 6c 61 63 65 20 64 6c 6e 61 6d 65 20 69 6e 20  place dlname in 
286c0 63 6f 72 72 65 63 74 20 70 6f 73 69 74 69 6f 6e  correct position
286d0 20 66 6f 72 20 63 79 67 77 69 6e 0a 09 20 20 74   for cygwin..  t
286e0 64 6c 6e 61 6d 65 3d 24 64 6c 6e 61 6d 65 0a 09  dlname=$dlname..
286f0 20 20 63 61 73 65 20 24 68 6f 73 74 2c 24 6f 75    case $host,$ou
28700 74 70 75 74 2c 24 69 6e 73 74 61 6c 6c 65 64 2c  tput,$installed,
28710 24 6d 6f 64 75 6c 65 2c 24 64 6c 6e 61 6d 65 20  $module,$dlname 
28720 69 6e 0a 09 20 20 20 20 2a 63 79 67 77 69 6e 2a  in..    *cygwin*
28730 2c 2a 6c 61 69 2c 79 65 73 2c 6e 6f 2c 2a 2e 64  ,*lai,yes,no,*.d
28740 6c 6c 20 7c 20 2a 6d 69 6e 67 77 2a 2c 2a 6c 61  ll | *mingw*,*la
28750 69 2c 79 65 73 2c 6e 6f 2c 2a 2e 64 6c 6c 29 20  i,yes,no,*.dll) 
28760 74 64 6c 6e 61 6d 65 3d 2e 2e 2f 62 69 6e 2f 24  tdlname=../bin/$
28770 64 6c 6e 61 6d 65 20 3b 3b 0a 09 20 20 65 73 61  dlname ;;..  esa
28780 63 0a 09 20 20 23 20 44 6f 20 6e 6f 74 20 61 64  c..  # Do not ad
28790 64 20 64 75 70 6c 69 63 61 74 65 73 0a 09 20 20  d duplicates..  
287a0 69 66 20 74 65 73 74 20 22 24 69 6e 73 74 61 6c  if test "$instal
287b0 6c 65 64 22 20 3d 20 79 65 73 20 26 26 20 74 65  led" = yes && te
287c0 73 74 20 22 24 44 22 3b 20 74 68 65 6e 0a 09 20  st "$D"; then.. 
287d0 20 20 20 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69     install_libdi
287e0 72 3d 60 65 63 68 6f 20 22 24 69 6e 73 74 61 6c  r=`echo "$instal
287f0 6c 5f 6c 69 62 64 69 72 22 20 7c 73 65 64 20 2d  l_libdir" |sed -
28800 65 20 22 73 3a 24 44 3a 2f 3a 67 22 20 2d 65 20  e "s:$D:/:g" -e 
28810 27 73 3a 2f 5c 2b 3a 2f 3a 67 27 60 0a 09 20 20  's:/\+:/:g'`..  
28820 66 69 0a 09 20 20 24 65 63 68 6f 20 3e 20 24 6f  fi..  $echo > $o
28830 75 74 70 75 74 20 22 5c 0a 23 20 24 6f 75 74 70  utput "\.# $outp
28840 75 74 6e 61 6d 65 20 2d 20 61 20 6c 69 62 74 6f  utname - a libto
28850 6f 6c 20 6c 69 62 72 61 72 79 20 66 69 6c 65 0a  ol library file.
28860 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 24  # Generated by $
28870 50 52 4f 47 52 41 4d 20 2d 20 47 4e 55 20 24 50  PROGRAM - GNU $P
28880 41 43 4b 41 47 45 20 24 56 45 52 53 49 4f 4e 24  ACKAGE $VERSION$
28890 54 49 4d 45 53 54 41 4d 50 0a 23 0a 23 20 50 6c  TIMESTAMP.#.# Pl
288a0 65 61 73 65 20 44 4f 20 4e 4f 54 20 64 65 6c 65  ease DO NOT dele
288b0 74 65 20 74 68 69 73 20 66 69 6c 65 21 0a 23 20  te this file!.# 
288c0 49 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 20  It is necessary 
288d0 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20  for linking the 
288e0 6c 69 62 72 61 72 79 2e 0a 0a 23 20 54 68 65 20  library...# The 
288f0 6e 61 6d 65 20 74 68 61 74 20 77 65 20 63 61 6e  name that we can
28900 20 64 6c 6f 70 65 6e 28 33 29 2e 0a 64 6c 6e 61   dlopen(3)..dlna
28910 6d 65 3d 27 24 74 64 6c 6e 61 6d 65 27 0a 0a 23  me='$tdlname'..#
28920 20 4e 61 6d 65 73 20 6f 66 20 74 68 69 73 20 6c   Names of this l
28930 69 62 72 61 72 79 2e 0a 6c 69 62 72 61 72 79 5f  ibrary..library_
28940 6e 61 6d 65 73 3d 27 24 6c 69 62 72 61 72 79 5f  names='$library_
28950 6e 61 6d 65 73 27 0a 0a 23 20 54 68 65 20 6e 61  names'..# The na
28960 6d 65 20 6f 66 20 74 68 65 20 73 74 61 74 69 63  me of the static
28970 20 61 72 63 68 69 76 65 2e 0a 6f 6c 64 5f 6c 69   archive..old_li
28980 62 72 61 72 79 3d 27 24 6f 6c 64 5f 6c 69 62 72  brary='$old_libr
28990 61 72 79 27 0a 0a 23 20 4c 69 62 72 61 72 69 65  ary'..# Librarie
289a0 73 20 74 68 61 74 20 74 68 69 73 20 6f 6e 65 20  s that this one 
289b0 64 65 70 65 6e 64 73 20 75 70 6f 6e 2e 0a 64 65  depends upon..de
289c0 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 27 24  pendency_libs='$
289d0 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 27  dependency_libs'
289e0 0a 0a 23 20 56 65 72 73 69 6f 6e 20 69 6e 66 6f  ..# Version info
289f0 72 6d 61 74 69 6f 6e 20 66 6f 72 20 24 6c 69 62  rmation for $lib
28a00 6e 61 6d 65 2e 0a 63 75 72 72 65 6e 74 3d 24 63  name..current=$c
28a10 75 72 72 65 6e 74 0a 61 67 65 3d 24 61 67 65 0a  urrent.age=$age.
28a20 72 65 76 69 73 69 6f 6e 3d 24 72 65 76 69 73 69  revision=$revisi
28a30 6f 6e 0a 0a 23 20 49 73 20 74 68 69 73 20 61 6e  on..# Is this an
28a40 20 61 6c 72 65 61 64 79 20 69 6e 73 74 61 6c 6c   already install
28a50 65 64 20 6c 69 62 72 61 72 79 3f 0a 69 6e 73 74  ed library?.inst
28a60 61 6c 6c 65 64 3d 24 69 6e 73 74 61 6c 6c 65 64  alled=$installed
28a70 0a 0a 23 20 53 68 6f 75 6c 64 20 77 65 20 77 61  ..# Should we wa
28a80 72 6e 20 61 62 6f 75 74 20 70 6f 72 74 61 62 69  rn about portabi
28a90 6c 69 74 79 20 77 68 65 6e 20 6c 69 6e 6b 69 6e  lity when linkin
28aa0 67 20 61 67 61 69 6e 73 74 20 2d 6d 6f 64 75 6c  g against -modul
28ab0 65 73 3f 0a 73 68 6f 75 6c 64 6e 6f 74 6c 69 6e  es?.shouldnotlin
28ac0 6b 3d 24 6d 6f 64 75 6c 65 0a 0a 23 20 46 69 6c  k=$module..# Fil
28ad0 65 73 20 74 6f 20 64 6c 6f 70 65 6e 2f 64 6c 70  es to dlopen/dlp
28ae0 72 65 6f 70 65 6e 0a 64 6c 6f 70 65 6e 3d 27 24  reopen.dlopen='$
28af0 64 6c 66 69 6c 65 73 27 0a 64 6c 70 72 65 6f 70  dlfiles'.dlpreop
28b00 65 6e 3d 27 24 64 6c 70 72 65 66 69 6c 65 73 27  en='$dlprefiles'
28b10 0a 0a 23 20 44 69 72 65 63 74 6f 72 79 20 74 68  ..# Directory th
28b20 61 74 20 74 68 69 73 20 6c 69 62 72 61 72 79 20  at this library 
28b30 6e 65 65 64 73 20 74 6f 20 62 65 20 69 6e 73 74  needs to be inst
28b40 61 6c 6c 65 64 20 69 6e 3a 0a 6c 69 62 64 69 72  alled in:.libdir
28b50 3d 27 24 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69  ='$install_libdi
28b60 72 27 22 0a 09 20 20 69 66 20 74 65 73 74 20 22  r'"..  if test "
28b70 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d 20 6e 6f  $installed" = no
28b80 20 26 26 20 74 65 73 74 20 22 24 6e 65 65 64 5f   && test "$need_
28b90 72 65 6c 69 6e 6b 22 20 3d 20 79 65 73 3b 20 74  relink" = yes; t
28ba0 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 3e  hen..    $echo >
28bb0 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 72 65 6c  > $output "\.rel
28bc0 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 5c 22 24 72  ink_command=\"$r
28bd0 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 5c 22 22  elink_command\""
28be0 0a 09 20 20 66 69 0a 09 64 6f 6e 65 0a 20 20 20  ..  fi..done.   
28bf0 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 44     fi..      # D
28c00 6f 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e  o a symbolic lin
28c10 6b 20 73 6f 20 74 68 61 74 20 74 68 65 20 6c 69  k so that the li
28c20 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 20 63 61  btool archive ca
28c30 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 0a 20 20  n be found in.  
28c40 20 20 20 20 23 20 4c 44 5f 4c 49 42 52 41 52 59      # LD_LIBRARY
28c50 5f 50 41 54 48 20 62 65 66 6f 72 65 20 74 68 65  _PATH before the
28c60 20 70 72 6f 67 72 61 6d 20 69 73 20 69 6e 73 74   program is inst
28c70 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 24 73 68  alled..      $sh
28c80 6f 77 20 22 28 63 64 20 24 6f 75 74 70 75 74 5f  ow "(cd $output_
28c90 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24 6f  objdir && $rm $o
28ca0 75 74 70 75 74 6e 61 6d 65 20 26 26 20 24 4c 4e  utputname && $LN
28cb0 5f 53 20 2e 2e 2f 24 6f 75 74 70 75 74 6e 61 6d  _S ../$outputnam
28cc0 65 20 24 6f 75 74 70 75 74 6e 61 6d 65 29 22 0a  e $outputname)".
28cd0 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
28ce0 27 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a  '(cd $output_obj
28cf0 64 69 72 20 26 26 20 24 72 6d 20 24 6f 75 74 70  dir && $rm $outp
28d00 75 74 6e 61 6d 65 20 26 26 20 24 4c 4e 5f 53 20  utname && $LN_S 
28d10 2e 2e 2f 24 6f 75 74 70 75 74 6e 61 6d 65 20 24  ../$outputname $
28d20 6f 75 74 70 75 74 6e 61 6d 65 29 27 20 7c 7c 20  outputname)' || 
28d30 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 3b 3b  exit $?.      ;;
28d40 0a 20 20 20 20 65 73 61 63 0a 20 20 20 20 65 78  .    esac.    ex
28d50 69 74 20 24 45 58 49 54 5f 53 55 43 43 45 53 53  it $EXIT_SUCCESS
28d60 0a 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c 69 62  .    ;;..  # lib
28d70 74 6f 6f 6c 20 69 6e 73 74 61 6c 6c 20 6d 6f 64  tool install mod
28d80 65 0a 20 20 69 6e 73 74 61 6c 6c 29 0a 20 20 20  e.  install).   
28d90 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64 65   modename="$mode
28da0 6e 61 6d 65 3a 20 69 6e 73 74 61 6c 6c 22 0a 0a  name: install"..
28db0 20 20 20 20 23 20 54 68 65 72 65 20 6d 61 79 20      # There may 
28dc0 62 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 73  be an optional s
28dd0 68 28 31 29 20 61 72 67 75 6d 65 6e 74 20 61 74  h(1) argument at
28de0 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f   the beginning o
28df0 66 0a 20 20 20 20 23 20 69 6e 73 74 61 6c 6c 5f  f.    # install_
28e00 70 72 6f 67 20 28 65 73 70 65 63 69 61 6c 6c 79  prog (especially
28e10 20 6f 6e 20 57 69 6e 64 6f 77 73 20 4e 54 29 2e   on Windows NT).
28e20 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6e  .    if test "$n
28e30 6f 6e 6f 70 74 22 20 3d 20 22 24 53 48 45 4c 4c  onopt" = "$SHELL
28e40 22 20 7c 7c 20 74 65 73 74 20 22 24 6e 6f 6e 6f  " || test "$nono
28e50 70 74 22 20 3d 20 2f 62 69 6e 2f 73 68 20 7c 7c  pt" = /bin/sh ||
28e60 0a 20 20 20 20 20 20 20 23 20 41 6c 6c 6f 77 20  .       # Allow 
28e70 74 68 65 20 75 73 65 20 6f 66 20 47 4e 55 20 73  the use of GNU s
28e80 68 74 6f 6f 6c 27 73 20 69 6e 73 74 61 6c 6c 20  htool's install 
28e90 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20 20  command..       
28ea0 24 65 63 68 6f 20 22 58 24 6e 6f 6e 6f 70 74 22  $echo "X$nonopt"
28eb0 20 7c 20 67 72 65 70 20 73 68 74 6f 6f 6c 20 3e   | grep shtool >
28ec0 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e   /dev/null; then
28ed0 0a 20 20 20 20 20 20 23 20 41 65 73 74 68 65 74  .      # Aesthet
28ee0 69 63 61 6c 6c 79 20 71 75 6f 74 65 20 69 74 2e  ically quote it.
28ef0 0a 20 20 20 20 20 20 61 72 67 3d 60 24 65 63 68  .      arg=`$ech
28f00 6f 20 22 58 24 6e 6f 6e 6f 70 74 22 20 7c 20 24  o "X$nonopt" | $
28f10 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
28f20 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20  ote_subst"`.    
28f30 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
28f40 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c       *[\[\~\#\^\
28f50 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c  &\*\(\)\{\}\|\;\
28f60 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d  <\>\?\'\ \.]*|*]
28f70 2a 7c 22 22 29 0a 09 61 72 67 3d 22 5c 22 24 61  *|"")..arg="\"$a
28f80 72 67 5c 22 22 0a 09 3b 3b 0a 20 20 20 20 20 20  rg\""..;;.      
28f90 65 73 61 63 0a 20 20 20 20 20 20 69 6e 73 74 61  esac.      insta
28fa0 6c 6c 5f 70 72 6f 67 3d 22 24 61 72 67 20 22 0a  ll_prog="$arg ".
28fb0 20 20 20 20 20 20 61 72 67 3d 22 24 31 22 0a 20        arg="$1". 
28fc0 20 20 20 20 20 73 68 69 66 74 0a 20 20 20 20 65       shift.    e
28fd0 6c 73 65 0a 20 20 20 20 20 20 69 6e 73 74 61 6c  lse.      instal
28fe0 6c 5f 70 72 6f 67 3d 0a 20 20 20 20 20 20 61 72  l_prog=.      ar
28ff0 67 3d 24 6e 6f 6e 6f 70 74 0a 20 20 20 20 66 69  g=$nonopt.    fi
29000 0a 0a 20 20 20 20 23 20 54 68 65 20 72 65 61 6c  ..    # The real
29010 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20   first argument 
29020 73 68 6f 75 6c 64 20 62 65 20 74 68 65 20 6e 61  should be the na
29030 6d 65 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c  me of the instal
29040 6c 61 74 69 6f 6e 20 70 72 6f 67 72 61 6d 2e 0a  lation program..
29050 20 20 20 20 23 20 41 65 73 74 68 65 74 69 63 61      # Aesthetica
29060 6c 6c 79 20 71 75 6f 74 65 20 69 74 2e 0a 20 20  lly quote it..  
29070 20 20 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24    arg=`$echo "X$
29080 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20  arg" | $Xsed -e 
29090 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73  "$sed_quote_subs
290a0 74 22 60 0a 20 20 20 20 63 61 73 65 20 24 61 72  t"`.    case $ar
290b0 67 20 69 6e 0a 20 20 20 20 2a 5b 5c 5b 5c 7e 5c  g in.    *[\[\~\
290c0 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
290d0 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
290e0 2a 7c 2a 5d 2a 7c 22 22 29 0a 20 20 20 20 20 20  *|*]*|"").      
290f0 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 20  arg="\"$arg\"". 
29100 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
29110 0a 20 20 20 20 69 6e 73 74 61 6c 6c 5f 70 72 6f  .    install_pro
29120 67 3d 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  g="$install_prog
29130 24 61 72 67 22 0a 0a 20 20 20 20 23 20 57 65 20  $arg"..    # We 
29140 6e 65 65 64 20 74 6f 20 61 63 63 65 70 74 20 61  need to accept a
29150 74 20 6c 65 61 73 74 20 61 6c 6c 20 74 68 65 20  t least all the 
29160 42 53 44 20 69 6e 73 74 61 6c 6c 20 66 6c 61 67  BSD install flag
29170 73 2e 0a 20 20 20 20 64 65 73 74 3d 0a 20 20 20  s..    dest=.   
29180 20 66 69 6c 65 73 3d 0a 20 20 20 20 6f 70 74 73   files=.    opts
29190 3d 0a 20 20 20 20 70 72 65 76 3d 0a 20 20 20 20  =.    prev=.    
291a0 69 6e 73 74 61 6c 6c 5f 74 79 70 65 3d 0a 20 20  install_type=.  
291b0 20 20 69 73 64 69 72 3d 6e 6f 0a 20 20 20 20 73    isdir=no.    s
291c0 74 72 69 70 6d 65 3d 0a 20 20 20 20 66 6f 72 20  tripme=.    for 
291d0 61 72 67 0a 20 20 20 20 64 6f 0a 20 20 20 20 20  arg.    do.     
291e0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65   if test -n "$de
291f0 73 74 22 3b 20 74 68 65 6e 0a 09 66 69 6c 65 73  st"; then..files
29200 3d 22 24 66 69 6c 65 73 20 24 64 65 73 74 22 0a  ="$files $dest".
29210 09 64 65 73 74 3d 24 61 72 67 0a 09 63 6f 6e 74  .dest=$arg..cont
29220 69 6e 75 65 0a 20 20 20 20 20 20 66 69 0a 0a 20  inue.      fi.. 
29230 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69       case $arg i
29240 6e 0a 20 20 20 20 20 20 2d 64 29 20 69 73 64 69  n.      -d) isdi
29250 72 3d 79 65 73 20 3b 3b 0a 20 20 20 20 20 20 2d  r=yes ;;.      -
29260 66 29 20 0a 20 20 20 20 20 20 09 63 61 73 65 20  f) .      .case 
29270 22 20 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20  " $install_prog 
29280 22 20 69 6e 0a 09 2a 5b 5c 5c 5c 20 2f 5d 63 70  " in..*[\\\ /]cp
29290 5c 20 2a 29 20 3b 3b 0a 09 2a 29 20 70 72 65 76  \ *) ;;..*) prev
292a0 3d 24 61 72 67 20 3b 3b 0a 09 65 73 61 63 0a 09  =$arg ;;..esac..
292b0 3b 3b 0a 20 20 20 20 20 20 2d 67 20 7c 20 2d 6d  ;;.      -g | -m
292c0 20 7c 20 2d 6f 29 20 70 72 65 76 3d 24 61 72 67   | -o) prev=$arg
292d0 20 3b 3b 0a 20 20 20 20 20 20 2d 73 29 0a 09 73   ;;.      -s)..s
292e0 74 72 69 70 6d 65 3d 22 20 2d 73 22 0a 09 63 6f  tripme=" -s"..co
292f0 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20  ntinue..;;.     
29300 20 2d 2a 29 0a 09 3b 3b 0a 20 20 20 20 20 20 2a   -*)..;;.      *
29310 29 0a 09 23 20 49 66 20 74 68 65 20 70 72 65 76  )..# If the prev
29320 69 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65 65 64  ious option need
29330 65 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20  ed an argument, 
29340 74 68 65 6e 20 73 6b 69 70 20 69 74 2e 0a 09 69  then skip it...i
29350 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72 65 76  f test -n "$prev
29360 22 3b 20 74 68 65 6e 0a 09 20 20 70 72 65 76 3d  "; then..  prev=
29370 0a 09 65 6c 73 65 0a 09 20 20 64 65 73 74 3d 24  ..else..  dest=$
29380 61 72 67 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  arg..  continue.
29390 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73  .fi..;;.      es
293a0 61 63 0a 0a 20 20 20 20 20 20 23 20 41 65 73 74  ac..      # Aest
293b0 68 65 74 69 63 61 6c 6c 79 20 71 75 6f 74 65 20  hetically quote 
293c0 74 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20  the argument..  
293d0 20 20 20 20 61 72 67 3d 60 24 65 63 68 6f 20 22      arg=`$echo "
293e0 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
293f0 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
29400 62 73 74 22 60 0a 20 20 20 20 20 20 63 61 73 65  bst"`.      case
29410 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2a   $arg in.      *
29420 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c  [\[\~\#\^\&\*\(\
29430 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c  )\{\}\|\;\<\>\?\
29440 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a  '\ \.]*|*]*|"").
29450 09 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a  .arg="\"$arg\"".
29460 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20  .;;.      esac. 
29470 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f 70 72 6f       install_pro
29480 67 3d 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  g="$install_prog
29490 20 24 61 72 67 22 0a 20 20 20 20 64 6f 6e 65 0a   $arg".    done.
294a0 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20  .    if test -z 
294b0 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 22 3b  "$install_prog";
294c0 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68   then.      $ech
294d0 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f  o "$modename: yo
294e0 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61  u must specify a
294f0 6e 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67 72 61  n install progra
29500 6d 22 20 31 3e 26 32 0a 20 20 20 20 20 20 24 65  m" 1>&2.      $e
29510 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
29520 0a 20 20 20 20 20 20 65 78 69 74 20 24 45 58 49  .      exit $EXI
29530 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 66 69  T_FAILURE.    fi
29540 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
29550 20 22 24 70 72 65 76 22 3b 20 74 68 65 6e 0a 20   "$prev"; then. 
29560 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64       $echo "$mod
29570 65 6e 61 6d 65 3a 20 74 68 65 20 5c 60 24 70 72  ename: the \`$pr
29580 65 76 27 20 6f 70 74 69 6f 6e 20 72 65 71 75 69  ev' option requi
29590 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22  res an argument"
295a0 20 31 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68   1>&2.      $ech
295b0 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20  o "$help" 1>&2. 
295c0 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f       exit $EXIT_
295d0 46 41 49 4c 55 52 45 0a 20 20 20 20 66 69 0a 0a  FAILURE.    fi..
295e0 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
295f0 24 66 69 6c 65 73 22 3b 20 74 68 65 6e 0a 20 20  $files"; then.  
29600 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
29610 24 64 65 73 74 22 3b 20 74 68 65 6e 0a 09 24 65  $dest"; then..$e
29620 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
29630 6e 6f 20 66 69 6c 65 20 6f 72 20 64 65 73 74 69  no file or desti
29640 6e 61 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64  nation specified
29650 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65 6c 73  " 1>&2.      els
29660 65 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  e..$echo "$moden
29670 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70  ame: you must sp
29680 65 63 69 66 79 20 61 20 64 65 73 74 69 6e 61 74  ecify a destinat
29690 69 6f 6e 22 20 31 3e 26 32 0a 20 20 20 20 20 20  ion" 1>&2.      
296a0 66 69 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  fi.      $echo "
296b0 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20  $help" 1>&2.    
296c0 20 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49    exit $EXIT_FAI
296d0 4c 55 52 45 0a 20 20 20 20 66 69 0a 0a 20 20 20  LURE.    fi..   
296e0 20 23 20 53 74 72 69 70 20 61 6e 79 20 74 72 61   # Strip any tra
296f0 69 6c 69 6e 67 20 73 6c 61 73 68 20 66 72 6f 6d  iling slash from
29700 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e   the destination
29710 2e 0a 20 20 20 20 64 65 73 74 3d 60 24 65 63 68  ..    dest=`$ech
29720 6f 20 22 58 24 64 65 73 74 22 20 7c 20 24 58 73  o "X$dest" | $Xs
29730 65 64 20 2d 65 20 27 73 25 2f 24 25 25 27 60 0a  ed -e 's%/$%%'`.
29740 0a 20 20 20 20 23 20 43 68 65 63 6b 20 74 6f 20  .    # Check to 
29750 73 65 65 20 74 68 61 74 20 74 68 65 20 64 65 73  see that the des
29760 74 69 6e 61 74 69 6f 6e 20 69 73 20 61 20 64 69  tination is a di
29770 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 74 65 73  rectory..    tes
29780 74 20 2d 64 20 22 24 64 65 73 74 22 20 26 26 20  t -d "$dest" && 
29790 69 73 64 69 72 3d 79 65 73 0a 20 20 20 20 69 66  isdir=yes.    if
297a0 20 74 65 73 74 20 22 24 69 73 64 69 72 22 20 3d   test "$isdir" =
297b0 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20   yes; then.     
297c0 20 64 65 73 74 64 69 72 3d 22 24 64 65 73 74 22   destdir="$dest"
297d0 0a 20 20 20 20 20 20 64 65 73 74 6e 61 6d 65 3d  .      destname=
297e0 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20  .    else.      
297f0 64 65 73 74 64 69 72 3d 60 24 65 63 68 6f 20 22  destdir=`$echo "
29800 58 24 64 65 73 74 22 20 7c 20 24 58 73 65 64 20  X$dest" | $Xsed 
29810 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27  -e 's%/[^/]*$%%'
29820 60 0a 20 20 20 20 20 20 74 65 73 74 20 22 58 24  `.      test "X$
29830 64 65 73 74 64 69 72 22 20 3d 20 22 58 24 64 65  destdir" = "X$de
29840 73 74 22 20 26 26 20 64 65 73 74 64 69 72 3d 2e  st" && destdir=.
29850 0a 20 20 20 20 20 20 64 65 73 74 6e 61 6d 65 3d  .      destname=
29860 60 24 65 63 68 6f 20 22 58 24 64 65 73 74 22 20  `$echo "X$dest" 
29870 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
29880 2a 2f 25 25 27 60 0a 0a 20 20 20 20 20 20 23 20  */%%'`..      # 
29890 4e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2c  Not a directory,
298a0 20 73 6f 20 63 68 65 63 6b 20 74 6f 20 73 65 65   so check to see
298b0 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6f   that there is o
298c0 6e 6c 79 20 6f 6e 65 20 66 69 6c 65 20 73 70 65  nly one file spe
298d0 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 73 65  cified..      se
298e0 74 20 64 75 6d 6d 79 20 24 66 69 6c 65 73 0a 20  t dummy $files. 
298f0 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 23       if test "$#
29900 22 20 2d 67 74 20 32 3b 20 74 68 65 6e 0a 09 24  " -gt 2; then..$
29910 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
29920 20 5c 60 24 64 65 73 74 27 20 69 73 20 6e 6f 74   \`$dest' is not
29930 20 61 20 64 69 72 65 63 74 6f 72 79 22 20 31 3e   a directory" 1>
29940 26 32 0a 09 24 65 63 68 6f 20 22 24 68 65 6c 70  &2..$echo "$help
29950 22 20 31 3e 26 32 0a 09 65 78 69 74 20 24 45 58  " 1>&2..exit $EX
29960 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 20  IT_FAILURE.     
29970 20 66 69 0a 20 20 20 20 66 69 0a 20 20 20 20 63   fi.    fi.    c
29980 61 73 65 20 24 64 65 73 74 64 69 72 20 69 6e 0a  ase $destdir in.
29990 20 20 20 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d      [\\/]* | [A-
299a0 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b  Za-z]:[\\/]*) ;;
299b0 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 66 6f  .    *).      fo
299c0 72 20 66 69 6c 65 20 69 6e 20 24 66 69 6c 65 73  r file in $files
299d0 3b 20 64 6f 0a 09 63 61 73 65 20 24 66 69 6c 65  ; do..case $file
299e0 20 69 6e 0a 09 2a 2e 6c 6f 29 20 3b 3b 0a 09 2a   in..*.lo) ;;..*
299f0 29 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  )..  $echo "$mod
29a00 65 6e 61 6d 65 3a 20 5c 60 24 64 65 73 74 64 69  ename: \`$destdi
29a10 72 27 20 6d 75 73 74 20 62 65 20 61 6e 20 61 62  r' must be an ab
29a20 73 6f 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79  solute directory
29a30 20 6e 61 6d 65 22 20 31 3e 26 32 0a 09 20 20 24   name" 1>&2..  $
29a40 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
29a50 32 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f  2..  exit $EXIT_
29a60 46 41 49 4c 55 52 45 0a 09 20 20 3b 3b 0a 09 65  FAILURE..  ;;..e
29a70 73 61 63 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20  sac.      done. 
29a80 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
29a90 0a 0a 20 20 20 20 23 20 54 68 69 73 20 76 61 72  ..    # This var
29aa0 69 61 62 6c 65 20 74 65 6c 6c 73 20 77 72 61 70  iable tells wrap
29ab0 70 65 72 20 73 63 72 69 70 74 73 20 6a 75 73 74  per scripts just
29ac0 20 74 6f 20 73 65 74 20 76 61 72 69 61 62 6c 65   to set variable
29ad0 73 20 72 61 74 68 65 72 0a 20 20 20 20 23 20 74  s rather.    # t
29ae0 68 61 6e 20 72 75 6e 6e 69 6e 67 20 74 68 65 69  han running thei
29af0 72 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20  r programs..    
29b00 6c 69 62 74 6f 6f 6c 5f 69 6e 73 74 61 6c 6c 5f  libtool_install_
29b10 6d 61 67 69 63 3d 22 24 6d 61 67 69 63 22 0a 0a  magic="$magic"..
29b20 20 20 20 20 73 74 61 74 69 63 6c 69 62 73 3d 0a      staticlibs=.
29b30 20 20 20 20 66 75 74 75 72 65 5f 6c 69 62 64 69      future_libdi
29b40 72 73 3d 0a 20 20 20 20 63 75 72 72 65 6e 74 5f  rs=.    current_
29b50 6c 69 62 64 69 72 73 3d 0a 20 20 20 20 66 6f 72  libdirs=.    for
29b60 20 66 69 6c 65 20 69 6e 20 24 66 69 6c 65 73 3b   file in $files;
29b70 20 64 6f 0a 0a 20 20 20 20 20 20 23 20 44 6f 20   do..      # Do 
29b80 65 61 63 68 20 69 6e 73 74 61 6c 6c 61 74 69 6f  each installatio
29b90 6e 2e 0a 20 20 20 20 20 20 63 61 73 65 20 24 66  n..      case $f
29ba0 69 6c 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e 24  ile in.      *.$
29bb0 6c 69 62 65 78 74 29 0a 09 23 20 44 6f 20 74 68  libext)..# Do th
29bc0 65 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 69  e static librari
29bd0 65 73 20 6c 61 74 65 72 2e 0a 09 73 74 61 74 69  es later...stati
29be0 63 6c 69 62 73 3d 22 24 73 74 61 74 69 63 6c 69  clibs="$staticli
29bf0 62 73 20 24 66 69 6c 65 22 0a 09 3b 3b 0a 0a 20  bs $file"..;;.. 
29c00 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23 20 43 68       *.la)..# Ch
29c10 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20  eck to see that 
29c20 74 68 69 73 20 72 65 61 6c 6c 79 20 69 73 20 61  this really is a
29c30 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65   libtool archive
29c40 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d 20 2d 65  ...if (${SED} -e
29c50 20 27 32 71 27 20 24 66 69 6c 65 20 7c 20 67 72   '2q' $file | gr
29c60 65 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64  ep "^# Generated
29c70 20 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29   by .*$PACKAGE")
29c80 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
29c90 3b 20 74 68 65 6e 20 3a 0a 09 65 6c 73 65 0a 09  ; then :..else..
29ca0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
29cb0 6d 65 3a 20 5c 60 24 66 69 6c 65 27 20 69 73 20  me: \`$file' is 
29cc0 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74  not a valid libt
29cd0 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26  ool archive" 1>&
29ce0 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c  2..  $echo "$hel
29cf0 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  p" 1>&2..  exit 
29d00 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 66  $EXIT_FAILURE..f
29d10 69 0a 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d 65  i...library_name
29d20 73 3d 0a 09 6f 6c 64 5f 6c 69 62 72 61 72 79 3d  s=..old_library=
29d30 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  ..relink_command
29d40 3d 0a 09 23 20 49 66 20 74 68 65 72 65 20 69 73  =..# If there is
29d50 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63 6f   no directory co
29d60 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61 64  mponent, then ad
29d70 64 20 6f 6e 65 2e 0a 09 63 61 73 65 20 24 66 69  d one...case $fi
29d80 6c 65 20 69 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c  le in..*/* | *\\
29d90 2a 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a 09 2a  *) . $file ;;..*
29da0 29 20 2e 20 2e 2f 24 66 69 6c 65 20 3b 3b 0a 09  ) . ./$file ;;..
29db0 65 73 61 63 0a 0a 09 23 20 41 64 64 20 74 68 65  esac...# Add the
29dc0 20 6c 69 62 64 69 72 20 74 6f 20 63 75 72 72 65   libdir to curre
29dd0 6e 74 5f 6c 69 62 64 69 72 73 20 69 66 20 69 74  nt_libdirs if it
29de0 20 69 73 20 74 68 65 20 64 65 73 74 69 6e 61 74   is the destinat
29df0 69 6f 6e 2e 0a 09 69 66 20 74 65 73 74 20 22 58  ion...if test "X
29e00 24 64 65 73 74 64 69 72 22 20 3d 20 22 58 24 6c  $destdir" = "X$l
29e10 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20  ibdir"; then..  
29e20 63 61 73 65 20 22 24 63 75 72 72 65 6e 74 5f 6c  case "$current_l
29e30 69 62 64 69 72 73 20 22 20 69 6e 0a 09 20 20 2a  ibdirs " in..  *
29e40 22 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b  " $libdir "*) ;;
29e50 0a 09 20 20 2a 29 20 63 75 72 72 65 6e 74 5f 6c  ..  *) current_l
29e60 69 62 64 69 72 73 3d 22 24 63 75 72 72 65 6e 74  ibdirs="$current
29e70 5f 6c 69 62 64 69 72 73 20 24 6c 69 62 64 69 72  _libdirs $libdir
29e80 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 65 6c  " ;;..  esac..el
29e90 73 65 0a 09 20 20 23 20 4e 6f 74 65 20 74 68 65  se..  # Note the
29ea0 20 6c 69 62 64 69 72 20 61 73 20 61 20 66 75 74   libdir as a fut
29eb0 75 72 65 20 6c 69 62 64 69 72 2e 0a 09 20 20 63  ure libdir...  c
29ec0 61 73 65 20 22 24 66 75 74 75 72 65 5f 6c 69 62  ase "$future_lib
29ed0 64 69 72 73 20 22 20 69 6e 0a 09 20 20 2a 22 20  dirs " in..  *" 
29ee0 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09  $libdir "*) ;;..
29ef0 20 20 2a 29 20 66 75 74 75 72 65 5f 6c 69 62 64    *) future_libd
29f00 69 72 73 3d 22 24 66 75 74 75 72 65 5f 6c 69 62  irs="$future_lib
29f10 64 69 72 73 20 24 6c 69 62 64 69 72 22 20 3b 3b  dirs $libdir" ;;
29f20 0a 09 20 20 65 73 61 63 0a 09 66 69 0a 0a 09 64  ..  esac..fi...d
29f30 69 72 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c  ir=`$echo "X$fil
29f40 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  e" | $Xsed -e 's
29f50 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 2f 0a 09 74  %/[^/]*$%%'`/..t
29f60 65 73 74 20 22 58 24 64 69 72 22 20 3d 20 22 58  est "X$dir" = "X
29f70 24 66 69 6c 65 2f 22 20 26 26 20 64 69 72 3d 0a  $file/" && dir=.
29f80 09 64 69 72 3d 22 24 64 69 72 24 6f 62 6a 64 69  .dir="$dir$objdi
29f90 72 22 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  r"...if test -n 
29fa0 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  "$relink_command
29fb0 22 3b 20 74 68 65 6e 0a 09 20 20 23 20 44 65 74  "; then..  # Det
29fc0 65 72 6d 69 6e 65 20 74 68 65 20 70 72 65 66 69  ermine the prefi
29fd0 78 20 74 68 65 20 75 73 65 72 20 68 61 73 20 61  x the user has a
29fe0 70 70 6c 69 65 64 20 74 6f 20 6f 75 72 20 66 75  pplied to our fu
29ff0 74 75 72 65 20 64 69 72 2e 0a 09 20 20 69 6e 73  ture dir...  ins
2a000 74 5f 70 72 65 66 69 78 5f 64 69 72 3d 60 24 65  t_prefix_dir=`$e
2a010 63 68 6f 20 22 24 64 65 73 74 64 69 72 22 20 7c  cho "$destdir" |
2a020 20 24 53 45 44 20 22 73 25 24 6c 69 62 64 69 72   $SED "s%$libdir
2a030 5c 24 25 25 22 60 0a 0a 09 20 20 23 20 44 6f 6e  \$%%"`...  # Don
2a040 27 74 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65  't allow the use
2a050 72 20 74 6f 20 70 6c 61 63 65 20 75 73 20 6f 75  r to place us ou
2a060 74 73 69 64 65 20 6f 66 20 6f 75 72 20 65 78 70  tside of our exp
2a070 65 63 74 65 64 0a 09 20 20 23 20 6c 6f 63 61 74  ected..  # locat
2a080 69 6f 6e 20 62 2f 63 20 74 68 69 73 20 70 72 65  ion b/c this pre
2a090 76 65 6e 74 73 20 66 69 6e 64 69 6e 67 20 64 65  vents finding de
2a0a0 70 65 6e 64 65 6e 74 20 6c 69 62 72 61 72 69 65  pendent librarie
2a0b0 73 20 74 68 61 74 0a 09 20 20 23 20 61 72 65 20  s that..  # are 
2a0c0 69 6e 73 74 61 6c 6c 65 64 20 74 6f 20 74 68 65  installed to the
2a0d0 20 73 61 6d 65 20 70 72 65 66 69 78 2e 0a 09 20   same prefix... 
2a0e0 20 23 20 41 74 20 70 72 65 73 65 6e 74 2c 20 74   # At present, t
2a0f0 68 69 73 20 63 68 65 63 6b 20 64 6f 65 73 6e 27  his check doesn'
2a100 74 20 61 66 66 65 63 74 20 77 69 6e 64 6f 77 73  t affect windows
2a110 20 2e 64 6c 6c 27 73 20 74 68 61 74 0a 09 20 20   .dll's that..  
2a120 23 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20  # are installed 
2a130 69 6e 74 6f 20 24 6c 69 62 64 69 72 2f 2e 2e 2f  into $libdir/../
2a140 62 69 6e 20 28 63 75 72 72 65 6e 74 6c 79 2c 20  bin (currently, 
2a150 74 68 61 74 20 77 6f 72 6b 73 20 66 69 6e 65 29  that works fine)
2a160 0a 09 20 20 23 20 62 75 74 20 69 74 27 73 20 73  ..  # but it's s
2a170 6f 6d 65 74 68 69 6e 67 20 74 6f 20 6b 65 65 70  omething to keep
2a180 20 61 6e 20 65 79 65 20 6f 6e 2e 0a 09 20 20 69   an eye on...  i
2a190 66 20 74 65 73 74 20 22 24 69 6e 73 74 5f 70 72  f test "$inst_pr
2a1a0 65 66 69 78 5f 64 69 72 22 20 3d 20 22 24 64 65  efix_dir" = "$de
2a1b0 73 74 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20  stdir"; then..  
2a1c0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
2a1d0 6d 65 3a 20 65 72 72 6f 72 3a 20 63 61 6e 6e 6f  me: error: canno
2a1e0 74 20 69 6e 73 74 61 6c 6c 20 5c 60 24 66 69 6c  t install \`$fil
2a1f0 65 27 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72  e' to a director
2a200 79 20 6e 6f 74 20 65 6e 64 69 6e 67 20 69 6e 20  y not ending in 
2a210 24 6c 69 62 64 69 72 22 20 31 3e 26 32 0a 09 20  $libdir" 1>&2.. 
2a220 20 20 20 65 78 69 74 20 24 45 58 49 54 5f 46 41     exit $EXIT_FA
2a230 49 4c 55 52 45 0a 09 20 20 66 69 0a 0a 09 20 20  ILURE..  fi...  
2a240 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69 6e 73  if test -n "$ins
2a250 74 5f 70 72 65 66 69 78 5f 64 69 72 22 3b 20 74  t_prefix_dir"; t
2a260 68 65 6e 0a 09 20 20 20 20 23 20 53 74 69 63 6b  hen..    # Stick
2a270 20 74 68 65 20 69 6e 73 74 5f 70 72 65 66 69 78   the inst_prefix
2a280 5f 64 69 72 20 64 61 74 61 20 69 6e 74 6f 20 74  _dir data into t
2a290 68 65 20 6c 69 6e 6b 20 63 6f 6d 6d 61 6e 64 2e  he link command.
2a2a0 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d  ..    relink_com
2a2b0 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 24 72 65  mand=`$echo "$re
2a2c0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20  link_command" | 
2a2d0 24 53 45 44 20 22 73 25 40 69 6e 73 74 5f 70 72  $SED "s%@inst_pr
2a2e0 65 66 69 78 5f 64 69 72 40 25 2d 69 6e 73 74 2d  efix_dir@%-inst-
2a2f0 70 72 65 66 69 78 2d 64 69 72 20 24 69 6e 73 74  prefix-dir $inst
2a300 5f 70 72 65 66 69 78 5f 64 69 72 25 22 60 0a 09  _prefix_dir%"`..
2a310 20 20 65 6c 73 65 0a 09 20 20 20 20 72 65 6c 69    else..    reli
2a320 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68  nk_command=`$ech
2a330 6f 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  o "$relink_comma
2a340 6e 64 22 20 7c 20 24 53 45 44 20 22 73 25 40 69  nd" | $SED "s%@i
2a350 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 40 25  nst_prefix_dir@%
2a360 25 22 60 0a 09 20 20 66 69 0a 0a 09 20 20 24 65  %"`..  fi...  $e
2a370 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
2a380 77 61 72 6e 69 6e 67 3a 20 72 65 6c 69 6e 6b 69  warning: relinki
2a390 6e 67 20 5c 60 24 66 69 6c 65 27 22 20 31 3e 26  ng \`$file'" 1>&
2a3a0 32 0a 09 20 20 24 73 68 6f 77 20 22 24 72 65 6c  2..  $show "$rel
2a3b0 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 20 20  ink_command"..  
2a3c0 69 66 20 24 72 75 6e 20 65 76 61 6c 20 22 24 72  if $run eval "$r
2a3d0 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20  elink_command"; 
2a3e0 74 68 65 6e 20 3a 0a 09 20 20 65 6c 73 65 0a 09  then :..  else..
2a3f0 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
2a400 6e 61 6d 65 3a 20 65 72 72 6f 72 3a 20 72 65 6c  name: error: rel
2a410 69 6e 6b 20 5c 60 24 66 69 6c 65 27 20 77 69 74  ink \`$file' wit
2a420 68 20 74 68 65 20 61 62 6f 76 65 20 63 6f 6d 6d  h the above comm
2a430 61 6e 64 20 62 65 66 6f 72 65 20 69 6e 73 74 61  and before insta
2a440 6c 6c 69 6e 67 20 69 74 22 20 31 3e 26 32 0a 09  lling it" 1>&2..
2a450 20 20 20 20 65 78 69 74 20 24 45 58 49 54 5f 46      exit $EXIT_F
2a460 41 49 4c 55 52 45 0a 09 20 20 66 69 0a 09 66 69  AILURE..  fi..fi
2a470 0a 0a 09 23 20 53 65 65 20 74 68 65 20 6e 61 6d  ...# See the nam
2a480 65 73 20 6f 66 20 74 68 65 20 73 68 61 72 65 64  es of the shared
2a490 20 6c 69 62 72 61 72 79 2e 0a 09 73 65 74 20 64   library...set d
2a4a0 75 6d 6d 79 20 24 6c 69 62 72 61 72 79 5f 6e 61  ummy $library_na
2a4b0 6d 65 73 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  mes..if test -n 
2a4c0 22 24 32 22 3b 20 74 68 65 6e 0a 09 20 20 72 65  "$2"; then..  re
2a4d0 61 6c 6e 61 6d 65 3d 22 24 32 22 0a 09 20 20 73  alname="$2"..  s
2a4e0 68 69 66 74 0a 09 20 20 73 68 69 66 74 0a 0a 09  hift..  shift...
2a4f0 20 20 73 72 63 6e 61 6d 65 3d 22 24 72 65 61 6c    srcname="$real
2a500 6e 61 6d 65 22 0a 09 20 20 74 65 73 74 20 2d 6e  name"..  test -n
2a510 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e   "$relink_comman
2a520 64 22 20 26 26 20 73 72 63 6e 61 6d 65 3d 22 24  d" && srcname="$
2a530 72 65 61 6c 6e 61 6d 65 22 54 0a 0a 09 20 20 23  realname"T...  #
2a540 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 73 68 61   Install the sha
2a550 72 65 64 20 6c 69 62 72 61 72 79 20 61 6e 64 20  red library and 
2a560 62 75 69 6c 64 20 74 68 65 20 73 79 6d 6c 69 6e  build the symlin
2a570 6b 73 2e 0a 09 20 20 24 73 68 6f 77 20 22 24 69  ks...  $show "$i
2a580 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 64 69 72  nstall_prog $dir
2a590 2f 24 73 72 63 6e 61 6d 65 20 24 64 65 73 74 64  /$srcname $destd
2a5a0 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20  ir/$realname".. 
2a5b0 20 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73   $run eval "$ins
2a5c0 74 61 6c 6c 5f 70 72 6f 67 20 24 64 69 72 2f 24  tall_prog $dir/$
2a5d0 73 72 63 6e 61 6d 65 20 24 64 65 73 74 64 69 72  srcname $destdir
2a5e0 2f 24 72 65 61 6c 6e 61 6d 65 22 20 7c 7c 20 65  /$realname" || e
2a5f0 78 69 74 20 24 3f 0a 09 20 20 69 66 20 74 65 73  xit $?..  if tes
2a600 74 20 2d 6e 20 22 24 73 74 72 69 70 6d 65 22 20  t -n "$stripme" 
2a610 26 26 20 74 65 73 74 20 2d 6e 20 22 24 73 74 72  && test -n "$str
2a620 69 70 6c 69 62 22 3b 20 74 68 65 6e 0a 09 20 20  iplib"; then..  
2a630 20 20 24 73 68 6f 77 20 22 24 73 74 72 69 70 6c    $show "$stripl
2a640 69 62 20 24 64 65 73 74 64 69 72 2f 24 72 65 61  ib $destdir/$rea
2a650 6c 6e 61 6d 65 22 0a 09 20 20 20 20 24 72 75 6e  lname"..    $run
2a660 20 65 76 61 6c 20 22 24 73 74 72 69 70 6c 69 62   eval "$striplib
2a670 20 24 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e   $destdir/$realn
2a680 61 6d 65 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a  ame" || exit $?.
2a690 09 20 20 66 69 0a 0a 09 20 20 69 66 20 74 65 73  .  fi...  if tes
2a6a0 74 20 22 24 23 22 20 2d 67 74 20 30 3b 20 74 68  t "$#" -gt 0; th
2a6b0 65 6e 0a 09 20 20 20 20 23 20 44 65 6c 65 74 65  en..    # Delete
2a6c0 20 74 68 65 20 6f 6c 64 20 73 79 6d 6c 69 6e 6b   the old symlink
2a6d0 73 2c 20 61 6e 64 20 63 72 65 61 74 65 20 6e 65  s, and create ne
2a6e0 77 20 6f 6e 65 73 2e 0a 09 20 20 20 20 23 20 54  w ones...    # T
2a6f0 72 79 20 60 6c 6e 20 2d 73 66 27 20 66 69 72 73  ry `ln -sf' firs
2a700 74 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 60  t, because the `
2a710 6c 6e 27 20 62 69 6e 61 72 79 20 6d 69 67 68 74  ln' binary might
2a720 20 64 65 70 65 6e 64 20 6f 6e 0a 09 20 20 20 20   depend on..    
2a730 23 20 74 68 65 20 73 79 6d 6c 69 6e 6b 20 77 65  # the symlink we
2a740 20 72 65 70 6c 61 63 65 21 20 20 53 6f 6c 61 72   replace!  Solar
2a750 69 73 20 2f 62 69 6e 2f 6c 6e 20 64 6f 65 73 20  is /bin/ln does 
2a760 6e 6f 74 20 75 6e 64 65 72 73 74 61 6e 64 20 2d  not understand -
2a770 66 2c 0a 09 20 20 20 20 23 20 73 6f 20 77 65 20  f,..    # so we 
2a780 61 6c 73 6f 20 6e 65 65 64 20 74 6f 20 74 72 79  also need to try
2a790 20 72 6d 20 26 26 20 6c 6e 20 2d 73 2e 0a 09 20   rm && ln -s... 
2a7a0 20 20 20 66 6f 72 20 6c 69 6e 6b 6e 61 6d 65 0a     for linkname.
2a7b0 09 20 20 20 20 64 6f 0a 09 20 20 20 20 20 20 69  .    do..      i
2a7c0 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6e 61 6d  f test "$linknam
2a7d0 65 22 20 21 3d 20 22 24 72 65 61 6c 6e 61 6d 65  e" != "$realname
2a7e0 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  "; then.        
2a7f0 20 20 20 20 20 20 20 20 24 73 68 6f 77 20 22 28          $show "(
2a800 63 64 20 24 64 65 73 74 64 69 72 20 26 26 20 7b  cd $destdir && {
2a810 20 24 4c 4e 5f 53 20 2d 66 20 24 72 65 61 6c 6e   $LN_S -f $realn
2a820 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 20 7c 7c  ame $linkname ||
2a830 20 7b 20 24 72 6d 20 24 6c 69 6e 6b 6e 61 6d 65   { $rm $linkname
2a840 20 26 26 20 24 4c 4e 5f 53 20 24 72 65 61 6c 6e   && $LN_S $realn
2a850 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 3b 20 7d  ame $linkname; }
2a860 3b 20 7d 29 22 0a 20 20 20 20 20 20 20 20 20 20  ; })".          
2a870 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
2a880 22 28 63 64 20 24 64 65 73 74 64 69 72 20 26 26  "(cd $destdir &&
2a890 20 7b 20 24 4c 4e 5f 53 20 2d 66 20 24 72 65 61   { $LN_S -f $rea
2a8a0 6c 6e 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 20  lname $linkname 
2a8b0 7c 7c 20 7b 20 24 72 6d 20 24 6c 69 6e 6b 6e 61  || { $rm $linkna
2a8c0 6d 65 20 26 26 20 24 4c 4e 5f 53 20 24 72 65 61  me && $LN_S $rea
2a8d0 6c 6e 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 3b  lname $linkname;
2a8e0 20 7d 3b 20 7d 29 22 0a 09 20 20 20 20 20 20 66   }; })"..      f
2a8f0 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 66  i..    done..  f
2a900 69 0a 0a 09 20 20 23 20 44 6f 20 65 61 63 68 20  i...  # Do each 
2a910 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 70  command in the p
2a920 6f 73 74 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61  ostinstall comma
2a930 6e 64 73 2e 0a 09 20 20 6c 69 62 3d 22 24 64 65  nds...  lib="$de
2a940 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22  stdir/$realname"
2a950 0a 09 20 20 63 6d 64 73 3d 24 70 6f 73 74 69 6e  ..  cmds=$postin
2a960 73 74 61 6c 6c 5f 63 6d 64 73 0a 09 20 20 73 61  stall_cmds..  sa
2a970 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49  ve_ifs="$IFS"; I
2a980 46 53 3d 27 7e 27 0a 09 20 20 66 6f 72 20 63 6d  FS='~'..  for cm
2a990 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09  d in $cmds; do..
2a9a0 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69      IFS="$save_i
2a9b0 66 73 22 0a 09 20 20 20 20 65 76 61 6c 20 63 6d  fs"..    eval cm
2a9c0 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 20 20 20 20  d=\"$cmd\"..    
2a9d0 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20 20  $show "$cmd"..  
2a9e0 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d    $run eval "$cm
2a9f0 64 22 20 7c 7c 20 7b 0a 09 20 20 20 20 20 20 6c  d" || {..      l
2aa00 74 5f 65 78 69 74 3d 24 3f 0a 0a 09 20 20 20 20  t_exit=$?...    
2aa10 20 20 23 20 52 65 73 74 6f 72 65 20 74 68 65 20    # Restore the 
2aa20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72  uninstalled libr
2aa30 61 72 79 20 61 6e 64 20 65 78 69 74 0a 09 20 20  ary and exit..  
2aa40 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6d 6f      if test "$mo
2aa50 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b 20 74 68  de" = relink; th
2aa60 65 6e 0a 09 09 24 72 75 6e 20 65 76 61 6c 20 27  en...$run eval '
2aa70 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  (cd $output_objd
2aa80 69 72 20 26 26 20 24 72 6d 20 24 7b 72 65 61 6c  ir && $rm ${real
2aa90 6e 61 6d 65 7d 54 20 26 26 20 24 6d 76 20 24 7b  name}T && $mv ${
2aaa0 72 65 61 6c 6e 61 6d 65 7d 55 20 24 72 65 61 6c  realname}U $real
2aab0 6e 61 6d 65 29 27 0a 09 20 20 20 20 20 20 66 69  name)'..      fi
2aac0 0a 0a 09 20 20 20 20 20 20 65 78 69 74 20 24 6c  ...      exit $l
2aad0 74 5f 65 78 69 74 0a 09 20 20 20 20 7d 0a 09 20  t_exit..    }.. 
2aae0 20 64 6f 6e 65 0a 09 20 20 49 46 53 3d 22 24 73   done..  IFS="$s
2aaf0 61 76 65 5f 69 66 73 22 0a 09 66 69 0a 0a 09 23  ave_ifs"..fi...#
2ab00 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 70 73 65   Install the pse
2ab10 75 64 6f 2d 6c 69 62 72 61 72 79 20 66 6f 72 20  udo-library for 
2ab20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 75 72 70  information purp
2ab30 6f 73 65 73 2e 0a 09 6e 61 6d 65 3d 60 24 65 63  oses...name=`$ec
2ab40 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58  ho "X$file" | $X
2ab50 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  sed -e 's%^.*/%%
2ab60 27 60 0a 09 69 6e 73 74 6e 61 6d 65 3d 22 24 64  '`..instname="$d
2ab70 69 72 2f 24 6e 61 6d 65 22 69 0a 09 24 73 68 6f  ir/$name"i..$sho
2ab80 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  w "$install_prog
2ab90 20 24 69 6e 73 74 6e 61 6d 65 20 24 64 65 73 74   $instname $dest
2aba0 64 69 72 2f 24 6e 61 6d 65 22 0a 09 24 72 75 6e  dir/$name"..$run
2abb0 20 65 76 61 6c 20 22 24 69 6e 73 74 61 6c 6c 5f   eval "$install_
2abc0 70 72 6f 67 20 24 69 6e 73 74 6e 61 6d 65 20 24  prog $instname $
2abd0 64 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 20 7c  destdir/$name" |
2abe0 7c 20 65 78 69 74 20 24 3f 0a 0a 09 23 20 4d 61  | exit $?...# Ma
2abf0 79 62 65 20 69 6e 73 74 61 6c 6c 20 74 68 65 20  ybe install the 
2ac00 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2c 20  static library, 
2ac10 74 6f 6f 2e 0a 09 74 65 73 74 20 2d 6e 20 22 24  too...test -n "$
2ac20 6f 6c 64 5f 6c 69 62 72 61 72 79 22 20 26 26 20  old_library" && 
2ac30 73 74 61 74 69 63 6c 69 62 73 3d 22 24 73 74 61  staticlibs="$sta
2ac40 74 69 63 6c 69 62 73 20 24 64 69 72 2f 24 6f 6c  ticlibs $dir/$ol
2ac50 64 5f 6c 69 62 72 61 72 79 22 0a 09 3b 3b 0a 0a  d_library"..;;..
2ac60 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20 49        *.lo)..# I
2ac70 6e 73 74 61 6c 6c 20 28 69 2e 65 2e 20 63 6f 70  nstall (i.e. cop
2ac80 79 29 20 61 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a  y) a libtool obj
2ac90 65 63 74 2e 0a 0a 09 23 20 46 69 67 75 72 65 20  ect....# Figure 
2aca0 6f 75 74 20 64 65 73 74 69 6e 61 74 69 6f 6e 20  out destination 
2acb0 66 69 6c 65 20 6e 61 6d 65 2c 20 69 66 20 69 74  file name, if it
2acc0 20 77 61 73 6e 27 74 20 61 6c 72 65 61 64 79 20   wasn't already 
2acd0 73 70 65 63 69 66 69 65 64 2e 0a 09 69 66 20 74  specified...if t
2ace0 65 73 74 20 2d 6e 20 22 24 64 65 73 74 6e 61 6d  est -n "$destnam
2acf0 65 22 3b 20 74 68 65 6e 0a 09 20 20 64 65 73 74  e"; then..  dest
2ad00 66 69 6c 65 3d 22 24 64 65 73 74 64 69 72 2f 24  file="$destdir/$
2ad10 64 65 73 74 6e 61 6d 65 22 0a 09 65 6c 73 65 0a  destname"..else.
2ad20 09 20 20 64 65 73 74 66 69 6c 65 3d 60 24 65 63  .  destfile=`$ec
2ad30 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58  ho "X$file" | $X
2ad40 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  sed -e 's%^.*/%%
2ad50 27 60 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 22  '`..  destfile="
2ad60 24 64 65 73 74 64 69 72 2f 24 64 65 73 74 66 69  $destdir/$destfi
2ad70 6c 65 22 0a 09 66 69 0a 0a 09 23 20 44 65 64 75  le"..fi...# Dedu
2ad80 63 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  ce the name of t
2ad90 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6f  he destination o
2ada0 6c 64 2d 73 74 79 6c 65 20 6f 62 6a 65 63 74 20  ld-style object 
2adb0 66 69 6c 65 2e 0a 09 63 61 73 65 20 24 64 65 73  file...case $des
2adc0 74 66 69 6c 65 20 69 6e 0a 09 2a 2e 6c 6f 29 0a  tfile in..*.lo).
2add0 09 20 20 73 74 61 74 69 63 64 65 73 74 3d 60 24  .  staticdest=`$
2ade0 65 63 68 6f 20 22 58 24 64 65 73 74 66 69 6c 65  echo "X$destfile
2adf0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  " | $Xsed -e "$l
2ae00 6f 32 6f 22 60 0a 09 20 20 3b 3b 0a 09 2a 2e 24  o2o"`..  ;;..*.$
2ae10 6f 62 6a 65 78 74 29 0a 09 20 20 73 74 61 74 69  objext)..  stati
2ae20 63 64 65 73 74 3d 22 24 64 65 73 74 66 69 6c 65  cdest="$destfile
2ae30 22 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 0a 09  "..  destfile=..
2ae40 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68    ;;..*)..  $ech
2ae50 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61  o "$modename: ca
2ae60 6e 6e 6f 74 20 63 6f 70 79 20 61 20 6c 69 62 74  nnot copy a libt
2ae70 6f 6f 6c 20 6f 62 6a 65 63 74 20 74 6f 20 5c 60  ool object to \`
2ae80 24 64 65 73 74 66 69 6c 65 27 22 20 31 3e 26 32  $destfile'" 1>&2
2ae90 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70  ..  $echo "$help
2aea0 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 24  " 1>&2..  exit $
2aeb0 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
2aec0 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 20 49 6e 73  ;;..esac...# Ins
2aed0 74 61 6c 6c 20 74 68 65 20 6c 69 62 74 6f 6f 6c  tall the libtool
2aee0 20 6f 62 6a 65 63 74 20 69 66 20 72 65 71 75 65   object if reque
2aef0 73 74 65 64 2e 0a 09 69 66 20 74 65 73 74 20 2d  sted...if test -
2af00 6e 20 22 24 64 65 73 74 66 69 6c 65 22 3b 20 74  n "$destfile"; t
2af10 68 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 69  hen..  $show "$i
2af20 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 66 69 6c  nstall_prog $fil
2af30 65 20 24 64 65 73 74 66 69 6c 65 22 0a 09 20 20  e $destfile"..  
2af40 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73 74  $run eval "$inst
2af50 61 6c 6c 5f 70 72 6f 67 20 24 66 69 6c 65 20 24  all_prog $file $
2af60 64 65 73 74 66 69 6c 65 22 20 7c 7c 20 65 78 69  destfile" || exi
2af70 74 20 24 3f 0a 09 66 69 0a 0a 09 23 20 49 6e 73  t $?..fi...# Ins
2af80 74 61 6c 6c 20 74 68 65 20 6f 6c 64 20 6f 62 6a  tall the old obj
2af90 65 63 74 20 69 66 20 65 6e 61 62 6c 65 64 2e 0a  ect if enabled..
2afa0 09 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64  .if test "$build
2afb0 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73  _old_libs" = yes
2afc0 3b 20 74 68 65 6e 0a 09 20 20 23 20 44 65 64 75  ; then..  # Dedu
2afd0 63 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  ce the name of t
2afe0 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a  he old-style obj
2aff0 65 63 74 20 66 69 6c 65 2e 0a 09 20 20 73 74 61  ect file...  sta
2b000 74 69 63 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58  ticobj=`$echo "X
2b010 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d  $file" | $Xsed -
2b020 65 20 22 24 6c 6f 32 6f 22 60 0a 0a 09 20 20 24  e "$lo2o"`...  $
2b030 73 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70  show "$install_p
2b040 72 6f 67 20 24 73 74 61 74 69 63 6f 62 6a 20 24  rog $staticobj $
2b050 73 74 61 74 69 63 64 65 73 74 22 0a 09 20 20 24  staticdest"..  $
2b060 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61  run eval "$insta
2b070 6c 6c 5f 70 72 6f 67 20 5c 24 73 74 61 74 69 63  ll_prog \$static
2b080 6f 62 6a 20 5c 24 73 74 61 74 69 63 64 65 73 74  obj \$staticdest
2b090 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 66 69  " || exit $?..fi
2b0a0 0a 09 65 78 69 74 20 24 45 58 49 54 5f 53 55 43  ..exit $EXIT_SUC
2b0b0 43 45 53 53 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  CESS..;;..      
2b0c0 2a 29 0a 09 23 20 46 69 67 75 72 65 20 6f 75 74  *)..# Figure out
2b0d0 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 69 6c   destination fil
2b0e0 65 20 6e 61 6d 65 2c 20 69 66 20 69 74 20 77 61  e name, if it wa
2b0f0 73 6e 27 74 20 61 6c 72 65 61 64 79 20 73 70 65  sn't already spe
2b100 63 69 66 69 65 64 2e 0a 09 69 66 20 74 65 73 74  cified...if test
2b110 20 2d 6e 20 22 24 64 65 73 74 6e 61 6d 65 22 3b   -n "$destname";
2b120 20 74 68 65 6e 0a 09 20 20 64 65 73 74 66 69 6c   then..  destfil
2b130 65 3d 22 24 64 65 73 74 64 69 72 2f 24 64 65 73  e="$destdir/$des
2b140 74 6e 61 6d 65 22 0a 09 65 6c 73 65 0a 09 20 20  tname"..else..  
2b150 64 65 73 74 66 69 6c 65 3d 60 24 65 63 68 6f 20  destfile=`$echo 
2b160 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64  "X$file" | $Xsed
2b170 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
2b180 09 20 20 64 65 73 74 66 69 6c 65 3d 22 24 64 65  .  destfile="$de
2b190 73 74 64 69 72 2f 24 64 65 73 74 66 69 6c 65 22  stdir/$destfile"
2b1a0 0a 09 66 69 0a 0a 09 23 20 49 66 20 74 68 65 20  ..fi...# If the 
2b1b0 66 69 6c 65 20 69 73 20 6d 69 73 73 69 6e 67 2c  file is missing,
2b1c0 20 61 6e 64 20 74 68 65 72 65 20 69 73 20 61 20   and there is a 
2b1d0 2e 65 78 65 20 6f 6e 20 74 68 65 20 65 6e 64 2c  .exe on the end,
2b1e0 20 73 74 72 69 70 20 69 74 0a 09 23 20 62 65 63   strip it..# bec
2b1f0 61 75 73 65 20 69 74 20 69 73 20 6d 6f 73 74 20  ause it is most 
2b200 6c 69 6b 65 6c 79 20 61 20 6c 69 62 74 6f 6f 6c  likely a libtool
2b210 20 73 63 72 69 70 74 20 77 65 20 61 63 74 75 61   script we actua
2b220 6c 6c 79 20 77 61 6e 74 20 74 6f 0a 09 23 20 69  lly want to..# i
2b230 6e 73 74 61 6c 6c 0a 09 73 74 72 69 70 70 65 64  nstall..stripped
2b240 5f 65 78 74 3d 22 22 0a 09 63 61 73 65 20 24 66  _ext=""..case $f
2b250 69 6c 65 20 69 6e 0a 09 20 20 2a 2e 65 78 65 29  ile in..  *.exe)
2b260 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 21 20  ..    if test ! 
2b270 2d 66 20 22 24 66 69 6c 65 22 3b 20 74 68 65 6e  -f "$file"; then
2b280 0a 09 20 20 20 20 20 20 66 69 6c 65 3d 60 24 65  ..      file=`$e
2b290 63 68 6f 20 24 66 69 6c 65 7c 24 7b 53 45 44 7d  cho $file|${SED}
2b2a0 20 27 73 2c 2e 65 78 65 24 2c 2c 27 60 0a 09 20   's,.exe$,,'`.. 
2b2b0 20 20 20 20 20 73 74 72 69 70 70 65 64 5f 65 78       stripped_ex
2b2c0 74 3d 22 2e 65 78 65 22 0a 09 20 20 20 20 66 69  t=".exe"..    fi
2b2d0 0a 09 20 20 20 20 3b 3b 0a 09 65 73 61 63 0a 0a  ..    ;;..esac..
2b2e0 09 23 20 44 6f 20 61 20 74 65 73 74 20 74 6f 20  .# Do a test to 
2b2f0 73 65 65 20 69 66 20 74 68 69 73 20 69 73 20 72  see if this is r
2b300 65 61 6c 6c 79 20 61 20 6c 69 62 74 6f 6f 6c 20  eally a libtool 
2b310 70 72 6f 67 72 61 6d 2e 0a 09 63 61 73 65 20 24  program...case $
2b320 68 6f 73 74 20 69 6e 0a 09 2a 63 79 67 77 69 6e  host in..*cygwin
2b330 2a 7c 2a 6d 69 6e 67 77 2a 29 0a 09 20 20 20 20  *|*mingw*)..    
2b340 77 72 61 70 70 65 72 3d 60 24 65 63 68 6f 20 24  wrapper=`$echo $
2b350 66 69 6c 65 20 7c 20 24 7b 53 45 44 7d 20 2d 65  file | ${SED} -e
2b360 20 27 73 2c 2e 65 78 65 24 2c 2c 27 60 0a 09 20   's,.exe$,,'`.. 
2b370 20 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 20 20 77     ;;..*)..    w
2b380 72 61 70 70 65 72 3d 24 66 69 6c 65 0a 09 20 20  rapper=$file..  
2b390 20 20 3b 3b 0a 09 65 73 61 63 0a 09 69 66 20 28    ;;..esac..if (
2b3a0 24 7b 53 45 44 7d 20 2d 65 20 27 34 71 27 20 24  ${SED} -e '4q' $
2b3b0 77 72 61 70 70 65 72 20 7c 20 67 72 65 70 20 22  wrapper | grep "
2b3c0 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20  ^# Generated by 
2b3d0 2e 2a 24 50 41 43 4b 41 47 45 22 29 3e 2f 64 65  .*$PACKAGE")>/de
2b3e0 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65  v/null 2>&1; the
2b3f0 6e 0a 09 20 20 6e 6f 74 69 6e 73 74 5f 64 65 70  n..  notinst_dep
2b400 6c 69 62 73 3d 0a 09 20 20 72 65 6c 69 6e 6b 5f  libs=..  relink_
2b410 63 6f 6d 6d 61 6e 64 3d 0a 0a 09 20 20 23 20 4e  command=...  # N
2b420 6f 74 65 20 74 68 61 74 20 69 74 20 69 73 20 6e  ote that it is n
2b430 6f 74 20 6e 65 63 65 73 73 61 72 79 20 6f 6e 20  ot necessary on 
2b440 63 79 67 77 69 6e 2f 6d 69 6e 67 77 20 74 6f 20  cygwin/mingw to 
2b450 61 70 70 65 6e 64 20 61 20 64 6f 74 20 74 6f 0a  append a dot to.
2b460 09 20 20 23 20 66 6f 6f 20 65 76 65 6e 20 69 66  .  # foo even if
2b470 20 62 6f 74 68 20 66 6f 6f 20 61 6e 64 20 46 49   both foo and FI
2b480 4c 45 2e 65 78 65 20 65 78 69 73 74 3a 20 61 75  LE.exe exist: au
2b490 74 6f 6d 61 74 69 63 2d 61 70 70 65 6e 64 2d 2e  tomatic-append-.
2b4a0 65 78 65 0a 09 20 20 23 20 62 65 68 61 76 69 6f  exe..  # behavio
2b4b0 72 20 68 61 70 70 65 6e 73 20 6f 6e 6c 79 20 66  r happens only f
2b4c0 6f 72 20 65 78 65 63 28 33 29 2c 20 6e 6f 74 20  or exec(3), not 
2b4d0 66 6f 72 20 6f 70 65 6e 28 32 29 21 20 20 41 6c  for open(2)!  Al
2b4e0 73 6f 2c 20 73 6f 75 72 63 69 6e 67 0a 09 20 20  so, sourcing..  
2b4f0 23 20 60 46 49 4c 45 2e 27 20 64 6f 65 73 20 6e  # `FILE.' does n
2b500 6f 74 20 77 6f 72 6b 20 6f 6e 20 63 79 67 77 69  ot work on cygwi
2b510 6e 20 6d 61 6e 61 67 65 64 20 6d 6f 75 6e 74 73  n managed mounts
2b520 2e 0a 09 20 20 23 0a 09 20 20 23 20 49 66 20 74  ...  #..  # If t
2b530 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65 63  here is no direc
2b540 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20  tory component, 
2b550 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 20  then add one... 
2b560 20 63 61 73 65 20 24 77 72 61 70 70 65 72 20 69   case $wrapper i
2b570 6e 0a 09 20 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29  n..  */* | *\\*)
2b580 20 2e 20 24 7b 77 72 61 70 70 65 72 7d 20 3b 3b   . ${wrapper} ;;
2b590 0a 09 20 20 2a 29 20 2e 20 2e 2f 24 7b 77 72 61  ..  *) . ./${wra
2b5a0 70 70 65 72 7d 20 3b 3b 0a 09 20 20 65 73 61 63  pper} ;;..  esac
2b5b0 0a 0a 09 20 20 23 20 43 68 65 63 6b 20 74 68 65  ...  # Check the
2b5c0 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20   variables that 
2b5d0 73 68 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e  should have been
2b5e0 20 73 65 74 2e 0a 09 20 20 69 66 20 74 65 73 74   set...  if test
2b5f0 20 2d 7a 20 22 24 6e 6f 74 69 6e 73 74 5f 64 65   -z "$notinst_de
2b600 70 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 20 20  plibs"; then..  
2b610 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
2b620 6d 65 3a 20 69 6e 76 61 6c 69 64 20 6c 69 62 74  me: invalid libt
2b630 6f 6f 6c 20 77 72 61 70 70 65 72 20 73 63 72 69  ool wrapper scri
2b640 70 74 20 5c 60 24 77 72 61 70 70 65 72 27 22 20  pt \`$wrapper'" 
2b650 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 24  1>&2..    exit $
2b660 45 58 49 54 5f 46 41 49 4c 55 52 45 0a 09 20 20  EXIT_FAILURE..  
2b670 66 69 0a 0a 09 20 20 66 69 6e 61 6c 69 7a 65 3d  fi...  finalize=
2b680 79 65 73 0a 09 20 20 66 6f 72 20 6c 69 62 20 69  yes..  for lib i
2b690 6e 20 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69  n $notinst_depli
2b6a0 62 73 3b 20 64 6f 0a 09 20 20 20 20 23 20 43 68  bs; do..    # Ch
2b6b0 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20  eck to see that 
2b6c0 65 61 63 68 20 6c 69 62 72 61 72 79 20 69 73 20  each library is 
2b6d0 69 6e 73 74 61 6c 6c 65 64 2e 0a 09 20 20 20 20  installed...    
2b6e0 6c 69 62 64 69 72 3d 0a 09 20 20 20 20 69 66 20  libdir=..    if 
2b6f0 74 65 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20  test -f "$lib"; 
2b700 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20 49 66  then..      # If
2b710 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72   there is no dir
2b720 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74  ectory component
2b730 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a  , then add one..
2b740 09 20 20 20 20 20 20 63 61 73 65 20 24 6c 69 62  .      case $lib
2b750 20 69 6e 0a 09 20 20 20 20 20 20 2a 2f 2a 20 7c   in..      */* |
2b760 20 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62 20 3b 3b   *\\*) . $lib ;;
2b770 0a 09 20 20 20 20 20 20 2a 29 20 2e 20 2e 2f 24  ..      *) . ./$
2b780 6c 69 62 20 3b 3b 0a 09 20 20 20 20 20 20 65 73  lib ;;..      es
2b790 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  ac..    fi..    
2b7a0 6c 69 62 66 69 6c 65 3d 22 24 6c 69 62 64 69 72  libfile="$libdir
2b7b0 2f 22 60 24 65 63 68 6f 20 22 58 24 6c 69 62 22  /"`$echo "X$lib"
2b7c0 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
2b7d0 2e 2a 2f 25 25 67 27 60 20 23 23 23 20 74 65 73  .*/%%g'` ### tes
2b7e0 74 73 75 69 74 65 3a 20 73 6b 69 70 20 6e 65 73  tsuite: skip nes
2b7f0 74 65 64 20 71 75 6f 74 69 6e 67 20 74 65 73 74  ted quoting test
2b800 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
2b810 20 22 24 6c 69 62 64 69 72 22 20 26 26 20 74 65   "$libdir" && te
2b820 73 74 20 21 20 2d 66 20 22 24 6c 69 62 66 69 6c  st ! -f "$libfil
2b830 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  e"; then..      
2b840 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
2b850 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24 6c 69  : warning: \`$li
2b860 62 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20  b' has not been 
2b870 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 5c 60 24  installed in \`$
2b880 6c 69 62 64 69 72 27 22 20 31 3e 26 32 0a 09 20  libdir'" 1>&2.. 
2b890 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 3d 6e 6f       finalize=no
2b8a0 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65  ..    fi..  done
2b8b0 0a 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  ...  relink_comm
2b8c0 61 6e 64 3d 0a 09 20 20 23 20 4e 6f 74 65 20 74  and=..  # Note t
2b8d0 68 61 74 20 69 74 20 69 73 20 6e 6f 74 20 6e 65  hat it is not ne
2b8e0 63 65 73 73 61 72 79 20 6f 6e 20 63 79 67 77 69  cessary on cygwi
2b8f0 6e 2f 6d 69 6e 67 77 20 74 6f 20 61 70 70 65 6e  n/mingw to appen
2b900 64 20 61 20 64 6f 74 20 74 6f 0a 09 20 20 23 20  d a dot to..  # 
2b910 66 6f 6f 20 65 76 65 6e 20 69 66 20 62 6f 74 68  foo even if both
2b920 20 66 6f 6f 20 61 6e 64 20 46 49 4c 45 2e 65 78   foo and FILE.ex
2b930 65 20 65 78 69 73 74 3a 20 61 75 74 6f 6d 61 74  e exist: automat
2b940 69 63 2d 61 70 70 65 6e 64 2d 2e 65 78 65 0a 09  ic-append-.exe..
2b950 20 20 23 20 62 65 68 61 76 69 6f 72 20 68 61 70    # behavior hap
2b960 70 65 6e 73 20 6f 6e 6c 79 20 66 6f 72 20 65 78  pens only for ex
2b970 65 63 28 33 29 2c 20 6e 6f 74 20 66 6f 72 20 6f  ec(3), not for o
2b980 70 65 6e 28 32 29 21 20 20 41 6c 73 6f 2c 20 73  pen(2)!  Also, s
2b990 6f 75 72 63 69 6e 67 0a 09 20 20 23 20 60 46 49  ourcing..  # `FI
2b9a0 4c 45 2e 27 20 64 6f 65 73 20 6e 6f 74 20 77 6f  LE.' does not wo
2b9b0 72 6b 20 6f 6e 20 63 79 67 77 69 6e 20 6d 61 6e  rk on cygwin man
2b9c0 61 67 65 64 20 6d 6f 75 6e 74 73 2e 0a 09 20 20  aged mounts...  
2b9d0 23 0a 09 20 20 23 20 49 66 20 74 68 65 72 65 20  #..  # If there 
2b9e0 69 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20  is no directory 
2b9f0 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20  component, then 
2ba00 61 64 64 20 6f 6e 65 2e 0a 09 20 20 63 61 73 65  add one...  case
2ba10 20 24 77 72 61 70 70 65 72 20 69 6e 0a 09 20 20   $wrapper in..  
2ba20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 7b  */* | *\\*) . ${
2ba30 77 72 61 70 70 65 72 7d 20 3b 3b 0a 09 20 20 2a  wrapper} ;;..  *
2ba40 29 20 2e 20 2e 2f 24 7b 77 72 61 70 70 65 72 7d  ) . ./${wrapper}
2ba50 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20 20   ;;..  esac...  
2ba60 6f 75 74 70 75 74 6e 61 6d 65 3d 0a 09 20 20 69  outputname=..  i
2ba70 66 20 74 65 73 74 20 22 24 66 61 73 74 5f 69 6e  f test "$fast_in
2ba80 73 74 61 6c 6c 22 20 3d 20 6e 6f 20 26 26 20 74  stall" = no && t
2ba90 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b 5f  est -n "$relink_
2baa0 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 0a 09  command"; then..
2bab0 20 20 20 20 69 66 20 74 65 73 74 20 22 24 66 69      if test "$fi
2bac0 6e 61 6c 69 7a 65 22 20 3d 20 79 65 73 20 26 26  nalize" = yes &&
2bad0 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b   test -z "$run";
2bae0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 74 6d 70   then..      tmp
2baf0 64 69 72 3d 60 66 75 6e 63 5f 6d 6b 74 65 6d 70  dir=`func_mktemp
2bb00 64 69 72 60 0a 09 20 20 20 20 20 20 66 69 6c 65  dir`..      file
2bb10 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 24  =`$echo "X$file$
2bb20 73 74 72 69 70 70 65 64 5f 65 78 74 22 20 7c 20  stripped_ext" | 
2bb30 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f  $Xsed -e 's%^.*/
2bb40 25 25 27 60 0a 09 20 20 20 20 20 20 6f 75 74 70  %%'`..      outp
2bb50 75 74 6e 61 6d 65 3d 22 24 74 6d 70 64 69 72 2f  utname="$tmpdir/
2bb60 24 66 69 6c 65 22 0a 09 20 20 20 20 20 20 23 20  $file"..      # 
2bb70 52 65 70 6c 61 63 65 20 74 68 65 20 6f 75 74 70  Replace the outp
2bb80 75 74 20 66 69 6c 65 20 73 70 65 63 69 66 69 63  ut file specific
2bb90 61 74 69 6f 6e 2e 0a 09 20 20 20 20 20 20 72 65  ation...      re
2bba0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65  link_command=`$e
2bbb0 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b 5f 63 6f  cho "X$relink_co
2bbc0 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d  mmand" | $Xsed -
2bbd0 65 20 27 73 25 40 4f 55 54 50 55 54 40 25 27 22  e 's%@OUTPUT@%'"
2bbe0 24 6f 75 74 70 75 74 6e 61 6d 65 22 27 25 67 27  $outputname"'%g'
2bbf0 60 0a 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20  `...      $show 
2bc00 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  "$relink_command
2bc10 22 0a 09 20 20 20 20 20 20 69 66 20 24 72 75 6e  "..      if $run
2bc20 20 65 76 61 6c 20 22 24 72 65 6c 69 6e 6b 5f 63   eval "$relink_c
2bc30 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 20 3a 0a  ommand"; then :.
2bc40 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09 24 65  .      else...$e
2bc50 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
2bc60 65 72 72 6f 72 3a 20 72 65 6c 69 6e 6b 20 5c 60  error: relink \`
2bc70 24 66 69 6c 65 27 20 77 69 74 68 20 74 68 65 20  $file' with the 
2bc80 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64 20 62 65  above command be
2bc90 66 6f 72 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20  fore installing 
2bca0 69 74 22 20 31 3e 26 32 0a 09 09 24 7b 72 6d 7d  it" 1>&2...${rm}
2bcb0 72 20 22 24 74 6d 70 64 69 72 22 0a 09 09 63 6f  r "$tmpdir"...co
2bcc0 6e 74 69 6e 75 65 0a 09 20 20 20 20 20 20 66 69  ntinue..      fi
2bcd0 0a 09 20 20 20 20 20 20 66 69 6c 65 3d 22 24 6f  ..      file="$o
2bce0 75 74 70 75 74 6e 61 6d 65 22 0a 09 20 20 20 20  utputname"..    
2bcf0 65 6c 73 65 0a 09 20 20 20 20 20 20 24 65 63 68  else..      $ech
2bd00 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
2bd10 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 72 65  rning: cannot re
2bd20 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27 22 20 31  link \`$file'" 1
2bd30 3e 26 32 0a 09 20 20 20 20 66 69 0a 09 20 20 65  >&2..    fi..  e
2bd40 6c 73 65 0a 09 20 20 20 20 23 20 49 6e 73 74 61  lse..    # Insta
2bd50 6c 6c 20 74 68 65 20 62 69 6e 61 72 79 20 74 68  ll the binary th
2bd60 61 74 20 77 65 20 63 6f 6d 70 69 6c 65 64 20 65  at we compiled e
2bd70 61 72 6c 69 65 72 2e 0a 09 20 20 20 20 66 69 6c  arlier...    fil
2bd80 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
2bd90 24 73 74 72 69 70 70 65 64 5f 65 78 74 22 20 7c  $stripped_ext" |
2bda0 20 24 58 73 65 64 20 2d 65 20 22 73 25 5c 28 5b   $Xsed -e "s%\([
2bdb0 5e 2f 5d 2a 5c 29 24 25 24 6f 62 6a 64 69 72 2f  ^/]*\)$%$objdir/
2bdc0 5c 31 25 22 60 0a 09 20 20 66 69 0a 09 66 69 0a  \1%"`..  fi..fi.
2bdd0 0a 09 23 20 72 65 6d 6f 76 65 20 2e 65 78 65 20  ..# remove .exe 
2bde0 73 69 6e 63 65 20 63 79 67 77 69 6e 20 2f 75 73  since cygwin /us
2bdf0 72 2f 62 69 6e 2f 69 6e 73 74 61 6c 6c 20 77 69  r/bin/install wi
2be00 6c 6c 20 61 70 70 65 6e 64 20 61 6e 6f 74 68 65  ll append anothe
2be10 72 0a 09 23 20 6f 6e 65 20 61 6e 79 77 61 79 20  r..# one anyway 
2be20 0a 09 63 61 73 65 20 24 69 6e 73 74 61 6c 6c 5f  ..case $install_
2be30 70 72 6f 67 2c 24 68 6f 73 74 20 69 6e 0a 09 2a  prog,$host in..*
2be40 2f 75 73 72 2f 62 69 6e 2f 69 6e 73 74 61 6c 6c  /usr/bin/install
2be50 2a 2c 2a 63 79 67 77 69 6e 2a 29 0a 09 20 20 63  *,*cygwin*)..  c
2be60 61 73 65 20 24 66 69 6c 65 3a 24 64 65 73 74 66  ase $file:$destf
2be70 69 6c 65 20 69 6e 0a 09 20 20 2a 2e 65 78 65 3a  ile in..  *.exe:
2be80 2a 2e 65 78 65 29 0a 09 20 20 20 20 23 20 74 68  *.exe)..    # th
2be90 69 73 20 69 73 20 6f 6b 0a 09 20 20 20 20 3b 3b  is is ok..    ;;
2bea0 0a 09 20 20 2a 2e 65 78 65 3a 2a 29 0a 09 20 20  ..  *.exe:*)..  
2beb0 20 20 64 65 73 74 66 69 6c 65 3d 24 64 65 73 74    destfile=$dest
2bec0 66 69 6c 65 2e 65 78 65 0a 09 20 20 20 20 3b 3b  file.exe..    ;;
2bed0 0a 09 20 20 2a 3a 2a 2e 65 78 65 29 0a 09 20 20  ..  *:*.exe)..  
2bee0 20 20 64 65 73 74 66 69 6c 65 3d 60 24 65 63 68    destfile=`$ech
2bef0 6f 20 24 64 65 73 74 66 69 6c 65 20 7c 20 24 7b  o $destfile | ${
2bf00 53 45 44 7d 20 2d 65 20 27 73 2c 2e 65 78 65 24  SED} -e 's,.exe$
2bf10 2c 2c 27 60 0a 09 20 20 20 20 3b 3b 0a 09 20 20  ,,'`..    ;;..  
2bf20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61 63  esac..  ;;..esac
2bf30 0a 09 24 73 68 6f 77 20 22 24 69 6e 73 74 61 6c  ..$show "$instal
2bf40 6c 5f 70 72 6f 67 24 73 74 72 69 70 6d 65 20 24  l_prog$stripme $
2bf50 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65 22 0a  file $destfile".
2bf60 09 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73  .$run eval "$ins
2bf70 74 61 6c 6c 5f 70 72 6f 67 5c 24 73 74 72 69 70  tall_prog\$strip
2bf80 6d 65 20 5c 24 66 69 6c 65 20 5c 24 64 65 73 74  me \$file \$dest
2bf90 66 69 6c 65 22 20 7c 7c 20 65 78 69 74 20 24 3f  file" || exit $?
2bfa0 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f 75 74 70  ..test -n "$outp
2bfb0 75 74 6e 61 6d 65 22 20 26 26 20 24 7b 72 6d 7d  utname" && ${rm}
2bfc0 72 20 22 24 74 6d 70 64 69 72 22 0a 09 3b 3b 0a  r "$tmpdir"..;;.
2bfd0 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 64        esac.    d
2bfe0 6f 6e 65 0a 0a 20 20 20 20 66 6f 72 20 66 69 6c  one..    for fil
2bff0 65 20 69 6e 20 24 73 74 61 74 69 63 6c 69 62 73  e in $staticlibs
2c000 3b 20 64 6f 0a 20 20 20 20 20 20 6e 61 6d 65 3d  ; do.      name=
2c010 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20  `$echo "X$file" 
2c020 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
2c030 2a 2f 25 25 27 60 0a 0a 20 20 20 20 20 20 23 20  */%%'`..      # 
2c040 53 65 74 20 75 70 20 74 68 65 20 72 61 6e 6c 69  Set up the ranli
2c050 62 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20  b parameters..  
2c060 20 20 20 20 6f 6c 64 6c 69 62 3d 22 24 64 65 73      oldlib="$des
2c070 74 64 69 72 2f 24 6e 61 6d 65 22 0a 0a 20 20 20  tdir/$name"..   
2c080 20 20 20 24 73 68 6f 77 20 22 24 69 6e 73 74 61     $show "$insta
2c090 6c 6c 5f 70 72 6f 67 20 24 66 69 6c 65 20 24 6f  ll_prog $file $o
2c0a0 6c 64 6c 69 62 22 0a 20 20 20 20 20 20 24 72 75  ldlib".      $ru
2c0b0 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61 6c 6c  n eval "$install
2c0c0 5f 70 72 6f 67 20 5c 24 66 69 6c 65 20 5c 24 6f  _prog \$file \$o
2c0d0 6c 64 6c 69 62 22 20 7c 7c 20 65 78 69 74 20 24  ldlib" || exit $
2c0e0 3f 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  ?..      if test
2c0f0 20 2d 6e 20 22 24 73 74 72 69 70 6d 65 22 20 26   -n "$stripme" &
2c100 26 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f  & test -n "$old_
2c110 73 74 72 69 70 6c 69 62 22 3b 20 74 68 65 6e 0a  striplib"; then.
2c120 09 24 73 68 6f 77 20 22 24 6f 6c 64 5f 73 74 72  .$show "$old_str
2c130 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62 22 0a 09  iplib $oldlib"..
2c140 24 72 75 6e 20 65 76 61 6c 20 22 24 6f 6c 64 5f  $run eval "$old_
2c150 73 74 72 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62  striplib $oldlib
2c160 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20  " || exit $?.   
2c170 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 44     fi..      # D
2c180 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69  o each command i
2c190 6e 20 74 68 65 20 70 6f 73 74 69 6e 73 74 61 6c  n the postinstal
2c1a0 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20  l commands..    
2c1b0 20 20 63 6d 64 73 3d 24 6f 6c 64 5f 70 6f 73 74    cmds=$old_post
2c1c0 69 6e 73 74 61 6c 6c 5f 63 6d 64 73 0a 20 20 20  install_cmds.   
2c1d0 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46     save_ifs="$IF
2c1e0 53 22 3b 20 49 46 53 3d 27 7e 27 0a 20 20 20 20  S"; IFS='~'.    
2c1f0 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d    for cmd in $cm
2c200 64 73 3b 20 64 6f 0a 09 49 46 53 3d 22 24 73 61  ds; do..IFS="$sa
2c210 76 65 5f 69 66 73 22 0a 09 65 76 61 6c 20 63 6d  ve_ifs"..eval cm
2c220 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 24 73 68 6f  d=\"$cmd\"..$sho
2c230 77 20 22 24 63 6d 64 22 0a 09 24 72 75 6e 20 65  w "$cmd"..$run e
2c240 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78  val "$cmd" || ex
2c250 69 74 20 24 3f 0a 20 20 20 20 20 20 64 6f 6e 65  it $?.      done
2c260 0a 20 20 20 20 20 20 49 46 53 3d 22 24 73 61 76  .      IFS="$sav
2c270 65 5f 69 66 73 22 0a 20 20 20 20 64 6f 6e 65 0a  e_ifs".    done.
2c280 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
2c290 22 24 66 75 74 75 72 65 5f 6c 69 62 64 69 72 73  "$future_libdirs
2c2a0 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65  "; then.      $e
2c2b0 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
2c2c0 77 61 72 6e 69 6e 67 3a 20 72 65 6d 65 6d 62 65  warning: remembe
2c2d0 72 20 74 6f 20 72 75 6e 20 5c 60 24 70 72 6f 67  r to run \`$prog
2c2e0 6e 61 6d 65 20 2d 2d 66 69 6e 69 73 68 24 66 75  name --finish$fu
2c2f0 74 75 72 65 5f 6c 69 62 64 69 72 73 27 22 20 31  ture_libdirs'" 1
2c300 3e 26 32 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  >&2.    fi..    
2c310 69 66 20 74 65 73 74 20 2d 6e 20 22 24 63 75 72  if test -n "$cur
2c320 72 65 6e 74 5f 6c 69 62 64 69 72 73 22 3b 20 74  rent_libdirs"; t
2c330 68 65 6e 0a 20 20 20 20 20 20 23 20 4d 61 79 62  hen.      # Mayb
2c340 65 20 6a 75 73 74 20 64 6f 20 61 20 64 72 79 20  e just do a dry 
2c350 72 75 6e 2e 0a 20 20 20 20 20 20 74 65 73 74 20  run..      test 
2c360 2d 6e 20 22 24 72 75 6e 22 20 26 26 20 63 75 72  -n "$run" && cur
2c370 72 65 6e 74 5f 6c 69 62 64 69 72 73 3d 22 20 2d  rent_libdirs=" -
2c380 6e 24 63 75 72 72 65 6e 74 5f 6c 69 62 64 69 72  n$current_libdir
2c390 73 22 0a 20 20 20 20 20 20 65 78 65 63 5f 63 6d  s".      exec_cm
2c3a0 64 3d 27 24 53 48 45 4c 4c 20 24 70 72 6f 67 70  d='$SHELL $progp
2c3b0 61 74 68 20 24 70 72 65 73 65 72 76 65 5f 61 72  ath $preserve_ar
2c3c0 67 73 20 2d 2d 66 69 6e 69 73 68 24 63 75 72 72  gs --finish$curr
2c3d0 65 6e 74 5f 6c 69 62 64 69 72 73 27 0a 20 20 20  ent_libdirs'.   
2c3e0 20 65 6c 73 65 0a 20 20 20 20 20 20 65 78 69 74   else.      exit
2c3f0 20 24 45 58 49 54 5f 53 55 43 43 45 53 53 0a 20   $EXIT_SUCCESS. 
2c400 20 20 20 66 69 0a 20 20 20 20 3b 3b 0a 0a 20 20     fi.    ;;..  
2c410 23 20 6c 69 62 74 6f 6f 6c 20 66 69 6e 69 73 68  # libtool finish
2c420 20 6d 6f 64 65 0a 20 20 66 69 6e 69 73 68 29 0a   mode.  finish).
2c430 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d      modename="$m
2c440 6f 64 65 6e 61 6d 65 3a 20 66 69 6e 69 73 68 22  odename: finish"
2c450 0a 20 20 20 20 6c 69 62 64 69 72 73 3d 22 24 6e  .    libdirs="$n
2c460 6f 6e 6f 70 74 22 0a 20 20 20 20 61 64 6d 69 6e  onopt".    admin
2c470 63 6d 64 73 3d 0a 0a 20 20 20 20 69 66 20 74 65  cmds=..    if te
2c480 73 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 63  st -n "$finish_c
2c490 6d 64 73 24 66 69 6e 69 73 68 5f 65 76 61 6c 22  mds$finish_eval"
2c4a0 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6c 69   && test -n "$li
2c4b0 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 20 20 20  bdirs"; then.   
2c4c0 20 20 20 66 6f 72 20 64 69 72 0a 20 20 20 20 20     for dir.     
2c4d0 20 64 6f 0a 09 6c 69 62 64 69 72 73 3d 22 24 6c   do..libdirs="$l
2c4e0 69 62 64 69 72 73 20 24 64 69 72 22 0a 20 20 20  ibdirs $dir".   
2c4f0 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 66     done..      f
2c500 6f 72 20 6c 69 62 64 69 72 20 69 6e 20 24 6c 69  or libdir in $li
2c510 62 64 69 72 73 3b 20 64 6f 0a 09 69 66 20 74 65  bdirs; do..if te
2c520 73 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 63  st -n "$finish_c
2c530 6d 64 73 22 3b 20 74 68 65 6e 0a 09 20 20 23 20  mds"; then..  # 
2c540 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20  Do each command 
2c550 69 6e 20 74 68 65 20 66 69 6e 69 73 68 20 63 6f  in the finish co
2c560 6d 6d 61 6e 64 73 2e 0a 09 20 20 63 6d 64 73 3d  mmands...  cmds=
2c570 24 66 69 6e 69 73 68 5f 63 6d 64 73 0a 09 20 20  $finish_cmds..  
2c580 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b  save_ifs="$IFS";
2c590 20 49 46 53 3d 27 7e 27 0a 09 20 20 66 6f 72 20   IFS='~'..  for 
2c5a0 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f  cmd in $cmds; do
2c5b0 0a 09 20 20 20 20 49 46 53 3d 22 24 73 61 76 65  ..    IFS="$save
2c5c0 5f 69 66 73 22 0a 09 20 20 20 20 65 76 61 6c 20  _ifs"..    eval 
2c5d0 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 20 20  cmd=\"$cmd\"..  
2c5e0 20 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09    $show "$cmd"..
2c5f0 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24      $run eval "$
2c600 63 6d 64 22 20 7c 7c 20 61 64 6d 69 6e 63 6d 64  cmd" || admincmd
2c610 73 3d 22 24 61 64 6d 69 6e 63 6d 64 73 0a 20 20  s="$admincmds.  
2c620 20 20 20 20 20 24 63 6d 64 22 0a 09 20 20 64 6f       $cmd"..  do
2c630 6e 65 0a 09 20 20 49 46 53 3d 22 24 73 61 76 65  ne..  IFS="$save
2c640 5f 69 66 73 22 0a 09 66 69 0a 09 69 66 20 74 65  _ifs"..fi..if te
2c650 73 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 65  st -n "$finish_e
2c660 76 61 6c 22 3b 20 74 68 65 6e 0a 09 20 20 23 20  val"; then..  # 
2c670 44 6f 20 74 68 65 20 73 69 6e 67 6c 65 20 66 69  Do the single fi
2c680 6e 69 73 68 5f 65 76 61 6c 2e 0a 09 20 20 65 76  nish_eval...  ev
2c690 61 6c 20 63 6d 64 73 3d 5c 22 24 66 69 6e 69 73  al cmds=\"$finis
2c6a0 68 5f 65 76 61 6c 5c 22 0a 09 20 20 24 72 75 6e  h_eval\"..  $run
2c6b0 20 65 76 61 6c 20 22 24 63 6d 64 73 22 20 7c 7c   eval "$cmds" ||
2c6c0 20 61 64 6d 69 6e 63 6d 64 73 3d 22 24 61 64 6d   admincmds="$adm
2c6d0 69 6e 63 6d 64 73 0a 20 20 20 20 20 20 20 24 63  incmds.       $c
2c6e0 6d 64 73 22 0a 09 66 69 0a 20 20 20 20 20 20 64  mds"..fi.      d
2c6f0 6f 6e 65 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  one.    fi..    
2c700 23 20 45 78 69 74 20 68 65 72 65 20 69 66 20 74  # Exit here if t
2c710 68 65 79 20 77 61 6e 74 65 64 20 73 69 6c 65 6e  hey wanted silen
2c720 74 20 6d 6f 64 65 2e 0a 20 20 20 20 74 65 73 74  t mode..    test
2c730 20 22 24 73 68 6f 77 22 20 3d 20 3a 20 26 26 20   "$show" = : && 
2c740 65 78 69 74 20 24 45 58 49 54 5f 53 55 43 43 45  exit $EXIT_SUCCE
2c750 53 53 0a 0a 20 20 20 20 24 65 63 68 6f 20 22 58  SS..    $echo "X
2c760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2c770 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2c780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2c790 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2c7a0 2d 2d 2d 2d 2d 2d 22 20 7c 20 24 58 73 65 64 0a  ------" | $Xsed.
2c7b0 20 20 20 20 24 65 63 68 6f 20 22 4c 69 62 72 61      $echo "Libra
2c7c0 72 69 65 73 20 68 61 76 65 20 62 65 65 6e 20 69  ries have been i
2c7d0 6e 73 74 61 6c 6c 65 64 20 69 6e 3a 22 0a 20 20  nstalled in:".  
2c7e0 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e 20    for libdir in 
2c7f0 24 6c 69 62 64 69 72 73 3b 20 64 6f 0a 20 20 20  $libdirs; do.   
2c800 20 20 20 24 65 63 68 6f 20 22 20 20 20 24 6c 69     $echo "   $li
2c810 62 64 69 72 22 0a 20 20 20 20 64 6f 6e 65 0a 20  bdir".    done. 
2c820 20 20 20 24 65 63 68 6f 0a 20 20 20 20 24 65 63     $echo.    $ec
2c830 68 6f 20 22 49 66 20 79 6f 75 20 65 76 65 72 20  ho "If you ever 
2c840 68 61 70 70 65 6e 20 74 6f 20 77 61 6e 74 20 74  happen to want t
2c850 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 69  o link against i
2c860 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 69  nstalled librari
2c870 65 73 22 0a 20 20 20 20 24 65 63 68 6f 20 22 69  es".    $echo "i
2c880 6e 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74  n a given direct
2c890 6f 72 79 2c 20 4c 49 42 44 49 52 2c 20 79 6f 75  ory, LIBDIR, you
2c8a0 20 6d 75 73 74 20 65 69 74 68 65 72 20 75 73 65   must either use
2c8b0 20 6c 69 62 74 6f 6f 6c 2c 20 61 6e 64 22 0a 20   libtool, and". 
2c8c0 20 20 20 24 65 63 68 6f 20 22 73 70 65 63 69 66     $echo "specif
2c8d0 79 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 6e  y the full pathn
2c8e0 61 6d 65 20 6f 66 20 74 68 65 20 6c 69 62 72 61  ame of the libra
2c8f0 72 79 2c 20 6f 72 20 75 73 65 20 74 68 65 20 5c  ry, or use the \
2c900 60 2d 4c 4c 49 42 44 49 52 27 22 0a 20 20 20 20  `-LLIBDIR'".    
2c910 24 65 63 68 6f 20 22 66 6c 61 67 20 64 75 72 69  $echo "flag duri
2c920 6e 67 20 6c 69 6e 6b 69 6e 67 20 61 6e 64 20 64  ng linking and d
2c930 6f 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f  o at least one o
2c940 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a  f the following:
2c950 22 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ".    if test -n
2c960 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
2c970 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65  "; then.      $e
2c980 63 68 6f 20 22 20 20 20 2d 20 61 64 64 20 4c 49  cho "   - add LI
2c990 42 44 49 52 20 74 6f 20 74 68 65 20 5c 60 24 73  BDIR to the \`$s
2c9a0 68 6c 69 62 70 61 74 68 5f 76 61 72 27 20 65 6e  hlibpath_var' en
2c9b0 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62  vironment variab
2c9c0 6c 65 22 0a 20 20 20 20 20 20 24 65 63 68 6f 20  le".      $echo 
2c9d0 22 20 20 20 20 20 64 75 72 69 6e 67 20 65 78 65  "     during exe
2c9e0 63 75 74 69 6f 6e 22 0a 20 20 20 20 66 69 0a 20  cution".    fi. 
2c9f0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
2ca00 72 75 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68  runpath_var"; th
2ca10 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  en.      $echo "
2ca20 20 20 20 2d 20 61 64 64 20 4c 49 42 44 49 52 20     - add LIBDIR 
2ca30 74 6f 20 74 68 65 20 5c 60 24 72 75 6e 70 61 74  to the \`$runpat
2ca40 68 5f 76 61 72 27 20 65 6e 76 69 72 6f 6e 6d 65  h_var' environme
2ca50 6e 74 20 76 61 72 69 61 62 6c 65 22 0a 20 20 20  nt variable".   
2ca60 20 20 20 24 65 63 68 6f 20 22 20 20 20 20 20 64     $echo "     d
2ca70 75 72 69 6e 67 20 6c 69 6e 6b 69 6e 67 22 0a 20  uring linking". 
2ca80 20 20 20 66 69 0a 20 20 20 20 69 66 20 74 65 73     fi.    if tes
2ca90 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f  t -n "$hardcode_
2caa0 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
2cab0 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 6c 69  "; then.      li
2cac0 62 64 69 72 3d 4c 49 42 44 49 52 0a 20 20 20 20  bdir=LIBDIR.    
2cad0 20 20 65 76 61 6c 20 66 6c 61 67 3d 5c 22 24 68    eval flag=\"$h
2cae0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
2caf0 6c 61 67 5f 73 70 65 63 5c 22 0a 0a 20 20 20 20  lag_spec\"..    
2cb00 20 20 24 65 63 68 6f 20 22 20 20 20 2d 20 75 73    $echo "   - us
2cb10 65 20 74 68 65 20 5c 60 24 66 6c 61 67 27 20 6c  e the \`$flag' l
2cb20 69 6e 6b 65 72 20 66 6c 61 67 22 0a 20 20 20 20  inker flag".    
2cb30 66 69 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d  fi.    if test -
2cb40 6e 20 22 24 61 64 6d 69 6e 63 6d 64 73 22 3b 20  n "$admincmds"; 
2cb50 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f  then.      $echo
2cb60 20 22 20 20 20 2d 20 68 61 76 65 20 79 6f 75 72   "   - have your
2cb70 20 73 79 73 74 65 6d 20 61 64 6d 69 6e 69 73 74   system administ
2cb80 72 61 74 6f 72 20 72 75 6e 20 74 68 65 73 65 20  rator run these 
2cb90 63 6f 6d 6d 61 6e 64 73 3a 24 61 64 6d 69 6e 63  commands:$adminc
2cba0 6d 64 73 22 0a 20 20 20 20 66 69 0a 20 20 20 20  mds".    fi.    
2cbb0 69 66 20 74 65 73 74 20 2d 66 20 2f 65 74 63 2f  if test -f /etc/
2cbc0 6c 64 2e 73 6f 2e 63 6f 6e 66 3b 20 74 68 65 6e  ld.so.conf; then
2cbd0 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 20 20  .      $echo "  
2cbe0 20 2d 20 68 61 76 65 20 79 6f 75 72 20 73 79 73   - have your sys
2cbf0 74 65 6d 20 61 64 6d 69 6e 69 73 74 72 61 74 6f  tem administrato
2cc00 72 20 61 64 64 20 4c 49 42 44 49 52 20 74 6f 20  r add LIBDIR to 
2cc10 5c 60 2f 65 74 63 2f 6c 64 2e 73 6f 2e 63 6f 6e  \`/etc/ld.so.con
2cc20 66 27 22 0a 20 20 20 20 66 69 0a 20 20 20 20 24  f'".    fi.    $
2cc30 65 63 68 6f 0a 20 20 20 20 24 65 63 68 6f 20 22  echo.    $echo "
2cc40 53 65 65 20 61 6e 79 20 6f 70 65 72 61 74 69 6e  See any operatin
2cc50 67 20 73 79 73 74 65 6d 20 64 6f 63 75 6d 65 6e  g system documen
2cc60 74 61 74 69 6f 6e 20 61 62 6f 75 74 20 73 68 61  tation about sha
2cc70 72 65 64 20 6c 69 62 72 61 72 69 65 73 20 66 6f  red libraries fo
2cc80 72 22 0a 20 20 20 20 24 65 63 68 6f 20 22 6d 6f  r".    $echo "mo
2cc90 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20  re information, 
2cca0 73 75 63 68 20 61 73 20 74 68 65 20 6c 64 28 31  such as the ld(1
2ccb0 29 20 61 6e 64 20 6c 64 2e 73 6f 28 38 29 20 6d  ) and ld.so(8) m
2ccc0 61 6e 75 61 6c 20 70 61 67 65 73 2e 22 0a 20 20  anual pages.".  
2ccd0 20 20 24 65 63 68 6f 20 22 58 2d 2d 2d 2d 2d 2d    $echo "X------
2cce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2ccf0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2cd00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2cd10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2cd20 22 20 7c 20 24 58 73 65 64 0a 20 20 20 20 65 78  " | $Xsed.    ex
2cd30 69 74 20 24 45 58 49 54 5f 53 55 43 43 45 53 53  it $EXIT_SUCCESS
2cd40 0a 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c 69 62  .    ;;..  # lib
2cd50 74 6f 6f 6c 20 65 78 65 63 75 74 65 20 6d 6f 64  tool execute mod
2cd60 65 0a 20 20 65 78 65 63 75 74 65 29 0a 20 20 20  e.  execute).   
2cd70 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64 65   modename="$mode
2cd80 6e 61 6d 65 3a 20 65 78 65 63 75 74 65 22 0a 0a  name: execute"..
2cd90 20 20 20 20 23 20 54 68 65 20 66 69 72 73 74 20      # The first 
2cda0 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20  argument is the 
2cdb0 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 20 20  command name..  
2cdc0 20 20 63 6d 64 3d 22 24 6e 6f 6e 6f 70 74 22 0a    cmd="$nonopt".
2cdd0 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
2cde0 24 63 6d 64 22 3b 20 74 68 65 6e 0a 20 20 20 20  $cmd"; then.    
2cdf0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
2ce00 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70 65  me: you must spe
2ce10 63 69 66 79 20 61 20 43 4f 4d 4d 41 4e 44 22 20  cify a COMMAND" 
2ce20 31 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f  1>&2.      $echo
2ce30 20 22 24 68 65 6c 70 22 0a 20 20 20 20 20 20 65   "$help".      e
2ce40 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52  xit $EXIT_FAILUR
2ce50 45 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20  E.    fi..    # 
2ce60 48 61 6e 64 6c 65 20 2d 64 6c 6f 70 65 6e 20 66  Handle -dlopen f
2ce70 6c 61 67 73 20 69 6d 6d 65 64 69 61 74 65 6c 79  lags immediately
2ce80 2e 0a 20 20 20 20 66 6f 72 20 66 69 6c 65 20 69  ..    for file i
2ce90 6e 20 24 65 78 65 63 75 74 65 5f 64 6c 66 69 6c  n $execute_dlfil
2cea0 65 73 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20  es; do.      if 
2ceb0 74 65 73 74 20 21 20 2d 66 20 22 24 66 69 6c 65  test ! -f "$file
2cec0 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
2ced0 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 66 69  $modename: \`$fi
2cee0 6c 65 27 20 69 73 20 6e 6f 74 20 61 20 66 69 6c  le' is not a fil
2cef0 65 22 20 31 3e 26 32 0a 09 24 65 63 68 6f 20 22  e" 1>&2..$echo "
2cf00 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 65 78 69  $help" 1>&2..exi
2cf10 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45 0a  t $EXIT_FAILURE.
2cf20 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
2cf30 64 69 72 3d 0a 20 20 20 20 20 20 63 61 73 65 20  dir=.      case 
2cf40 24 66 69 6c 65 20 69 6e 0a 20 20 20 20 20 20 2a  $file in.      *
2cf50 2e 6c 61 29 0a 09 23 20 43 68 65 63 6b 20 74 6f  .la)..# Check to
2cf60 20 73 65 65 20 74 68 61 74 20 74 68 69 73 20 72   see that this r
2cf70 65 61 6c 6c 79 20 69 73 20 61 20 6c 69 62 74 6f  eally is a libto
2cf80 6f 6c 20 61 72 63 68 69 76 65 2e 0a 09 69 66 20  ol archive...if 
2cf90 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20  (${SED} -e '2q' 
2cfa0 24 66 69 6c 65 20 7c 20 67 72 65 70 20 22 5e 23  $file | grep "^#
2cfb0 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 2e 2a   Generated by .*
2cfc0 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64 65 76  $PACKAGE") >/dev
2cfd0 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e  /null 2>&1; then
2cfe0 20 3a 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68   :..else..  $ech
2cff0 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60  o "$modename: \`
2d000 24 6c 69 62 27 20 69 73 20 6e 6f 74 20 61 20 76  $lib' is not a v
2d010 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 61 72 63  alid libtool arc
2d020 68 69 76 65 22 20 31 3e 26 32 0a 09 20 20 24 65  hive" 1>&2..  $e
2d030 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
2d040 0a 09 20 20 65 78 69 74 20 24 45 58 49 54 5f 46  ..  exit $EXIT_F
2d050 41 49 4c 55 52 45 0a 09 66 69 0a 0a 09 23 20 52  AILURE..fi...# R
2d060 65 61 64 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20  ead the libtool 
2d070 6c 69 62 72 61 72 79 2e 0a 09 64 6c 6e 61 6d 65  library...dlname
2d080 3d 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  =..library_names
2d090 3d 0a 0a 09 23 20 49 66 20 74 68 65 72 65 20 69  =...# If there i
2d0a0 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63  s no directory c
2d0b0 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61  omponent, then a
2d0c0 64 64 20 6f 6e 65 2e 0a 09 63 61 73 65 20 24 66  dd one...case $f
2d0d0 69 6c 65 20 69 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c  ile in..*/* | *\
2d0e0 5c 2a 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a 09  \*) . $file ;;..
2d0f0 2a 29 20 2e 20 2e 2f 24 66 69 6c 65 20 3b 3b 0a  *) . ./$file ;;.
2d100 09 65 73 61 63 0a 0a 09 23 20 53 6b 69 70 20 74  .esac...# Skip t
2d110 68 69 73 20 6c 69 62 72 61 72 79 20 69 66 20 69  his library if i
2d120 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 6c 6f 70  t cannot be dlop
2d130 65 6e 65 64 2e 0a 09 69 66 20 74 65 73 74 20 2d  ened...if test -
2d140 7a 20 22 24 64 6c 6e 61 6d 65 22 3b 20 74 68 65  z "$dlname"; the
2d150 6e 0a 09 20 20 23 20 57 61 72 6e 20 69 66 20 69  n..  # Warn if i
2d160 74 20 77 61 73 20 61 20 73 68 61 72 65 64 20 6c  t was a shared l
2d170 69 62 72 61 72 79 2e 0a 09 20 20 74 65 73 74 20  ibrary...  test 
2d180 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d  -n "$library_nam
2d190 65 73 22 20 26 26 20 24 65 63 68 6f 20 22 24 6d  es" && $echo "$m
2d1a0 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
2d1b0 3a 20 5c 60 24 66 69 6c 65 27 20 77 61 73 20 6e  : \`$file' was n
2d1c0 6f 74 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 5c  ot linked with \
2d1d0 60 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63  `-export-dynamic
2d1e0 27 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  '"..  continue..
2d1f0 66 69 0a 0a 09 64 69 72 3d 60 24 65 63 68 6f 20  fi...dir=`$echo 
2d200 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64  "X$file" | $Xsed
2d210 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25   -e 's%/[^/]*$%%
2d220 27 60 0a 09 74 65 73 74 20 22 58 24 64 69 72 22  '`..test "X$dir"
2d230 20 3d 20 22 58 24 66 69 6c 65 22 20 26 26 20 64   = "X$file" && d
2d240 69 72 3d 2e 0a 0a 09 69 66 20 74 65 73 74 20 2d  ir=....if test -
2d250 66 20 22 24 64 69 72 2f 24 6f 62 6a 64 69 72 2f  f "$dir/$objdir/
2d260 24 64 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09  $dlname"; then..
2d270 20 20 64 69 72 3d 22 24 64 69 72 2f 24 6f 62 6a    dir="$dir/$obj
2d280 64 69 72 22 0a 09 65 6c 73 65 0a 09 20 20 24 65  dir"..else..  $e
2d290 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
2d2a0 63 61 6e 6e 6f 74 20 66 69 6e 64 20 5c 60 24 64  cannot find \`$d
2d2b0 6c 6e 61 6d 65 27 20 69 6e 20 5c 60 24 64 69 72  lname' in \`$dir
2d2c0 27 20 6f 72 20 5c 60 24 64 69 72 2f 24 6f 62 6a  ' or \`$dir/$obj
2d2d0 64 69 72 27 22 20 31 3e 26 32 0a 09 20 20 65 78  dir'" 1>&2..  ex
2d2e0 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55 52 45  it $EXIT_FAILURE
2d2f0 0a 09 66 69 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  ..fi..;;..      
2d300 2a 2e 6c 6f 29 0a 09 23 20 4a 75 73 74 20 61 64  *.lo)..# Just ad
2d310 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20  d the directory 
2d320 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 2e  containing the .
2d330 6c 6f 20 66 69 6c 65 2e 0a 09 64 69 72 3d 60 24  lo file...dir=`$
2d340 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20  echo "X$file" | 
2d350 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
2d360 5d 2a 24 25 25 27 60 0a 09 74 65 73 74 20 22 58  ]*$%%'`..test "X
2d370 24 64 69 72 22 20 3d 20 22 58 24 66 69 6c 65 22  $dir" = "X$file"
2d380 20 26 26 20 64 69 72 3d 2e 0a 09 3b 3b 0a 0a 20   && dir=...;;.. 
2d390 20 20 20 20 20 2a 29 0a 09 24 65 63 68 6f 20 22       *)..$echo "
2d3a0 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
2d3b0 6e 67 20 5c 60 2d 64 6c 6f 70 65 6e 27 20 69 73  ng \`-dlopen' is
2d3c0 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6e 6f 6e   ignored for non
2d3d0 2d 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69  -libtool librari
2d3e0 65 73 20 61 6e 64 20 6f 62 6a 65 63 74 73 22 20  es and objects" 
2d3f0 31 3e 26 32 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  1>&2..continue..
2d400 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20  ;;.      esac.. 
2d410 20 20 20 20 20 23 20 47 65 74 20 74 68 65 20 61       # Get the a
2d420 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65  bsolute pathname
2d430 2e 0a 20 20 20 20 20 20 61 62 73 64 69 72 3d 60  ..      absdir=`
2d440 63 64 20 22 24 64 69 72 22 20 26 26 20 70 77 64  cd "$dir" && pwd
2d450 60 0a 20 20 20 20 20 20 74 65 73 74 20 2d 6e 20  `.      test -n 
2d460 22 24 61 62 73 64 69 72 22 20 26 26 20 64 69 72  "$absdir" && dir
2d470 3d 22 24 61 62 73 64 69 72 22 0a 0a 20 20 20 20  ="$absdir"..    
2d480 20 20 23 20 4e 6f 77 20 61 64 64 20 74 68 65 20    # Now add the 
2d490 64 69 72 65 63 74 6f 72 79 20 74 6f 20 73 68 6c  directory to shl
2d4a0 69 62 70 61 74 68 5f 76 61 72 2e 0a 20 20 20 20  ibpath_var..    
2d4b0 20 20 69 66 20 65 76 61 6c 20 22 74 65 73 74 20    if eval "test 
2d4c0 2d 7a 20 5c 22 5c 24 24 73 68 6c 69 62 70 61 74  -z \"\$$shlibpat
2d4d0 68 5f 76 61 72 5c 22 22 3b 20 74 68 65 6e 0a 09  h_var\""; then..
2d4e0 65 76 61 6c 20 22 24 73 68 6c 69 62 70 61 74 68  eval "$shlibpath
2d4f0 5f 76 61 72 3d 5c 22 5c 24 64 69 72 5c 22 22 0a  _var=\"\$dir\"".
2d500 20 20 20 20 20 20 65 6c 73 65 0a 09 65 76 61 6c        else..eval
2d510 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
2d520 3d 5c 22 5c 24 64 69 72 3a 5c 24 24 73 68 6c 69  =\"\$dir:\$$shli
2d530 62 70 61 74 68 5f 76 61 72 5c 22 22 0a 20 20 20  bpath_var\"".   
2d540 20 20 20 66 69 0a 20 20 20 20 64 6f 6e 65 0a 0a     fi.    done..
2d550 20 20 20 20 23 20 54 68 69 73 20 76 61 72 69 61      # This varia
2d560 62 6c 65 20 74 65 6c 6c 73 20 77 72 61 70 70 65  ble tells wrappe
2d570 72 20 73 63 72 69 70 74 73 20 6a 75 73 74 20 74  r scripts just t
2d580 6f 20 73 65 74 20 73 68 6c 69 62 70 61 74 68 5f  o set shlibpath_
2d590 76 61 72 0a 20 20 20 20 23 20 72 61 74 68 65 72  var.    # rather
2d5a0 20 74 68 61 6e 20 72 75 6e 6e 69 6e 67 20 74 68   than running th
2d5b0 65 69 72 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20  eir programs..  
2d5c0 20 20 6c 69 62 74 6f 6f 6c 5f 65 78 65 63 75 74    libtool_execut
2d5d0 65 5f 6d 61 67 69 63 3d 22 24 6d 61 67 69 63 22  e_magic="$magic"
2d5e0 0a 0a 20 20 20 20 23 20 43 68 65 63 6b 20 69 66  ..    # Check if
2d5f0 20 61 6e 79 20 6f 66 20 74 68 65 20 61 72 67 75   any of the argu
2d600 6d 65 6e 74 73 20 69 73 20 61 20 77 72 61 70 70  ments is a wrapp
2d610 65 72 20 73 63 72 69 70 74 2e 0a 20 20 20 20 61  er script..    a
2d620 72 67 73 3d 0a 20 20 20 20 66 6f 72 20 66 69 6c  rgs=.    for fil
2d630 65 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20 63  e.    do.      c
2d640 61 73 65 20 24 66 69 6c 65 20 69 6e 0a 20 20 20  ase $file in.   
2d650 20 20 20 2d 2a 29 20 3b 3b 0a 20 20 20 20 20 20     -*) ;;.      
2d660 2a 29 0a 09 23 20 44 6f 20 61 20 74 65 73 74 20  *)..# Do a test 
2d670 74 6f 20 73 65 65 20 69 66 20 74 68 69 73 20 69  to see if this i
2d680 73 20 72 65 61 6c 6c 79 20 61 20 6c 69 62 74 6f  s really a libto
2d690 6f 6c 20 70 72 6f 67 72 61 6d 2e 0a 09 69 66 20  ol program...if 
2d6a0 28 24 7b 53 45 44 7d 20 2d 65 20 27 34 71 27 20  (${SED} -e '4q' 
2d6b0 24 66 69 6c 65 20 7c 20 67 72 65 70 20 22 5e 23  $file | grep "^#
2d6c0 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 2e 2a   Generated by .*
2d6d0 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64 65 76  $PACKAGE") >/dev
2d6e0 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e  /null 2>&1; then
2d6f0 0a 09 20 20 23 20 49 66 20 74 68 65 72 65 20 69  ..  # If there i
2d700 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63  s no directory c
2d710 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61  omponent, then a
2d720 64 64 20 6f 6e 65 2e 0a 09 20 20 63 61 73 65 20  dd one...  case 
2d730 24 66 69 6c 65 20 69 6e 0a 09 20 20 2a 2f 2a 20  $file in..  */* 
2d740 7c 20 2a 5c 5c 2a 29 20 2e 20 24 66 69 6c 65 20  | *\\*) . $file 
2d750 3b 3b 0a 09 20 20 2a 29 20 2e 20 2e 2f 24 66 69  ;;..  *) . ./$fi
2d760 6c 65 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09  le ;;..  esac...
2d770 20 20 23 20 54 72 61 6e 73 66 6f 72 6d 20 61 72    # Transform ar
2d780 67 20 74 6f 20 77 72 61 70 70 65 64 20 6e 61 6d  g to wrapped nam
2d790 65 2e 0a 09 20 20 66 69 6c 65 3d 22 24 70 72 6f  e...  file="$pro
2d7a0 67 64 69 72 2f 24 70 72 6f 67 72 61 6d 22 0a 09  gdir/$program"..
2d7b0 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61  fi..;;.      esa
2d7c0 63 0a 20 20 20 20 20 20 23 20 51 75 6f 74 65 20  c.      # Quote 
2d7d0 61 72 67 75 6d 65 6e 74 73 20 28 74 6f 20 70 72  arguments (to pr
2d7e0 65 73 65 72 76 65 20 73 68 65 6c 6c 20 6d 65 74  eserve shell met
2d7f0 61 63 68 61 72 61 63 74 65 72 73 29 2e 0a 20 20  acharacters)..  
2d800 20 20 20 20 66 69 6c 65 3d 60 24 65 63 68 6f 20      file=`$echo 
2d810 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64  "X$file" | $Xsed
2d820 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f   -e "$sed_quote_
2d830 73 75 62 73 74 22 60 0a 20 20 20 20 20 20 61 72  subst"`.      ar
2d840 67 73 3d 22 24 61 72 67 73 20 5c 22 24 66 69 6c  gs="$args \"$fil
2d850 65 5c 22 22 0a 20 20 20 20 64 6f 6e 65 0a 0a 20  e\"".    done.. 
2d860 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
2d870 72 75 6e 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  run"; then.     
2d880 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68   if test -n "$sh
2d890 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68  libpath_var"; th
2d8a0 65 6e 0a 09 23 20 45 78 70 6f 72 74 20 74 68 65  en..# Export the
2d8b0 20 73 68 6c 69 62 70 61 74 68 5f 76 61 72 2e 0a   shlibpath_var..
2d8c0 09 65 76 61 6c 20 22 65 78 70 6f 72 74 20 24 73  .eval "export $s
2d8d0 68 6c 69 62 70 61 74 68 5f 76 61 72 22 0a 20 20  hlibpath_var".  
2d8e0 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20      fi..      # 
2d8f0 52 65 73 74 6f 72 65 20 73 61 76 65 64 20 65 6e  Restore saved en
2d900 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62  vironment variab
2d910 6c 65 73 0a 20 20 20 20 20 20 69 66 20 74 65 73  les.      if tes
2d920 74 20 22 24 7b 73 61 76 65 5f 4c 43 5f 41 4c 4c  t "${save_LC_ALL
2d930 2b 73 65 74 7d 22 20 3d 20 73 65 74 3b 20 74 68  +set}" = set; th
2d940 65 6e 0a 09 4c 43 5f 41 4c 4c 3d 22 24 73 61 76  en..LC_ALL="$sav
2d950 65 5f 4c 43 5f 41 4c 4c 22 3b 20 65 78 70 6f 72  e_LC_ALL"; expor
2d960 74 20 4c 43 5f 41 4c 4c 0a 20 20 20 20 20 20 66  t LC_ALL.      f
2d970 69 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  i.      if test 
2d980 22 24 7b 73 61 76 65 5f 4c 41 4e 47 2b 73 65 74  "${save_LANG+set
2d990 7d 22 20 3d 20 73 65 74 3b 20 74 68 65 6e 0a 09  }" = set; then..
2d9a0 4c 41 4e 47 3d 22 24 73 61 76 65 5f 4c 41 4e 47  LANG="$save_LANG
2d9b0 22 3b 20 65 78 70 6f 72 74 20 4c 41 4e 47 0a 20  "; export LANG. 
2d9c0 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23       fi..      #
2d9d0 20 4e 6f 77 20 70 72 65 70 61 72 65 20 74 6f 20   Now prepare to 
2d9e0 61 63 74 75 61 6c 6c 79 20 65 78 65 63 20 74 68  actually exec th
2d9f0 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20  e command..     
2da00 20 65 78 65 63 5f 63 6d 64 3d 22 5c 24 63 6d 64   exec_cmd="\$cmd
2da10 24 61 72 67 73 22 0a 20 20 20 20 65 6c 73 65 0a  $args".    else.
2da20 20 20 20 20 20 20 23 20 44 69 73 70 6c 61 79 20        # Display 
2da30 77 68 61 74 20 77 6f 75 6c 64 20 62 65 20 64 6f  what would be do
2da40 6e 65 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73  ne..      if tes
2da50 74 20 2d 6e 20 22 24 73 68 6c 69 62 70 61 74 68  t -n "$shlibpath
2da60 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 65 76 61  _var"; then..eva
2da70 6c 20 22 5c 24 65 63 68 6f 20 5c 22 5c 24 73 68  l "\$echo \"\$sh
2da80 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 24 24 73  libpath_var=\$$s
2da90 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22 22 0a  hlibpath_var\"".
2daa0 09 24 65 63 68 6f 20 22 65 78 70 6f 72 74 20 24  .$echo "export $
2dab0 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 0a 20  shlibpath_var". 
2dac0 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 24 65       fi.      $e
2dad0 63 68 6f 20 22 24 63 6d 64 24 61 72 67 73 22 0a  cho "$cmd$args".
2dae0 20 20 20 20 20 20 65 78 69 74 20 24 45 58 49 54        exit $EXIT
2daf0 5f 53 55 43 43 45 53 53 0a 20 20 20 20 66 69 0a  _SUCCESS.    fi.
2db00 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c 69 62 74      ;;..  # libt
2db10 6f 6f 6c 20 63 6c 65 61 6e 20 61 6e 64 20 75 6e  ool clean and un
2db20 69 6e 73 74 61 6c 6c 20 6d 6f 64 65 0a 20 20 63  install mode.  c
2db30 6c 65 61 6e 20 7c 20 75 6e 69 6e 73 74 61 6c 6c  lean | uninstall
2db40 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22  ).    modename="
2db50 24 6d 6f 64 65 6e 61 6d 65 3a 20 24 6d 6f 64 65  $modename: $mode
2db60 22 0a 20 20 20 20 72 6d 3d 22 24 6e 6f 6e 6f 70  ".    rm="$nonop
2db70 74 22 0a 20 20 20 20 66 69 6c 65 73 3d 0a 20 20  t".    files=.  
2db80 20 20 72 6d 66 6f 72 63 65 3d 0a 20 20 20 20 65    rmforce=.    e
2db90 78 69 74 5f 73 74 61 74 75 73 3d 30 0a 0a 20 20  xit_status=0..  
2dba0 20 20 23 20 54 68 69 73 20 76 61 72 69 61 62 6c    # This variabl
2dbb0 65 20 74 65 6c 6c 73 20 77 72 61 70 70 65 72 20  e tells wrapper 
2dbc0 73 63 72 69 70 74 73 20 6a 75 73 74 20 74 6f 20  scripts just to 
2dbd0 73 65 74 20 76 61 72 69 61 62 6c 65 73 20 72 61  set variables ra
2dbe0 74 68 65 72 0a 20 20 20 20 23 20 74 68 61 6e 20  ther.    # than 
2dbf0 72 75 6e 6e 69 6e 67 20 74 68 65 69 72 20 70 72  running their pr
2dc00 6f 67 72 61 6d 73 2e 0a 20 20 20 20 6c 69 62 74  ograms..    libt
2dc10 6f 6f 6c 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69  ool_install_magi
2dc20 63 3d 22 24 6d 61 67 69 63 22 0a 0a 20 20 20 20  c="$magic"..    
2dc30 66 6f 72 20 61 72 67 0a 20 20 20 20 64 6f 0a 20  for arg.    do. 
2dc40 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69       case $arg i
2dc50 6e 0a 20 20 20 20 20 20 2d 66 29 20 72 6d 3d 22  n.      -f) rm="
2dc60 24 72 6d 20 24 61 72 67 22 3b 20 72 6d 66 6f 72  $rm $arg"; rmfor
2dc70 63 65 3d 79 65 73 20 3b 3b 0a 20 20 20 20 20 20  ce=yes ;;.      
2dc80 2d 2a 29 20 72 6d 3d 22 24 72 6d 20 24 61 72 67  -*) rm="$rm $arg
2dc90 22 20 3b 3b 0a 20 20 20 20 20 20 2a 29 20 66 69  " ;;.      *) fi
2dca0 6c 65 73 3d 22 24 66 69 6c 65 73 20 24 61 72 67  les="$files $arg
2dcb0 22 20 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  " ;;.      esac.
2dcc0 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66      done..    if
2dcd0 20 74 65 73 74 20 2d 7a 20 22 24 72 6d 22 3b 20   test -z "$rm"; 
2dce0 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f  then.      $echo
2dcf0 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75   "$modename: you
2dd00 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e   must specify an
2dd10 20 52 4d 20 70 72 6f 67 72 61 6d 22 20 31 3e 26   RM program" 1>&
2dd20 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  2.      $echo "$
2dd30 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20  help" 1>&2.     
2dd40 20 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c   exit $EXIT_FAIL
2dd50 55 52 45 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  URE.    fi..    
2dd60 72 6d 64 69 72 73 3d 0a 0a 20 20 20 20 6f 72 69  rmdirs=..    ori
2dd70 67 6f 62 6a 64 69 72 3d 22 24 6f 62 6a 64 69 72  gobjdir="$objdir
2dd80 22 0a 20 20 20 20 66 6f 72 20 66 69 6c 65 20 69  ".    for file i
2dd90 6e 20 24 66 69 6c 65 73 3b 20 64 6f 0a 20 20 20  n $files; do.   
2dda0 20 20 20 64 69 72 3d 60 24 65 63 68 6f 20 22 58     dir=`$echo "X
2ddb0 24 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d  $file" | $Xsed -
2ddc0 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60  e 's%/[^/]*$%%'`
2ddd0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
2dde0 58 24 64 69 72 22 20 3d 20 22 58 24 66 69 6c 65  X$dir" = "X$file
2ddf0 22 3b 20 74 68 65 6e 0a 09 64 69 72 3d 2e 0a 09  "; then..dir=...
2de00 6f 62 6a 64 69 72 3d 22 24 6f 72 69 67 6f 62 6a  objdir="$origobj
2de10 64 69 72 22 0a 20 20 20 20 20 20 65 6c 73 65 0a  dir".      else.
2de20 09 6f 62 6a 64 69 72 3d 22 24 64 69 72 2f 24 6f  .objdir="$dir/$o
2de30 72 69 67 6f 62 6a 64 69 72 22 0a 20 20 20 20 20  rigobjdir".     
2de40 20 66 69 0a 20 20 20 20 20 20 6e 61 6d 65 3d 60   fi.      name=`
2de50 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c  $echo "X$file" |
2de60 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
2de70 2f 25 25 27 60 0a 20 20 20 20 20 20 74 65 73 74  /%%'`.      test
2de80 20 22 24 6d 6f 64 65 22 20 3d 20 75 6e 69 6e 73   "$mode" = unins
2de90 74 61 6c 6c 20 26 26 20 6f 62 6a 64 69 72 3d 22  tall && objdir="
2dea0 24 64 69 72 22 0a 0a 20 20 20 20 20 20 23 20 52  $dir"..      # R
2deb0 65 6d 65 6d 62 65 72 20 6f 62 6a 64 69 72 20 66  emember objdir f
2dec0 6f 72 20 72 65 6d 6f 76 61 6c 20 6c 61 74 65 72  or removal later
2ded0 2c 20 62 65 69 6e 67 20 63 61 72 65 66 75 6c 20  , being careful 
2dee0 74 6f 20 61 76 6f 69 64 20 64 75 70 6c 69 63 61  to avoid duplica
2def0 74 65 73 0a 20 20 20 20 20 20 69 66 20 74 65 73  tes.      if tes
2df00 74 20 22 24 6d 6f 64 65 22 20 3d 20 63 6c 65 61  t "$mode" = clea
2df10 6e 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 22 20  n; then..case " 
2df20 24 72 6d 64 69 72 73 20 22 20 69 6e 0a 09 20 20  $rmdirs " in..  
2df30 2a 22 20 24 6f 62 6a 64 69 72 20 22 2a 29 20 3b  *" $objdir "*) ;
2df40 3b 0a 09 20 20 2a 29 20 72 6d 64 69 72 73 3d 22  ;..  *) rmdirs="
2df50 24 72 6d 64 69 72 73 20 24 6f 62 6a 64 69 72 22  $rmdirs $objdir"
2df60 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20   ;;..esac.      
2df70 66 69 0a 0a 20 20 20 20 20 20 23 20 44 6f 6e 27  fi..      # Don'
2df80 74 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66  t error if the f
2df90 69 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73  ile doesn't exis
2dfa0 74 20 61 6e 64 20 72 6d 20 2d 66 20 77 61 73 20  t and rm -f was 
2dfb0 75 73 65 64 2e 0a 20 20 20 20 20 20 69 66 20 28  used..      if (
2dfc0 74 65 73 74 20 2d 4c 20 22 24 66 69 6c 65 22 29  test -L "$file")
2dfd0 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
2dfe0 20 5c 0a 09 7c 7c 20 28 74 65 73 74 20 2d 68 20   \..|| (test -h 
2dff0 22 24 66 69 6c 65 22 29 20 3e 2f 64 65 76 2f 6e  "$file") >/dev/n
2e000 75 6c 6c 20 32 3e 26 31 20 5c 0a 09 7c 7c 20 74  ull 2>&1 \..|| t
2e010 65 73 74 20 2d 66 20 22 24 66 69 6c 65 22 3b 20  est -f "$file"; 
2e020 74 68 65 6e 0a 09 3a 0a 20 20 20 20 20 20 65 6c  then..:.      el
2e030 69 66 20 74 65 73 74 20 2d 64 20 22 24 66 69 6c  if test -d "$fil
2e040 65 22 3b 20 74 68 65 6e 0a 09 65 78 69 74 5f 73  e"; then..exit_s
2e050 74 61 74 75 73 3d 31 0a 09 63 6f 6e 74 69 6e 75  tatus=1..continu
2e060 65 0a 20 20 20 20 20 20 65 6c 69 66 20 74 65 73  e.      elif tes
2e070 74 20 22 24 72 6d 66 6f 72 63 65 22 20 3d 20 79  t "$rmforce" = y
2e080 65 73 3b 20 74 68 65 6e 0a 09 63 6f 6e 74 69 6e  es; then..contin
2e090 75 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  ue.      fi..   
2e0a0 20 20 20 72 6d 66 69 6c 65 73 3d 22 24 66 69 6c     rmfiles="$fil
2e0b0 65 22 0a 0a 20 20 20 20 20 20 63 61 73 65 20 24  e"..      case $
2e0c0 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e  name in.      *.
2e0d0 6c 61 29 0a 09 23 20 50 6f 73 73 69 62 6c 79 20  la)..# Possibly 
2e0e0 61 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76  a libtool archiv
2e0f0 65 2c 20 73 6f 20 76 65 72 69 66 79 20 69 74 2e  e, so verify it.
2e100 0a 09 69 66 20 28 24 7b 53 45 44 7d 20 2d 65 20  ..if (${SED} -e 
2e110 27 32 71 27 20 24 66 69 6c 65 20 7c 20 67 72 65  '2q' $file | gre
2e120 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20  p "^# Generated 
2e130 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20  by .*$PACKAGE") 
2e140 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b  >/dev/null 2>&1;
2e150 20 74 68 65 6e 0a 09 20 20 2e 20 24 64 69 72 2f   then..  . $dir/
2e160 24 6e 61 6d 65 0a 0a 09 20 20 23 20 44 65 6c 65  $name...  # Dele
2e170 74 65 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c  te the libtool l
2e180 69 62 72 61 72 69 65 73 20 61 6e 64 20 73 79 6d  ibraries and sym
2e190 6c 69 6e 6b 73 2e 0a 09 20 20 66 6f 72 20 6e 20  links...  for n 
2e1a0 69 6e 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  in $library_name
2e1b0 73 3b 20 64 6f 0a 09 20 20 20 20 72 6d 66 69 6c  s; do..    rmfil
2e1c0 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62  es="$rmfiles $ob
2e1d0 6a 64 69 72 2f 24 6e 22 0a 09 20 20 64 6f 6e 65  jdir/$n"..  done
2e1e0 0a 09 20 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c  ..  test -n "$ol
2e1f0 64 5f 6c 69 62 72 61 72 79 22 20 26 26 20 72 6d  d_library" && rm
2e200 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20  files="$rmfiles 
2e210 24 6f 62 6a 64 69 72 2f 24 6f 6c 64 5f 6c 69 62  $objdir/$old_lib
2e220 72 61 72 79 22 0a 0a 09 20 20 63 61 73 65 20 22  rary"...  case "
2e230 24 6d 6f 64 65 22 20 69 6e 0a 09 20 20 63 6c 65  $mode" in..  cle
2e240 61 6e 29 0a 09 20 20 20 20 63 61 73 65 20 22 20  an)..    case " 
2e250 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 20   $library_names 
2e260 22 20 69 6e 0a 09 20 20 20 20 23 20 22 20 20 22  " in..    # "  "
2e270 20 69 6e 20 74 68 65 20 62 65 67 69 6e 6e 69 6e   in the beginnin
2e280 67 20 63 61 74 63 68 65 73 20 65 6d 70 74 79 20  g catches empty 
2e290 24 64 6c 6e 61 6d 65 0a 09 20 20 20 20 2a 22 20  $dlname..    *" 
2e2a0 24 64 6c 6e 61 6d 65 20 22 2a 29 20 3b 3b 0a 09  $dlname "*) ;;..
2e2b0 20 20 20 20 2a 29 20 72 6d 66 69 6c 65 73 3d 22      *) rmfiles="
2e2c0 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64 69 72  $rmfiles $objdir
2e2d0 2f 24 64 6c 6e 61 6d 65 22 20 3b 3b 0a 09 20 20  /$dlname" ;;..  
2e2e0 20 20 65 73 61 63 0a 09 20 20 20 20 20 74 65 73    esac..     tes
2e2f0 74 20 2d 6e 20 22 24 6c 69 62 64 69 72 22 20 26  t -n "$libdir" &
2e300 26 20 72 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69  & rmfiles="$rmfi
2e310 6c 65 73 20 24 6f 62 6a 64 69 72 2f 24 6e 61 6d  les $objdir/$nam
2e320 65 20 24 6f 62 6a 64 69 72 2f 24 7b 6e 61 6d 65  e $objdir/${name
2e330 7d 69 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 75  }i"..    ;;..  u
2e340 6e 69 6e 73 74 61 6c 6c 29 0a 09 20 20 20 20 69  ninstall)..    i
2e350 66 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 62 72  f test -n "$libr
2e360 61 72 79 5f 6e 61 6d 65 73 22 3b 20 74 68 65 6e  ary_names"; then
2e370 0a 09 20 20 20 20 20 20 23 20 44 6f 20 65 61 63  ..      # Do eac
2e380 68 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65  h command in the
2e390 20 70 6f 73 74 75 6e 69 6e 73 74 61 6c 6c 20 63   postuninstall c
2e3a0 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20 20 20 20 20  ommands...      
2e3b0 63 6d 64 73 3d 24 70 6f 73 74 75 6e 69 6e 73 74  cmds=$postuninst
2e3c0 61 6c 6c 5f 63 6d 64 73 0a 09 20 20 20 20 20 20  all_cmds..      
2e3d0 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b  save_ifs="$IFS";
2e3e0 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20 20   IFS='~'..      
2e3f0 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64 73  for cmd in $cmds
2e400 3b 20 64 6f 0a 09 09 49 46 53 3d 22 24 73 61 76  ; do...IFS="$sav
2e410 65 5f 69 66 73 22 0a 09 09 65 76 61 6c 20 63 6d  e_ifs"...eval cm
2e420 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 09 24 73 68  d=\"$cmd\"...$sh
2e430 6f 77 20 22 24 63 6d 64 22 0a 09 09 24 72 75 6e  ow "$cmd"...$run
2e440 20 65 76 61 6c 20 22 24 63 6d 64 22 0a 09 09 69   eval "$cmd"...i
2e450 66 20 74 65 73 74 20 22 24 3f 22 20 2d 6e 65 20  f test "$?" -ne 
2e460 30 20 26 26 20 74 65 73 74 20 22 24 72 6d 66 6f  0 && test "$rmfo
2e470 72 63 65 22 20 21 3d 20 79 65 73 3b 20 74 68 65  rce" != yes; the
2e480 6e 0a 09 09 20 20 65 78 69 74 5f 73 74 61 74 75  n...  exit_statu
2e490 73 3d 31 0a 09 09 66 69 0a 09 20 20 20 20 20 20  s=1...fi..      
2e4a0 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46 53 3d  done..      IFS=
2e4b0 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20  "$save_ifs"..   
2e4c0 20 66 69 0a 0a 09 20 20 20 20 69 66 20 74 65 73   fi...    if tes
2e4d0 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c 69 62 72 61  t -n "$old_libra
2e4e0 72 79 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  ry"; then..     
2e4f0 20 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61   # Do each comma
2e500 6e 64 20 69 6e 20 74 68 65 20 6f 6c 64 5f 70 6f  nd in the old_po
2e510 73 74 75 6e 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d  stuninstall comm
2e520 61 6e 64 73 2e 0a 09 20 20 20 20 20 20 63 6d 64  ands...      cmd
2e530 73 3d 24 6f 6c 64 5f 70 6f 73 74 75 6e 69 6e 73  s=$old_postunins
2e540 74 61 6c 6c 5f 63 6d 64 73 0a 09 20 20 20 20 20  tall_cmds..     
2e550 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22   save_ifs="$IFS"
2e560 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20  ; IFS='~'..     
2e570 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64   for cmd in $cmd
2e580 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22 24 73 61  s; do...IFS="$sa
2e590 76 65 5f 69 66 73 22 0a 09 09 65 76 61 6c 20 63  ve_ifs"...eval c
2e5a0 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 09 24 73  md=\"$cmd\"...$s
2e5b0 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24 72 75  how "$cmd"...$ru
2e5c0 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 0a 09 09  n eval "$cmd"...
2e5d0 69 66 20 74 65 73 74 20 22 24 3f 22 20 2d 6e 65  if test "$?" -ne
2e5e0 20 30 20 26 26 20 74 65 73 74 20 22 24 72 6d 66   0 && test "$rmf
2e5f0 6f 72 63 65 22 20 21 3d 20 79 65 73 3b 20 74 68  orce" != yes; th
2e600 65 6e 0a 09 09 20 20 65 78 69 74 5f 73 74 61 74  en...  exit_stat
2e610 75 73 3d 31 0a 09 09 66 69 0a 09 20 20 20 20 20  us=1...fi..     
2e620 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46 53   done..      IFS
2e630 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20  ="$save_ifs"..  
2e640 20 20 66 69 0a 09 20 20 20 20 23 20 46 49 58 4d    fi..    # FIXM
2e650 45 3a 20 73 68 6f 75 6c 64 20 72 65 69 6e 73 74  E: should reinst
2e660 61 6c 6c 20 74 68 65 20 62 65 73 74 20 72 65 6d  all the best rem
2e670 61 69 6e 69 6e 67 20 73 68 61 72 65 64 20 6c 69  aining shared li
2e680 62 72 61 72 79 2e 0a 09 20 20 20 20 3b 3b 0a 09  brary...    ;;..
2e690 20 20 65 73 61 63 0a 09 66 69 0a 09 3b 3b 0a 0a    esac..fi..;;..
2e6a0 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20 50        *.lo)..# P
2e6b0 6f 73 73 69 62 6c 79 20 61 20 6c 69 62 74 6f 6f  ossibly a libtoo
2e6c0 6c 20 6f 62 6a 65 63 74 2c 20 73 6f 20 76 65 72  l object, so ver
2e6d0 69 66 79 20 69 74 2e 0a 09 69 66 20 28 24 7b 53  ify it...if (${S
2e6e0 45 44 7d 20 2d 65 20 27 32 71 27 20 24 66 69 6c  ED} -e '2q' $fil
2e6f0 65 20 7c 20 67 72 65 70 20 22 5e 23 20 47 65 6e  e | grep "^# Gen
2e700 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43  erated by .*$PAC
2e710 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c  KAGE") >/dev/nul
2e720 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 0a 09 20  l 2>&1; then... 
2e730 20 23 20 52 65 61 64 20 74 68 65 20 2e 6c 6f 20   # Read the .lo 
2e740 66 69 6c 65 0a 09 20 20 2e 20 24 64 69 72 2f 24  file..  . $dir/$
2e750 6e 61 6d 65 0a 0a 09 20 20 23 20 41 64 64 20 50  name...  # Add P
2e760 49 43 20 6f 62 6a 65 63 74 20 74 6f 20 74 68 65  IC object to the
2e770 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 74   list of files t
2e780 6f 20 72 65 6d 6f 76 65 2e 0a 09 20 20 69 66 20  o remove...  if 
2e790 74 65 73 74 20 2d 6e 20 22 24 70 69 63 5f 6f 62  test -n "$pic_ob
2e7a0 6a 65 63 74 22 20 5c 0a 09 20 20 20 20 20 26 26  ject" \..     &&
2e7b0 20 74 65 73 74 20 22 24 70 69 63 5f 6f 62 6a 65   test "$pic_obje
2e7c0 63 74 22 20 21 3d 20 6e 6f 6e 65 3b 20 74 68 65  ct" != none; the
2e7d0 6e 0a 09 20 20 20 20 72 6d 66 69 6c 65 73 3d 22  n..    rmfiles="
2e7e0 24 72 6d 66 69 6c 65 73 20 24 64 69 72 2f 24 70  $rmfiles $dir/$p
2e7f0 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20 66 69  ic_object"..  fi
2e800 0a 0a 09 20 20 23 20 41 64 64 20 6e 6f 6e 2d 50  ...  # Add non-P
2e810 49 43 20 6f 62 6a 65 63 74 20 74 6f 20 74 68 65  IC object to the
2e820 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 74   list of files t
2e830 6f 20 72 65 6d 6f 76 65 2e 0a 09 20 20 69 66 20  o remove...  if 
2e840 74 65 73 74 20 2d 6e 20 22 24 6e 6f 6e 5f 70 69  test -n "$non_pi
2e850 63 5f 6f 62 6a 65 63 74 22 20 5c 0a 09 20 20 20  c_object" \..   
2e860 20 20 26 26 20 74 65 73 74 20 22 24 6e 6f 6e 5f    && test "$non_
2e870 70 69 63 5f 6f 62 6a 65 63 74 22 20 21 3d 20 6e  pic_object" != n
2e880 6f 6e 65 3b 20 74 68 65 6e 0a 09 20 20 20 20 72  one; then..    r
2e890 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73  mfiles="$rmfiles
2e8a0 20 24 64 69 72 2f 24 6e 6f 6e 5f 70 69 63 5f 6f   $dir/$non_pic_o
2e8b0 62 6a 65 63 74 22 0a 09 20 20 66 69 0a 09 66 69  bject"..  fi..fi
2e8c0 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 29 0a 09  ..;;..      *)..
2e8d0 69 66 20 74 65 73 74 20 22 24 6d 6f 64 65 22 20  if test "$mode" 
2e8e0 3d 20 63 6c 65 61 6e 20 3b 20 74 68 65 6e 0a 09  = clean ; then..
2e8f0 20 20 6e 6f 65 78 65 6e 61 6d 65 3d 24 6e 61 6d    noexename=$nam
2e900 65 0a 09 20 20 63 61 73 65 20 24 66 69 6c 65 20  e..  case $file 
2e910 69 6e 0a 09 20 20 2a 2e 65 78 65 29 0a 09 20 20  in..  *.exe)..  
2e920 20 20 66 69 6c 65 3d 60 24 65 63 68 6f 20 24 66    file=`$echo $f
2e930 69 6c 65 7c 24 7b 53 45 44 7d 20 27 73 2c 2e 65  ile|${SED} 's,.e
2e940 78 65 24 2c 2c 27 60 0a 09 20 20 20 20 6e 6f 65  xe$,,'`..    noe
2e950 78 65 6e 61 6d 65 3d 60 24 65 63 68 6f 20 24 6e  xename=`$echo $n
2e960 61 6d 65 7c 24 7b 53 45 44 7d 20 27 73 2c 2e 65  ame|${SED} 's,.e
2e970 78 65 24 2c 2c 27 60 0a 09 20 20 20 20 23 20 24  xe$,,'`..    # $
2e980 66 69 6c 65 20 77 69 74 68 20 2e 65 78 65 20 68  file with .exe h
2e990 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20  as already been 
2e9a0 61 64 64 65 64 20 74 6f 20 72 6d 66 69 6c 65 73  added to rmfiles
2e9b0 2c 0a 09 20 20 20 20 23 20 61 64 64 20 24 66 69  ,..    # add $fi
2e9c0 6c 65 20 77 69 74 68 6f 75 74 20 2e 65 78 65 0a  le without .exe.
2e9d0 09 20 20 20 20 72 6d 66 69 6c 65 73 3d 22 24 72  .    rmfiles="$r
2e9e0 6d 66 69 6c 65 73 20 24 66 69 6c 65 22 0a 09 20  mfiles $file".. 
2e9f0 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20     ;;..  esac.. 
2ea00 20 23 20 44 6f 20 61 20 74 65 73 74 20 74 6f 20   # Do a test to 
2ea10 73 65 65 20 69 66 20 74 68 69 73 20 69 73 20 61  see if this is a
2ea20 20 6c 69 62 74 6f 6f 6c 20 70 72 6f 67 72 61 6d   libtool program
2ea30 2e 0a 09 20 20 69 66 20 28 24 7b 53 45 44 7d 20  ...  if (${SED} 
2ea40 2d 65 20 27 34 71 27 20 24 66 69 6c 65 20 7c 20  -e '4q' $file | 
2ea50 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72 61 74  grep "^# Generat
2ea60 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41 47 45  ed by .*$PACKAGE
2ea70 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e  ") >/dev/null 2>
2ea80 26 31 3b 20 74 68 65 6e 0a 09 20 20 20 20 72 65  &1; then..    re
2ea90 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a 09 20  link_command=.. 
2eaa0 20 20 20 2e 20 24 64 69 72 2f 24 6e 6f 65 78 65     . $dir/$noexe
2eab0 6e 61 6d 65 0a 0a 09 20 20 20 20 23 20 6e 6f 74  name...    # not
2eac0 65 20 24 6e 61 6d 65 20 73 74 69 6c 6c 20 63 6f  e $name still co
2ead0 6e 74 61 69 6e 73 20 2e 65 78 65 20 69 66 20 69  ntains .exe if i
2eae0 74 20 77 61 73 20 69 6e 20 24 66 69 6c 65 20 6f  t was in $file o
2eaf0 72 69 67 69 6e 61 6c 6c 79 0a 09 20 20 20 20 23  riginally..    #
2eb00 20 61 73 20 64 6f 65 73 20 74 68 65 20 76 65 72   as does the ver
2eb10 73 69 6f 6e 20 6f 66 20 24 66 69 6c 65 20 74 68  sion of $file th
2eb20 61 74 20 77 61 73 20 61 64 64 65 64 20 69 6e 74  at was added int
2eb30 6f 20 24 72 6d 66 69 6c 65 73 0a 09 20 20 20 20  o $rmfiles..    
2eb40 72 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65  rmfiles="$rmfile
2eb50 73 20 24 6f 62 6a 64 69 72 2f 24 6e 61 6d 65 20  s $objdir/$name 
2eb60 24 6f 62 6a 64 69 72 2f 24 7b 6e 61 6d 65 7d 53  $objdir/${name}S
2eb70 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a 09 20 20 20  .${objext}"..   
2eb80 20 69 66 20 74 65 73 74 20 22 24 66 61 73 74 5f   if test "$fast_
2eb90 69 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73 20 26  install" = yes &
2eba0 26 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69  & test -n "$reli
2ebb0 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65  nk_command"; the
2ebc0 6e 0a 09 20 20 20 20 20 20 72 6d 66 69 6c 65 73  n..      rmfiles
2ebd0 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64  ="$rmfiles $objd
2ebe0 69 72 2f 6c 74 2d 24 6e 61 6d 65 22 0a 09 20 20  ir/lt-$name"..  
2ebf0 20 20 66 69 0a 09 20 20 20 20 69 66 20 74 65 73    fi..    if tes
2ec00 74 20 22 58 24 6e 6f 65 78 65 6e 61 6d 65 22 20  t "X$noexename" 
2ec10 21 3d 20 22 58 24 6e 61 6d 65 22 20 3b 20 74 68  != "X$name" ; th
2ec20 65 6e 0a 09 20 20 20 20 20 20 72 6d 66 69 6c 65  en..      rmfile
2ec30 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a  s="$rmfiles $obj
2ec40 64 69 72 2f 6c 74 2d 24 7b 6e 6f 65 78 65 6e 61  dir/lt-${noexena
2ec50 6d 65 7d 2e 63 22 0a 09 20 20 20 20 66 69 0a 09  me}.c"..    fi..
2ec60 20 20 66 69 0a 09 66 69 0a 09 3b 3b 0a 20 20 20    fi..fi..;;.   
2ec70 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 24 73     esac.      $s
2ec80 68 6f 77 20 22 24 72 6d 20 24 72 6d 66 69 6c 65  how "$rm $rmfile
2ec90 73 22 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72  s".      $run $r
2eca0 6d 20 24 72 6d 66 69 6c 65 73 20 7c 7c 20 65 78  m $rmfiles || ex
2ecb0 69 74 5f 73 74 61 74 75 73 3d 31 0a 20 20 20 20  it_status=1.    
2ecc0 64 6f 6e 65 0a 20 20 20 20 6f 62 6a 64 69 72 3d  done.    objdir=
2ecd0 22 24 6f 72 69 67 6f 62 6a 64 69 72 22 0a 0a 20  "$origobjdir".. 
2ece0 20 20 20 23 20 54 72 79 20 74 6f 20 72 65 6d 6f     # Try to remo
2ecf0 76 65 20 74 68 65 20 24 7b 6f 62 6a 64 69 72 7d  ve the ${objdir}
2ed00 73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f  s in the directo
2ed10 72 69 65 73 20 77 68 65 72 65 20 77 65 20 64 65  ries where we de
2ed20 6c 65 74 65 64 20 66 69 6c 65 73 0a 20 20 20 20  leted files.    
2ed30 66 6f 72 20 64 69 72 20 69 6e 20 24 72 6d 64 69  for dir in $rmdi
2ed40 72 73 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20  rs; do.      if 
2ed50 74 65 73 74 20 2d 64 20 22 24 64 69 72 22 3b 20  test -d "$dir"; 
2ed60 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 72 6d 64  then..$show "rmd
2ed70 69 72 20 24 64 69 72 22 0a 09 24 72 75 6e 20 72  ir $dir"..$run r
2ed80 6d 64 69 72 20 24 64 69 72 20 3e 2f 64 65 76 2f  mdir $dir >/dev/
2ed90 6e 75 6c 6c 20 32 3e 26 31 0a 20 20 20 20 20 20  null 2>&1.      
2eda0 66 69 0a 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20  fi.    done..   
2edb0 20 65 78 69 74 20 24 65 78 69 74 5f 73 74 61 74   exit $exit_stat
2edc0 75 73 0a 20 20 20 20 3b 3b 0a 0a 20 20 22 22 29  us.    ;;..  "")
2edd0 0a 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
2ede0 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20  ename: you must 
2edf0 73 70 65 63 69 66 79 20 61 20 4d 4f 44 45 22 20  specify a MODE" 
2ee00 31 3e 26 32 0a 20 20 20 20 24 65 63 68 6f 20 22  1>&2.    $echo "
2ee10 24 67 65 6e 65 72 69 63 5f 68 65 6c 70 22 20 31  $generic_help" 1
2ee20 3e 26 32 0a 20 20 20 20 65 78 69 74 20 24 45 58  >&2.    exit $EX
2ee30 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 20 20 3b  IT_FAILURE.    ;
2ee40 3b 0a 20 20 65 73 61 63 0a 0a 20 20 69 66 20 74  ;.  esac..  if t
2ee50 65 73 74 20 2d 7a 20 22 24 65 78 65 63 5f 63 6d  est -z "$exec_cm
2ee60 64 22 3b 20 74 68 65 6e 0a 20 20 20 20 24 65 63  d"; then.    $ec
2ee70 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 69  ho "$modename: i
2ee80 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 69 6f 6e  nvalid operation
2ee90 20 6d 6f 64 65 20 5c 60 24 6d 6f 64 65 27 22 20   mode \`$mode'" 
2eea0 31 3e 26 32 0a 20 20 20 20 24 65 63 68 6f 20 22  1>&2.    $echo "
2eeb0 24 67 65 6e 65 72 69 63 5f 68 65 6c 70 22 20 31  $generic_help" 1
2eec0 3e 26 32 0a 20 20 20 20 65 78 69 74 20 24 45 58  >&2.    exit $EX
2eed0 49 54 5f 46 41 49 4c 55 52 45 0a 20 20 66 69 0a  IT_FAILURE.  fi.
2eee0 66 69 20 23 20 74 65 73 74 20 2d 7a 20 22 24 73  fi # test -z "$s
2eef0 68 6f 77 5f 68 65 6c 70 22 0a 0a 69 66 20 74 65  how_help"..if te
2ef00 73 74 20 2d 6e 20 22 24 65 78 65 63 5f 63 6d 64  st -n "$exec_cmd
2ef10 22 3b 20 74 68 65 6e 0a 20 20 65 76 61 6c 20 65  "; then.  eval e
2ef20 78 65 63 20 24 65 78 65 63 5f 63 6d 64 0a 20 20  xec $exec_cmd.  
2ef30 65 78 69 74 20 24 45 58 49 54 5f 46 41 49 4c 55  exit $EXIT_FAILU
2ef40 52 45 0a 66 69 0a 0a 23 20 57 65 20 6e 65 65 64  RE.fi..# We need
2ef50 20 74 6f 20 64 69 73 70 6c 61 79 20 68 65 6c 70   to display help
2ef60 20 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65   for each of the
2ef70 20 6d 6f 64 65 73 2e 0a 63 61 73 65 20 24 6d 6f   modes..case $mo
2ef80 64 65 20 69 6e 0a 22 22 29 20 24 65 63 68 6f 20  de in."") $echo 
2ef90 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e  \."Usage: $moden
2efa0 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20  ame [OPTION]... 
2efb0 5b 4d 4f 44 45 2d 41 52 47 5d 2e 2e 2e 0a 0a 50  [MODE-ARG].....P
2efc0 72 6f 76 69 64 65 20 67 65 6e 65 72 61 6c 69 7a  rovide generaliz
2efd0 65 64 20 6c 69 62 72 61 72 79 2d 62 75 69 6c 64  ed library-build
2efe0 69 6e 67 20 73 75 70 70 6f 72 74 20 73 65 72 76  ing support serv
2eff0 69 63 65 73 2e 0a 0a 20 20 20 20 2d 2d 63 6f 6e  ices...    --con
2f000 66 69 67 20 20 20 20 20 20 20 20 20 20 73 68 6f  fig          sho
2f010 77 20 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61 74  w all configurat
2f020 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 0a 20 20  ion variables.  
2f030 20 20 2d 2d 64 65 62 75 67 20 20 20 20 20 20 20    --debug       
2f040 20 20 20 20 65 6e 61 62 6c 65 20 76 65 72 62 6f      enable verbo
2f050 73 65 20 73 68 65 6c 6c 20 74 72 61 63 69 6e 67  se shell tracing
2f060 0a 2d 6e 2c 20 2d 2d 64 72 79 2d 72 75 6e 20 20  .-n, --dry-run  
2f070 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20 63         display c
2f080 6f 6d 6d 61 6e 64 73 20 77 69 74 68 6f 75 74 20  ommands without 
2f090 6d 6f 64 69 66 79 69 6e 67 20 61 6e 79 20 66 69  modifying any fi
2f0a0 6c 65 73 0a 20 20 20 20 2d 2d 66 65 61 74 75 72  les.    --featur
2f0b0 65 73 20 20 20 20 20 20 20 20 64 69 73 70 6c 61  es        displa
2f0c0 79 20 62 61 73 69 63 20 63 6f 6e 66 69 67 75 72  y basic configur
2f0d0 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f  ation informatio
2f0e0 6e 20 61 6e 64 20 65 78 69 74 0a 20 20 20 20 2d  n and exit.    -
2f0f0 2d 66 69 6e 69 73 68 20 20 20 20 20 20 20 20 20  -finish         
2f100 20 73 61 6d 65 20 61 73 20 5c 60 2d 2d 6d 6f 64   same as \`--mod
2f110 65 3d 66 69 6e 69 73 68 27 0a 20 20 20 20 2d 2d  e=finish'.    --
2f120 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20  help            
2f130 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c  display this hel
2f140 70 20 6d 65 73 73 61 67 65 20 61 6e 64 20 65 78  p message and ex
2f150 69 74 0a 20 20 20 20 2d 2d 6d 6f 64 65 3d 4d 4f  it.    --mode=MO
2f160 44 45 20 20 20 20 20 20 20 75 73 65 20 6f 70 65  DE       use ope
2f170 72 61 74 69 6f 6e 20 6d 6f 64 65 20 4d 4f 44 45  ration mode MODE
2f180 20 5b 64 65 66 61 75 6c 74 3d 69 6e 66 65 72 72   [default=inferr
2f190 65 64 20 66 72 6f 6d 20 4d 4f 44 45 2d 41 52 47  ed from MODE-ARG
2f1a0 53 5d 0a 20 20 20 20 2d 2d 71 75 69 65 74 20 20  S].    --quiet  
2f1b0 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 61 73           same as
2f1c0 20 5c 60 2d 2d 73 69 6c 65 6e 74 27 0a 20 20 20   \`--silent'.   
2f1d0 20 2d 2d 73 69 6c 65 6e 74 20 20 20 20 20 20 20   --silent       
2f1e0 20 20 20 64 6f 6e 27 74 20 70 72 69 6e 74 20 69     don't print i
2f1f0 6e 66 6f 72 6d 61 74 69 6f 6e 61 6c 20 6d 65 73  nformational mes
2f200 73 61 67 65 73 0a 20 20 20 20 2d 2d 74 61 67 3d  sages.    --tag=
2f210 54 41 47 20 20 20 20 20 20 20 20 20 75 73 65 20  TAG         use 
2f220 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 76 61  configuration va
2f230 72 69 61 62 6c 65 73 20 66 72 6f 6d 20 74 61 67  riables from tag
2f240 20 54 41 47 0a 20 20 20 20 2d 2d 76 65 72 73 69   TAG.    --versi
2f250 6f 6e 20 20 20 20 20 20 20 20 20 70 72 69 6e 74  on         print
2f260 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61   version informa
2f270 74 69 6f 6e 0a 0a 4d 4f 44 45 20 6d 75 73 74 20  tion..MODE must 
2f280 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f  be one of the fo
2f290 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 20 20  llowing:..      
2f2a0 63 6c 65 61 6e 20 20 20 20 20 20 20 20 20 20 20  clean           
2f2b0 72 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f  remove files fro
2f2c0 6d 20 74 68 65 20 62 75 69 6c 64 20 64 69 72 65  m the build dire
2f2d0 63 74 6f 72 79 0a 20 20 20 20 20 20 63 6f 6d 70  ctory.      comp
2f2e0 69 6c 65 20 20 20 20 20 20 20 20 20 63 6f 6d 70  ile         comp
2f2f0 69 6c 65 20 61 20 73 6f 75 72 63 65 20 66 69 6c  ile a source fil
2f300 65 20 69 6e 74 6f 20 61 20 6c 69 62 74 6f 6f 6c  e into a libtool
2f310 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 65 78   object.      ex
2f320 65 63 75 74 65 20 20 20 20 20 20 20 20 20 61 75  ecute         au
2f330 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20  tomatically set 
2f340 6c 69 62 72 61 72 79 20 70 61 74 68 2c 20 74 68  library path, th
2f350 65 6e 20 72 75 6e 20 61 20 70 72 6f 67 72 61 6d  en run a program
2f360 0a 20 20 20 20 20 20 66 69 6e 69 73 68 20 20 20  .      finish   
2f370 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 20         complete 
2f380 74 68 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  the installation
2f390 20 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72   of libtool libr
2f3a0 61 72 69 65 73 0a 20 20 20 20 20 20 69 6e 73 74  aries.      inst
2f3b0 61 6c 6c 20 20 20 20 20 20 20 20 20 69 6e 73 74  all         inst
2f3c0 61 6c 6c 20 6c 69 62 72 61 72 69 65 73 20 6f 72  all libraries or
2f3d0 20 65 78 65 63 75 74 61 62 6c 65 73 0a 20 20 20   executables.   
2f3e0 20 20 20 6c 69 6e 6b 20 20 20 20 20 20 20 20 20     link         
2f3f0 20 20 20 63 72 65 61 74 65 20 61 20 6c 69 62 72     create a libr
2f400 61 72 79 20 6f 72 20 61 6e 20 65 78 65 63 75 74  ary or an execut
2f410 61 62 6c 65 0a 20 20 20 20 20 20 75 6e 69 6e 73  able.      unins
2f420 74 61 6c 6c 20 20 20 20 20 20 20 72 65 6d 6f 76  tall       remov
2f430 65 20 6c 69 62 72 61 72 69 65 73 20 66 72 6f 6d  e libraries from
2f440 20 61 6e 20 69 6e 73 74 61 6c 6c 65 64 20 64 69   an installed di
2f450 72 65 63 74 6f 72 79 0a 0a 4d 4f 44 45 2d 41 52  rectory..MODE-AR
2f460 47 53 20 76 61 72 79 20 64 65 70 65 6e 64 69 6e  GS vary dependin
2f470 67 20 6f 6e 20 74 68 65 20 4d 4f 44 45 2e 20 20  g on the MODE.  
2f480 54 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65 20  Try \`$modename 
2f490 2d 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 4d 4f  --help --mode=MO
2f4a0 44 45 27 20 66 6f 72 0a 61 20 6d 6f 72 65 20 64  DE' for.a more d
2f4b0 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74  etailed descript
2f4c0 69 6f 6e 20 6f 66 20 4d 4f 44 45 2e 0a 0a 52 65  ion of MODE...Re
2f4d0 70 6f 72 74 20 62 75 67 73 20 74 6f 20 3c 62 75  port bugs to <bu
2f4e0 67 2d 6c 69 62 74 6f 6f 6c 40 67 6e 75 2e 6f 72  g-libtool@gnu.or
2f4f0 67 3e 2e 22 0a 20 20 65 78 69 74 20 24 45 58 49  g>.".  exit $EXI
2f500 54 5f 53 55 43 43 45 53 53 0a 20 20 3b 3b 0a 0a  T_SUCCESS.  ;;..
2f510 63 6c 65 61 6e 29 0a 20 20 24 65 63 68 6f 20 5c  clean).  $echo \
2f520 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61  ."Usage: $modena
2f530 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d  me [OPTION]... -
2f540 2d 6d 6f 64 65 3d 63 6c 65 61 6e 20 52 4d 20 5b  -mode=clean RM [
2f550 52 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 46 49  RM-OPTION]... FI
2f560 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f 76 65 20 66 69  LE.....Remove fi
2f570 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 62 75 69  les from the bui
2f580 6c 64 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 52  ld directory...R
2f590 4d 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66  M is the name of
2f5a0 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20   the program to 
2f5b0 75 73 65 20 74 6f 20 64 65 6c 65 74 65 20 66 69  use to delete fi
2f5c0 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77  les associated w
2f5d0 69 74 68 20 65 61 63 68 20 46 49 4c 45 0a 28 74  ith each FILE.(t
2f5e0 79 70 69 63 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f  ypically \`/bin/
2f5f0 72 6d 27 29 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e  rm').  RM-OPTION
2f600 53 20 61 72 65 20 6f 70 74 69 6f 6e 73 20 28 73  S are options (s
2f610 75 63 68 20 61 73 20 5c 60 2d 66 27 29 20 74 6f  uch as \`-f') to
2f620 20 62 65 20 70 61 73 73 65 64 0a 74 6f 20 52 4d   be passed.to RM
2f630 2e 0a 0a 49 66 20 46 49 4c 45 20 69 73 20 61 20  ...If FILE is a 
2f640 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2c  libtool library,
2f650 20 6f 62 6a 65 63 74 20 6f 72 20 70 72 6f 67 72   object or progr
2f660 61 6d 2c 20 61 6c 6c 20 74 68 65 20 66 69 6c 65  am, all the file
2f670 73 20 61 73 73 6f 63 69 61 74 65 64 0a 77 69 74  s associated.wit
2f680 68 20 69 74 20 61 72 65 20 64 65 6c 65 74 65 64  h it are deleted
2f690 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 6c  . Otherwise, onl
2f6a0 79 20 46 49 4c 45 20 69 74 73 65 6c 66 20 69 73  y FILE itself is
2f6b0 20 64 65 6c 65 74 65 64 20 75 73 69 6e 67 20 52   deleted using R
2f6c0 4d 2e 22 0a 20 20 3b 3b 0a 0a 63 6f 6d 70 69 6c  M.".  ;;..compil
2f6d0 65 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73  e).  $echo \."Us
2f6e0 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b  age: $modename [
2f6f0 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64  OPTION]... --mod
2f700 65 3d 63 6f 6d 70 69 6c 65 20 43 4f 4d 50 49 4c  e=compile COMPIL
2f710 45 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 20 53 4f 55  E-COMMAND... SOU
2f720 52 43 45 46 49 4c 45 0a 0a 43 6f 6d 70 69 6c 65  RCEFILE..Compile
2f730 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69   a source file i
2f740 6e 74 6f 20 61 20 6c 69 62 74 6f 6f 6c 20 6c 69  nto a libtool li
2f750 62 72 61 72 79 20 6f 62 6a 65 63 74 2e 0a 0a 54  brary object...T
2f760 68 69 73 20 6d 6f 64 65 20 61 63 63 65 70 74 73  his mode accepts
2f770 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61   the following a
2f780 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e  dditional option
2f790 73 3a 0a 0a 20 20 2d 6f 20 4f 55 54 50 55 54 2d  s:..  -o OUTPUT-
2f7a0 46 49 4c 45 20 20 20 20 73 65 74 20 74 68 65 20  FILE    set the 
2f7b0 6f 75 74 70 75 74 20 66 69 6c 65 20 6e 61 6d 65  output file name
2f7c0 20 74 6f 20 4f 55 54 50 55 54 2d 46 49 4c 45 0a   to OUTPUT-FILE.
2f7d0 20 20 2d 70 72 65 66 65 72 2d 70 69 63 20 20 20    -prefer-pic   
2f7e0 20 20 20 20 74 72 79 20 74 6f 20 62 75 69 6c 64      try to build
2f7f0 69 6e 67 20 50 49 43 20 6f 62 6a 65 63 74 73 20  ing PIC objects 
2f800 6f 6e 6c 79 0a 20 20 2d 70 72 65 66 65 72 2d 6e  only.  -prefer-n
2f810 6f 6e 2d 70 69 63 20 20 20 74 72 79 20 74 6f 20  on-pic   try to 
2f820 62 75 69 6c 64 69 6e 67 20 6e 6f 6e 2d 50 49 43  building non-PIC
2f830 20 6f 62 6a 65 63 74 73 20 6f 6e 6c 79 0a 20 20   objects only.  
2f840 2d 73 74 61 74 69 63 20 20 20 20 20 20 20 20 20  -static         
2f850 20 20 61 6c 77 61 79 73 20 62 75 69 6c 64 20 61    always build a
2f860 20 5c 60 2e 6f 27 20 66 69 6c 65 20 73 75 69 74   \`.o' file suit
2f870 61 62 6c 65 20 66 6f 72 20 73 74 61 74 69 63 20  able for static 
2f880 6c 69 6e 6b 69 6e 67 0a 0a 43 4f 4d 50 49 4c 45  linking..COMPILE
2f890 2d 43 4f 4d 4d 41 4e 44 20 69 73 20 61 20 63 6f  -COMMAND is a co
2f8a0 6d 6d 61 6e 64 20 74 6f 20 62 65 20 75 73 65 64  mmand to be used
2f8b0 20 69 6e 20 63 72 65 61 74 69 6e 67 20 61 20 5c   in creating a \
2f8c0 60 73 74 61 6e 64 61 72 64 27 20 6f 62 6a 65 63  `standard' objec
2f8d0 74 20 66 69 6c 65 0a 66 72 6f 6d 20 74 68 65 20  t file.from the 
2f8e0 67 69 76 65 6e 20 53 4f 55 52 43 45 46 49 4c 45  given SOURCEFILE
2f8f0 2e 0a 0a 54 68 65 20 6f 75 74 70 75 74 20 66 69  ...The output fi
2f900 6c 65 20 6e 61 6d 65 20 69 73 20 64 65 74 65 72  le name is deter
2f910 6d 69 6e 65 64 20 62 79 20 72 65 6d 6f 76 69 6e  mined by removin
2f920 67 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20  g the directory 
2f930 63 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f 6d 0a 53  component from.S
2f940 4f 55 52 43 45 46 49 4c 45 2c 20 74 68 65 6e 20  OURCEFILE, then 
2f950 73 75 62 73 74 69 74 75 74 69 6e 67 20 74 68 65  substituting the
2f960 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 73   C source code s
2f970 75 66 66 69 78 20 5c 60 2e 63 27 20 77 69 74 68  uffix \`.c' with
2f980 20 74 68 65 0a 6c 69 62 72 61 72 79 20 6f 62 6a   the.library obj
2f990 65 63 74 20 73 75 66 66 69 78 2c 20 5c 60 2e 6c  ect suffix, \`.l
2f9a0 6f 27 2e 22 0a 20 20 3b 3b 0a 0a 65 78 65 63 75  o'.".  ;;..execu
2f9b0 74 65 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55  te).  $echo \."U
2f9c0 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20  sage: $modename 
2f9d0 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f  [OPTION]... --mo
2f9e0 64 65 3d 65 78 65 63 75 74 65 20 43 4f 4d 4d 41  de=execute COMMA
2f9f0 4e 44 20 5b 41 52 47 53 5d 2e 2e 2e 0a 0a 41 75  ND [ARGS].....Au
2fa00 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20  tomatically set 
2fa10 6c 69 62 72 61 72 79 20 70 61 74 68 2c 20 74 68  library path, th
2fa20 65 6e 20 72 75 6e 20 61 20 70 72 6f 67 72 61 6d  en run a program
2fa30 2e 0a 0a 54 68 69 73 20 6d 6f 64 65 20 61 63 63  ...This mode acc
2fa40 65 70 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69  epts the followi
2fa50 6e 67 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70  ng additional op
2fa60 74 69 6f 6e 73 3a 0a 0a 20 20 2d 64 6c 6f 70 65  tions:..  -dlope
2fa70 6e 20 46 49 4c 45 20 20 20 20 20 20 61 64 64 20  n FILE      add 
2fa80 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f  the directory co
2fa90 6e 74 61 69 6e 69 6e 67 20 46 49 4c 45 20 74 6f  ntaining FILE to
2faa0 20 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74   the library pat
2fab0 68 0a 0a 54 68 69 73 20 6d 6f 64 65 20 73 65 74  h..This mode set
2fac0 73 20 74 68 65 20 6c 69 62 72 61 72 79 20 70 61  s the library pa
2fad0 74 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  th environment v
2fae0 61 72 69 61 62 6c 65 20 61 63 63 6f 72 64 69 6e  ariable accordin
2faf0 67 20 74 6f 20 5c 60 2d 64 6c 6f 70 65 6e 27 0a  g to \`-dlopen'.
2fb00 66 6c 61 67 73 2e 0a 0a 49 66 20 61 6e 79 20 6f  flags...If any o
2fb10 66 20 74 68 65 20 41 52 47 53 20 61 72 65 20 6c  f the ARGS are l
2fb20 69 62 74 6f 6f 6c 20 65 78 65 63 75 74 61 62 6c  ibtool executabl
2fb30 65 20 77 72 61 70 70 65 72 73 2c 20 74 68 65 6e  e wrappers, then
2fb40 20 74 68 65 79 20 61 72 65 20 74 72 61 6e 73 6c   they are transl
2fb50 61 74 65 64 0a 69 6e 74 6f 20 74 68 65 69 72 20  ated.into their 
2fb60 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 75 6e  corresponding un
2fb70 69 6e 73 74 61 6c 6c 65 64 20 62 69 6e 61 72 79  installed binary
2fb80 2c 20 61 6e 64 20 61 6e 79 20 6f 66 20 74 68 65  , and any of the
2fb90 69 72 20 72 65 71 75 69 72 65 64 20 6c 69 62 72  ir required libr
2fba0 61 72 79 0a 64 69 72 65 63 74 6f 72 69 65 73 20  ary.directories 
2fbb0 61 72 65 20 61 64 64 65 64 20 74 6f 20 74 68 65  are added to the
2fbc0 20 6c 69 62 72 61 72 79 20 70 61 74 68 2e 0a 0a   library path...
2fbd0 54 68 65 6e 2c 20 43 4f 4d 4d 41 4e 44 20 69 73  Then, COMMAND is
2fbe0 20 65 78 65 63 75 74 65 64 2c 20 77 69 74 68 20   executed, with 
2fbf0 41 52 47 53 20 61 73 20 61 72 67 75 6d 65 6e 74  ARGS as argument
2fc00 73 2e 22 0a 20 20 3b 3b 0a 0a 66 69 6e 69 73 68  s.".  ;;..finish
2fc10 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73 61  ).  $echo \."Usa
2fc20 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f  ge: $modename [O
2fc30 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65  PTION]... --mode
2fc40 3d 66 69 6e 69 73 68 20 5b 4c 49 42 44 49 52 5d  =finish [LIBDIR]
2fc50 2e 2e 2e 0a 0a 43 6f 6d 70 6c 65 74 65 20 74 68  .....Complete th
2fc60 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f  e installation o
2fc70 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  f libtool librar
2fc80 69 65 73 2e 0a 0a 45 61 63 68 20 4c 49 42 44 49  ies...Each LIBDI
2fc90 52 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79  R is a directory
2fca0 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 6c   that contains l
2fcb0 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73  ibtool libraries
2fcc0 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20  ...The commands 
2fcd0 74 68 61 74 20 74 68 69 73 20 6d 6f 64 65 20 65  that this mode e
2fce0 78 65 63 75 74 65 73 20 6d 61 79 20 72 65 71 75  xecutes may requ
2fcf0 69 72 65 20 73 75 70 65 72 75 73 65 72 20 70 72  ire superuser pr
2fd00 69 76 69 6c 65 67 65 73 2e 20 20 55 73 65 0a 74  ivileges.  Use.t
2fd10 68 65 20 5c 60 2d 2d 64 72 79 2d 72 75 6e 27 20  he \`--dry-run' 
2fd20 6f 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 6a 75  option if you ju
2fd30 73 74 20 77 61 6e 74 20 74 6f 20 73 65 65 20 77  st want to see w
2fd40 68 61 74 20 77 6f 75 6c 64 20 62 65 20 65 78 65  hat would be exe
2fd50 63 75 74 65 64 2e 22 0a 20 20 3b 3b 0a 0a 69 6e  cuted.".  ;;..in
2fd60 73 74 61 6c 6c 29 0a 20 20 24 65 63 68 6f 20 5c  stall).  $echo \
2fd70 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61  ."Usage: $modena
2fd80 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d  me [OPTION]... -
2fd90 2d 6d 6f 64 65 3d 69 6e 73 74 61 6c 6c 20 49 4e  -mode=install IN
2fda0 53 54 41 4c 4c 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e  STALL-COMMAND...
2fdb0 0a 0a 49 6e 73 74 61 6c 6c 20 65 78 65 63 75 74  ..Install execut
2fdc0 61 62 6c 65 73 20 6f 72 20 6c 69 62 72 61 72 69  ables or librari
2fdd0 65 73 2e 0a 0a 49 4e 53 54 41 4c 4c 2d 43 4f 4d  es...INSTALL-COM
2fde0 4d 41 4e 44 20 69 73 20 74 68 65 20 69 6e 73 74  MAND is the inst
2fdf0 61 6c 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64  allation command
2fe00 2e 20 20 54 68 65 20 66 69 72 73 74 20 63 6f 6d  .  The first com
2fe10 70 6f 6e 65 6e 74 20 73 68 6f 75 6c 64 20 62 65  ponent should be
2fe20 0a 65 69 74 68 65 72 20 74 68 65 20 5c 60 69 6e  .either the \`in
2fe30 73 74 61 6c 6c 27 20 6f 72 20 5c 60 63 70 27 20  stall' or \`cp' 
2fe40 70 72 6f 67 72 61 6d 2e 0a 0a 54 68 65 20 72 65  program...The re
2fe50 73 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 6e  st of the compon
2fe60 65 6e 74 73 20 61 72 65 20 69 6e 74 65 72 70 72  ents are interpr
2fe70 65 74 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74  eted as argument
2fe80 73 20 74 6f 20 74 68 61 74 20 63 6f 6d 6d 61 6e  s to that comman
2fe90 64 20 28 6f 6e 6c 79 0a 42 53 44 2d 63 6f 6d 70  d (only.BSD-comp
2fea0 61 74 69 62 6c 65 20 69 6e 73 74 61 6c 6c 20 6f  atible install o
2feb0 70 74 69 6f 6e 73 20 61 72 65 20 72 65 63 6f 67  ptions are recog
2fec0 6e 69 7a 65 64 29 2e 22 0a 20 20 3b 3b 0a 0a 6c  nized).".  ;;..l
2fed0 69 6e 6b 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22  ink).  $echo \."
2fee0 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65  Usage: $modename
2fef0 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d   [OPTION]... --m
2ff00 6f 64 65 3d 6c 69 6e 6b 20 4c 49 4e 4b 2d 43 4f  ode=link LINK-CO
2ff10 4d 4d 41 4e 44 2e 2e 2e 0a 0a 4c 69 6e 6b 20 6f  MMAND.....Link o
2ff20 62 6a 65 63 74 20 66 69 6c 65 73 20 6f 72 20 6c  bject files or l
2ff30 69 62 72 61 72 69 65 73 20 74 6f 67 65 74 68 65  ibraries togethe
2ff40 72 20 74 6f 20 66 6f 72 6d 20 61 6e 6f 74 68 65  r to form anothe
2ff50 72 20 6c 69 62 72 61 72 79 2c 20 6f 72 20 74 6f  r library, or to
2ff60 0a 63 72 65 61 74 65 20 61 6e 20 65 78 65 63 75  .create an execu
2ff70 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 2e 0a 0a  table program...
2ff80 4c 49 4e 4b 2d 43 4f 4d 4d 41 4e 44 20 69 73 20  LINK-COMMAND is 
2ff90 61 20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e 67 20  a command using 
2ffa0 74 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 74  the C compiler t
2ffb0 68 61 74 20 79 6f 75 20 77 6f 75 6c 64 20 75 73  hat you would us
2ffc0 65 20 74 6f 20 63 72 65 61 74 65 0a 61 20 70 72  e to create.a pr
2ffd0 6f 67 72 61 6d 20 66 72 6f 6d 20 73 65 76 65 72  ogram from sever
2ffe0 61 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e  al object files.
2fff0 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following 
30000 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 4c 49  components of LI
30010 4e 4b 2d 43 4f 4d 4d 41 4e 44 20 61 72 65 20 74  NK-COMMAND are t
30020 72 65 61 74 65 64 20 73 70 65 63 69 61 6c 6c 79  reated specially
30030 3a 0a 0a 20 20 2d 61 6c 6c 2d 73 74 61 74 69 63  :..  -all-static
30040 20 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 64 6f         do not do
30050 20 61 6e 79 20 64 79 6e 61 6d 69 63 20 6c 69 6e   any dynamic lin
30060 6b 69 6e 67 20 61 74 20 61 6c 6c 0a 20 20 2d 61  king at all.  -a
30070 76 6f 69 64 2d 76 65 72 73 69 6f 6e 20 20 20 20  void-version    
30080 64 6f 20 6e 6f 74 20 61 64 64 20 61 20 76 65 72  do not add a ver
30090 73 69 6f 6e 20 73 75 66 66 69 78 20 69 66 20 70  sion suffix if p
300a0 6f 73 73 69 62 6c 65 0a 20 20 2d 64 6c 6f 70 65  ossible.  -dlope
300b0 6e 20 46 49 4c 45 20 20 20 20 20 20 5c 60 2d 64  n FILE      \`-d
300c0 6c 70 72 65 6f 70 65 6e 27 20 46 49 4c 45 20 69  lpreopen' FILE i
300d0 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 64  f it cannot be d
300e0 6c 6f 70 65 6e 65 64 20 61 74 20 72 75 6e 74 69  lopened at runti
300f0 6d 65 0a 20 20 2d 64 6c 70 72 65 6f 70 65 6e 20  me.  -dlpreopen 
30100 46 49 4c 45 20 20 20 6c 69 6e 6b 20 69 6e 20 46  FILE   link in F
30110 49 4c 45 20 61 6e 64 20 61 64 64 20 69 74 73 20  ILE and add its 
30120 73 79 6d 62 6f 6c 73 20 74 6f 20 6c 74 5f 70 72  symbols to lt_pr
30130 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 0a  eloaded_symbols.
30140 20 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69    -export-dynami
30150 63 20 20 20 61 6c 6c 6f 77 20 73 79 6d 62 6f 6c  c   allow symbol
30160 73 20 66 72 6f 6d 20 4f 55 54 50 55 54 2d 46 49  s from OUTPUT-FI
30170 4c 45 20 74 6f 20 62 65 20 72 65 73 6f 6c 76 65  LE to be resolve
30180 64 20 77 69 74 68 20 64 6c 73 79 6d 28 33 29 0a  d with dlsym(3).
30190 20 20 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c    -export-symbol
301a0 73 20 53 59 4d 46 49 4c 45 0a 09 09 20 20 20 20  s SYMFILE...    
301b0 74 72 79 20 74 6f 20 65 78 70 6f 72 74 20 6f 6e  try to export on
301c0 6c 79 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6c  ly the symbols l
301d0 69 73 74 65 64 20 69 6e 20 53 59 4d 46 49 4c 45  isted in SYMFILE
301e0 0a 20 20 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f  .  -export-symbo
301f0 6c 73 2d 72 65 67 65 78 20 52 45 47 45 58 0a 09  ls-regex REGEX..
30200 09 20 20 20 20 74 72 79 20 74 6f 20 65 78 70 6f  .    try to expo
30210 72 74 20 6f 6e 6c 79 20 74 68 65 20 73 79 6d 62  rt only the symb
30220 6f 6c 73 20 6d 61 74 63 68 69 6e 67 20 52 45 47  ols matching REG
30230 45 58 0a 20 20 2d 4c 4c 49 42 44 49 52 20 20 20  EX.  -LLIBDIR   
30240 20 20 20 20 20 20 20 73 65 61 72 63 68 20 4c 49         search LI
30250 42 44 49 52 20 66 6f 72 20 72 65 71 75 69 72 65  BDIR for require
30260 64 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72  d installed libr
30270 61 72 69 65 73 0a 20 20 2d 6c 4e 41 4d 45 20 20  aries.  -lNAME  
30280 20 20 20 20 20 20 20 20 20 20 4f 55 54 50 55 54            OUTPUT
30290 2d 46 49 4c 45 20 72 65 71 75 69 72 65 73 20 74  -FILE requires t
302a0 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62  he installed lib
302b0 72 61 72 79 20 6c 69 62 4e 41 4d 45 0a 20 20 2d  rary libNAME.  -
302c0 6d 6f 64 75 6c 65 20 20 20 20 20 20 20 20 20 20  module          
302d0 20 62 75 69 6c 64 20 61 20 6c 69 62 72 61 72 79   build a library
302e0 20 74 68 61 74 20 63 61 6e 20 64 6c 6f 70 65 6e   that can dlopen
302f0 65 64 0a 20 20 2d 6e 6f 2d 66 61 73 74 2d 69 6e  ed.  -no-fast-in
30300 73 74 61 6c 6c 20 20 64 69 73 61 62 6c 65 20 74  stall  disable t
30310 68 65 20 66 61 73 74 2d 69 6e 73 74 61 6c 6c 20  he fast-install 
30320 6d 6f 64 65 0a 20 20 2d 6e 6f 2d 69 6e 73 74 61  mode.  -no-insta
30330 6c 6c 20 20 20 20 20 20 20 6c 69 6e 6b 20 61 20  ll       link a 
30340 6e 6f 74 2d 69 6e 73 74 61 6c 6c 61 62 6c 65 20  not-installable 
30350 65 78 65 63 75 74 61 62 6c 65 0a 20 20 2d 6e 6f  executable.  -no
30360 2d 75 6e 64 65 66 69 6e 65 64 20 20 20 20 20 64  -undefined     d
30370 65 63 6c 61 72 65 20 74 68 61 74 20 61 20 6c 69  eclare that a li
30380 62 72 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 72  brary does not r
30390 65 66 65 72 20 74 6f 20 65 78 74 65 72 6e 61 6c  efer to external
303a0 20 73 79 6d 62 6f 6c 73 0a 20 20 2d 6f 20 4f 55   symbols.  -o OU
303b0 54 50 55 54 2d 46 49 4c 45 20 20 20 20 63 72 65  TPUT-FILE    cre
303c0 61 74 65 20 4f 55 54 50 55 54 2d 46 49 4c 45 20  ate OUTPUT-FILE 
303d0 66 72 6f 6d 20 74 68 65 20 73 70 65 63 69 66 69  from the specifi
303e0 65 64 20 6f 62 6a 65 63 74 73 0a 20 20 2d 6f 62  ed objects.  -ob
303f0 6a 65 63 74 6c 69 73 74 20 46 49 4c 45 20 20 55  jectlist FILE  U
30400 73 65 20 61 20 6c 69 73 74 20 6f 66 20 6f 62 6a  se a list of obj
30410 65 63 74 20 66 69 6c 65 73 20 66 6f 75 6e 64 20  ect files found 
30420 69 6e 20 46 49 4c 45 20 74 6f 20 73 70 65 63 69  in FILE to speci
30430 66 79 20 6f 62 6a 65 63 74 73 0a 20 20 2d 70 72  fy objects.  -pr
30440 65 63 69 6f 75 73 2d 66 69 6c 65 73 2d 72 65 67  ecious-files-reg
30450 65 78 20 52 45 47 45 58 0a 20 20 20 20 20 20 20  ex REGEX.       
30460 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e               don
30470 27 74 20 72 65 6d 6f 76 65 20 6f 75 74 70 75 74  't remove output
30480 20 66 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 20   files matching 
30490 52 45 47 45 58 0a 20 20 2d 72 65 6c 65 61 73 65  REGEX.  -release
304a0 20 52 45 4c 45 41 53 45 20 20 73 70 65 63 69 66   RELEASE  specif
304b0 79 20 70 61 63 6b 61 67 65 20 72 65 6c 65 61 73  y package releas
304c0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20  e information.  
304d0 2d 72 70 61 74 68 20 4c 49 42 44 49 52 20 20 20  -rpath LIBDIR   
304e0 20 20 74 68 65 20 63 72 65 61 74 65 64 20 6c 69    the created li
304f0 62 72 61 72 79 20 77 69 6c 6c 20 65 76 65 6e 74  brary will event
30500 75 61 6c 6c 79 20 62 65 20 69 6e 73 74 61 6c 6c  ually be install
30510 65 64 20 69 6e 20 4c 49 42 44 49 52 0a 20 20 2d  ed in LIBDIR.  -
30520 52 5b 20 5d 4c 49 42 44 49 52 20 20 20 20 20 20  R[ ]LIBDIR      
30530 20 61 64 64 20 4c 49 42 44 49 52 20 74 6f 20 74   add LIBDIR to t
30540 68 65 20 72 75 6e 74 69 6d 65 20 70 61 74 68 20  he runtime path 
30550 6f 66 20 70 72 6f 67 72 61 6d 73 20 61 6e 64 20  of programs and 
30560 6c 69 62 72 61 72 69 65 73 0a 20 20 2d 73 74 61  libraries.  -sta
30570 74 69 63 20 20 20 20 20 20 20 20 20 20 20 64 6f  tic           do
30580 20 6e 6f 74 20 64 6f 20 61 6e 79 20 64 79 6e 61   not do any dyna
30590 6d 69 63 20 6c 69 6e 6b 69 6e 67 20 6f 66 20 6c  mic linking of l
305a0 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73  ibtool libraries
305b0 0a 20 20 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f  .  -version-info
305c0 20 43 55 52 52 45 4e 54 5b 3a 52 45 56 49 53 49   CURRENT[:REVISI
305d0 4f 4e 5b 3a 41 47 45 5d 5d 0a 09 09 20 20 20 20  ON[:AGE]]...    
305e0 73 70 65 63 69 66 79 20 6c 69 62 72 61 72 79 20  specify library 
305f0 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 5b 65 61  version info [ea
30600 63 68 20 76 61 72 69 61 62 6c 65 20 64 65 66 61  ch variable defa
30610 75 6c 74 73 20 74 6f 20 30 5d 0a 0a 41 6c 6c 20  ults to 0]..All 
30620 6f 74 68 65 72 20 6f 70 74 69 6f 6e 73 20 28 61  other options (a
30630 72 67 75 6d 65 6e 74 73 20 62 65 67 69 6e 6e 69  rguments beginni
30640 6e 67 20 77 69 74 68 20 5c 60 2d 27 29 20 61 72  ng with \`-') ar
30650 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 45 76 65 72  e ignored...Ever
30660 79 20 6f 74 68 65 72 20 61 72 67 75 6d 65 6e 74  y other argument
30670 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 61   is treated as a
30680 20 66 69 6c 65 6e 61 6d 65 2e 20 20 46 69 6c 65   filename.  File
30690 73 20 65 6e 64 69 6e 67 20 69 6e 20 5c 60 2e 6c  s ending in \`.l
306a0 61 27 20 61 72 65 0a 74 72 65 61 74 65 64 20 61  a' are.treated a
306b0 73 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 6c 69  s uninstalled li
306c0 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 2c  btool libraries,
306d0 20 6f 74 68 65 72 20 66 69 6c 65 73 20 61 72 65   other files are
306e0 20 73 74 61 6e 64 61 72 64 20 6f 72 20 6c 69 62   standard or lib
306f0 72 61 72 79 0a 6f 62 6a 65 63 74 20 66 69 6c 65  rary.object file
30700 73 2e 0a 0a 49 66 20 74 68 65 20 4f 55 54 50 55  s...If the OUTPU
30710 54 2d 46 49 4c 45 20 65 6e 64 73 20 69 6e 20 5c  T-FILE ends in \
30720 60 2e 6c 61 27 2c 20 74 68 65 6e 20 61 20 6c 69  `.la', then a li
30730 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 20 69 73  btool library is
30740 20 63 72 65 61 74 65 64 2c 0a 6f 6e 6c 79 20 6c   created,.only l
30750 69 62 72 61 72 79 20 6f 62 6a 65 63 74 73 20 28  ibrary objects (
30760 5c 60 2e 6c 6f 27 20 66 69 6c 65 73 29 20 6d 61  \`.lo' files) ma
30770 79 20 62 65 20 73 70 65 63 69 66 69 65 64 2c 20  y be specified, 
30780 61 6e 64 20 5c 60 2d 72 70 61 74 68 27 20 69 73  and \`-rpath' is
30790 0a 72 65 71 75 69 72 65 64 2c 20 65 78 63 65 70  .required, excep
307a0 74 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20  t when creating 
307b0 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69  a convenience li
307c0 62 72 61 72 79 2e 0a 0a 49 66 20 4f 55 54 50 55  brary...If OUTPU
307d0 54 2d 46 49 4c 45 20 65 6e 64 73 20 69 6e 20 5c  T-FILE ends in \
307e0 60 2e 61 27 20 6f 72 20 5c 60 2e 6c 69 62 27 2c  `.a' or \`.lib',
307f0 20 74 68 65 6e 20 61 20 73 74 61 6e 64 61 72 64   then a standard
30800 20 6c 69 62 72 61 72 79 20 69 73 20 63 72 65 61   library is crea
30810 74 65 64 0a 75 73 69 6e 67 20 5c 60 61 72 27 20  ted.using \`ar' 
30820 61 6e 64 20 5c 60 72 61 6e 6c 69 62 27 2c 20 6f  and \`ranlib', o
30830 72 20 6f 6e 20 57 69 6e 64 6f 77 73 20 75 73 69  r on Windows usi
30840 6e 67 20 5c 60 6c 69 62 27 2e 0a 0a 49 66 20 4f  ng \`lib'...If O
30850 55 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73 20  UTPUT-FILE ends 
30860 69 6e 20 5c 60 2e 6c 6f 27 20 6f 72 20 5c 60 2e  in \`.lo' or \`.
30870 24 7b 6f 62 6a 65 78 74 7d 27 2c 20 74 68 65 6e  ${objext}', then
30880 20 61 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62   a reloadable ob
30890 6a 65 63 74 20 66 69 6c 65 0a 69 73 20 63 72 65  ject file.is cre
308a0 61 74 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20  ated, otherwise 
308b0 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 70 72  an executable pr
308c0 6f 67 72 61 6d 20 69 73 20 63 72 65 61 74 65 64  ogram is created
308d0 2e 22 0a 20 20 3b 3b 0a 0a 75 6e 69 6e 73 74 61  .".  ;;..uninsta
308e0 6c 6c 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55  ll).  $echo \."U
308f0 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20  sage: $modename 
30900 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f  [OPTION]... --mo
30910 64 65 3d 75 6e 69 6e 73 74 61 6c 6c 20 52 4d 20  de=uninstall RM 
30920 5b 52 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 46  [RM-OPTION]... F
30930 49 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f 76 65 20 6c  ILE.....Remove l
30940 69 62 72 61 72 69 65 73 20 66 72 6f 6d 20 61 6e  ibraries from an
30950 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
30960 72 65 63 74 6f 72 79 2e 0a 0a 52 4d 20 69 73 20  rectory...RM is 
30970 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
30980 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20 74  program to use t
30990 6f 20 64 65 6c 65 74 65 20 66 69 6c 65 73 20 61  o delete files a
309a0 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 65  ssociated with e
309b0 61 63 68 20 46 49 4c 45 0a 28 74 79 70 69 63 61  ach FILE.(typica
309c0 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72 6d 27 29 2e  lly \`/bin/rm').
309d0 20 20 52 4d 2d 4f 50 54 49 4f 4e 53 20 61 72 65    RM-OPTIONS are
309e0 20 6f 70 74 69 6f 6e 73 20 28 73 75 63 68 20 61   options (such a
309f0 73 20 5c 60 2d 66 27 29 20 74 6f 20 62 65 20 70  s \`-f') to be p
30a00 61 73 73 65 64 0a 74 6f 20 52 4d 2e 0a 0a 49 66  assed.to RM...If
30a10 20 46 49 4c 45 20 69 73 20 61 20 6c 69 62 74 6f   FILE is a libto
30a20 6f 6c 20 6c 69 62 72 61 72 79 2c 20 61 6c 6c 20  ol library, all 
30a30 74 68 65 20 66 69 6c 65 73 20 61 73 73 6f 63 69  the files associ
30a40 61 74 65 64 20 77 69 74 68 20 69 74 20 61 72 65  ated with it are
30a50 20 64 65 6c 65 74 65 64 2e 0a 4f 74 68 65 72 77   deleted..Otherw
30a60 69 73 65 2c 20 6f 6e 6c 79 20 46 49 4c 45 20 69  ise, only FILE i
30a70 74 73 65 6c 66 20 69 73 20 64 65 6c 65 74 65 64  tself is deleted
30a80 20 75 73 69 6e 67 20 52 4d 2e 22 0a 20 20 3b 3b   using RM.".  ;;
30a90 0a 0a 2a 29 0a 20 20 24 65 63 68 6f 20 22 24 6d  ..*).  $echo "$m
30aa0 6f 64 65 6e 61 6d 65 3a 20 69 6e 76 61 6c 69 64  odename: invalid
30ab0 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65 20   operation mode 
30ac0 5c 60 24 6d 6f 64 65 27 22 20 31 3e 26 32 0a 20  \`$mode'" 1>&2. 
30ad0 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31   $echo "$help" 1
30ae0 3e 26 32 0a 20 20 65 78 69 74 20 24 45 58 49 54  >&2.  exit $EXIT
30af0 5f 46 41 49 4c 55 52 45 0a 20 20 3b 3b 0a 65 73  _FAILURE.  ;;.es
30b00 61 63 0a 0a 24 65 63 68 6f 0a 24 65 63 68 6f 20  ac..$echo.$echo 
30b10 22 54 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65  "Try \`$modename
30b20 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72   --help' for mor
30b30 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62  e information ab
30b40 6f 75 74 20 6f 74 68 65 72 20 6d 6f 64 65 73 2e  out other modes.
30b50 22 0a 0a 65 78 69 74 20 24 3f 0a 0a 23 20 54 68  "..exit $?..# Th
30b60 65 20 54 41 47 73 20 62 65 6c 6f 77 20 61 72 65  e TAGs below are
30b70 20 64 65 66 69 6e 65 64 20 73 75 63 68 20 74 68   defined such th
30b80 61 74 20 77 65 20 6e 65 76 65 72 20 67 65 74 20  at we never get 
30b90 69 6e 74 6f 20 61 20 73 69 74 75 61 74 69 6f 6e  into a situation
30ba0 0a 23 20 69 6e 20 77 68 69 63 68 20 77 65 20 64  .# in which we d
30bb0 69 73 61 62 6c 65 20 62 6f 74 68 20 6b 69 6e 64  isable both kind
30bc0 73 20 6f 66 20 6c 69 62 72 61 72 69 65 73 2e 20  s of libraries. 
30bd0 20 47 69 76 65 6e 20 63 6f 6e 66 6c 69 63 74 69   Given conflicti
30be0 6e 67 0a 23 20 63 68 6f 69 63 65 73 2c 20 77 65  ng.# choices, we
30bf0 20 67 6f 20 66 6f 72 20 61 20 73 74 61 74 69 63   go for a static
30c00 20 6c 69 62 72 61 72 79 2c 20 74 68 61 74 20 69   library, that i
30c10 73 20 74 68 65 20 6d 6f 73 74 20 70 6f 72 74 61  s the most porta
30c20 62 6c 65 2c 0a 23 20 73 69 6e 63 65 20 77 65 20  ble,.# since we 
30c30 63 61 6e 27 74 20 74 65 6c 6c 20 77 68 65 74 68  can't tell wheth
30c40 65 72 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  er shared librar
30c50 69 65 73 20 77 65 72 65 20 64 69 73 61 62 6c 65  ies were disable
30c60 64 20 62 65 63 61 75 73 65 0a 23 20 74 68 65 20  d because.# the 
30c70 75 73 65 72 20 61 73 6b 65 64 20 66 6f 72 20 74  user asked for t
30c80 68 61 74 20 6f 72 20 62 65 63 61 75 73 65 20 74  hat or because t
30c90 68 65 20 70 6c 61 74 66 6f 72 6d 20 64 6f 65 73  he platform does
30ca0 6e 27 74 20 73 75 70 70 6f 72 74 0a 23 20 74 68  n't support.# th
30cb0 65 6d 2e 20 20 54 68 69 73 20 69 73 20 70 61 72  em.  This is par
30cc0 74 69 63 75 6c 61 72 6c 79 20 69 6d 70 6f 72 74  ticularly import
30cd0 61 6e 74 20 6f 6e 20 41 49 58 2c 20 62 65 63 61  ant on AIX, beca
30ce0 75 73 65 20 77 65 20 64 6f 6e 27 74 0a 23 20 73  use we don't.# s
30cf0 75 70 70 6f 72 74 20 68 61 76 69 6e 67 20 62 6f  upport having bo
30d00 74 68 20 73 74 61 74 69 63 20 61 6e 64 20 73 68  th static and sh
30d10 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 20 65  ared libraries e
30d20 6e 61 62 6c 65 64 20 61 74 20 74 68 65 20 73 61  nabled at the sa
30d30 6d 65 0a 23 20 74 69 6d 65 20 6f 6e 20 74 68 61  me.# time on tha
30d40 74 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 20 77  t platform, so w
30d50 65 20 64 65 66 61 75 6c 74 20 74 6f 20 61 20 73  e default to a s
30d60 68 61 72 65 64 2d 6f 6e 6c 79 20 63 6f 6e 66 69  hared-only confi
30d70 67 75 72 61 74 69 6f 6e 2e 0a 23 20 49 66 20 61  guration..# If a
30d80 20 64 69 73 61 62 6c 65 2d 73 68 61 72 65 64 20   disable-shared 
30d90 74 61 67 20 69 73 20 67 69 76 65 6e 2c 20 77 65  tag is given, we
30da0 27 6c 6c 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20  'll fallback to 
30db0 61 20 73 74 61 74 69 63 2d 6f 6e 6c 79 0a 23 20  a static-only.# 
30dc0 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 20  configuration.  
30dd0 42 75 74 20 77 65 27 6c 6c 20 6e 65 76 65 72 20  But we'll never 
30de0 67 6f 20 66 72 6f 6d 20 73 74 61 74 69 63 2d 6f  go from static-o
30df0 6e 6c 79 20 74 6f 20 73 68 61 72 65 64 2d 6f 6e  nly to shared-on
30e00 6c 79 2e 0a 0a 23 20 23 23 23 20 42 45 47 49 4e  ly...# ### BEGIN
30e10 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e   LIBTOOL TAG CON
30e20 46 49 47 3a 20 64 69 73 61 62 6c 65 2d 73 68 61  FIG: disable-sha
30e30 72 65 64 0a 64 69 73 61 62 6c 65 5f 6c 69 62 73  red.disable_libs
30e40 3d 73 68 61 72 65 64 0a 23 20 23 23 23 20 45 4e  =shared.# ### EN
30e50 44 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f  D LIBTOOL TAG CO
30e60 4e 46 49 47 3a 20 64 69 73 61 62 6c 65 2d 73 68  NFIG: disable-sh
30e70 61 72 65 64 0a 0a 23 20 23 23 23 20 42 45 47 49  ared..# ### BEGI
30e80 4e 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f  N LIBTOOL TAG CO
30e90 4e 46 49 47 3a 20 64 69 73 61 62 6c 65 2d 73 74  NFIG: disable-st
30ea0 61 74 69 63 0a 64 69 73 61 62 6c 65 5f 6c 69 62  atic.disable_lib
30eb0 73 3d 73 74 61 74 69 63 0a 23 20 23 23 23 20 45  s=static.# ### E
30ec0 4e 44 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43  ND LIBTOOL TAG C
30ed0 4f 4e 46 49 47 3a 20 64 69 73 61 62 6c 65 2d 73  ONFIG: disable-s
30ee0 74 61 74 69 63 0a 0a 23 20 4c 6f 63 61 6c 20 56  tatic..# Local V
30ef0 61 72 69 61 62 6c 65 73 3a 0a 23 20 6d 6f 64 65  ariables:.# mode
30f00 3a 73 68 65 6c 6c 2d 73 63 72 69 70 74 0a 23 20  :shell-script.# 
30f10 73 68 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 3a 32  sh-indentation:2
30f20 0a 23 20 45 6e 64 3a 0a                          .# End:.